
- •Лекция 1 Список рекомендуемой литературы
- •Теория формальных языков. Модели языка по Хомскому
- •Обозначения
- •Лекция 2 Неоднозначность грамматики
- •Укорачивающие контекстно-свободные грамматики
- •Автоматные грамматики
- •Задача разбора
- •Нормальные формы Бэкуса-Наура. Б.Н.Ф. – нотация
- •Лекция 3
- •Контекстные условия
- •Конечные автоматы
- •Связь автоматных грамматик и конечных автоматов
- •Минимизация автоматов
- •Лекция 4 Машина Тьюринга
- •Минимизация конечного автомата
- •Кс-языки и их связь с мп-автоматами. Магазинная память (мп)
- •Мп-автоматы
- •Мп-автомат, распознающий язык {0n 1n | nN}
- •Графическое описание мп-автомата
- •Лекция 5
- •Совместимые состояния частичных автоматов
- •Нахождение максимальной группировки
- •Построение минимального частичного автомата
- •Модель динамического поведения. Асинхронный процесс как метамодель
- •Лекция 6 Асинхронный процесс
- •Лекция 7 Сети Петри
- •Пространство состояний сетей Петри
- •Анализ сетей Петри
- •Методы анализа сетей Петри. Дерево достижимости
- •Лекция 8 Матричные уравнения
- •Моделирование с помощью сетей Петри
- •События и условия
- •Одновременность и конфликт
Связь автоматных грамматик и конечных автоматов
Грамматика
называется праволинейной, если правая
часть любого правила содержит не более
одного нетерминального символа. При
этом этот нетерминальный символ может
быть только последним символом цепочки
в правой части:
Модифицированной
автоматной грамматикой называется
такая грамматика, у которой все правила
имеют вид:
и
имеется правило с пустой цепочкой
.
Любая автоматная грамматика может быть преобразована в модифицированную.
Пример преобразования праволинейной грамматики в модифицированную:
1. S→cA
2. S→bc 2.1 S→bF
2.2 F→cG
2.3 G→ε
3. S→A 3.1 S→aD Преобразование правила 3 основано на том, что вместо А
3.2 S→cA надо подставить правые части тех правил, у которых в левой
3.3 S→ε части стоит символ А.
4. A→abbS 4.1 A→aD
4.2 D→bE
4.3 E→bS
5. A→cA
6. A→ε
Теорема: Класс языков, распознаваемых конечными автоматами, совпадает с классом языков, порождаемых модифицированными автоматными грамматиками.
При доказательстве теоремы необходимо установить взаимнооднозначное соответствие между модифицированными грамматиками и конечными автоматами. Соответствие строится следующим образом: если задан конечный автомат, то определено множество состояний S, алфавит входных символов T, множество конечных состояний S2, функция перехода δ и начальное состояние s0.
Для грамматики необходимо определить множество нетерминальных символов N, терминальных – Tг , начальный символ Sг и правила вывода P. Будем считать, что множество состояний S определяет множество нетерминальных символов N с точностью до переобозначения. По алфавиту входных символов автомата Т строится алфавит грамматики Тг. В качестве аксиомы грамматики Sг возьмём начальное состояние s0. Правила вывода Р будем строить следующим образом: функция перехода может быть определена набором значений и аргументов функций δ(q,a)=p. Каждой такой записи сопоставим правило: q → ap.
Для грамматики множество конечных состояний S2 описывать не следует.
При сопоставлении
грамматике автомата аналогичным образом
сопоставим
,
если имеется правило
и состояниеq
при входном символе a
переходит в состояние р.
Множество S2
конечных состояний определяется правилом
вида:
.
Каждой цепочке, допускаемой конечным
автоматом, соответствует путь по графу
из начальной вершиныSГ
в конечную вершину К. По данной цепочке
путь можно определить однозначно.
Используя
преобразование грамматик, мы можем
получить правила вида:
.
Подобные правила можно исключить. Кроме
того, возможно наличие нетерминалов,
которые не участвуют в выводе терминальных
цепочек. Такие нетерминалы оказываются
бесполезными, и их также желательно
исключить. Могут оказаться нетерминалы,
которых невозможно достичь из начального
символа. Они называются недостижимыми.
Их также исключают из рассмотрения.
Таким образом, мы можем уменьшить
грамматику.