Розбиття краю на трикутники веселки


9

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

Введення: простий графік і забарвлення ребер ( не перевіряє жодної конкретної властивості).G=(V,E)f:E{1,2,3}f

Питання: чи можна розділити на трикутники, щоб кожен трикутник мав по одному краю кожного кольору?E|E|/3

Я знаю, що без кольорів проблема "розділення краю" графіка на , є NP-важкою (див . NP-повнота деяких проблем з розділенням краю ), але з кольорами я не знаю.Knn3

Мене також зацікавив би результат для крайової перегородки у веселку , з постійною. Звичайно, в цьому випадку проблема стає:Kcc

Введення: простий графік і забарвлення ребер ( не перевіряє жодної конкретної властивості) .G=(V,E)f:E{1,,c(c1)/2}f

Питання: чи можна розділити наE|E|/(c(c1)/2) Kc , таким чином, щоб у кожної кліки було по одному краю кожного кольору?Kc

Відповіді:


1

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

Основну структуру скорочення цього документу можна виконати за допомогою наступних 3 кроків:

  1. Створіть багато копій певного графіка Hn,p.
  2. Визначте певні фрагменти деяких копій Hn,p один з одним (тобто злиття вершин / країв між декількома різними копіями Hn,p).
  3. Видаліть певні вершини / краї з деяких копій.

Графік Hn,p має вершини набір довжини-n вектори по модулю p до яких додаються компоненти 0 мод p. Краї з'єднують кожні дві вершини, що відрізняються лише двома компонентами з відмінностями+1 і 1 у цих двох компонентах.

Я пропоную наступне забарвлення для цього графіка: призначте колір кожному краю відповідно до його напрямку. Якщоx і y є сусідніми вершинами, то xy є вектором с n2 компоненти, рівні 0, одна складова дорівнює 1 і одна складова дорівнює 1. Іншими словами, для кожного краю(x,y) там є (n2) варіанти, для яких компонентів xyє ненульовими. Якщо ми призначимо унікальний колір кожному з цих варіантів, то у нас є забарвлення для всіх країв таким чином, що кожне ребро в одному напрямку має однаковий колір. Переконатись, що в a немає двох реберKn в Hn,pйдуть в одному напрямку. Тому коженKn в Hn,p - це веселка Kn під цим забарвленням.

Коли ми стежимо за зменшенням, ми використовуємо це забарвлення для кожної копії Hn,p. Тому наприкінці кроку 1 у списку вище, коженKn у графі - веселка Kn.

На кроці 2 вищенаведеного списку ми ототожнюємо деякі вершини / ребра один з одним. Зокрема, у скороченні ми завжди визначаємо:Kn з іншим Kn. Але в цій ситуації (де всіKns - з копії Hn,p), кожен Kn є або перекладом "стандарту Kn", яку називає папір K або переклад K. Тому ми або ототожнюємо дві паралеліKns або два Kns, які "перевертають" один одного. В будь-якому випадку краї, які ідентифікуються поперек двохKns паралельні і тому одного кольору. Наприклад, див. Рисунок 2 у статті; краї, які ототожнюються, завжди паралельні. Таким чином, оскільки ми ніколи не намагаємося ідентифікувати два краї різних кольорів, забарвлення в кінці кроку 1 у наведеному вище списку можна природно розширити на забарвлення в кінці кроку 2. Ідентифікація певних вершин / країв разом не створює будь-який новийKns, тому в кінці цього кроку все ще справа Kn - це веселка Kn.

Нарешті на кроці 3 ми видаляємо кілька вершин / ребер, що також не створює нових Knс. Таким чином, ми маємо бажане властивість: під фарбування, яке я надав, коженKn у графіку, породженому цим скороченням, є веселка Kn.

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