Funkční problém - Function problem
Ve výpočetní složitosti teorie , je problém funkce je výpočetní problém , kdy jeden výstup (z celkového funkce se očekává) pro každý vstup, ale výstup je složitější než u rozhodovací problém . U funkčních problémů není výstupem jednoduše „ano“ nebo „ne“.
Formální definice
Funkční problém je definován jako vztah mezi řetězci libovolné abecedy :
Algoritmus řeší, zda pro každý takový vstup , který existuje uspokojivý , algoritmus jeden takový vytvoří .
Příklady
Známý funkční problém je dán funkčním booleovským problémem uspokojivosti, zkráceně FSAT . Problém, který úzce souvisí s problémem rozhodování SAT , lze formulovat následovně:
- Vzhledem k booleovskému vzorci s proměnnými najděte takové přiřazení , které vyhodnotí nebo rozhodne, že žádné takové přiřazení neexistuje.
V tomto případě je vztah dán n -ticemi vhodně kódovaných booleovských vzorců a uspokojivých přiřazení. Zatímco SAT algoritmus, napájený vzorcem , potřebuje pouze vrátit „neuspokojivé“ nebo „uspokojivé“, FSAT algoritmus musí v druhém případě vrátit nějaké uspokojivé přiřazení.
Mezi další pozoruhodné příklady patří problém obchodního cestujícího , který se ptá na trasu, kterou prodávající prodal, a problém faktorizace celého čísla , který žádá o seznam faktorů.
Vztah k jiným třídám složitosti
Zvažte problém libovolného rozhodování ve třídě NP . Podle definice NP má každá instance problému, která je zodpovězena „ano“, certifikát o velikosti polynomu, který slouží jako důkaz pro odpověď „ano“. To znamená, že soubor těchto n-tic tvoří vztah, což představuje problém funkce „dané oblasti , najít certifikát pro “. Tato funkce problém se nazývá variantu funkce ve ; patří do třídy FNP .
FNP lze považovat za analog funkční třídy NP v tom, že řešení problémů FNP lze efektivně (tj. V polynomiálním čase z hlediska délky vstupu) ověřovat , ale ne nutně efektivně nalézt . Naproti tomu třída FP , kterou lze považovat za analog třídy funkcí P P , se skládá z funkčních problémů, jejichž řešení lze nalézt v polynomiálním čase.
Samoredukovatelnost
Všimněte si, že výše uvedený problém FSAT lze vyřešit pouze pomocí polynomiálně mnoha volání podprogramu, který rozhoduje o problému SAT : Algoritmus se nejprve může zeptat, zda je vzorec splnitelný. Poté může algoritmus opravit proměnnou na hodnotu TRUE a zeptat se znovu. Pokud je výsledný vzorec stále splnitelný, algoritmus zůstane pevně nastaven na PRAVDU a pokračuje v opravě , jinak rozhodne, že musí být NEPRAVDA a pokračuje. Tak FSAT je řešitelný v polynomiálním čase pomocí věštce rozhodující SAT . Obecně se problém v NP nazývá samoredukovatelný, pokud jeho funkční variantu lze vyřešit v polynomiálním čase pomocí věštce rozhodujícího o původním problému. Každý NP-úplný problém je sám redukovatelný. Předpokládá se, že problém celočíselné faktorizace není možné redukovat sám.
Redukce a úplné problémy
Problémy s funkcí může být snížena podobně jako rozhodovací problémy: Vzhledem k tomu, funkční problémy a můžeme říci, že se redukuje na pokud existuje polynomiálně úvazek vyčíslitelných funkcí a taková, že pro všechny případy s a možných řešení s , platí, že
- Pokud má -rozlišení, pak má -rozlišení.
Je tedy možné definovat problémy s úplným FNP analogické problému s úplným NP:
Problém je úplný FNP, pokud lze každý problém ve FNP omezit na . Třída složitosti problémů s úplným FNP je označena FNP-C nebo FNPC . Proto je problém FSAT také problémem úplného FNP a platí, že právě tehdy, když .
Celkové funkční problémy
Vztah použitý pro definování funkční problémy má nevýhodu v tom, že jsou neúplné: Ne každý vstup má protějšek takové, že . Otázka vyčíslitelnosti důkazů tedy není oddělena od otázky jejich existence. K překonání tohoto problému je vhodné zvážit omezení funkčních problémů na celkové vztahy poskytující třídu TFNP jako podtřídu FNP . Tato třída obsahuje problémy, jako je výpočet čisté Nashovy rovnováhy v určitých strategických hrách, kde je zaručeno řešení. Kromě toho, pokud TFNP obsahuje jakýkoli problém s úplným FNP , vyplývá z toho .
Viz také
Reference
- Raymond Greenlaw, H. James Hoover, Základy teorie výpočtu: principy a praxe , Morgan Kaufmann, 1998, ISBN 1-55860-474-X , s. 45-51
- Elaine Rich, Automaty, vypočítatelnost a složitost: teorie a aplikace , Prentice Hall, 2008, ISBN 0-13-228806-0 , oddíl 28.10 „Problémové třídy FP a FNP“, s. 689–694