L és NL osztály

Ez a cikk egy determinisztikus Turing-gép nyelvi osztályairól szól. A unix segédprogramról szóló cikk az nl .

Az L nyelvosztály azon nyelvek halmaza, amelyek eldönthetők egy determinisztikus Turing-gépen , amely további memóriát használ az n hosszúságú bemenethez.

Az NL nyelvek osztálya azoknak a nyelveknek a halmaza, amelyek eldönthetők egy nem determinisztikus Turing-gépen , amely további memóriát használ az n hosszúságú bemenethez.

Példák:

NL-teljes problémák

A naplómemória konverter egy Turing-gép három szalaggal: egy csak olvasható bemeneti szalaggal, egy csak írható kimeneti szalaggal és egy munkaszalaggal, amely legfeljebb O(log(n)) cellát használhat.


Az ilyen konverter által kiszámított függvényt logaritmikus memóriával számított függvénynek nevezzük .

Az A feladat logaritmikusan redukálja a memóriát a B feladatra, ha van olyan logaritmikus függvény a memóriából, amely az A feladatot B feladatra redukálja .

Egy nyelvet NL-teljesnek nevezünk, ha az NL-hez tartozik, és az NL-ben lévő bármely nyelv logaritmikusan redukálható rá a memóriából.

Tétel:

Következmény:

Ha egy NL-teljes nyelv L-hez tartozik, akkor L = NL

Nyilatkozat:

A PATH egy NL-teljes feladat.

Következmény:

.

Immermann-tétel

osztály coNL - olyan nyelvek, amelyek kiegészítései NL-ben vannak.

Immermann tétele:

NL = conNL

Irodalom