私はあなたの質問への答えを持っていないが、より制限されたバージョンを検討することを提案我々はそれが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(logn)
私たちは、ことを示して関数のこのクラスのはP.でありますΠf
ましょう、このような関数であるとGを有する入力グラフであるn個の頂点。f (n )を参照グラフと呼びましょう。参照グラフには最大でO(log n )のエッジがあります。したがって、すべてのMCC(最大接続コンポーネント)は最大でO(log n )の頂点で構成され、その頂点は最大でnになります。O(log n )頂点のみを持つグラフのペアでは、多項式時間wrt nで同型を簡単にチェックできることに注意してください。fGnf(n)O(logn)O(logn)nO(logn)nすべての順列を試すことができるからです。したがって、貪欲なアルゴリズムを使用して、入力グラフの各MCCを参照グラフのMCCに割り当てると、両方のグラフが同形かどうかを判断できます。