Гамільтонність k-правильних графіків


24

Відомо, що перевірити, чи існує гамільтонівський цикл у 3-регулярному графіку, навіть якщо це планарний (Гарей, Джонсон та Тарджан, SIAM J. Comput. 1976), або двопалітний (Акіяма, Нішизекі, і Saito, J. Inform. Proc. 1980) або перевірити, чи існує гамільтонів цикл у 4-регулярному графіку, навіть якщо це графік, утворений розташуванням кривих Йордану (Iwamoto and Toussaint, IPL 1994).

Для яких інших k, як відомо, є NP-повним для перевірки гамільтонічності k-регулярних графіків?

Мені цікавий конкретний випадок - це 6-регулярні графіки, з додатковою умовою, що граф має непарну кількість вершин. Якщо цей випадок може бути показаний як NP-повний (або поліном), це вплине на проблему малювання графіків, описану в http://arxiv.org/abs/1009.0579 . Умова "непарної кількості вершин" полягає в тому, що я дійсно хочу знати, для 6-регулярних графіків, чи містить графік або гамільтонів цикл, або двопартійний 2-фактор; але наявність непарної кількості вершин виключає можливість двопартійного 2-фактора, залишаючи лише можливість гамільтонівського циклу.

Відповіді:


15

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

Рішення - це уточнення ідеї, запропонованої в іншій відповіді.

Перша частина

Претензія: Даючи -регулярний графік G з парним числом вершин, можна обчислити графік H, який ( k + 1 ) -регулярний, а H - гамільтонів iff GkGH(k+1)HG є гамільтоніаном.

Доведення: Візьміть дві копії -регулярного графіка G , нехай назвемо їх G 1 і G 2 . Для вершини v V ( G ) нехай v 1 і v 2 є відповідними копіями. Створіть кліку з k + 2 вершинами для v . Виберіть дві вершини v і vkGG1G2vV(G)v1v2k+2vv в цих співах, і видалити ребро між ними. Далі підключіть v 1 до v і v 2vv1vv2до . Нехай C ( v ) позначає цю складову для v .vC(v)v

Повторіть це для всіх вершин і нехай H позначає отриманий графік.GH

Зрозуміло, що графік дорівнює k + 1 регулярно. Ми стверджуємо, що H є гамільтоніаном тоді і тільки тоді, коли G є гамільтоніаном.Hk+1HG

Один напрямок зрозумілий. З огляду на гамбілтонів цикл у , ми можемо перевести його на цикл у HGH . Дійсно, кожного разу, коли цикл відвідує вершину , ми інтерпретуємо його як переміщення від v 1 до v 2 (або навпаки) під час відвідування всіх вершин у C ( v ) . У такий спосіб , це призводить до Гамільтона циклу в H . (Зауважте, що тут ми використовуємо той факт, що початкова кількість вершин є парною - якщо цикл непарний, це руйнується.)vv1v2C(v)H

Що ж до іншого напрямку, розглянемо гамильтонов цикл в . Повинно бути, що C ( v ) відвідує частину циклу, яка починається в v 1 , відвідує всі вершиниHC(v)v1 і виходить з v 2 (або симетричний варіант). Дійсно, цикл Гамільтонів не може входити і виходити з того самого v i . Таким, гамільтонів цикл в H в якості природного інтерпретації як Гамільтона циклу в G . QED.C(v)v2viHG

Друга частина

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

Ми зауважуємо, що це означає, що наступна проблема є важкою для NP.

Задача A: Вирішення, якщо k-правильний графік з парним числом вершин має гамільтонів цикл, що проходить через певний край e .Ge

Однак, якщо навіть дається екземпляр ( G , e ), ми можемо зменшити його до бажаної проблеми. Дійсно, замінюємо крайk(G,e) клікою k + 1 вершин, як і раніше, видаляючи один край у кліці та з'єднуючи його дві кінцеві точки до кінцевих точок e та видаляючи e з графіка. Зрозуміло, що для нового графа H :ek+1eeH

  • - k -регулярний.Hk
  • є гамільтоновим iff G є гамільтоновим з циклом, використовуючи e .HGe
  • маєH вершин => H має непарну кількість вершин.|V(G)|+k+1H

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


Результат

Неважко визначити, чи -регулярний графік має гамільтонів цикл для k 3 . Проблема залишається NP-Hard, навіть якщо у графіка є непарна кількість вершин.kk3


