Złożoność homomorfizmu digrafa w cyklu zorientowanym


9

Biorąc pod uwagę stałą skierowane wykres (digrafu) The -COLORING problem decyzyjny pyta czy digrafu wejście ma homomorfizm do . (Homomorfizmem od do jest odwzorowaniem od do , która chroni łuki, to znaczy, gdy jest łukiem , a jest łukiem )DDGDGDfV(G)V(D)uvGf(u)f(v)D

Klasa problemów COLORING jest silnie związana z hipotezą dychotomii dla CSP podaną przez Federa i Vardiego (dostępną na stronie cytowanej ).D

W tym 2001 papierze (dostępnym na stronie autora, tutaj ), Feder udowadnia twierdzenie dychotomii, gdy jest nastawiony na cykl (przez zorientowanego cyklu Znaczy undirected cykl gdzie każda krawędź jest zastąpione jednym łuku, które mogą być zorientowane dowolnie) , innymi słowy, pokazuje, że dla dowolnego zorientowanego cyklu , COLORING może być rozwiązany w czasie wielomianowym lub NP-zupełny.DDD

Niestety, klasyfikacja Federa jest wysoce nietrywialna i nieprecyzyjna, ponieważ złożoność wielu przypadków jest związana ze złożonością niektórych ograniczonych wariantów SAT, które zależą od orientacji. Patrząc na artykuł, nie byłem w stanie określić odpowiedzi na moje pytanie:

Pytanie: Jaki jest najmniejszy rozmiar zorientowanego cyklu tak że COLORING jest NP-zupełny?DD

Odpowiedź może być podana gdzieś w literaturze, ale nie mogłem jej znaleźć.


Edytować:Pozwól, że podam więcej szczegółów na temat klasyfikacji Federa. Feder pokazuje, że każdy zorientowany cykl NP musi być zrównoważony, to znaczy mieć taką samą liczbę łuków w obu kierunkach (stąd ma on nawet porządek). Następnie rozważ „poziomy” wywołane przez orientację (zacznij krążyć wokół cyklu na dowolnym wierzchołku; jeśli łuk idzie w prawo, idziesz w górę o 1, jeśli łuk idzie w lewo, idziesz w dół o 1). Następnie, jeśli istnieje co najwyżej jeden „przebieg od góry do dołu”, jest on wielomianowy. Jeśli są co najmniej 3 takie „przebiegi”, a cykl jest rdzeniem, oznacza to, że NP jest kompletny. (W przykładzie Andrasa z komentarzy istnieją trzy takie „przebiegi”, ale cykl nie jest rdzeniem.) Najtrudniejsze są przypadki z dwoma „przebiegami od góry do dołu”. Niektóre są trudne, inne wielomianowe, a Feder odnosi je do specjalnych problemów SAT w celu uzyskania dychotomii.

Jako pytanie pośrednie: jaki jest najmniejszy cykl, który ma trzy przebiegi „od góry do dołu” i jest rdzeniem? Taki przykład byłby NP-kompletny w powyższej dyskusji.


Nie przypominam sobie szybkiej odpowiedzi w literaturze (być może wiedziałby Barnaby Martin lub Florent Madelaine). Jednakże wielkość wynosi co najwyżej 6 wierzchołki skierowane krawędzie i 6, ponieważ można zmniejszyć -Colouring do -Colouring do sześciu wierzchołka dwuznakową zastępując co nieukierunkowane przewagę wykresów dwóch łuków wskazując nową pomiędzy jej wierzchołka punkty końcowe. K3DD
András Salamon,

Dzięki, András. Myślę jednak, że odpowiedź musi być większa, ponieważ rdzeniem tego przykładu jest po prostu digraf z unikalnym łukiem, który można rozwiązać w czasie wielomianowym ...
Florent Foucaud

Masz rację, zaproponowana przeze mnie konstrukcja jest zbyt prosta.
András Salamon,

Zapytałem Florenta Madelaine'a i Barnaby'ego Martina, ale nie znają bezpośrednio odpowiedzi, choć wydają się zainteresowani :-) Mój kolega zapytał Feder w e-mailu w zeszłym tygodniu, ale nie odpowiedział (jeszcze).
Florent Foucaud,

