Klasse L og NL

Denne artikel handler om sprogklasser for en deterministisk Turing-maskine. Artiklen om unix-værktøjet hedder nl .

Sprogklassen L er det sæt af sprog, der kan bestemmes på en deterministisk Turing-maskine, der bruger ekstra hukommelse til et input med længden n.

Klassen af ​​NL-sprog er det sæt af sprog, der kan bestemmes på en ikke -deterministisk Turing-maskine, der bruger ekstra hukommelse til et input med længden n.

Eksempler:

NL-komplette problemer

En log-hukommelseskonverter er en Turing-maskine med tre bånd: et skrivebeskyttet inputbånd, et skrivebeskyttet outputbånd og et arbejdsbånd, der ikke kan bruge mere end O(log(n)) celler.


Funktionen beregnet af en sådan konverter kaldes en funktion beregnet med logaritmisk hukommelse .

Opgave A reducerer logaritmisk fra hukommelse til opgave B , hvis der er en funktion logaritmisk fra hukommelse, der reducerer opgave A til opgave B. Benævnt

Et sprog kaldes NL-komplet , hvis det tilhører NL, og ethvert sprog i NL kan reduceres til det logaritmisk fra hukommelsen.

Sætning:

Følge:

Hvis et NL-komplet sprog hører til L, så L = NL

Udmelding:

PATH er en NL-fuldendt opgave.

Følge:

.

Immermanns sætning

klasse coNL - sprog, hvis komplementer er i NL.

Immermanns sætning:

NL=coNL

Litteratur