Czy problem tworzenia kopii zapasowej NP jest kompletny?

9

Czy następujący problem decyzyjny NP-zupełny:

Niech będzie nieukierowanym wykresem i dwiema liczbami całkowitymi. Czy można wybrać dla każdego wierzchołka dokładnie różnych sąsiadów, tak że żaden węzeł nie zostanie wybrany więcej niż razy.GbcGbc

Przypadek można rozwiązać dla dowolnego czasie wielomianowym, stosując maksymalne dopasowanie.b=1c

Motywacja: każdy węzeł chce umieszczać kopie zapasowe u różnych sąsiadów, ale każdy węzeł ma tylko pojemność do przechowywania kopii zapasowych .bc

Volker Turau
źródło

Odpowiedzi:

11

Myślę, że poniżej jest algorytm wielomianowy oparty na maksymalnym przepływie. Niech będą danymi wejściowymi.G(V,E),b,c

  • Skonstruować skierowaną dwustronnego wykres z i , będących w lewo i w prawo przegrody i są składnikami skierowane krawędzie od do .H(L,R,F)LRF LR
  • Niech . Istnieje wierzchołki i wierzchołki .|V|=nnLnR
  • Każdy wierzchołek ma „kopię” w (powiedz ) i kopię w (powiedz ).vVLvlRvr
  • Jeśli dodaj skierowaną krawędź od do . Każda taka krawędź ma pojemność 1.(u,v)Eulvr
  • Dodać węzeł „source” i dodać skierowane krawędzie z na każdym wierzchołku w . Każda taka krawędź ma pojemność .ssLb
  • Dodaj węzeł „zatapiania” i dodaj skierowane krawędzie z każdego wierzchołka od do . Każda taka krawędź ma pojemność .tRtc
  • Znajdź maksymalny przepływ od do .st

Dany wykres ma rozwiązanie wtedy i tylko wtedy, gdy obliczony powyżej maksymalny przepływ nasyca każdą krawędź od do , tj. Przepływ na każdej krawędzi od do jest równy .GsLsLb

Shiva Kintali
źródło
7
Rzeczywiście, jest to dokładnie zamierzone rozwiązanie, gdy przypisuję to jako zadanie domowe.
Jeffε