"소규모"그래프 동형


19

비대칭 그래프의 동형 테스트의 복잡성에 대해 생각하면서 ( cstheory에 대한 관련 질문 참조 ) 보완적인 질문이 떠 올랐습니다.

입력 노드 로 그래프 을 생성 하는 다항식 시간 튜링 머신 이 있다고 가정합니다 .M1nGM,nn

우리는 문제를 정의 할 수 있습니다 :ΠM

( "작은"GI)이 주어 그래프 이며, 동형 ?G=(V,E)GGM,|V|

다시 말해, 주어진 그래프를 고정 다항식 시간 Turing machine 의해 생성 된 동일한 크기의 "기준"그래프와 비교해야합니다 .M

모든 다항식 시간 튜링 머신 M 에 대해 ΠMNP 가 있으며 그 중 다수에 대해 ΠMP 있습니다.
그러나 모든 M 되는가? 문제가 알려져 있습니까?

언뜻보기에 모든 은 보다 훨씬 한다고 생각했습니다 . 왜냐하면 모든 에 대해 그 크기의 "참조"그래프가 하나 뿐이며 의해 생성 된 그래프의 대칭 / 비대칭 이 이용 될 수 있고 효율적 이기 때문입니다. 애드혹 동형 테스터 내장 될 수있다 ..하지만 사실이 아니다 : 사용 (단항) 입력 것이 다항식 타이밍 된 범용 튜링 기계의 일종 포함될 수 참조로서 그래프 (구조)에 완전히 다른 생성을 증가합니다.ΠMGInMM1nn


흥미롭게도 그래프 을 생성하는 P-time Turing machine 의 예를 알고 있습니까? G M , NMGM,N
Mohammad Al-Turkistany 2016 년

@ MohammadAl-Turkistany : 의 간단한 예 는 분리 된 정점 을 단순히 출력 하는 TM 입니다 (또는 다른 하나는 을 출력하는 TM입니다 ). 일반성을 잃지 않고 우리는 이진 알파벳보다 모든 다항식 시간 TM이 참조 그래프를 생성하는 모델을 생각할 수 있습니다 . 테이프가 멈춘 후 테이프 의 첫 비트를 선택하고 의 인접 행렬로 해석하십시오. . M n K n n 2 G M , nΠMPMnKnn2GM,n
Marzio De Biasi 2016 년

에 Hamiltonian주기가 있음을 보장하는 TM 경우 이 없는 것 같습니다 . G M , n Π M PMGM,nΠMP
Mohammad Al-Turkistany

@ MohammadAl-Turkistany : 사실이 아니라고 생각합니다. 단지 노드 의 사이클을 만드는 TM을 선택하십시오 . 해밀턴 사이클을 갖는 모든 참조 그래프에 대해 다항식 시간에서 쉽게 확인할 수 있습니다. 나는 문제가 있다는 것을 보여주기가 어려운 (간단한) 생성기의 사소한 예를 생각했다 . 하지만 질문에 추가하기 전에 해상 테스트를하고 싶습니다. n PnnP
Marzio De Biasi 2016 년

1
고정 M과 N의 경우 1 ^ n에서 생성 된 두 그래프가 같은지 결정해야하는 "Itsy Bitsy"GI는 어떻습니까? (이것은 단항 언어입니다.)
domotorp

답변:


6

[이것은 답변보다 몇 가지 확장 된 설명입니다.]

1) 만약 다음 없음이 모든 시간 복잡도에 결합 다항식 고정 에도 들어 말하자면 만 시간을 갖고, : 전체 시간이면 - , , 그 다음은 GI하는 폴리 시간 알고리즘이다. 입력 에서 시계 크기 로 튜링 머신 을 구성하여 가 크기 입력에서 단계 이상 실행되지 않도록 하고 이고 시간 에서 를Π M M n 3 n 3 M Π MD T I M E ( n k ) ( G , H ) M G M G n 3 n M G ( 1 | V ( G ) | ) = G Π M G ( H ) O ( n k )GIPΠMMn3n3 MΠMDTIME(nk)(G,H)MGMGn3nMG(1|V(G)|)=GΠMG(H)O(nk).

