V teorii složitosti je polynomiální hierarchie hierarchií tříd složitosti, která zobecňuje třídy P, NP, co-NP na výpočty věštce .
Existuje mnoho ekvivalentních definic tříd polynomiální hierarchie. Vezměme si jeden z nich.
Abychom definovali orákulum v polynomiální hierarchii, definujeme
kde P je množina problémů, které mají být vyřešeny v polynomiálním čase. Potom pro i ≥ 0 definujeme
Kde A B je množina problémů řešených Turingovým strojem ve třídě A rozšířená o věštce pro nějaký problém ze třídy B. Například , a je třída problémů řešených v polynomiálním čase pomocí věštce pro nějaký problém z NP .
Definice naznačují následující vztahy:
Na rozdíl od aritmetických a analytických hierarchií, kde jsou všechny inkluze striktní, je v polynomiální hierarchii otázka striktnosti stále otevřená.
Pokud existuje , nebo nějaká , pak se hierarchie zmenší na úroveň k : pro všechny , . V praxi to znamená, že rovnost tříd P a NP zcela zničí polynomiální hierarchii.
Sjednocením všech tříd polynomické hierarchie je třída PH .
Polynomiální hierarchie je protějšek (méně složitý) k aritmetické hierarchii.
Je známo, že PH je obsaženo v PSPACE , ale není známo, zda jsou tyto dvě třídy stejné.
Každá třída v polynomiální hierarchii obsahuje -kompletní problémy (problémy jsou kompletní s ohledem na Karpovu redukci polynomiálního času).