Автоматы с магазинной памятью

СОДЕРЖАНИЕ: Автоматы и преобразователи с магазинной памятью играют важную роль при построении автоматно-лингвистических моделей различного назначения, связанных с использованием бесконтекст­ных (контекстно-свободных) языков. В частности, такие устройства используются в большинстве работающих программ для синтаксического анализа программ, написанных на различных языках программирования, которые во многих случаях можно рассматри­вать как бесконтекстные.

АВТОМАТЫ С МАГАЗИННОЙ ПАМЯТЬЮ

Автоматы и преобразователи с магазинной памятью играют важную роль при построении автоматно-лингвистических моделей различного назначения, связанных с использованием бесконтекст­ных (контекстно-свободных) языков. В частности, такие устройства используются в большинстве работающих программ для синтаксического анализа программ, написанных на различных языках программирования, которые во многих случаях можно рассматри­вать как бесконтекстные.

В отличие от конечных автоматов и преобразователей ,
автоматы с магазинной памятью снабжены дополнительной магазинной памятью (рабочей лентой).

На рис. 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 вида

Aa , a Є VT , a Є V* n

строится команда отображения :

(q0 , a, A)(q0 , a)

Apia логично для любого недетерминированного магазинного автомата М , допускающего язык L 1 ( M ) , можно построить бескон­текстную грамматику G такую, что L ( G ) = L 1 ( M ).

Если для конечных автоматов детерминированные и недетерми­нированные модели эквивалентны по отношению к классу допускае­мых языков, то этого нельзя сказать для магазинных автоматов. Детерминированные автоматы с магазинной памятью допускают лишь некоторое подмножество бесконтекстных языков, которые называют детерминированными бесконтекстными языками.

Список использованной литературы

КУЗИН Л.Т «Основы кибернетики» Т.2

УКРАИНСКИЙ ГОСУДАРСТВЕННЫЙ

ХИМИКО-ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ

Р Е Ф Е Р А Т

По дискретной математике на тему:

«Автоматы с магазинной памятью»

Подготовил студент гр. 1киб-30

Кирчатов Роман Романович

Преподаватель

Бразинская Светлана Викторовна

ДНЕПРОПЕТРОВСК, 2002

Скачать архив с текстом документа