グラフ準同型をテストするためのソフトウェア


8

私が持っているグラフHのKとし| VG k| = | VH k| 2 、K = N 2 KK Nそのような非準同型の見出し語として通過健全性チェックこと。GからHへのグラフ同型をテストするための無料で使いやすいツールはありますか?GkHk|V(Gk)|=|V(Hk)|2k=n2kkNGH

回答:


7

(怠惰の観点から)最良の方法は、グラフ理論を最もよくサポートする無料で入手可能なツールSageを使用することです。

sage: G = graphs.PetersenGraph()
sage: G.has_homomorphism_to(graphs.CycleGraph(5))
False
sage: G.has_homomorphism_to(graphs.CompleteGraph(5))
{0: 0, 1: 1, 2: 0, 3: 1, 4: 2, 5: 1, 6: 0, 7: 2, 8: 2, 9: 1}

5

1つのアプローチは、SATソルバーを使用することです。

xt,vtGvHxt,vtvt

次に、2種類の句/制約を追加します。

  • (t,u)E(G)

    (v,w)E(H)(xt,vxu,w).

    (これは、標準のTseitin変換を使用して3CNFに変換できます。)

  • tGvHtV(G)

    vV(H)xt,v

    と条項

    v,wV(H)(¬xt,v¬xt,w).

その後、任意の標準SATソルバーを使用できます。実際にうまくいくかどうかはわかりませんが、試してみて、どのように機能するかを確認できます。


HH

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