Problem funkcjonalny - Function problem

W teorii złożoności obliczeniowej , A problemem funkcja jest obliczeniowa problemu gdzie jedno wyjście (z ogólnej funkcji oczekuje się) dla każdego wejścia, ale wyjście jest bardziej złożona niż w przypadku problemu decyzyjnego . W przypadku problemów z funkcjami wyjściem nie jest po prostu „tak” lub „nie”.

Formalna definicja

Problem funkcjonalny jest definiowany jako relacja nad ciągami dowolnego alfabetu :

Algorytm rozwiązuje , jeśli dla każdego wejścia takiego , że istnieje satysfakcjonujące , algorytm wytwarza jeden taki .

Przykłady

Dobrze znany problem funkcji jest podany przez Functional Boolean Satisfiability Problem, w skrócie FSAT . Problem, który jest ściśle związany z problemem decyzyjnym SAT , można sformułować w następujący sposób:

Biorąc pod uwagę wartość logiczną formułę ze zmiennymi , znaleźć zadanie takie, że ocenia się lub zdecydować, że nie istnieje taki przydział.

W tym przypadku relacja jest podana przez krotki odpowiednio zakodowanych formuł binarnych i spełniających przypisania. Podczas gdy algorytm SAT, zasilany formułą , musi tylko zwrócić „niezadowalający” lub „spełniający”, algorytm FSAT musi zwrócić pewne satysfakcjonujące przypisanie w tym drugim przypadku.

Inne godne uwagi przykłady to problem komiwojażera , który pyta o drogę, którą sprzedawca wybrał, oraz problem faktoryzacji liczb całkowitych , który pyta o listę czynników.

Związek z innymi klasami złożoności

Rozważmy arbitralny problem decyzyjny w klasie NP . Zgodnie z definicją NP , każda instancja problemu, na którą udzielono odpowiedzi „tak”, ma certyfikat o rozmiarze wielomianowym, który służy jako dowód odpowiedzi „tak”. W ten sposób zbiór tych krotek tworzy relację, reprezentującą problem funkcji „dane w , znajdź certyfikat dla ”. Ten problem jest funkcja o nazwie wariantu funkcyjny z ; należy do klasy FNP .

FNP można traktować jako analog klasy funkcji NP , ponieważ rozwiązania problemów FNP można skutecznie (tj. w czasie wielomianowym pod względem długości danych wejściowych) zweryfikować , ale niekoniecznie skutecznie znaleźć . Natomiast klasa FP , którą można traktować jako analog klasy funkcji P , składa się z problemów funkcyjnych, których rozwiązania można znaleźć w czasie wielomianowym.

Samoredukcja

Zauważ, że przedstawiony powyżej problem FSAT może być rozwiązany przy użyciu tylko wielomianowo wielu wywołań podprogramu, który rozstrzyga problem SAT : Algorytm może najpierw zapytać, czy formuła jest spełnialna. Następnie algorytm może ustawić zmienną na TRUE i zapytać ponownie. Jeśli wynikowa formuła jest nadal zadowalająca, algorytm utrzymuje stałą wartość TRUE i kontynuuje naprawianie , w przeciwnym razie decyduje, że musi być FAŁSZ i kontynuuje. Tak więc FSAT można rozwiązać w czasie wielomianowym za pomocą wyroczni decydującej SAT . Ogólnie rzecz biorąc, problem w NP nazywa się samoredukowalnym, jeśli jego wariant funkcji można rozwiązać w czasie wielomianowym za pomocą wyroczni decydującej o pierwotnym problemie. Każdy problem NP-zupełny jest samoredukowalny. Przypuszcza się, że problem faktoryzacji liczb całkowitych nie jest redukowalny samoczynnie.

Redukcje i kompletne problemy

Problemy funkcyjne mogą być zmniejszone podobnie jak problemów decyzyjnych: Biorąc pod uwagę problemy funkcyjne i mówimy, że zmniejsza się wtedy, gdy istnieje wielomianowo czas funkcje obliczalne i takie, że dla wszystkich instancji o oraz możliwych rozwiązań na to, że posiada

  • Jeśli ma -rozwiązanie, to ma -rozwiązanie.

Możliwe jest zatem zdefiniowanie problemów FNP-zupełnych analogicznie do problemu NP-zupełnego:

Problem jest FNP-zupełny, jeśli każdy problem w FNP można zredukować do . Klasa złożoności problemów FNP-zupełnych jest oznaczona przez FNP-C lub FNPC . Stąd problem FSAT jest również problemem FNP-zupełnym i utrzymuje, że wtedy i tylko wtedy, gdy .

Całkowite problemy funkcjonalne

Relacja używana do definiowania problemów funkcyjnych ma tę wadę, że jest niekompletna: nie każde wejście ma odpowiednik taki, że . Dlatego kwestia obliczalności dowodów nie jest oddzielona od kwestii ich istnienia. Aby przezwyciężyć ten problem, wygodnie jest rozważyć ograniczenie problemów funkcjonalnych do całkowitych relacji dających klasę TFNP jako podklasę FNP . Ta klasa zawiera problemy, takie jak obliczanie czystej równowagi Nasha w niektórych grach strategicznych, w których gwarantuje się istnienie rozwiązania. Ponadto, jeśli TFNP zawiera jakikolwiek problem FNP-zupełny , wynika z tego, że .

Zobacz też

Bibliografia

  • Raymond Greenlaw, H. James Hoover, Podstawy teorii obliczeń: zasady i praktyka , Morgan Kaufmann, 1998, ISBN  1-55860-474-X , s. 45-51
  • Elaine Rich, Automaty, obliczalność i złożoność: teoria i zastosowania , Prentice Hall, 2008, ISBN  0-13-228806-0 , rozdział 28.10 "Klasy problemowe FP i FNP", s. 689-694