"Крихітний" графік Ізоморфізм


19

Розмірковуючи про складність тестування ізоморфізму асиметричних графіків (див. Моє відповідне питання про теоретичну теорію), мені спало на думку додаткове запитання.

Припустимо, у нас є многочлена машина Тьюрінга яка на вході формує графік з вузлами.1 нM1nGM,nn

Ми можемо визначити проблему :ΠM

("Крихітний" GI): Дано графік G=(V,E) , чи G ізоморфний GM,|V| ?

Іншими словами , ми повинні порівняти даний графік з «опорним» графа того ж розміру , що генерується фіксованим многочленом часу машини Тьюринга M .

Для всіх поліноміальних Тьюринга машини M , ми маємо ΠM∈NP , і для багатьох з них ми маємо ΠM∈P .
Але чи це правда для всіх M ? Чи відома проблема?

На перший погляд я подумав, що кожен ΠM повинен бути набагато простішим, ніж GI , тому що для кожного n існує лише один "еталонний" графік такого розміру, і, можливо, симетричність / асиметрія графіків, породжених M можна використовувати і ефективно може бути побудований спеціальний тестер ізоморфізму ... але це неправда: M може містити якусь універсальну машину Тюрінга з багаточленним приуроченням, яка використовує (одинарний) вхід 1n для генерування абсолютно інших (у структурі) еталонних графіків як n збільшується.


Цікаво, чи знаєте ви приклад машини Puring time Turing M яка генерує графік GM,N ?
— Мохаммед Аль-Туркистан

@ MohammadAl-Turkistany: тривіальний приклад, для якого - це TM який просто виводить ізольованих вершин (або інша - TM, що виводить ). Не втрачаючи загальності, ми також можемо придумати модель, в якій кожен поліном часу ТМ над бінарним алфавітом генерує опорний графік: просто виберіть перші біти стрічки після її зупинки та інтерпретуйте її як матрицю суміжності . ΠM∈PMnKnn2GM,n
— Марціо Де Біасі

Для ТМ , що гарантує , що має гамільтонів цикл, то я думаю не в . MGM,nΠMP
— Мохаммед Аль-Туркстані

@ MohammadAl-Turkistany: Я думаю, що це неправда: просто виберіть TM, який просто будує цикл вузлів: для всіх еталонний графік - який має гамільтонівський цикл - легко перевіряється в поліноміальний час. Я маю на увазі нетривіальний приклад (досить простого) генератора, для якого, здається, важко показати, що проблема в ; але я хочу зробити кілька тестів з nauty, перш ніж додати його до питання. nnP
— Марціо Де Біасі

1
А що з GI "Іці Біци", коли для фіксованих M і N ми повинні вирішити, чи два графіки, сформовані на 1 ^ n, однакові? (Це
— єдинарна

Відповіді:


6

[Це більше кількох розширених коментарів, ніж відповідь.]

1) Якщо , то немає фіксованого полінома, пов'язаного з складністю всіх , навіть для що займає лише час, скажімо, : Якщо за весь час - , , то часу для GI. На вході побудуйте машину Тюрінга з годинником, який гарантує, що ніколи не працює більше ніж кроки на входах розміром , і таким, що , а потім вирішити в часіGI∉PΠMMn3n3 MΠM∈DTIME(nk)(G,H)MGMGn3nMG(1|V(G)|)=GΠMG(H)O(nk).

2) Оскільки для будь-якого , не складніше, ніж GI, можна подумати, що найкращого результату в рядках " здається, немає в ", на який можна сподіватися, - це GI - результат незавершеності. Однак мені здається малоймовірним, що будь-який був би GI-повним, принаймні з наступних причин:MΠMΠMPΠM

  • Усі відомості про повноту GI, про які я знаю, стосуються досить великих класів графіків, а не одного графа кожного розміру. Навіть якщо ви повністю вимогу ефективності, я не знаю жодного списку графіків такого, що (або навіть ) таким, що тестування ізоморфізму на є GI-повним.G1,G2,…|V(Gn)|=npoly(n)Gn

  • У відповідній примітці більшість (усіх?) Результатів повноти GI - це не просто багато-одне скорочення, але мають такий вигляд: є функція така, що дається екземпляр GI, є примірником іншої задачі, повної GI. (Це просто багаторазові морфізми співвідношень еквівалентності, або те, що ми з Fortnow називали «скорочення ядра.) Ми можемо легко безумовно показати, що такого зменшення від GI до будь-якого (навіть якщо ви модифікуєте визначення, щоб дозволити для отримання декількох графіків) Підказка: Отримайте протиріччя, показавши, що будь-яке таке повинно повністю містити його зображення у .f(G,H)(f(G),f(H))ΠMMf{GM,n}n≥0

3) Незважаючи на те, що можна було побудувати на основі універсальної ТМ, як це запропоновано у питанні, можливо, все одно можна побудувати ефективний тестер, але не ефективно. Тобто, може бути , для кожного , в ?MMΠMP/poly


1

Я не маю відповіді на ваше запитання, але пропоную розглянути більш обмежену версію для якої ми можемо показати, що вона лежить в P.ΠM

Розглянемо лише сімейство графіків таким, що кількість ребер зростає логарифмічно. Я формалізую це, перефразовуючи вашу формулювання проблеми, щоб також зрозуміти, чи правильно я її зрозумів.

Ненаправлений графік з ребрами може бути описаний довгим штриховим рядком, просто об'єднавши записи матриці суміжності у верхній трикутник. Тому існує можливих графіків на вершинах. Звідси випливає, що будь-яка функція така, що для всіх описує a сімейство графіків. Для будь-якої ефективно обчислюваної такої функції ми визначаємо як Gnn2−n2G2n2−n2nf:N→N0≤f(n)<2n2−n2nfΠf

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

Для натурального числа нехай - число 1 у його бінарному поданні. Тепер давайте розглянемо лише для ефективно обчислюваних функцій для яких встановлено, що - це сімейства графіків, для яких збільшується лише кількість ребер логарифмічно, як зазначено вище.xb1(x)Πff

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

Покажемо, що для цього класу функцій знаходиться в P.Πf

Нехай - така функція, а - вхідний графік з вершин. Назвемо опорним графіком. У довідковому графіку є максимум ребра. Таким чином, кожен MCC (максимально підключений компонент) може складатися з максимум вершин, яких може бути не більше . Зауважимо, що для будь-якої пари графів, що мають лише вершини ми можемо тривіально перевірити ізоморфізм за часом поліномії wrtfGnf(n)O(log⁡n)O(log⁡n)nO(log⁡n)nтому що ми можемо спробувати всі перестановки. Таким чином, використовуючи жадібний алгоритм, щоб призначити кожному МСС вхідного графа МСС у еталонному графіку, ми можемо з'ясувати, чи обидва графіки є ізоморфними.


fnGΠf∈P

Дійсно, це здається легшим аргументом, ніж я думав. Я включу це у свою відповідь.
— Джон Д.

Πf

1
O(log⁡n/log⁡log⁡n)(log⁡n)!(log⁡n)log⁡n=nlog⁡log⁡n2vlog⁡vO(log⁡n/log⁡log⁡n)O(log2⁡n)
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.