Як створити випадковий графік, що не має гамільтонівського циклу?


28

Нехай клас A позначає всі графіки розміру які мають гамільтонів цикл. З цього класу легко створити випадковий графік - візьміть ізольованих вузлів, додайте випадковий гамільтонів цикл, а потім додайте ребра випадковим чином.nn

Нехай клас B позначає всі графіки розміру яких немає гамільтонівського циклу. Як ми можемо підібрати випадковий графік з цього класу? (або зробити щось близьке до цього)n


3
Як зрозуміло, що перша процедура створює графіки рівномірно випадково? Зрозуміло, що він завжди створює гамільтонові графіки, але оскільки ви випадково додаєте ребра пізніше, ви можете ввести більше гамільтонових циклів, завдяки чому деякі графіки з’являються частіше, ніж інші.
Робін Котарі

Це правильно, але рівномірного розподілу не вимагали (якщо можливо, мається на увазі).
Рафаель

1
Так, мене не хвилює однаковість. Я хотів би дати кожному графу в сімействі не-гамільтонових графіків певний шанс отримати вибір. Проблема з рівномірним відбором є досить основною: AFAIK, ми не знаємо, як вибірково рівномірно вибирати з сімейства графіків розміру n, не кажучи вже про тих, що мають гамільтонові цикли.
Jagadish

Відповіді:


34

Це неможливо (за винятком випадків, якщо NP = coNP), оскільки, зокрема, мається на увазі полі-часова функція, діапазоном якої є неамільтонові графіки (функція переходить від випадкової рядки до вихідного графіка), що в свою чергу означатиме NP-доказ негамільтонічності (щоб довести, що G не має гамільтонівського контуру, покажіть x, що позначає його).


3
Ви припускаєте, що така функція відповідає класу негамільтонових графіків. Це лише в тому випадку, якщо ми хочемо, щоб розподіл був рівномірним. Дивіться також коментар Аарона нижче: cstheory.stackexchange.com/questions/562/…
Охад Каммар

5
Це не передбачає нічого щодо ймовірності вибору кожного графіка (як, що він є рівномірним), лише те, що графіки, які можуть бути виведені алгоритмами, є саме негамільтоновими (на). Якщо ви допускаєте помилки з будь-якої сторони, то справді це можливо.
Ноам

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

1
@Ohad: якщо один із них пропущений, ви можете просто додати це до таблиці пошуку. Я думаю, що проблеми починаються лише в тому випадку, якщо ви пропустите їх позитивну частину, але тоді ви не здійснюєте вибіркове рішення.
Еміль

3
Якщо ваш алгоритм створює рівномірний розподіл на негамільтонових графах з вірогідністю та гамільтоновим графіком з ймовірністю , та оскільки розмір входу переходить до , я думаю, ви повинні мати можливість комбінувати цей алгоритм із випадковими хеш-функціями, щоб знайти постійний круговий інтерактивний доказ негамільтонічності. Це означає, що поліноміальна ієрархія руйнується1ϵϵϵ0
Пітер Шор,

11

Боллобас, Феннер і Фриз (http://portal.acm.org/citation.cfm?id=22145.22193) дають поліноміальний алгоритм часу для знаходження гамільтонових циклів у випадкових графах, що має коефіцієнт помилок, асимптотично тяжіючи до розміру 0. графіка. Якщо ви хочете генерувати n вершинних графіків, які не були гамільтоновими, ви можете вибрати випадковий графік зGn,mmтакий, що графік був гамільтоніанським з постійною вірогідністю, обмеженою від 1. Ви можете запустити алгоритм BFF, щоб спробувати знайти в ньому гамільтонівський цикл, і відхилити графік, якщо алгоритм буде успішним. Після постійної кількості раундів, ви б очікували, що ви знайдете графік, для якого алгоритму не вдалося знайти гамільтонівський цикл, і хоча цей графік насправді може бути гамільтоновим, ймовірність цього зменшиться в .n

Звичайно, це не вибирає рівномірно однаково з набору всіх не-гамільтонових вершинних графіків, але це вибирає з цікавого підкласу - такого, для якого ви очікуєте, що нетривіальна частка графіків буде гамільтоновою, а також нетривіальна частка не.n


Це гарна ідея, хоча ми можемо пропустити весь імовірнісний алгоритм пошуку циклу Хема. Питання не задає питання про те, що процедура відбору проб працює в очікуваному політиміті чи нічого. Тож створіть випадковий графік з улюбленого розподілу, визначте, чи це гамільтоніан з деяким точним алгоритмом, а якщо це гамільтоніан, то відкиньте його та повторіть процес. Якщо використовуваний розподіл був рівномірним розподілом по всіх позначених графах, це фактично отримає кожен немільтонівський маркований графік з однаковою ймовірністю.
JimN

1

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


1
Я думаю, що відповідь туркистану викликає цікаве запитання. Взагалі, чи можна рівномірно вибирати вибірку з мови, яка є спільною NP?
Суреш Венкат

5
.... і Ноам відповідає на це негативно.
Суреш Венкат
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.