Třídy L a NL

Tento článek je o jazykových třídách pro deterministický Turingův stroj. Článek o unixovém nástroji se nazývá nl .

Jazyková třída L je množina jazyků, které jsou rozhoditelné na deterministickém Turingově stroji pomocí dodatečné paměti pro vstup délky n.

Třída jazyků NL je množina jazyků, které jsou rozhoditelné na nedeterministickém Turingově stroji pomocí dodatečné paměti pro vstup délky n.

Příklady:

Úplné problémy NL

Převodník paměti log je Turingův stroj se třemi páskami: vstupní páskou pouze pro čtení, výstupní páskou pouze pro zápis a pracovní páskou, která nemůže používat více než O(log(n)) buňky.


Funkce vypočítaná takovým převodníkem se nazývá funkce vypočítaná s logaritmickou pamětí .

Problém A redukuje logaritmicky z paměti na problém B , pokud existuje logaritmická funkce z paměti, která redukuje problém A na problém B. Označeno

Jazyk se nazývá NL-complete , pokud patří do NL a kterýkoli jazyk v NL na něj lze logaritmicky redukovat z paměti.

Teorém:

Následek:

Jestliže NL-úplný jazyk patří do L, pak L = NL

Tvrzení:

PATH je NL-úplný úkol.

Následek:

.

Immermannova věta

class coNL — jazyky, jejichž doplňky jsou v NL.

Immermannova věta:

NL=coNL

Literatura