FP (komplexitet)
I beräkningskomplexitetsteori är komplexitetsklassen FP den uppsättning funktionsproblem som kan lösas av en deterministisk Turingmaskin i polynomtid . Det är funktionsproblemversionen av beslutsproblemklassen P . Grovt sett är det klassen av funktioner som effektivt kan beräknas på klassiska datorer utan randomisering.
Skillnaden mellan FP och P är att problem i P har enbits, ja/nej svar, medan problem i FP kan ha vilken utdata som helst som kan beräknas i polynomtid. Att lägga till två tal är till exempel ett FP- problem, medan bestämning av om deras summa är udda är i P .
Polynomtidsfunktionsproblem är grundläggande för att definiera polynomtidsreduktioner, som i sin tur används för att definiera klassen av NP-kompletta problem.
Formell definition
FP definieras formellt enligt följande:
- En binär relation finns i FP om och endast om det finns en deterministisk polynomtidsalgoritm som, givet , kan hitta någon så att gäller.
Relaterade komplexitetsklasser
- FNP är den mängd binära relationer för vilka det finns en polynomtidsalgoritm som, givet x och y , kontrollerar om P( x , y ) håller. Precis som P och FP är nära besläktade, är NP nära besläktade med FNP . FP = FNP om och endast om P = NP .
- Eftersom en maskin som använder logaritmiskt utrymme har högst polynomiellt många konfigurationer, FL , uppsättningen funktionsproblem som kan beräknas i logrymden, finns i FP . Det är inte känt om FL = FP ; detta är analogt med problemet med att avgöra om beslutsklasserna P och L är lika.