
- •Лекция 1 Список рекомендуемой литературы
- •Теория формальных языков. Модели языка по Хомскому
- •Обозначения
- •Лекция 2 Неоднозначность грамматики
- •Укорачивающие контекстно-свободные грамматики
- •Автоматные грамматики
- •Задача разбора
- •Нормальные формы Бэкуса-Наура. Б.Н.Ф. – нотация
- •Лекция 3
- •Контекстные условия
- •Конечные автоматы
- •Связь автоматных грамматик и конечных автоматов
- •Минимизация автоматов
- •Лекция 4 Машина Тьюринга
- •Минимизация конечного автомата
- •Кс-языки и их связь с мп-автоматами. Магазинная память (мп)
- •Мп-автоматы
- •Мп-автомат, распознающий язык {0n 1n | nN}
- •Графическое описание мп-автомата
- •Лекция 5
- •Совместимые состояния частичных автоматов
- •Нахождение максимальной группировки
- •Построение минимального частичного автомата
- •Модель динамического поведения. Асинхронный процесс как метамодель
- •Лекция 6 Асинхронный процесс
- •Лекция 7 Сети Петри
- •Пространство состояний сетей Петри
- •Анализ сетей Петри
- •Методы анализа сетей Петри. Дерево достижимости
- •Лекция 8 Матричные уравнения
- •Моделирование с помощью сетей Петри
- •События и условия
- •Одновременность и конфликт
Мп-автомат, распознающий язык {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
В данном графическом представлении не указаны ситуации, когда на вход подаются символы, не присутствующие в цепочках, распознаваемых в языке. Считается, что в этом случае происходит переход автомата сразу в отвергающее состояние.
Лекция 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,…,хр,
применённая к состояниям
и
,
также будет выдавать различные выходные
последовательности, а это противоречит
эквивалентности состояний
и
.
Поэтому мы заключаем, что автоматы М’
и М” совпадают с точностью до
переобозначения состояний.