2.4. Линейно ограниченные автоматы и языки типа 1
 
Линейно ограниченным автоматом ( -автоматом) называют машину Тьюринга, которой запрещено передвигать читающую головку за пределы участка входной ленты, занятого входной
-автоматом) называют машину Тьюринга, которой запрещено передвигать читающую головку за пределы участка входной ленты, занятого входной  
 
 
почкой. Это можно достичь, добавив к входному языку два специальных символа (обычно  ). Их помещают в начале и в конце входной цепочки, которая после этого превращается в
). Их помещают в начале и в конце входной цепочки, которая после этого превращается в  Правила перехода ЛO-автомата подобны правилам для МТ за исключением того, что если прочитан символ
 Правила перехода ЛO-автомата подобны правилам для МТ за исключением того, что если прочитан символ  или
 или  то читающая головка передвигается на одну ячейку вправо или влево.
 то читающая головка передвигается на одну ячейку вправо или влево. 
Линейно ограниченный автомат представляет собой модель программы с неограниченным доступом к конечной области «динамического» участка памяти, причем размер этой области можно определить, исследуя входную цепочку в ходе работы программы перед анализом приемлемости входной цепочки. Фактически можно просто считать, что какая-то часть ленты требуется для ввода как стираемая зона. 
Модель ЛО-автомата имеет неочевидное приложение в программировании. Напомним, что автомат называется детерминированным, если для каждого сочетания сигнала на входе и внутреннего состояния существует не более одного правила перехода, определяющего его следующее действие. Автомат называется недетерминированным, если данная комбинация вход — внутреннее состояние служит левой частью более чем одного правила перехода. Когда речь шла о машине Тьюринга, разница между детерминированными и недетерминированными автоматами не рассматривалась, поскольку можно показать, что для каждой недетерминированной машины Тьюринга существует эквивалентная ей детерминированная. Для ЛО-автоматов не известно, так это или нет, поэтому, пока ответ не получен, благоразумный программист должен считать, что если ему нужно написать программу, моделью которой является ЛО-автомат, то он должен считать этот автомат недетерминированным. Для недетерминированного автомата может возникнуть возможность выбора конкретного правила перехода при предъявлении определенной конфигурации памяти. Если выбор сделан неверно, то автомат может впоследствии прийти в состояние останова, не приняв цепочки. В этом случае надо вернуться к моменту выбора и попытаться принять цепочку, избирая другой путь вычислений. Это можно сделать только в том случае, когда сохраняются весьма точные записи предыдущих действий. 
Теоретический результат в области ЛО-автоматов таков: 
Язык  воспринимается ЛО-автоматом тогда и только тогда, когда это язык типа 1.
 воспринимается ЛО-автоматом тогда и только тогда, когда это язык типа 1. 
Этот результат не находит широких приложений, поскольку, как мы показали, ЛО-автоматы моделируют сложные программы. В то же время доказательство того, что областью определения функции  является контекстно-зависимый язык, может оказаться полезным, так как оно выявляет возможности управления памятью и
 является контекстно-зависимый язык, может оказаться полезным, так как оно выявляет возможности управления памятью и 
 
хранения записей, необходимые программе для вычисления  Чаще используется другой результат.
 Чаще используется другой результат. 
Все контекстно-зависимые языки рекурсивны. 
Здесь утверждается, что если областью определения  функции
 функции  является язык типа 1, то можно написать программу (возможно, сложную), которая с гарантией воспринимает все цепочки
 является язык типа 1, то можно написать программу (возможно, сложную), которая с гарантией воспринимает все цепочки  и дает либо значение
 и дает либо значение  либо надежное указание на то, что для
 либо надежное указание на то, что для  функция
 функция  не определена.
 не определена. 
 
Рис. 2.8. Работа МП-автомата. Сначала машина находится в состоянии  и читает символ
 и читает символ  на входе и символ
 на входе и символ  в магазине. При первом переходе входная лента движется вперед и
 в магазине. При первом переходе входная лента движется вперед и  заталкивается в магазив. Машина оказывается в состоянии
 заталкивается в магазив. Машина оказывается в состоянии  На втором шаге входная лента движется, читая
 На втором шаге входная лента движется, читая  считывается и выталкивается из магазина, а машина переходит в состояние
 считывается и выталкивается из магазина, а машина переходит в состояние  
 
С другой стороны, неудачная попытка доказать, что  — язык типа 1 или даже типа 0, не гарантирует, что язык
 — язык типа 1 или даже типа 0, не гарантирует, что язык  не рекурсивен. Существуют рекурсивные языки, которые не могут порождаться грамматикой типа 1.
 не рекурсивен. Существуют рекурсивные языки, которые не могут порождаться грамматикой типа 1.