Transformacja pseudowielomianowa

Z testwiki
Przejdź do nawigacji Przejdź do wyszukiwania

Transformacja pseudowielomianowa – pojęcie wykorzystywane w teorii złożoności obliczeniowej do dowodzenia silnej NP-zupełności problemów decyzyjnych podobnie do zastosowania transformacji wielomianowej przy dowodzeniu NP-zupełności.

Definicja formalna

Niech π1 i π2 będą problemami decyzyjnymi, Dπ1 i Dπ2 oznaczają ich odpowiednie dziedziny, a Yπ1 i Yπ2 podzbiory odpowiednich dziedzin składające się z tych instancji, dla których odpowiedzią jest „TAK”. Niech ponadto max(I) oznacza największą liczbę w opisie instancji I, a n(I) rozmiar instancji I.

Transformacją pseudowielomianową problemu π2 do problemu π1 nazywa się funkcję

f:Dπ2Dπ1

spełniającą następujące warunki:

  • Funkcja f przekształca poprawne instancje π2 na poprawne instancje π1, tzn.
IDπ2:IYπ2f(I)Yπ1.
  • Funkcja f daje się obliczyć w czasie ograniczonym przez wielomian od max(I) i n(I).
  • Istnieje taki wielomian Q1, że
IDπ2:Q1(n(f(I)))n(I).
  • Istnieje taki wielomian dwóch zmiennych Q2, że
IDπ2:max(f(I))Q2(max(I),n(I)).

Intuicja

Intuicyjna interpretacja warunków wymienionych w definicji powyżej jest następująca.

Warunek pierwszy to wymaganie, by rozwiązanie, rozumiane tu jako odpowiedź „TAK” lub „NIE”, problemu powstałego po transformacji było takie samo jak rozwiązanie problemu transformowanego. Pozwala to na wyciągnięcie wniosków o rozwiązaniu problemu transformowanego na podstawie rozwiązania problemu powstałego po transformacji.

Warunek drugi to ograniczenie na zasoby niezbędne na dokonanie transformacji. Bez tego warunku transformacja ta pozwalałaby przekraczać granice klas złożoności, co pozbawiałoby sensu jej stosowanie w dowodach, że jeden problem należy do tej samej klasy co drugi.

Warunek trzeci zabezpiecza przed wykładniczym skurczeniem rozmiaru instancji problemu. Bez tego warunku transformacja również pozwalałaby przekraczać granice klas złożoności: gdyby transformacja pozwalała na wykładnicze skurczenie rozmiarów instancji problemu, rozwiązanie instancji będącej wynikiem transformacji mogłoby odbyć się w czasie wielomianowym względem rozmiarów początkowej instancji przy użyciu algorytmu działającego wykładniczo względem swojego wejścia (rozmiaru instancji będącej wynikiem transformacji).

Warunek czwarty gwarantuje, że podproblem π1/P1 świadczący o silnej NP-zupełności π1 zostanie przekształcony przez f do pewnego podproblemu π2/P2, gdzie P1 i P2 są wielomianami.

Zastosowanie

Pojęcie transformacji pseudowielomianowej ma zastosowanie w dowodzeniu silnej NP-zupełności problemów decyzyjnych. Dowody takie opierają się na twierdzeniu, zgodnie z którym jeśli problem π2 jest silnie NP-zupełny i istnieje transformacja pseudowielomianowa problemu π2 do problemu π1 oraz π1NP to problem π1 jest silnie NP-zupełny. Wystarczy więc znaleźć problem silnie NP-zupełny i przetransformować go pseudowielomianowo do problemu, którego silną NP-zupełność chcemy dowieść.

Zobacz też