Скачать .docx | Скачать .pdf |
Реферат: Автоматы с магазинной памятью
АВТОМАТЫ С МАГАЗИННОЙ ПАМЯТЬЮ
Автоматы и преобразователи с магазинной памятью играют важную роль при построении автоматно-лингвистических моделей различного назначения, связанных с использованием бесконтекстных (контекстно-свободных) языков. В частности, такие устройства используются в большинстве работающих программ для синтаксического анализа программ, написанных на различных языках программирования, которые во многих случаях можно рассматривать как бесконтекстные.
В отличие от конечных автоматов и преобразователей
,
автоматы с магазинной памятью
снабжены дополнительной магазинной памятью (рабочей лентой).
На рис. 1
такой преобразователь. Конечное управляющее устройство снабжается дополнительной управляющей головкой, всегда указывающей на
верхнюю ячейку магазинной памяти; за один такт работы автомата (преобразователя) управляющая головка может произвести следующие движения:
1) стереть символ из верхней ячейки (при этом все символы, находящиеся на рабочей ленте, перемещаются на одну ячейку вверх);
2) стереть символ из верхней ячейки и записать на рабочую ленту непустую цепочку символов (при этом содержимое
рабочей ленты сдвигается вниз ровно настолько, какова длина
с записываемой цепочки).
Таким образом, устройство магазинной памяти можно сравнить с устройством магазина боевого автомата: когда в него вкладывается патрон, те, которые уже были внутри, проталкиваются вниз; достать можно только патрон, вложенный последним.
Формально детерминированный магазинный автомат определяется как следующая совокупность объектов:
M = (V, Q, VM , δ, q0 , z0 , F),
где V, Q, q0 Є Q, F определяются так же, как и для конечного автомата;
VM = {z0 , z1 ,…,zp -1 } — алфавит магазинных символов автомата;
δ — функция, отображающая множество Q
X
(
V
U
{
ε })
X
VM
в множество Q
X
VM
, где е — пустая цепочка;
z0
Є
VM
— так называемый граничный маркер, т. е. символ,
первым появляющийся в магазинной памяти.
Недетерминированный магазинный автомат отличается от детерминированного только тем, что функция δ отображает множество Q X ( V U { ε }) X VM . в множество конечных подмножеств Q x VM
Как и в случае конечных автоматов, преобразователи с магазинной памятью отличаются от автоматов с магазинной памятью наличием выходной ленты.
Далее будем рассматривать только недетерминированные магазинные автоматы.
Рассмотрим интерпретацию функции δ для такого автомата. Эту функцию можно представить совокупностью команд вида
(q, a, z)→(q1 , γ1 ),…,(qm , γm ),
гдеq, q1 ,…qm Є Q, a Є V, z Є VM , γ1 ,…,γm Є V* m
При этом считается, что если на входе читающей головки авто
мата находится символ а
, автомат находится в состоянии q
, а верхний символ рабочей ленты z
, то автомат может перейти к состоянию qi
, записав при этом на рабочую ленту цепочку γi
(1 ≤ i ≤ m)
вместо символа z
, передвинуть входную головку на один символ
вправо так, как это показано на рис. 1, и перейти в состояние qi
. Крайний левый символ γi
должен при этом оказаться в верхней
ячейке магазина. Команда (
q
,
e
,
z
)→(
q
1
,
γ
1
),…, (
qm
,
γm
)
означает,
что независимо от входного символа и, не передвигая входной го- +
ловки, автомат перейдет в состояние qi
, заменив символ z
магазина
на цепочку γi
(1 ≤
i
≤
m
).
•
Ситуацией магазинного автомата называется пара ( q , γ ) , где
q Є Q , γ Є V * m . Между ситуациями магазинного автомата ( q , γ ) и
( q ’, γ ’) , устанавливается отношение, обозначаемое символом ├, если среди команд найдется такая, что
(q, a, z)→(q1 , γ1 ),…,(qm , γm ),
причемγ= zβ, γ’ = γi β q ' = qi длянекоторого1 ≤ i ≤ m (z Є Vm ,
β Є V* m ).
Говорят, что магазинный автомат переходит из состояния ( q , γ ) в состояние ( q ’, γ ’) и обозначают это следующим образом:
a: (q, γ)├ (q’, γ’) .
Вводится и такое обозначение:
a1 ...an : (q, γ)├ * (q’, γ’),
если справедливо, что
ai : (qi , γi )├ (qi+1 , γi+1 ), 1 ≤ i ≤ m
где
ai Є V , γ 1 = γ , γ 2 ,…, γn +1 = γ ’ Є V * m
q 1 = q , q 2 ,…, qn +1 = q ’ Є Q
Существует два способа определения языка, допускаемого магазинным автоматом. Согласно первому способу считается, что входная цепочка α Є V * принадлежит языку L 1 ( M ) тогда, когда после просмотра последнего символа, входящего в эту цепочку,
в магазине автомата М будет находиться пустая цепочка ε . Другими словами,
L1 (M) = { α | α : (q0 , z0 ) ├ * (q, ε )}
где q Є Q .
Согласно второму способу считается, что входная цепочка принадлежит языку L 2 ( M ) тогда, когда после просмотра последнего символа, входящего в эту цепочку, автомат М окажется в одном из своих заключительных состояний q f Є F . Другими словами,
L 2 ( M ) = { α | α: ( q 0 , z 0 ) ├ * ( qf , γ )}
где γ Є V * m , qf Є F
Доказано, что множество языков, допускаемых произвольными магазинными автоматами согласно первому способу, совпадает с множеством языков, допускаемых согласно второму способу.
Доказано также, что если L ( G 2 ) — бесконтекстный язык, порождаемый Грамматикой G2 = ( Vx , VT , Р, S ) , являющейся нормальной формой Грейбах, произвольной бесконтекстной грамматики G , то существует недетерминированный магазинный автомат М такой, что L 1 ( M ) = L ( G 2 ). При этом
M = (V, Q, Vm , δ, q0 , z0 , 0),
ГдеV=VT ; Q={q0 }; VM =VN ; z0 =S
а для каждого правила G 2 вида
A→a α , a Є VT , a Є V* n
строится команда отображения δ :
(q0 , a, A)→(q0 , a)
Apia логично для любого недетерминированного магазинного автомата М , допускающего язык L 1 ( M ) , можно построить бесконтекстную грамматику G такую, что L ( G ) = L 1 ( M ).
Если для конечных автоматов детерминированные и недетерминированные модели эквивалентны по отношению к классу допускаемых языков, то этого нельзя сказать для магазинных автоматов. Детерминированные автоматы с магазинной памятью допускают лишь некоторое подмножество бесконтекстных языков, которые называют детерминированными бесконтекстными языками.
Список использованной литературы
КУЗИН Л.Т «Основы кибернетики» Т.2
УКРАИНСКИЙ ГОСУДАРСТВЕННЫЙ
ХИМИКО-ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ
Р Е Ф Е Р А Т
По дискретной математике на тему:
«Автоматы с магазинной памятью»
Подготовил студент гр. 1киб-30
Кирчатов Роман Романович
Преподаватель
Бразинская Светлана Викторовна
ДНЕПРОПЕТРОВСК, 2002