「小さな」グラフ同型


19

非対称グラフの同型性のテストの複雑さについて考えながら(cstheory に関する私の関連する質問を参照)、補足的な質問が思い浮かびました。

入力でノードを持つグラフを生成する多項式時間チューリングマシンとします。M1nGM,nn

問題定義できます:ΠM

( "小さな" GI):グラフが与えられるとであり、同型?G=(V,E)GGM,|V|

言い換えれば、与えられたグラフを、固定多項式時間チューリングマシンMによって生成された同じサイズの「参照」グラフと比較する必要がありMます。

すべての多項式時間チューリングマシンMにはΠM∈NPがあり、それらの多くにはΠM∈Pます。
しかし、それはすべてのMに当てはまりMますか?問題はわかっていますか?

一見、すべてのΠMはGIよりもはるかに簡単であると考えましたGI。なぜなら、nごとnにそのサイズの「参照」グラフが1つだけあり、おそらくMによって生成されたグラフの対称性/非対称性Mが活用され、効率的であるためですアドホック同型テスターを構築できますが、それは正しくありません:Mは、(単項)入力1nを使用して完全に異なる(構造内の)参照グラフをnとして生成するある種の多項式時間ユニバーサルチューリングマシンを含むことができますn増加します。


興味深いことに、グラフを生成するP-timeチューリングマシン例を知っていますか?MGM,N
— モハマドアルトルコ

@ MohammadAl-Turkistany:簡単な例は、孤立した頂点を単純に出力するTM(または別の頂点はを出力するTM )です。一般性を失うことなく、バイナリアルファベット上のすべての多項式時間TMが参照グラフを生成するモデルを考えることもできます。停止後、テープの最初のビットを選択し、隣接行列として解釈します。。ΠM∈PMnKnn2GM,n
— マルツィオデビアシ14年

にハミルトニアンサイクルがあることを保証するTM場合、はないと思います。MGM,nΠMP
— モハマドアルトルコ

@ MohammadAl-Turkistany:それは真実ではないと思います:単にノードのサイクルを構築するTMを選ぶだけです:すべての、ハミルトニアンサイクルを持つ参照グラフは多項式時間で簡単にチェックできます。私は、問題がことを示すのが難しいと思われる(かなり単純な)ジェネレーターの自明ではない例を念頭に置いています。しかし、質問に追加する前にnautyでいくつかのテストを行いたいです。nnP
— マルツィオデビアージ14年

1
「Itsy Bitsy」GIの場合、固定MとNについて、1 ^ nで生成された2つのグラフが同じかどうかを判断する必要がありますか?(これは単項言語です。)
— domotorp 14年

回答:


6

[これは、回答というよりもいくつかの拡張コメントです。]

1)場合は、その後ない全ての時間複雑に結合したが、多項式固定さΠ Mもため、Mたとえば、唯一の時間がかかること、nは3:すべての時間-のためであれば、N 3 M、Π M ∈ D T I M E(n k)の場合、次はGIのポリタイムアルゴリズムです。入力上の(G 、H )、チューリングマシン構築M Gをすることを保証するクロックとM GGI∉PΠMMn3n3 MΠM∈DTIME(nk)(G,H)MGMG以上のために実行されたことがないサイズの入力にステップN、となるようにM G(1つの| V (G )|)= G、その後解決Π M G(Hの)時間にO (N 、K)。n3nMG(1|V(G)|)=GΠMG(H)O(nk)

2)任意のためので、Π Mは何の困難GIよりもされていない、一つは「の線に沿って最高の結果だと思うかもしれませんΠ Mはでないと思わP 1はを期待できが」GI-完全性の結果です。しかし、いずれかのように私には考えにくいΠ Mは、少なくとも次のような理由から、GI-完了し、次のようになります。MΠMΠMPΠM

  • 私が知っているGI完全性の結果はすべて、各サイズの単一のグラフではなく、かなり大きなクラスのグラフに対するものです。あなたは完全に効率要件を落とした場合でも、私は、グラフの任意のリストを知らないように| V (G n)| = n(またはp o l y (n ))であり、G nへの同型のテストはGI完全です。G1,G2,…|V(Gn)|=npoly(n)Gn

  • 関連ノートで、最も(?全て)GI-完全結果は、単に多くのワン削減ではなく、以下の形式を有する:関数が存在する例えば、インスタンス与えられた(G 、H ) GIの、(F (G )、f (H ))は、他のGI完全問題のインスタンスです。(これらは同値関係、または何のちょうどポリタイム射あるFortnowは、私は、「カーネルの削減と呼ばれる。)私たちは、簡単に任意のGIからもこのような減少がないことを無条件に表示することができΠ Mあなたができるように定義を変更しても(Mはf(G,H)(f(G),f(H))ΠMM複数のグラフを出力します)。ヒント:このようなことを示すことによって矛盾を取得、その画像が完全に含まれている必要があります{ G M 、N } N ≥ 0。f{GM,n}n≥0

