グラフのツリー分解を計算するプログラム


22

固定「k」(幅)のグラフのツリー分解を計算するためのオープンソースプログラムを知っている人はいますか?Tree-Decompositionを見つける問題は変数 "k"に対してNP-Hardですが、入力インスタンスは本当に小さく(〜10ノード)、 "k"は修正されます。


1
メタ議論:meta.cstheory.stackexchange.com/questions/1101/...。回答を投稿する前にメタサイトにアクセスしてください-この質問が範囲内かどうか疑問です。
スレシュヴェンカト

回答:


22

これらのソフトウェアのいくつかはあなたを助けるかもしれません。(ただし、すべてがオープンソースではありません。)

* TreeD http://www.itu.dk/people/sathi/treed/

* dlib http://dlib.net/

* QuickBB http://www.cs.washington.edu/homes/vgogate/quickbb.html

* Hypertree http://www.dbai.tuwien.ac.at/proj/hypertree/downloads.html

* LibTW http://www.treewidth.com/treewidth/


dlibの関連性は見当たりません。ベイジアンネットワーク結合ツリーアルゴリズムはツリー幅に関連していますが、この実装はツリー分解の計算に役立たないようです。Radu MarinescuのtreeDecompも役立つかもしれません:graphmod.ics.uci.edu/group/treeDecomp
アンドラスサラモン

3
dlib のcreate join tree関数は、グラフを受け取り、そのツリー分解を返します。
デイビスキング

@Davis:明示的なポインターをありがとう、ドキュメントでは見逃していました。
アンドラスサラモン

1
LibTWへのリンクは、著者の(オランダ)コンサルティング会社にリダイレクトします。新しいURLはありますか?
ジェフ

7

場合と固定され、その後、あなたも私たちはAndroidアプリのための実装のようなXPのアルゴリズムで行く余裕ができます。ソースコードはここにあります:TreewidthInspector、たとえばと場合、1秒未満で終了します。K のn 13 K 4n10kn13k4

約170行のコードで、GPL(またはMIT、BSD、または必要なもの)です。


5

以下のためあなたはで上のWebサービスを使用することができますhttp://treedecompositions.com/何かをコンパイルまたはインストールすることなく、直接、迅速かつ合理的な分解を取得し、視覚化します。n150



1

FlowCutter(GitHub)のより新しいアルゴリズムとTamaki et alのアルゴリズムにも興味があるかもしれません。(GitHub

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