パス幅を計算するコードを実装(=ノード検索番号、頂点分離番号、間隔の太さ)


13

グラフのパス幅を計算するアルゴリズムの実装を探しています。パス幅の計算は、ノード検索番号、頂点分離番号、またはグラフの間隔の厚さの計算と同等であることはよく知られています。アルゴリズムは非常に高速である必要はありません。最大20の頂点のグラフで実行したいです。アルゴリズムを使用して、近似を与えるのではなく、パス幅を正確に計算する必要があります。

グラフのツリー幅を計算するための実装(関連する概念)があることを認識していますが、パス幅を計算するための実装を見つけることができませんでした。どんなポインターでも大歓迎です!

回答:


8

昨年、SAGE 4.8にシンプルなDFS + DP実装が追加されました:sage.graphs.graph_decompositions.vertex_separation.path_decomposition

これはCython(GNU GPL)hereおよびhereで実装されています。不要なものをすべて無視する場合、非常にシンプルで短い。時間、ここで。プルーニングルール、特にヒューリスティックでスピードアップできます。Onω2nω=pwG


わあああああ Sageに追加されたことをどのようにして知りましたか?ニースは、人々が実際にセージの新機能が何であるか:-)見て確認してください
Nathannコーエン

ちなみに、モジュールのドキュメントがちょうどあり、そして方法について説明し、それをすべての作品:sagemath.org/doc/reference/sage/graphs/graph_decompositions/...
Nathannコーエン

がっかりして申し訳ありませんが、私は実際にはSAGEユーザーではありません。Googleがパッチを提供していることを発見しました。私はSAGE(すでにCythonを使用しています)に貢献しますが、より多くの人々がそれを利用できる上流プロジェクト(NetworkX?)に貢献した方が良いと感じています。
ラルフフェルスティゲン

上手。NetworkXは、あなたが要求しない限り、実際にはNetworkXをあまり使用しないため、実際にはSageの「上流」ではありません。そして、数学の他の部分、Cython、および線形計画法とのインターフェースを使用できることも違いを生みます:-P
Nathann Cohen

8

「実装」については知らないが、チェックアウトする

2 ^ nより速いパス幅の計算Karol SuchanとYngve Villangerのパラメーター化および正確な計算、第4回国際ワークショップ、IWPEC 2009、デンマーク、コペンハーゲン、Springer Verlag、コンピューターサイエンス5917講義ノート、324-335ページ。


2

玉木久雄は最近、有向パス幅の正確なアルゴリズムを考案しました(WG 2011)。そこで彼は、彼のアプローチの成功した実用的なアプリケーション(ISCIT 2010)について言及しているので、彼はアルゴリズムの実装も持っていると思います。

玉木久雄:ブールネットワークのアトラクタを正確に特定するための経路分解アプローチ。通信および情報技術に関する国際シンポジウム(ISCIT 2010)、pp。844-849

玉木久雄:有向有向パス幅のための多項式時間アルゴリズム。In:37th International Workshop on Graph-Theoretic Concepts in Computer Science(WG 2011)、LNCS 6986、pp.331-342。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.