Хтось знає протилежний приклад алгоритму ізоморфізму графіка Дхарвадкер-Тевет?


10

На веб-сайті http://www.dharwadker.org/tevet/isomorphism/ представлено алгоритм визначення того, чи є два графіки ізоморфними. Враховуючи низку, скажемо, "цікавих" тверджень А Дхарвадкера, я не схильний вірити в це.

В ході мого дослідження я вважаю, що алгоритм, безумовно, дасть правильну відповідь і скаже вам, що два графіки не є ізоморфними, якщо насправді це правильно. Однак не ясно, що алгоритм послідовно скаже вам, чи є два графіки ізоморфними, коли вони є насправді. "Доказ" їх результату залишає бажати кращого.

Однак мені не відомий контрприклад. Перш ніж почати писати програмне забезпечення для тестування алгоритму, я подумав, що побачу, чи хтось уже знає про зустрічний приклад.

Хтось просив резюме алгоритму. Я зроблю все, що тут можу, але щоб справді зрозуміти це, вам слід відвідати http://www.dharwadker.org/tevet/isomorphism/ .

У алгоритму є дві фази: фаза "підпису" та фаза сортування. Перша фаза "підпису" (це мій термін для їх процесу; вони називають його генеруванням "матриці знаків") ефективно сортує вершини за різними класами еквівалентності. Друга фаза спочатку упорядковує вершини відповідно до класу їх еквівалентності, а потім застосовує процедуру сортування в межах класів еквівалентності для встановлення ізоморфізму між двома графами. Цікаво, що вони не претендують на встановлення канонічної форми для графіків - натомість один графік використовується як своєрідний шаблон для другого.

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

Друга фаза - фаза сортування - це сумнівна частина. Зокрема, я б очікував, що якби їхній процес спрацював, тоді алгоритм, розроблений Анною Любів для забезпечення "подвійного лексичного впорядкування матриць" (Див .: http://dl.acm.org/citation.cfm?id=22189 ) також буде працювати для визначення канонічної форми для графа.

Чесно кажучи, я не зовсім розумію процес їх сортування, хоча думаю, що вони роблять розумну роботу з його описом. (Я просто не переробив усі деталі). Іншими словами, мені може щось не вистачати. Однак незрозуміло, як цей процес може зробити набагато більше, ніж випадково знайти ізоморфізм. Звичайно, вони, можливо, знайдуть це з великою часткою ймовірності, але не з гарантією. Якщо два графіки не є ізоморфними, процес сортування ніколи його не знайде, і процес правильно відхиляє графіки.


Чи можете ви дати короткий виклад ідеї алгоритму?
Мохаммед Аль-Туркстані

1
Дивись також math.stackexchange.com/questions/333633 / ... . Це просто показує, що є хороший шанс знайти контрприклад для наданої програми, але все одно треба знайти її ...
Томас Клімпель,

Сильно регулярні графіки виглядають як гарна ставка, але мені не пощастило з випадково вибраними перестановками графіка Петерсена, графа Клебша чи графа 4x4 грака.
Пітер Тейлор

Так само я спробував графік Шріханде, але я не пробував усіх перестановок. Я надіслав електронною поштою Анну Любів, щоб попросити її зустрічних прикладів її "Подвійно лексичного впорядкування матриць", але вона не відповіла (принаймні, поки що). Я підозрюю, що мені потрібно буде зробити більш систематичний пошук.
Провінція Білла

1
не відчуваєте, що ви робите послугу, опускаючи екстравагантні претензії статті, хоча це, безсумнівно, підніме прапори на цьому сайті. які їхні екстравагантні претензії викликають скептичність? можливо, вони стверджують, що це швидкодіє, але це не може бути спростовано одним контрприкладом. тобто / наприклад, можливий алгоритм правильний (придивився), але аналіз складності вимкнено. у будь-якому разі запросити подальшу дискусію / глибший аналіз у Теоретичному чаті з інформатики , де кілька відвідувачів виявили значну зацікавленість у ГІ в минулому, і там нещодавно розширена дискусія.
vzn

Відповіді:


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. Програма 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.

Тож можна припустити, що це протилежний приклад алгоритму ізоморфізму Графа Дхарвадкера-Тевета.

За пропозицією Білла провінції, проблема є

GAGB

Заперечення Білла провінції полягає в тому, що доказ Пропозиції 4.1. не використовує жодної спеціальної властивості матриці знаків, яка також не застосовуватиметься до матриці суміжності. Точніше, наступний крок у доведенні є неправильним:

1,...,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 може бути успішним. Я вперше спробував приклад n = 546 від Паскаля Швейцера, але оригінальна програма C ++ isororphism.cpp зараз обчислюється з 1566 хвилин. Я використав кращі структури даних і після> 2 год дізнався, що великий приклад працює. Я знав, що trg787 / funkybee має деякі конструкції Кая, Фюрера та Імермана серед його пар графів, тому спробував удачу. Я спробував кілька випадкових перестановок (для прикладу n = 25), другий спрацював.
Томас Клімпель

який з них економить час, 1. знайти приклад зустрічного 2. довести 4.1, що це неправильно.
Джим

Я зупинив оригінальну програму C ++ isoromorphism.cpp для прикладу n = 546 зараз, пробігши більше 6200 хвилин, не бачивши кінця.
Томас Клімпель

@ThomasKlimpel Я планую написати документ, в якому згадується цей результат. Якщо у вас є бажана професійна атрибуція, ви можете надіслати електронною поштою цю атрибуцію на електронну адресу billprovince@gmail.com. Незалежно від того, я маю намір виконувати вимоги щодо атрибуції, розміщені на сайті blog.stackexchange.com/2009/06/attribution-required .
Провінція Білла
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.