Звичайно, завжди можливо, я зробив якусь дурну помилку ...


Вправа

Якщо ми хочемо перейти від графіка, який є -регулярним, до графіка, який є (скажімо) 2 k -регулярним, то графік, що виникає в результаті застосування вищезазначеного зменшення, повторно призводить до отримання графіка з розміром, який залежить від k . Покажіть, що, даючи k -регулярний графік G , і i > 2 , можна побудувати графік H, який є ( k + i ) -регулярним, і його розмір є многочленом в kk2kkkGi>2H(k+i) і n , де n - кількість вершин з G . Крім того,k,innG є гамільтоніаном тоді і тільки тоді, коли H є гамільтоніаном.GH

(Я публікую це як вправу, а не питання, оскільки я знаю, як це вирішити.)


1
Чудово! Я думаю, що ця відповідь насправді встановлює перше запитання "Для якого іншого k, як відомо, є NP-повним для перевірки гамільтонічності k-регулярних графіків?", Оскільки 3-регулярні графіки мають парну кількість вершин, а графік H, здійснене цим перетворенням, також має парне число вершин, якщо G має парне число вершин.
Цуйосі Іто,

Але якщо я не помиляюся, той самий зустрічний приклад доказу Робіна є протилежним прикладом цього доказу. Нехай G - шлях на 2 вершини. Тоді процедура тут створює Н, що представляє собою 9 цикл, який є гамільтоновим.
Еміль

Як я вже говорив стосовно відповіді Робіна, проблема полягає в тому, що коли ви намагаєтеся "спроектувати" цикл Гамільтона від Н на Г, цикл може виявитися не циклом, оскільки він відновлює місце, де він був.
Еміль

@Emil: Я думаю, що шлях на 2 вершини - це справді особливий випадок, оскільки він має гамільтонів контур, якщо нам дозволяють використовувати один і той самий край не раз.
Цуйосі Іто,

1
@Sariel Har-Peled: У кожному графіку число непарних вершин (тобто вершин непарного ступеня) парне. Тому всі 3-регулярні графіки мають парну кількість вершин. Я написав зайво складний аргумент, не усвідомлюючи це в першій версії коментаря (який я змінив менше ніж за 5 хвилин), тож вибачте, якщо ви прочитали мій старий коментар і збентежили його.
Цуйосі Іто,

1

EDIT: Цей доказ є неправильним, як зазначалося в коментарях. (Чи слід видалити публікацію?)

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

Нехай G - k-регулярний графік. Нехай G '- графік декартового добутку G і ребра. Іншими словами, G '- це графік, який має дві копії G, і кожна вершина пов'язана з її копією. G 'тепер (k + 1) регулярний, оскільки кожна вершина отримала 1 додатковий край.

Претензія: G має гамільтоновий цикл тоді і тільки тоді, коли G 'має гамільтонів цикл.

Доказ: Якщо G має гамільтоновий цикл, легко помітити, що G 'також має його. Скажімо, (u, v) - край у гамільтонівському циклі. Проведіть цикл від u до v, не використовуючи цей край, а тепер замість ребра перейдіть до v 'від v, де v' - вершина, відповідна v у копії G. Тепер обведіть цикл у зворотному порядку у цьому графіку, який поверне нас до u '. Тепер переходимо від u 'до u, що завершує цикл.

Якщо G 'має гамільтонів цикл, що починається з вершини u, розгляньте ту саму послідовність обходу на G. Кожен раз, коли в одному графіку робиться перехід до сусідньої вершини, ми робимо однаковий хід у G. Кожен раз, коли робиться рух до відповідної вершини в іншому графіку ми нічого не робимо. Оскільки кожен рух дійсний на графіку G, а цикл закінчується на вершині u, це цикл Гамільтонів.


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

1
Я трохи стурбований останнім пунктом тут. Коли цикл Гамільтона на G 'буде «спроектовано» (якщо це правильне слово!) На G, у нас може виникнути ситуація, коли цикл повторює свої кроки.
Еміль

@Tsuyoshi: у вас є зустрічний приклад: просто пройдіть звичайний шлях - шлях з двома вершинами.
Еміль

@Tsuyoshi: Ти маєш рацію. Доказ неправильний. Чи слід видалити відповідь? Чи є у нас політика щодо цього?
Робін Котарі

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