問題タブ [graph-algorithm]
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.
algorithm - グラフのシリアル化
有向グラフを「シリアル化」する単純なアルゴリズムを探しています。特に、実行順序に相互依存関係がある一連のファイルがあり、コンパイル時に正しい順序を見つけたいと考えています。私はそれがかなり一般的なことであるに違いないことを知っています-コンパイラは常にそれを行います-しかし、私のgoogle-fuは今日弱いです。このための「頼りになる」アルゴリズムは何ですか?
graph-theory - グラフ検索アルゴリズム
いくつかの異常な特性を持つグラフ アルゴリズムを探しています。
グラフの各エッジは、「上」エッジまたは「下」エッジのいずれかです。
有効なパスは、無数の「上」の後に無数の「下」が続くか、またはその逆になります。ただし、一度しか方向を変えることはできません。
たとえば、有効なパスは A "up" B "up" C "down" E "down" F で、無効なパスは A "up" B "down" C "up" D です。
2 つのノード間の最短の有効なパスを見つけるための適切なアルゴリズムは何ですか? 等しい長さの最短経路をすべて見つけるのはどうですか?
algorithm - 有向グラフのすべてのサイクルを見つける
特定のノードから/への有向グラフのすべてのサイクルを見つける (反復する) にはどうすればよいですか?
たとえば、次のようなものが必要です。
ない: B->C->B
r - 新しい中心性尺度を構築するにはどうすればよいですか?
igraph
を使用して、できればを使用して、新しい中心性尺度を構築したいと考えていR
ます。
どうやってこれを始めますか?
たとえば、igraph C library
または に追加したほうがよいでしょうR interface
か?
algorithm - セット内の数値からターゲット数を計算する
私はこれを尋ねる宿題の問題に取り組んでいます:
数の有限集合と目標数を求めて、基本的な数学演算 (add、sub、mult、div) を使用し、集合内の各数値を 1 回だけ使用して、その集合を使用して目標数を計算できるかどうかを調べます(したがって、セットを使い果たす)。これは再帰で行う必要があります。
たとえば、私がセットを持っている場合
ターゲット 10 なら、
アルゴリズムを疑似コードで表現しようとしていますが、今のところあまり進んでいません。私はグラフが進むべき道だと思っていますが、これについては間違いなく助けていただければ幸いです。ありがとう。
c# - C#での幅優先探索の逆方向
誰もがC#で逆幅優先トラバーサルアルゴリズムをすぐに実装できますか?
逆幅優先走査とは、共通ノードから開始してツリーを検索するのではなく、ツリーを下から検索し、徐々に共通ノードに収束させたいという意味です。
次の図を見てみましょう。これは幅優先探索の出力です。
私の逆幅優先探索では9
、、、、10
が最初に見つかったいくつかのノードになります(これらはすべて一次であるため、順序は重要ではありません)。、、、およびは2番目に見つかったノードであり、以下同様です。最後に見つかったノードになります。11
12
5
6
7
8
1
アイデアや指針はありますか?
編集:質問を明確にするために、「幅優先探索」を「幅優先トラバーサル」に変更します
c# - オープンソースのグラフレイアウトライブラリ
.netフレームワーク用のオープンソース(GPL、LGPLなど)のグラフレイアウトライブラリ、できればフルマネージコードを探しています。私は物事の視覚化の側面について心配していません。
Javaの場合はたくさん見つけることができますが、.netの場合は見つかりません...
ありがとう!
c++ - 整数線形計画法ソルバーの選び方
私は整数線形計画法の初心者です。組み合わせ最適化問題を解くために整数線形計画法ソルバーを使用する予定です。IDE での C++/オブジェクト指向プログラミングに精通しています。現在、ほとんどの場合、Cygwin で NetBeans を使用してアプリケーションを作成しています。
簡単に使用できる ILP ソルバーがあるかどうか尋ねてもよろしいですか? または、解決したい問題によって異なりますか?リソース マッピングの最適化を試みています。さらに情報が必要な場合はお知らせください。
どうもありがとう、キャシー。
algorithm - 深さ優先検索 (DFS) と幅優先検索 (BFS) を使用するのはいつですか?
DFS と BFS の違いは理解していますが、どちらを使用するのがより実用的か知りたいですか?
DFSがBFSを打ち負かし、その逆の例を誰か挙げてもらえますか?
algorithm - グラフの最大重量のサイクル
重み付きグラフ(有向または無向)が与えられた場合、最大の重みを持つグラフのサイクルを見つける必要があります。
サイクルの重みは、グラフのエッジの重みの合計です。
それは、私たちができる基本サイクルだけでなく、任意のサイクルにすることができます
- すべてのベースサイクルを検索します(無向グラフですべてのサイクルベースを識別するアルゴリズムを参照)
- 各基本サイクルの重みを計算し、最大値を見つけます
グラフのすべてのサイクルを列挙してから最大値を計算することもできますが、サイクルの総数は非常に大きくなる可能性があります(グラフが完成している場合、最初と最後の頂点が同一である頂点のシーケンスはサイクルです)。
すべてのサイクルを列挙せずに、その最大ウェイトサイクルを見つけるアイデアはありますか?
グラフ上で仮説が必要な場合(たとえば、正の重み)、それらを示してください。