Podziel wykres na cykle rozłączne węzłów

16

Powiązany problem: Twierdzenie Veblena stwierdza, że ​​„Wykres dopuszcza rozkład cyklu wtedy i tylko wtedy, gdy jest on parzysty”. Cykle są rozłączne na krawędziach, ale niekoniecznie są rozłączne w węzłach. Innymi słowy: „Zestaw krawędzi wykresu można podzielić na cykle, jeśli i tylko wtedy, gdy każdy wierzchołek ma równy stopień”.

Mój problem: Zastanawiam się, czy ktoś badał podział na grafy w cyklach rozłącznych węzłów. Oznacza to podzielenie wierzchołków wykresu G na V 1 , V 2 , , V k , a każdy podgrupa indukowany przez V i jest hamiltonianem.VGV1,V2,,VkVi

Czy to trudne NP czy łatwe?

Bardziej powiązany problem: Podział na trójkąt jest zakończony NP. (Strona 68 z „Komputery i trudność”)

Z góry dziękuję za radę. ^^

Peng Zhang
źródło
8
Łatwa redukcja dopasowania. Dobrze znane ćwiczenie w algorytmach.
Chandra Chekuri,
1
Czy to twój problem: en.wikipedia.org/wiki/Vertex_cycle_cover ?
Thomas Ahle
@ThomasAhle Dzięki, nie wiedziałem o tej stronie wiki. Nazywa się to „rozłączną okładką cyklu” wspomnianą na tej stronie wiki.
Peng Zhang

Odpowiedzi:

21

Podział na cykle rozłączne wierzchołków to to samo, co 2-regularny podgraph, bardziej znany jako 2-czynnik. Można go znaleźć (jeśli istnieje) w czasie wielomianowym za pomocą algorytmu opartego na dopasowywaniu. Np. Zobacz ten link .

ETA listopad 2013: Z poniższych komentarzy wydaje się, że ograniczenie z powyższego źródła jest błędne. Jednak stwierdzenie, że problem można sprowadzić do idealnego dopasowania, pozostaje prawidłowe. Prawidłowe zmniejszenie znajduje się w WT Tutte (1954), „Krótki dowód twierdzenia o czynniku dla grafów skończonych”, Canadian J. Math. 6: 347–352 .

Zastąp każdy wierzchołek stopniem d pełnym dwustronnym wykresem G v = K d ,vdGv=Kd,d2uvGuGvdGv

d2Gvd2dGu

David Eppstein
źródło
Nie rozumiem Wszystkie wspomniane przeze mnie wzmianki o tym algorytmie zaczynają się od obliczenia trasy euler. Istnieje jednak wiele wykresów, które można pokonywać cyklami bez wycieczki po Euler. Czy jest to również w P, jeśli nie wymagamy użycia wszystkich krawędzi?
Thomas Ahle
Czy czytałeś artykuł, do którego linkowałem? Nie widzę tam wzmianki o trasach Euler.
David Eppstein,
E(i,j)VV(i,j)VV
1
To znaczy, mógłbym również przekonwertować każdą nieukierowaną krawędź na skierowaną krawędź w każdym kierunku, ale wtedy dopasowanie może dać mi dużo cykli „długości 2”, nie?
Thomas Ahle,
1
kk