問題タブ [digraphs]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
data-structures - グラフ DataStructure のシンプル パスとシンプル サイクル
グラフの単純なパスには常に最初と最後の頂点が同じように含まれていることを理解できませんか?単純なパスは単純なサイクルにすることができますか? 単純なサイクルをグラフのデータ構造の単純なパスにすることはできますか?助けてください!.
c - ダイグラフはコンパイラによって変換され、トリグラフはプリプロセッサによって変換されますか?
トライグラフとダイグラフを使用するのではなく、両方を理解しようとしています。
私はその投稿を読んで、次のことを理解しました。
- トリグラフの対応する文字への変換は、実際のコンパイルが開始される前に、常にプリプロセッサによって行われます。
- ダイグラフの対応する文字への変換は、コンパイラによって実行されます。
これは本当ですか?
erlang - 無向グラフのすべてのサイクルを見つけるためにErlangで利用できるモジュールはありますか?
有向グラフの場合、次のモジュールがあります。
digraph_utils:cyclic_strong_components(G)
Erlang の無向グラフで利用できるこのようなものはありますか? 無向グラフのすべてのサイクルを見つけたい。
代わりに無向グラフに digraph ユーティリティを使用できる方法はありますか? モジュールを直接使用する方がはるかに便利で簡単です。
私は次の方法を試しました:
同じ digraph モジュールを試し、双方向のエッジを追加したため、グラフは無向になりました。次に、サイクルの長さが 3 より大きい場合を追加し、そのようなサイクルを出力します。コードを使用したグラフでは、問題なく動作しました。コードは次のとおりです。
これは正しいアプローチですか、それとも機能しないグラフはありますか? つまり、抜け穴グラフはありますか?
python - ネットワークx. 有向グラフ。開始ノードから終了ノードまで歩く
次の構造をnetworkx
DiGraph
提示しています:
私は、左端のノード(着信エッジなし)から有向グラフをウォークスルーする方法を見つけようとしていますdata sources
。operators
エッジ)提示data destinations
。初期グラフを分離されたサブグラフのセットに分割できます (赤枠内):
しかし、次に、上記の方法で各サブグラフをウォークスルーする方法を見つける必要があります。問題は、私が異なるタイプのグラフを持っていることです: 1 - 逆ツリー 2 - 直線 3 - 逆ツリー 4 - 接続された少数の逆ツリー (非逆ツリー) も発生する可能性があります。
たとえばsubgraph 1
、1.1、1.2、1.3、または 1.1、1.3、1.2 の順序でノードを渡す必要があります。正確な順序は重要ではありません。唯一の厳密な条件は、サブグラフ 4 の 4.1 と 4.5 に入る前にノード 4.7 に渡されないことですが、上記のように、着信エッジのないノードから歩き始める必要があります。networkx
そのような種類の歩行を可能にする、すでに実装されている既存のアルゴリズムを誰かが提案できますか? グラフ内のループと衝突する可能性はゼロです。
スクリーンショットにグラフを作成するサンプル コード:
ありがとうございました。
python - ファイルから Networkx または NNGT にグラフをインポートする
MatLab からエクスポートされているデータから大きな加重ダイグラフを作成する必要があります。最終的な目標は NNGT を使用して分析することですが、Networkx を使用してビルドしてから NNGT に変換する方が簡単なようです。
「sample.txt」は次のようになります。
などなどだから私は試しました:
しかし、これは空のグラフ オブジェクト (0 ノード、0 エッジ) を返します。
Networkxによって以前に提案された答えを試しました: ファイルからグラフをインポートするにはどうすればよいですか? :
しかし、エラーが発生しました:
NetworkXError: エッジ タプル ['1,37'] は 2 タプルまたは 3 タプルでなければなりません。
だから私は試しました:
しかし、それでも同じエラーが発生しました:
NetworkXError: エッジ タプル ['1,76'] は 2 タプルまたは 3 タプルでなければなりません。
これはエッジを取得しようとしているだけで、まだ重みを扱っていません。
最終的には、次のことができる必要があります。
- ノード数を設定して NNGT でダイグラフを作成します - 一部のノードにはエッジがありませんが、存在する必要があります)
- ファイルからエッジ (つまり、隣接行列) と重みをインポートします。MatLab からエクスポートできるすべてのファイル タイプは、.txt である必要はありません。
何か案は?