
Мп-автомат, распознающий язык {0n 1n | nN}
Построим систему команд для такого автомата.
δ(q0,0,z)→(q1,xz)
δ(q1,0,xz)→(q1,xxz)
δ(q1,1,xz)→(q2,εz) это означает, что верхний элемент магазина разгружается
δ(q2,1,xz)→(q2,εz)
δ(q2,#,z)→(q0,εz), где # - пусто.
Рассмотрим: (q0,0011,z)→(q1,011,xz)→(q1,11,xxz)→(q2,1,xz)→(q2,#,z)→(q0,#,z).
Q={q0,q1,q2}
A={0,1}
C={x,z}
F{q0}
Описанный автомат является детерминированным, поскольку функция δ для любой тройки имеет единственный образ, т.е. переход от одной конфигурации к другой однозначен.
Возможно
и другое представление функции δ,
например:
Q×A×C*→,
где
-
множество всех подмножеств QC*,
т.е. тройке сопоставляется некоторый
набор возможных значений.
Автоматы с таким отображением δ называются недетерминированными МП-автоматами.
Классы языков, допускаемые детерминированными и недетерминированными МП-автоматами, различны.
Если
отображение имеет вид Q*×()×C*→Q*×C*,
то говорят об определении обобщённого
детерминированного автомата.
Класс языков, допускаемый обобщёнными МП-автоматами, совпадает с классом УКС языков.
При моделировании МП-автоматов вводят следующие операции:
Операции над магазином:
- втолкнуть в магазин, определить магазинный символ
- вытолкнуть верхний символ из магазина
- оставить магазин без изменения
При моделировании магазина считается, что маркер никогда не выгружается из магазина. При пустом магазине он находится сверху.
2) Операции над состояниями:
-перейти в заданное новое состояние
3) Операции над входом:
- сдвиг – убрать начальный символ и рассматривать оставшиеся
- держать – оставить текущий символ, не сдвигая просмотра
МП-автомат называется МП-распознавателем, если у него имеется 2 цепочки выхода: допустить и отвергнуть.
Графическое описание мп-автомата
При этом описании каждая вершина графа представляет собой пару (р,а), где р – состояние, а – символ магазина.
Один такт работы МП-автомата представляет собой пару вершин, соединённых дугой. При этом дуге приписывается пометка – символ входного алфавита, а также дополнение, указывающее на изменение состояния магазина.
Пример:
автомат для языка {an
bn
| n1}
-
символ начала и конца строки;
+а – загрузка в магазин символа а;
-а – разгрузка.
вход
1
p0,
a +a
a
2 b 4 a,b 5
+a
p0,
a -a p1,
p0,
b Error: Reference source not foundb -a
-a
3 b
-a
p1, a
В данном графическом представлении не указаны ситуации, когда на вход подаются символы, не присутствующие в цепочках, распознаваемых в языке. Считается, что в этом случае происходит переход автомата сразу в отвергающее состояние.