Podział krawędzi na tęczowe trójkąty

9

Zastanawiam się, czy następujący problem jest trudny NP.

Wprowadź: prosty wykres i kolorowanie krawędzi ( nie weryfikuje żadnej konkretnej właściwości).G=(V,E)f:E{1,2,3}f

Pytanie: czy można podzielić na trójkąty , tak aby każdy trójkąt miał jedną krawędź każdego koloru?E|mi|/3)

Wiem, że bez kolorów problem „partycjonowania krawędzi” wykresu do , jest NP-trudny (patrz Kompletność NP niektórych problemów z podziałem krawędzi ), ale z kolorami, których nie znam.K.nn3)

Byłbym również zainteresowany wynikiem podziału krawędzi na tęczę , ze stałą . Oczywiście w tym przypadku problemem staje się:K.dodo

Wprowadź: prosty wykres i kolorowanie krawędzi ( nie weryfikuje żadnej konkretnej właściwości) .sol=(V.,mi)fa:mi{1,,do(do-1)/2)}fa

Pytanie: czy można podzielić na , tak że każda klika ma jedną krawędź każdego koloru?mi|mi|/(do(do-1)/2)) K.doK.do

użytkownik32018
źródło

Odpowiedzi:

1

za linkiem w pytaniu, a redukcja faktycznie tworzy wykresy, których krawędzie mają naturalne zabarwienie, tak że każdy obecny na wykresie jest „tęczą ” (ma dokładnie jedną krawędź każdego koloru). Innymi słowy, możemy łatwo dostosować redukcję na tym papierze, aby zmniejszała się do twojego problemu zamiast redukować do podziału na problem : po prostu przypisz każdej krawędzi kolor zgodnie z tym naturalnym kolorem, a następnie wykres można podzielić na „rainbow s” wtedy i tylko wtedy, gdy można go w ogóle podzielić na s.K.nK.nK.nK.nK.n

Podstawową strukturę redukcji tego papieru można osiągnąć za pomocą następujących 3 kroków:

  1. Utwórz wiele kopii konkretnego wykresu .H.n,p
  2. Zidentyfikuj niektóre fragmenty niektórych kopii ze sobą (tj. Scal wierzchołki / krawędzie między wieloma różnymi kopiami ).H.n,pH.n,p
  3. Usuń niektóre wierzchołki / krawędzie z niektórych kopii.

Wykres ma co wierzchołki Zbiór wzdłużnych wektorów modulo , dla którego składniki dodać do mod . Krawędzie łączą co dwa wierzchołki, które różnią się tylko dwoma składnikami z różnicami i w tych dwóch składnikach.H.n,pnp0p+1-1

Dla tego wykresu proponuję następującą kolorystykę: przypisz kolor każdej krawędzi zgodnie z jej kierunkiem. Jeśli i są sąsiednimi wierzchołkami, a jest wektor z elementów są równe na , jeden element jest równy , a jeden składnik równy . Innymi słowy, dla każdej krawędzi istnieją opcje, dla których składowe są niezerowe. Jeśli przypiszemy unikalny kolor do każdej z tych opcji, będziemy mieli kolor wszystkich krawędzi, tak aby każda krawędź w tym samym kierunku miała ten sam kolor. Bardzo łatwo jest sprawdzić, czy w nie ma dwóch krawędzixyx-yn-2)01-1(x,y)(n2))x-yK.nw są w tym samym kierunku. Dlatego każdy w jest tęczą pod tym zabarwieniem.H.n,pK.nH.n,pK.n

Kiedy podążamy za redukcją, używamy tego kolorowania dla każdej kopii . Dlatego na końcu kroku 1 na powyższej liście każdy na wykresie jest tęczą .H.n,pK.nK.n

W kroku 2 powyższej listy identyfikujemy niektóre wierzchołki / krawędzie. W szczególności w redukcji zawsze identyfikujemy z innym . Ale w tej sytuacji (gdzie wszystkie pochodzą z kopii ), każdy jest albo tłumaczeniem „standardowego ”, które gazeta nazywa albo tłumaczeniem . Dlatego identyfikujemy albo dwa równoległe albo dwa które są „ ”. W obu przypadkach krawędzie są identyfikowane na dwóchK.nK.nK.nH.n,pK.nK.nK.-K.K.nK.nK.ns są równoległe i dlatego są tego samego koloru. Na przykład patrz rysunek 2 w artykule; zidentyfikowane krawędzie są zawsze równoległe. Zatem, ponieważ nigdy nie próbujemy zidentyfikować dwóch krawędzi o różnych kolorach, zabarwienie na końcu kroku 1 na powyższej liście można naturalnie rozszerzyć na zabarwienie na końcu kroku 2. Zidentyfikowanie niektórych wierzchołków / krawędzi nie tworzy razem wszelkie nowe , więc na końcu tego kroku nadal jest tak, że każdy jest tęczą .K.nK.nK.n

Wreszcie w kroku 3 usuwamy niektóre wierzchołki / krawędzie, które również nie tworzą nowych . Mamy zatem naszą pożądaną właściwość: pod podanym każde na wykresie wygenerowanym przez tę redukcję jest tęczą .K.nK.nK.n

Michaił Rudoy
źródło