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.Gb≤cGbc

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

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 ).v∈VLvlRvr
  • 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


7
Rzeczywiście, jest to dokładnie zamierzone rozwiązanie, gdy przypisuję to jako zadanie domowe.
— Jeffε
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.