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