Перший крок нехай припустимо, що графік має рівну кількість вершин. На другому етапі ми продовжимо побудову, так що, якщо 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 ′ і vkGG1G2v∈V(G)v1v2k+2vv′ в цих співах, і видалити ребро між ними. Далі підключіть v 1 до v ′ і v 2v′′v1v′v2до . Нехай C ( v ) позначає цю складову для v .v′′C(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, навіть якщо у графіка є непарна кількість вершин.kk≥3
Звичайно, завжди можливо, я зробив якусь дурну помилку ...
Вправа
Якщо ми хочемо перейти від графіка, який є -регулярним, до графіка, який є (скажімо) 2 k -регулярним, то графік, що виникає в результаті застосування вищезазначеного зменшення, повторно призводить до отримання графіка з розміром, який залежить від k . Покажіть, що, даючи k -регулярний графік G , і i > 2 , можна побудувати графік H, який є ( k + i ) -регулярним, і його розмір є многочленом в kk2kkkGi>2H(k+i) і n , де n - кількість вершин з G . Крім того,k,innG є гамільтоніаном тоді і тільки тоді, коли H є гамільтоніаном.GH
(Я публікую це як вправу, а не питання, оскільки я знаю, як це вирішити.)