formal_language_theory / lectures / unit_8
.pdfТеория формальных языков и трансляций
Глава 8.
Линейно ограниченные автоматы и контекстнозависимые языки
1
§ 8.1. Линейно ограниченные автоматы
Линейно ограниченный автомат (lba linear-bounded automaton) есть недетермини-
рованная одноленточная машина Тьюринга, которая никогда не покидает те ячейки, на которых размещён её ввод.
Формально lba определяется следующим образом.
2
Линейно ограниченные автоматы
Определение 8.1. Линейно ограниченным автоматом называется формальная система
M= (Q, , , , q0, F),
вкоторой Q — множество состояний; q0 Q
Q — множество
конечных состояний; — алфавит допустимых символов ленты; — алфавит вход-
ных символов, который содержит два особых символа: ¢ и $ — левый и правый маркеры;
— отображение типа Q 2Q {L, R}.
3
Линейно ограниченные автоматы
Левый и правый маркеры, находятся с самого начала на концах входной цепочки для того, чтобы предотвращать выход головки ленты за пределы участка, на котором размещается входная цепочка.
Считается, что маркеры могут использоваться только в этой роли: на место маркера нельзя записать какой-нибудь другой символ ленты, и никакой символ ленты не может быть заменён каким-нибудь маркером.
4
Линейно ограниченные автоматы
Движения линейно ограниченного автомата описываются в терминах
конфигураций.
Конфигурация lba M обозначается как
(q, A1A2 … An , i),
где q Q; A1 , A 2 , … , An ; i — целое, причём 1 i n.
Согласно определению A1 = ¢, An = $.
5
Линейно ограниченные автоматы
Если (p, A, L) (q, Ai) и 1 < i n, то
(q, A1A2… Ai – 1 Ai Ai + 1… An , i) __M (p, A1A2… Ai – 1 AAi + 1… An , i – 1).
Если (p, A, R) (q, Ai) и 1 i < n, то
(q, A1A2… Ai – 1 Ai Ai + 1 … An , i) __ M
(p, A1A2… Ai – 1 AAi + 1… An , i + 1).
Причём A = Ai , если i = 1 (Ai = ¢ ) или i = n
(Ai = $) .
6
Линейно ограниченные автоматы
Другими словами, lba M печатает символ A на месте Ai, изменяет свое состояние на p и продвигает свою головку влево или вправо, не выходя из области, в которой символы находились изначально.
Отношения на множестве конфигураций
|
__ |
, |
|
, |
n |
или |
* |
определяются обычным |
. |
M |
M |
M |
M |
||||
|
|
|
|
|
для недетерминированных машин Тьюринга образом.
7
Линейно ограниченные автоматы
Определение 8.2. Языком, paспознаваемым линейно ограниченным автоматом M,
называется множество
L = {w w ( \ {¢ , $})*,
(q0, ¢ w$, 1) q F, *,
*
M
1
(q, , i),
i n, n = w + 2}.
8
Линейно ограниченные автоматы
Определение 8.3. Линейно ограниченный автомат M является детерминированным,
если # (q, A) 1 для любых q Q, A .
Неизвестно, является ли класс множеств, распознаваемых детерминированными lba, строгим подклассом множеств, распознаваемых недетерминированными lba, или они совпадают.
9
Линейно ограниченные автоматы
Конечно, справедливо, что любое множество, распознаваемое недетерминированным lba, принимается некоторой детерминированной машиной Тьюринга. Однако, длина ленты, требуемая этой Tm, может быть
экспоненциальной, а не линейной, функцией от длины входной цепочки.
10