3)質問で示唆されているように、ユニバーサルTMに基づいてを構築できたとしても、おそらく効率的ではなく、効率的なテスターを構築できる可能性があります。すなわち、多分それぞれについて、あるM、Π Mは、であり、P / P oをL個のY?MMΠMP/poly


1

私はあなたの質問への答えを持っていないが、より制限されたバージョンを検討することを提案我々はそれがPにあることを示すことができたためにΠM

エッジの数が対数的に増加するようなグラフのファミリーのみを考えてみましょう。私はあなたの問題の定式化を言い換えることによってこれを形式化し、それを正しく理解したかどうかも確認します。

n個のエッジを持つ無向グラフは、n 2 − nGn長いビット文字列。上の三角形のGの隣接行列のエントリを単純に連結します。したがって、2 n 2 − nn2−n2Gn頂点の 2つの可能なグラフ。これは、以下のその任意の関数F:N→Nように0≤F(N)<2、N2-N2n2−n2nf:N→Nすべてのnに対する 2は、グラフのファミリーを表します。任意効率よく計算可能このような機能のためにF我々は定義ΠのFをとして G∈ΠF0≤f(n)<2n2−n2nfΠf

G∈Πf⟺G is isomorph to the graph described by f(|V(G)|)

自然数、b 1(x )をバイナリ表現の1の数とします。今、米国のみ考えるΠのFを効率的に計算可能な機能のためにfをそれが保持するために 、B 1(F (nは))∈ O(ログN ) 上述のようにエッジの数は、唯一の対数成長するためのグラフのファミリーであります。xb1(x)Πff

b1(f(n))∈O(log⁡n)

私たちは、ことを示して関数のこのクラスのはP.でありますΠf

ましょう、このような関数であるとGを有する入力グラフであるn個の頂点。f (n )を参照グラフと呼びましょう。参照グラフには最大でO(log n )のエッジがあります。したがって、すべてのMCC(最大接続コンポーネント)は最大でO(log n )の頂点で構成され、その頂点は最大でnになります。O(log n )頂点のみを持つグラフのペアでは、多項式時間wrt nで同型を簡単にチェックできることに注意してください。fGnf(n)O(log⁡n)O(log⁡n)nO(log⁡n)nすべての順列を試すことができるからです。したがって、貪欲なアルゴリズムを使用して、入力グラフの各MCCを参照グラフのMCCに割り当てると、両方のグラフが同形かどうかを判断できます。


あなたのよく理解していれば、エッジの数がnに対して対数的にしか増えない場合、Gが参照グラフと同型であれば、孤立した頂点を簡単に捨てて多項式時間でテストできます。したがって、この制限されたクラス、ためΠ F ∈ P。fnGΠf∈P
— マルツィオデビアシ14年

確かに、それは思ったよりも簡単な議論のようです。私の答えにそれを取り入れます。
— ジョンD. 14年

一般的にGIでも同じ議論が機能することを考えると、これは本当に満足のいくものではありません。私は1つが、上側のエッジにバインド改善することができれば、それは興味深いものになるだろうと思い、それはもはや一般的にはGIのための作業と同様に示すことができないように設定します。Πf
— ジョンD. 14年

1
総当たり(各コンポーネントのすべての順列)を使用する引数の場合、実際には、接続された各コンポーネントに最大で頂点が必要であると思います:(log n )!は本質的に(log n )log n = n log log nです。ただし、最も時間がかかる2の GIアルゴリズムを使用する√O(log⁡n/log⁡log⁡n)(log⁡n)!(log⁡n)log⁡n=nlog⁡log⁡n、O(logn/loglogn)をO(log2n)に置き換えることができます。2vlog⁡vO(log⁡n/log⁡log⁡n)O(log2⁡n)
— ジョシュアグロショー14年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.