Dharwadker-Tevetグラフ同型アルゴリズムの反例を知っている人はいますか?


10

http://www.dharwadker.org/tevet/isomorphism/、二つのグラフは同型であるかどうかを決定するためのアルゴリズムの提示があります。A Dharwadkerによる "興味深い"主張がいくつかあることを考えると、私はそれを信じる気はありません。

私の調査では、アルゴリズムが間違いなく正しい答えを生成し、2つのグラフが実際には正しかったのに同型ではないことがわかりました。ただし、2つのグラフが実際に同型であるかどうかをアルゴリズムが一貫して通知するかどうかは明確ではありません。彼らの結果の「証拠」は、望ましいものを残します。

しかし、私は反例を知りません。アルゴリズムをテストするためのソフトウェアを書き始める前に、反例を誰かがすでに知っているかどうかを確認したいと思いました。

誰かがアルゴリズムの概要を要求しました。私はここでできることをしますが、それを本当に理解するには、http://www.dharwadker.org/tevet/isomorphism/にアクセスする必要があります

アルゴリズムには2つのフェーズがあります。「署名」フェーズとソートフェーズです。最初の「署名」フェーズ(これは私のプロセスの用語です。「署名マトリックス」の生成と呼びます)は、頂点をさまざまな等価クラスに効率的にソートします。第2フェーズでは、最初に、等価クラスに従って頂点を順序付け、次に、等価クラス内でソート手順を適用して、2つのグラフ間の同型を確立します。興味深いことに、彼らはグラフの標準的な形式を確立することを主張していません-代わりに、1つのグラフが2番目の一種のテンプレートとして使用されます。

署名フェーズは実際には非常に興味深いものです。言い換えれば、ここでは正直に言うつもりはありません。詳細が必要な場合は、リンクをたどって彼の署名フェーズを確認することをお勧めします。生成された「符号行列」は、元のグラフに関するすべての情報を確実に保持し、もう少し情報を確立します。署名には元の行列に関する情報全体が含まれているため、署名を収集した後、元の行列は無視されます。署名は、頂点に関連する各エッジに適用される操作を実行し、頂点の要素のマルチセットを収集して、頂点の等価クラスを確立すると言うだけで十分です。

