Классы L, NL, coNL — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
м (rollbackEdits.php mass rollback)
 
(не показана 1 промежуточная версия 1 участника)
(нет различий)

Текущая версия на 19:43, 4 сентября 2022

Определение:
Класс [math]\mathrm{L}[/math] — множество языков, разрешимых на детерминированной машине Тьюринга с использованием [math]O(\log n)[/math] дополнительной памяти для входа длиной [math]n[/math]. [math]\mathrm{L} = \mathrm{DSPACE}(\log n)[/math].


Определение:
Класс [math]\mathrm{NL}[/math] — множество языков, разрешимых на недетерминированной машине Тьюринга с использованием [math]O(\log n)[/math] дополнительной памяти для входа длиной [math]n[/math]. [math]\mathrm{NL} = \mathrm{NSPACE}(\log n)[/math].


Определение:
Класс [math]\mathrm{coNL}[/math] — множество языков, дополнение до которых принадлежит [math]\mathrm{NL}[/math].
[math]\mathrm{coNL} = \{L\bigm| \overline{L} \in \mathrm{NL}\}[/math].


Теорема:
[math]\mathrm{L} \subseteq \mathrm{NL} \subseteq \mathrm{NP}.[/math]
Доказательство:
[math]\triangleright[/math]
  1. Детерминированная машина Тьюринга есть частный случай недетерминированной, поэтому [math]\mathrm{L} \subseteq \mathrm{NL}[/math].
  2. Число конфигураций машины, использующей [math]O(\log n)[/math] памяти не превышает [math]2^{O(\log n)} = n^{O(1)} = poly(n)[/math], а, следовательно, если машина завершает свою работу, то она это делает за [math]O(poly(n))[/math] времени. Следовательно, [math]\mathrm{NL} \subseteq \mathrm{NP}.[/math]
[math]\triangleleft[/math]