Это не официальный сайт wikipedia.org 01.01.2023

Классы L и NL — Википедия
Это статья о классах языков для детерминированной машины Тьюринга. Статья о unix-утилите называется nl.

Класс языков L — множество языков, разрешимых на детерминированной машине Тьюринга с использованием O ( log ( n ) ) дополнительной памяти для входа длиной n.

Класс языков NL — множество языков, разрешимых на недетерминированной машине Тьюринга с использованием O ( log ( n ) ) дополнительной памяти для входа длиной n.

Примеры:

  • { 0 k 1 k : k 0 } L
  • Пусть язык P A T H = { ( G , s , t ) : G ориентированный граф в котором есть путь от s до t } , тогда P A T H N L

NL-полные задачиПравить

Преобразователь, требующий логарифмической памяти — машина Тьюринга с тремя лентами: входной, доступной только на чтение, выходной, доступной только на запись и рабочей лентой, на которой может использоваться не более O(log(n)) ячеек.


Функция, вычисляемая таким преобразователем называется функцией, вычисляемой с логарифмической памятью.

Задача A логарифмически по памяти сводится к задаче B, если есть логарифмическая по памяти функция, при помощи которой задача А сводится к задаче В. Обозначается A L B  

Язык называется NL-полным если он принадлежит NL и любой язык из NL сводится к нему логарифмически по памяти.

Теорема:

( A L B ) ( B L ) A L  

Следствие:

Если NL-полный язык принадлежит L, то L = NL

Утверждение:

PATH — NL-полная задача.

Следствие:

N L P  .

Теорема ИммерманаПравить

Класс coNL — языки, дополнения до которых лежат в NL.

Теорема Иммермана:

NL = coNL

ЛитератураПравить

  • Michael Sipser: «Introduction to the Theory of Computation»