2番目のフェーズ(並べ替えフェーズ)は、疑わしい部分です。特に、それらのプロセスが機能した場合、Anna Lubiwが "行列の二重字句順序付け"を提供するために開発したアルゴリズム(http://dl.acm.org/citation.cfm?id=22189を参照)が期待されます。グラフの標準形を定義するためにも機能します。

公平を期すために、私は彼らの分類プロセスを完全には理解していませんが、彼らはそれを説明する合理的な仕事をしていると思います。(私はすべての詳細に取り組んだだけではありません)。つまり、何かが足りないのかもしれません。ただし、このプロセスが誤って同型を見つける以上のことができる方法は不明です。確かに、彼らはおそらくそれを高い確率で見つけますが、保証はありません。2つのグラフが同型でない場合、ソートプロセスはそれを見つけることができず、プロセスはグラフを正しく拒否します。


アルゴリズムのアイデアの概要を教えてください。
Mohammad Al-Turkistany

1
math.stackexchange.com/questions/333633/…も参照してください。これは、提供されたプログラムの反例を見つけるチャンスがあることを示していますが、それでも見つけなければなりません...
Thomas Klimpel

非常に規則的なグラフは良い賭けのように見えますが、私はランダムに選択されたPetersenのグラフ、Clebschのグラフ、または4x4のルークのグラフの順列については運がありません。
Peter Taylor

同様に、Shrikhandeグラフを試しましたが、すべての順列を試しませんでした。私は彼女に「マトリックスの二重字句順序付け」の反例を尋ねるようにメールを送りましたが、彼女は(少なくともまだ)応答していません。もっと体系的な検索をする必要があると思います。
ビル州

1
確かにこのサイトでフラグを立てる可能性が高いですが、記事の贅沢な主張を省略してサービスを行っているとは感じないでください。あなたが懐疑的になる彼らの贅沢な主張は何ですか?多分彼らはそれが速いパフォーマンスであると主張します、しかしそれは単一の反例では反証できません。すなわち、//可能性のあるアルゴリズムは正しいです(見た目が悪い)。とにかく、Theoretical Computer Science Chatでさらにディスカッション/詳細分析を招待してください。ここでは、過去に何人かのビジターがGIに大きな関心を示しており、最近拡張ディスカッションがあります。
vzn 2015

回答:


18

の場合graphA.txt

25
 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0
 1 0 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0
 1 1 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1
 1 1 1 0 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0
 1 1 1 0 0 0 0 1 0 0 1 1 0 1 0 0 1 1 0 1 0 0 1 1 0
 1 1 1 0 0 0 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
 1 1 1 0 0 0 0 0 0 1 0 1 1 0 0 1 0 1 1 0 0 1 0 1 1
 1 0 0 1 1 0 0 0 1 1 1 0 0 1 0 1 0 0 1 0 0 0 1 1 1
 1 0 0 1 0 1 0 1 0 1 0 0 1 0 0 0 1 1 1 1 0 1 1 0 0
 1 0 0 1 0 0 1 1 1 0 0 1 0 0 1 0 1 1 0 0 1 0 0 1 1
 1 0 0 0 1 1 0 1 0 0 0 1 1 0 1 1 0 0 1 1 1 0 0 1 0
 1 0 0 0 1 0 1 0 0 1 1 0 1 1 1 0 0 1 0 0 1 1 1 0 0
 1 0 0 0 0 1 1 0 1 0 1 1 0 1 0 1 1 0 0 1 0 1 0 0 1
 0 1 0 1 1 0 0 1 0 0 0 1 1 0 1 1 1 0 0 0 0 1 1 0 1
 0 1 0 1 0 1 0 0 0 1 1 1 0 1 0 0 1 0 1 0 1 1 0 1 0
 0 1 0 1 0 0 1 1 0 0 1 0 1 1 0 0 0 1 1 1 1 0 0 0 1
 0 1 0 0 1 1 0 0 1 1 0 0 1 1 1 0 0 1 0 1 0 0 0 1 1
 0 1 0 0 1 0 1 0 1 1 0 1 0 0 0 1 1 0 1 1 1 0 1 0 0
 0 1 0 0 0 1 1 1 1 0 1 0 0 0 1 1 0 1 0 0 0 1 1 1 0
 0 0 1 1 1 0 0 0 1 0 1 0 1 0 0 1 1 1 0 0 1 1 0 1 0
 0 0 1 1 0 1 0 0 0 1 1 1 0 0 1 1 0 1 0 1 0 0 1 0 1
 0 0 1 1 0 0 1 0 1 0 0 1 1 1 1 0 0 0 1 1 0 0 1 1 0
 0 0 1 0 1 1 0 1 1 0 0 1 0 1 0 0 0 1 1 0 1 1 0 0 1
 0 0 1 0 1 0 1 1 0 1 1 0 0 0 1 0 1 0 1 1 0 1 0 0 1
 0 0 1 0 0 1 1 1 0 1 0 0 1 1 0 1 1 0 0 0 1 0 1 1 0

graphB.txt

25
 0 0 0 1 1 0 0 0 0 1 1 1 1 0 0 1 0 1 1 0 1 1 0 1 0
 0 0 1 1 1 1 1 0 0 0 0 0 0 0 1 1 0 0 1 1 1 1 0 0 1
 0 1 0 1 0 0 1 1 1 0 1 0 0 0 0 1 0 1 1 1 0 0 1 1 0
 1 1 1 0 1 0 1 1 1 1 1 1 0 0 1 0 0 0 0 0 0 1 0 0 0
 1 1 0 1 0 0 0 0 1 1 0 0 0 1 1 1 1 0 0 1 1 0 0 1 0
 0 1 0 0 0 0 1 0 0 1 1 0 0 0 1 0 1 1 0 0 1 1 1 1 1
 0 1 1 1 0 1 0 0 1 1 0 0 1 1 0 0 1 1 1 0 0 1 0 0 0
 0 0 1 1 0 0 0 0 1 0 1 1 1 0 1 0 1 1 0 1 1 0 0 0 1
 0 0 1 1 1 0 1 1 0 1 0 0 1 1 0 0 0 0 0 0 1 0 1 1 1
 1 0 0 1 1 1 1 0 1 0 0 1 0 0 0 1 1 1 0 0 0 0 1 0 1
 1 0 1 1 0 1 0 1 0 0 0 0 1 0 1 1 1 0 0 0 0 1 1 1 0
 1 0 0 1 0 0 0 1 0 1 0 0 0 1 1 0 0 1 1 1 0 1 1 0 1
 1 0 0 0 0 0 1 1 1 0 1 0 0 1 0 1 1 0 1 0 1 1 0 0 1
 0 0 0 0 1 0 1 0 1 0 0 1 1 0 1 0 1 0 1 1 0 1 1 1 0
 0 1 0 1 1 1 0 1 0 0 1 1 0 1 0 0 1 0 1 0 1 0 1 0 0
 1 1 1 0 1 0 0 0 0 1 1 0 1 0 0 0 1 0 1 1 0 0 1 0 1
 0 0 0 0 1 1 1 1 0 1 1 0 1 1 1 1 0 1 0 1 0 0 0 0 0
 1 0 1 0 0 1 1 1 0 1 0 1 0 0 0 0 1 0 1 1 1 0 0 1 0
 1 1 1 0 0 0 1 0 0 0 0 1 1 1 1 1 0 1 0 0 1 0 1 0 0
 0 1 1 0 1 0 0 1 0 0 0 1 0 1 0 1 1 1 0 0 0 1 0 1 1
 1 1 0 0 1 1 0 1 1 0 0 0 1 0 1 0 0 1 1 0 0 0 0 1 1
 1 1 0 1 0 1 1 0 0 0 1 1 1 1 0 0 0 0 0 1 0 0 0 1 1
 0 0 1 0 0 1 0 0 1 1 1 1 0 1 1 1 0 0 1 0 0 0 0 1 1
 1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0 0 1 0 1 1 1 1 0 0
 0 1 0 0 0 1 0 1 1 1 0 1 1 0 0 1 0 0 0 1 1 1 1 0 0

graphA.txt(ランダム)順列を適用することにより得られます

 22 9 24 11 15 8 5 18 13 14 2 10 23 0 3 17 4 16 6 19 7 21 12 1 20

C ++プログラムisororphism.cppから図6.3。 グラフ同型アルゴリズムのA C ++プログラムでのhttp://www.dharwadker.org/tevet/isomorphism/は、次のような出力を提供します。

The Graph Isomorphism Algorithm
by Ashay Dharwadker and John-Tagore Tevet
http://www.dharwadker.org/tevet/isomorphism/
Copyright (c) 2009
Computing the Sign Matrix of Graph A...
Computing the Sign Matrix of Graph B...
Graph A and Graph B have the same sign frequency vectors in lexicographic order but cannot be isomorphic.
See result.txt for details.

したがって、これはDharwadker-Tevetグラフ同型アルゴリズムの反例と考えることができます。

ビル州が示唆するように、問題は

4.1。命題。グラフおよびが同型である場合、アルゴリズムは同型を検出します。G BGAGB

ビル州の反対は、命題4.1の証明です隣接行列にも適用されない符号行列の特別なプロパティを使用しません。より正確には、証明の次のステップは間違っています。

帰納法の仮定については、その行と仮定のと、そのようなことを完璧に手順3.4で一致したの行の頂点ラベルのあるの行のと頂点ラベルは、それぞれです。A B 1 tはV 1VのT 1 t B1,...,tAB1,...,tAv1,...,vt1,...,tBφ(v1)=v1,...,φ(vt)=vt

行が完全に一致したとしても、頂点ラベルが任意の同型によって与えられたラベルと一致するとは限らないためです。φ

正当性の証明に穴が特定されたため、提案されたアルゴリズムの正当性の主張に反論するには、上記の反例で十分です。


謝辞 反例はからの8番目のグラフのペアの最初のものです

http://funkybee.narod.ru/graphs.htm

グラフを操作するために、次の場所にあるScrewBoxR1160.tarのソースコードを使用および変更しました

https://people.mpi-inf.mpg.de/~pascal/software/

正当性の証明の穴を理解するために、ワイスファイラーリーマンについてのアンドラスサラモンのコメントは、

http://users.cecs.anu.edu.au/~pascal/docs/thesis_pascal_schweitzer.pdf

この質問を航海/トレースとグラフ同型の実用的な側面に慣れる機会として使用する動機は、vznによって提供されました。最先端のプログラムをグラフ同型に使用する方法を学ぶ利点は、反例(私が存在すると強く信じていました)を見つけるために少し時間を費やすことを価値のあるものにしました。


細かいご対応ありがとうございます。反例を見つけるためにグラフに使用した選択基準はありましたか?反例が選択されると、コメントは順列がランダムに選択されたことを示唆しているようです。これは本当でしたか?それとも、順列の選択にもっと多くがあったのですか?
ビル州

@BillProvince選択基準は、Cai、Fürer、Immermanの建設が成功する可能性があることを示したため、AndrásSalamonのコメントに基づいています。最初にPascal Schweitzerのn = 546の例を試しましたが、元のC ++プログラムisororphism.cppは、1566分を超えてから計算されています。私はより良いデータ構造を使用し、2時間以上後に大きな反例が機能することを学びました。trg787 / funkybeeのグラフペアの中にCai、Fürer、Immermanの構成がいくつかあることを知っていたので、運を試しました。私は複数のランダム順列(n = 25の例の場合)を試しましたが、2番目の順列が機能しました。
Thomas Klimpel

どちらが時間節約になるか、1。反例を見つける2. 4.1が間違っていることを証明する。
ジム、

n = 546の例の元のC ++プログラムisoromorphism.cppを6200分以上実行した後、すぐに停止しました。
Thomas Klimpel、2015

@ThomasKlimpel私はこの結果について言及する論文を書くつもりです。希望する専門家の属性がある場合は、その属性をbillprovince@gmail.comにメールで送信できます。いずれにしても、私はblog.stackexchange.com/2009/06/attribution-requiredに投稿されている帰属要件に従うつもりです
ビル州
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.