Funkcijski zadatak

U teoriji računarske kompleksnosti, problem funkcija je računski problem gde se očekuje jedan izlaz (od ukupno broja funkcija) za svaki ulaz, ali izlaz je složeniji nego problem odluke, to jest, to nije samo DA ili NE.[1]

Formalna definicija uredi

Funkcijski problem   je definisan kao relacija   preko Dekartovog proizvoda nad niskama proizvoljnog alfabeta  :

 

Algoritam rešava   za svaki unos   takav da postoji   i da   bude zadovoljeno, pa algoritam stvara neko  .

Primeri uredi

Poznat funkcijski zadatak dat je iz Funkcijskog Bulovovog problema zadovoljivosti, FSAT skraćeno. Problem, koji je usko povezan sa donošenjem problema SAT može se formulisati na sledeći način:

Data je Bulova formula    sa promenljivim  , dodeliti   tako da je   jednako   ili nema dodeljivanja.

U slučaju relacije   dato je torki odgovarajuće kodiranje Bulovih formula i zadovoljavanje zadataka.

Ostali značajni primeri su problem trgovačkog putnika, koji traži za rute koje su uzete od prodavca, i problem rastavljanja na faktore, koji traži listu faktora. 

Odnos prema drugim klasama složenosti uredi

Razmotriti proizvoljni problem odlučivanja u klasi NP. Po definiciji svaki problem instance    gde je odgovoreno sa 'da' ima potvrdu za    koja služi kao dokaz da je 'da' odgovor. Skup tih torki   formira relaciju. Složenost klasa izvedena iz ove transformacije je označen   ili FNP skraćeno. Mapiranje složenosti klase P je označeno kao FP. Klasa FP je skup problema u funkcionisanju koji se mogu rešiti pomoću determinističke Tjuringove mašine u subeksponcencijalnom vremenu, dok je FNP skup problema u funkcionisanju koji se mogu rešiti od strane ne-determinističke Tjuringove mašine u subeksponencijalnom vremenu.[2]

Samosvesnost uredi

Obratite pažnju da problem FSAT koji je uveden iznad i može biti rešen korišćenjem samo subekspocencijalnih poziva na potprograme o kojima odlučuje SAT problem: Algoritam može prvo pitati da li je formula   zadovoljiva. Nakon toga algoritam može da promeni promenljivu   u TAČNO i pita ponovo. Ako je rezultujuća formula zadovoljiva, algoritam    prepravlja na TAČNO i nastavlja da prepravi  , inače je odlučeno da   mora biti lažan i nastavlja dalje. Dakle, FSAT je rešiv u subeksponencijalnom vremenu koristeći proročku mašinu o kojoj odlučuje SAT. U principu, problem NP se zove samosvesni ako je njegova funkcija u stvari varijanta koja može biti rešena u subeksponencijalnom vremenu koristeći proročku mašinu za odlučujući originalni problem. Svaki NP-kompletni problem je samosvestan. Pretpostavljeno je da problem rastavljen na faktore nije samosvestan.

Redukcija i kompletni problemi uredi

Problemi funkcija se mogu redukovati slično problemima donošenja: Imajući u vidu probleme funkcije   i   kažemo da se   svodi na   ako postoji polinom vremena funkcije  and   tako da za sve slučajeve   of   i moguće opcije   od  , smatra se da

  • Ako   ima  -opciju, onda   ima  -opciju.
  •  

Stoga je moguće definisati FNP-kompletne probleme analogne NP-kompletnom problemu:

Problem   je FNP-kompletan ako svaki problem u FNPmože biti redukovan u  . Kompleksnost klase FNP-kompletni problemi su označeni sa FNP-C ili FNPC. To se poklapa sa  . Odatle je problem FSAT  isto FNP-kompletan problem, i to podrazmeva da je    ako i samo ako je  .

Zbir funkcijskih zadataka uredi

Relacija   koristi se za definisanje problema koji mogu da imaju nedostatak i da budu nepotpuni: nije svaki unos   duplikat   tako da   . Stoga pitanje dokaza nije odvojeno od pitanja njegovog postojanja. Da bi se prevazišao ovaj problem zgodno je razmotriti ograničavanje funkcije problema do ukupnog odnosa klase TFNP kao podklase od FNP. Ova klasa sadrži probleme kao što su izračunavanja Nešovog ekvilibrijuma u pojedinim strateškim igrama gde se garantuje da postoji rešenje. Onda je pokazano da . Pored toga, ako TFNP sadrži NP-kompletne probleme sledi da  je  .

Vidi još uredi

Reference uredi

  1. ^ Raymond Greenlaw; H. James Hoover (1998). Fundamentals of the theory of computation: principles and practice. Morgan Kaufmann. str. 45-51. ISBN 978-1-55860-474-2. 
  2. ^ Rich, Elaine (2008). „The problem classes FP and FNP”. Automata, computability and complexity: theory and applications. Prentice Hall. str. 689-694. ISBN 978-0-13-228806-4.