Moim drugim impulsem było użycie sztywnej wersji trójkąta. Jednak dzięki gadżetowi sztywności z Chvátal i in. (JCT 1971) sztywny trójkąt wydaje się wtedy wymagać liczby wierzchołków, co najmniej 9 V + 36, jeśli wykres wejściowy ma v wierzchołków i nie jest jasne, jak zmodyfikować te gadżety na ścieżkach. Być może zamiast tego można użyć sztywnej ukierunkowanej ścieżki, aby zastąpić każdą krawędź, ale nie jest dla mnie jasne, jak to zrobić, zachowując zdolność do mapowania dowolnej krawędzi wykresu do dowolnej krawędzi trójkąta (ale nigdzie indziej), ponieważ oczywistym sposobem na to jest wymaganie symetrii.
András Salamon

Odpowiedzi:


5

Co do pytania pośredniego (rdzeń z trzema przebiegami od góry do dołu)?

Trochę notacji: opiszę biegi słowami w {l,r}, z np llrl odpowiadający subgraphowi . Poziom wzrasta dalejr łuki i maleje l łuki i zakładam, że jego minimum to 0. Niektóre proste ograniczenia to:

  • Nie może istnieć bieg składający się wyłącznie z ls lub tylko z rs, ponieważ w przeciwnym razie istnieje oczywisty homomorfizm z D do tego przebiegu (mapowanie każdego węzła Ddo tego z tym samym poziomem). Oznacza to również, że maksymalny poziom musi wynosić co najmniej3.
  • Jeśli maksymalny poziom to 3, wówczas wszystkie przebiegi góra-dół (lub dół-góra) miałyby postać llr(lr)ill (odpowiednio. rrl(rl)irr); znowu nie jest trudno znaleźć homomorfizmD do biegu, który minimalizuje i.

Jednak dla maksymalnego poziomu 4 istnieje rozwiązanie długości 36: rozważ D podane przez (rrrlrrlllrll)3. Ma to wymagane przebiegi od góry do dołu i jest rdzeniem (patrz poniżej). Zgodnie z powyższymi ograniczeniami jest to z konieczności minimalne, ponieważ każdy przebieg ma tylko jedną „tylną” krawędź.

Aby przekonać się, że jest to rdzeń, nazwijmy wierzchołki (v1,,v36). Dno (tj. Poziom0) wierzchołki są v1,v13,v25. Każdy homomorfizmφ od D do podgrafu musi zachować poziomy, w szczególności φ(v1){v1,v13,v25}; modulo oczywisty automorfizmvivi+12wystarczy rozważyć tę sprawę φ(v1)=v1. Rozważ sąsiedztwov1 w D (z adnotacjami o poziomach):

v34(1)v35(2)v36(1)v1(0)v2(1)v3(2)v4(3)v5(2)v6(3)v7(4)

Począwszy od φ(v1)=v1, mamy φ(v2){v36,v2}. Ale jeśliφ(v2)=v36, następnie φ(v3)=v35i nie mamy żadnej możliwej wartości φ(v4). Dostajemyφ(v2)=v2,φ(v3)=v3,φ(v4)=v4. Kolejnyφ(v5){v3,v5}, ale dla φ(v5)=v3 dostajemy φ(v6)=v4, bez możliwej wartości dla φ(v7). Więcφ musi być tożsamością podczas całego przebiegu v1v7i powtarzając ten sam argument dla pozostałych przebiegów, to samo dotyczy wszystkich D. W szczególności,φ nie mapuje D na odpowiedni wykres podrzędny.


3
Ta sama analiza pokazuje, że wszystkie zrównoważone zorientowane cykle z dwoma przebiegami, które są rdzeniami, mają długość co najmniej 24, prawda? To daje dolną granicę odpowiedzi na główny problem.
David Eppstein,

Tak, dobra uwaga.
Klaus Draeger

1
Świetnie, dziękuję, to jest bardzo pomocne! Czy możemy przekonać się ręcznie, że jest to rdzeń? (zauważ, że istnieje algorytm czasu wielomianowego do sprawdzania, czy cykl zorientowany jestD jest rdzeniem: stwórz zestaw |V(D)| zorientowane podścieżki {Da takie, że a jest łukiem D}, a następnie sprawdź, czy Dmapy do dowolnej z tych ścieżek; można to zrobić w czasie polytime, patrz Gutjahr i in .: sciencedirect.com/science/article/pii/0166218X9290294K )
Florent Foucaud

1
@FlorentFoucaud Dodałem trochę to pokazując Djest rdzeniem.
Klaus Draeger
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.