Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции и практики / все лекции.doc
Скачиваний:
70
Добавлен:
20.06.2014
Размер:
1.14 Mб
Скачать

Мп-автомат, распознающий язык {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*, то говорят об определении обобщённого детерминированного автомата.

Класс языков, допускаемый обобщёнными МП-автоматами, совпадает с классом УКС языков.

При моделировании МП-автоматов вводят следующие операции:

  1. Операции над магазином:

- втолкнуть в магазин, определить магазинный символ

- вытолкнуть верхний символ из магазина

- оставить магазин без изменения

При моделировании магазина считается, что маркер никогда не выгружается из магазина. При пустом магазине он находится сверху.

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

В данном графическом представлении не указаны ситуации, когда на вход подаются символы, не присутствующие в цепочках, распознаваемых в языке. Считается, что в этом случае происходит переход автомата сразу в отвергающее состояние.

Лекция 5

Теорема:

Всякий минимальный автомат с точностью до переобозначения состояний совпадает с автоматом М, построенным по приведённому ранее алгоритму.

Доказательство:

1) Покажем, что автомат М эквивалентен автомату М. Согласно определения эквивалентности автоматов, достаточно установить, что для каждого состояния qi автомата М найдётся эквивалентное состояние автомата М’, и наоборот.

Эквивалентным состоянию qi является состояние , соответствующее классу эквивалентностиQv, содержащему qi. В качестве эквивалентного состоянию может быть взято любое состояние, входящее вQv. Покажем это:

Пусть автоматы М и М’ установлены в состояние исоответственно. На входы автоматов подаётся произвольная последовательность х1,…,хр. По правилу построения автомата М’ после считывания символа х1 оба автомата выдадут одинаковый выходной символ. При этом автомат М перейдёт в состояние qj, a M’ в состояние , причём.

Считывание второго символа х2 снова приведёт к одинаковым выходным символам и переведёт автоматы в состояния qk и , причём. И так далее.

Продолжив эти рассмотрения, можно убедиться в полном совпадении выходных последовательностей. Т.е. М и М’ эквивалентны.

2) Покажем, что автомат М является минимальным.

Предположим противное: существует автомат М”, эквивалентный М и имеющий меньшее число состояний, чем М’. Т.к. эквивалентность является транзитивным отношением, то автоматы М” и М’ должны быть эквивалентными. Это означает, что для каждого состояния в автомате М’ имеется эквивалентное состояниеавтомата M”. Поскольку автомат M” имеет меньше состояний, чем М’, то некоторому состояниюэквивалентны, по крайней мере, 2 состояния. Это означает, что последние 2 состояния автомата М’ эквивалентны между собой, т.е. эквивалентны между собой будут все состояния автомата М из множеств. Это противоречит тому, что- различные классы эквивалентности.

3) Покажем, что любой минимальный автомат, с точностью до переобозначения состояний, совпадает с М’.

Рассмотрим произвольный минимальный автомат M’’. Согласно пункту 2 автоматы М’ и M’’ имеют одинаковое число состояний, причём для каждого состояния автомата М’ существует единственное эквивалентное ему состояние автомата М’’.

Переобозначим состояния автомата М’’ в соответствии с именами состояний автомата М’, чтобы состояние было эквивалентно состоянию.

Рассмотрим переходы из состояний ипод действием некоторого входного символа х. Т.к. эти состояния эквивалентны, в обоих случаях будет выдан одинаковый выходной символ.

Если автомат М’ перейдёт в состояние , то автомат М” должен оказаться в состоянии, иначе (если автомат М” перейдёт в состояние) в силу неэквивалентностиинайдётся некоторая входная последовательность х1,…,хр, подача которой, начиная с состояния и, приводит к неодинаковым выходным последовательностям.

Тогда последовательность х1,…,хр, применённая к состояниям и, также будет выдавать различные выходные последовательности, а это противоречит эквивалентности состоянийи. Поэтому мы заключаем, что автоматы М’ и М” совпадают с точностью до переобозначения состояний.

Соседние файлы в папке Лекции и практики