V teoretické informatiky , zejména v teorii složitosti je PR třída ( randomizované Polynomial time ) je třída složitosti z rozhodovacích problémů , pro které existuje pravděpodobnostní Turingův stroj v časovém polynomu , který odmítá všechny instance negativní a přijímá kladné instance s pravděpodobností Většího než 1/2.
Třída RP je soubor problémů nebo ekvivalentním způsobem jazyků , pro které existuje pravděpodobnostní Turingův stroj v polynomiálním čase, který splňuje následující podmínky přijetí:
Říká se, že stroj „se mýlí jen na jedné straně“ .
Pro polynom o velikosti vstupu definujeme množinu jazyků, pro které existuje pravděpodobnostní Turingův stroj , v čase , takže pro každé slovo :
Takže můžeme definovat PR jako: .
Konstanta 1/2 je ve skutečnosti libovolná, můžeme zvolit libovolné číslo (konstantní) mezi 0 a 1 (vyloučeno).
Myšlenka je, že provedením výpočtu nezávisle na polynomu, kolikrát , můžeme v případě snížit pravděpodobnost chyby na (při zachování bezpečné odpovědi v případě ).
Třída co-RP je sada jazyků, pro které existuje pravděpodobnostní Turingův stroj v polynomiálním čase, který splňuje následující podmínky přijetí:
(Stejná poznámka ke konstantě)
S třídou P a NP máme následující vztah :
DemonstracePoužíváme definici pravděpodobnostního Turingova stroje s náhodným pásmem.
: stačí vypočítat stroj P (ignorování náhodného pásma), pravděpodobnost chyby je pak v obou případech nulová (členství nebo ne).
: Nechť M je randomizovaný polynomiální stroj času, který rozhoduje . Postavíme stroj M ' NP, který odhaduje pásmo náhodnosti, které M přijímá. Pokud hádaná skupina skutečně přiměje M přijmout, pak M 'přijme, jinak odmítne.
Pokud existuje „dobré“ pásmo, protože M se nemýlí, uvažované slovo je v . Naopak, pokud je slovo in , M přijímá s pravděpodobností alespoň 1/2, tj. M přijímá na polovině náhodných pásem, proto existuje alespoň jedno náhodné pásmo, které jej činí akceptovatelným, a proto ho M 'odhaduje a přijímá.
Tato třída již není zajímavá, pokud P = NP .
Valiant a Vazirani prokázali, že kde USAT je problém SAT, kde slibujeme, že vstupní booleovský vzorec má nanejvýš jedno řešení. Oracle na USAT funguje takto: reaguje pozitivně na vzorcích, které mají právě jedno řešení, reaguje negativně na vzorcích bez řešení, a to odpoví libovolně na jiných vzorcích.
Následující zahrnutí zahrnuje třídy ZPP a BPP .
To vychází přímo z definic: ZPP je průsečík RP a co-RP a BPP má méně závazné podmínky přijetí (chyba „obou stran“).
Problémy PR jsou problémy, pro které existuje pravděpodobnostní algoritmus, který splňuje výše popsané podmínky.
Například problém zjistit, zda je celé číslo prvočíslo, je v testu co-RP díky Miller-Rabinovu testu primality . Ve skutečnosti je tento problém dokonce v P , díky testu primitivnosti AKS .
Jeden problém co-RP , o kterém není známo, že je v P, je problém testování polynomiální identity , který zahrnuje, vzhledem k vícerozměrnému polynomu v nějaké formě, rozhodování, zda je identicky nulový nebo ne. Díky Schwartz-Zippelovmu lematu můžeme s dobrou pravděpodobností rozpoznat nulové polynomy jejich vyhodnocením na malém počtu bodů.
Tuto třídu představil J. Gill v článku Výpočetní složitost pravděpodobnostních Turingových strojů ( Gill 1977 ).
(fr) Třída RP v Zoo Complexity