어떤을위한 때문에 2) , 하나의 라인을 따라 최상의 결과 "라는 생각, 더 열심히 GI보다 될하지 않는 것 같다 하나가 희망 할 수"는 GI 없다 완성도. 그러나 적어도 다음과 같은 이유로 중 하나 가 GI 완료 될 가능성은 거의 없습니다 .Π M Π M P Π MMΠMΠMPΠM

  • 내가 아는 모든 GI 완성도 결과는 각 크기의 단일 그래프보다는 오히려 큰 클래스의 그래프에 대한 것입니다. 당신이 완전히 효율 요구 사항을 삭제해도, 나는 그래프의 목록을 알고하지 않습니다 등이 (또는 심지어 )으로 대한 동형 테스트 는 GI 완료입니다.| V ( G의 N ) | = n p o l y ( n ) G nG1,G2,|V(Gn)|=npoly(n)Gn

  • 관련 메모에서, 대부분 (모두?) GI 완성도 결과는 여러 번의 축소 일뿐만 아니라 다음과 같은 형식을 갖습니다. GI 의 인스턴스 가 주어진 함수 는 다른 GI 완료 문제의 예입니다. (이것은 등가 관계의 다중 시간 형태이거나 Fortnow와 내가 "커널 축소"라고 불렀습니다.) GI에서 축소가 없음을 무조건 표시 할 수 있습니다 ( 을 허용하도록 정의를 수정하더라도 힌트 : 이러한 는 이미지가 완전히 포함되어 있음을 보여줌으로써 모순을 얻습니다 .( G , H ) ( f ( G ) , f ( H ) ) Π M M f { G M , n } n 0f(G,H)(f(G),f(H))ΠMMf{GM,n}n0

3) 문제에서 제안 된 것처럼 범용 TM을 기반으로 구성 할 수는 있지만 여전히 효율적이지 않은 효율적인 테스터를 구성 할 수 있습니다. 그건 아마도 각 들면, , 에 ?M Π M P / p o l yMMΠMP/poly


1

귀하의 질문에 대한 답변은 없지만 에있는 것을 보여줄 수있는 의보다 제한된 버전을 고려할 것을 제안합니다 .ΠM

에지 수가 로그 적으로 증가하도록 그래프 패밀리 만 고려해 봅시다. 나는 당신의 문제 공식을 표현함으로써 그것을 공식화 할 것이고, 내가 그것을 올바르게 이해했는지 확인할 것입니다.

무향 그래프 와 에지가 설명 될 수있다 긴 비트 스트링 단순히의 인접 행렬의 엔트리 연결할 상부 삼각형. 따라서 개의 꼭지점 에 가능한 그래프가 있습니다. 모든 함수 과 같이 모든 대해 가 그래프의 가족. 효율적으로 계산 가능한 함수 대해 를 N N 2 - NGn G2 N 2 - Nn2n2G NF:NN0F(N)<2N2-N2n2n2nf:NN NFΠFGΠF0f(n)<2n2n2nfΠf

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

자연수를 들어 하자 자사의 이진 표현의 1 개의 수를합니다. 이제 을 보유하는 효율적으로 계산 가능한 함수 대해서는 만 고려해 봅시다. 위에서 언급 한 바와 같이 대수.b 1 ( x ) Π f f b 1 ( f ( n ) ) O ( log n )xb1(x)Πff

b1(f(n))O(logn)

이 함수 클래스에 대한 가 P에 있음을 보여줍니다 .Πf

를 그러한 함수로하고 를 개의 꼭짓점 이있는 입력 그래프라고 합시다 . 을 참조 그래프 라고하겠습니다 . 참조 그래프 에는 최대 가장자리가 있습니다. 따라서 모든 MCC (최대 연결 구성 요소)는 최대 개의 정점으로 구성 될 수 있으며 최대 합니다. 꼭짓점 만있는 그래프 쌍의 경우 다형성 시간 wrt 에서 동형을 사소하게 확인할 수 있습니다.G n f (fGnO ( 로그 없음 ) O ( 로그 N ) N O ( 로그 N ) Nf(n)O(logn)O(logn)nO(logn)n모든 순열을 시도 할 수 있기 때문입니다. 따라서 욕심 많은 알고리즘을 사용하여 참조 그래프에서 입력 그래프의 각 MCC에 MCC를 할당하면 두 그래프가 모두 동형인지 여부를 알 수 있습니다.


만약 당신의 잘 이해 한다면, 모서리의 수가 대수 wrt 로만 증가 한다면, 가 참조 그래프에 동형 인 경우 분리 된 정점을 제거하고 다항식 시간으로 테스트하기가 쉽습니다 . 따라서이 제한된 클래스의 경우 입니다. n G Π fPfnGΠfP
Marzio De Biasi 2016 년

실제로, 그것은 내가 생각했던 것보다 쉬운 주장 인 것 같습니다. 나는 그것을 나의 대답에 포함시킬 것이다.
John D.

GI에 대해 동일한 논증이 작동한다는 것을 고려할 때 이것은 실제로 만족스럽지 않습니다. 설정 에서 가장자리의 상한을 개선하여 더 이상 GI에서 더 이상 작동하지 않는 것이 것 같습니다. Πf
John D.

1
무차별 대입 (각 구성 요소의 모든 순열)을 사용하는 인수의 경우 실제로 연결된 각 구성 요소에 최대 정점 이 있어야 합니다.본질적으로 입니다. 그러나 시간이 걸리는 가장 잘 알려진 GI 알고리즘을 사용하면 을 바꿀 수 있습니다 . ( 로그 N ) ! ( log n ) log n = n 로그 로그 n 2 O(logn/loglogn)(logn)!(logn)logn=nloglogn O(logn/loglogn)O(log2n)2vlogvO(logn/loglogn)O(log2n)
Joshua Grochow
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.