Министерство образования и науки РФ
Федеральное агенство по образованию РФ
Государственное образовательное учреждение высшего
профессионального образования
Самарский государственный архитектурно-строительный
университет
СИНТЕЗ КОНЕЧНЫХ АВТОМАТОВ
Методические указания к выполнению
курсовой работы для студентов
специальности 230400
Самара 2012
УДК 62-50 ( 076.5 )
Синтез конечных автоматов: Методические указания к выполнению курсовой работы для студентов специальности 230400 / Сост.
О.В. Прохорова. – Самара, СГАСУ, 2012. - 30c.
Изложены основные требования к выполнению курсовой работы по синтезу конечных автоматов. Приведено индивидуальное задание, описан пример построения автомата по заданной грамматике и его схемотехническая реализация, даны сведения, необходимые для выполнения работы.
.
Оглавление
Введение 3
1. Задание на курсовое проектирование 4
2. Построение и преобразование грамматик 6
3. Построение детерминированного конечного автомата 8
4. Минимизация автомата 11
5. Работа с сетями Петри 13
6. Кодирование состояний автомата 16
7. Структурный синтез автомата 20
Литература 26
Введение
Синтез конечных автоматов является важным разделом в изучении вопросов организации вычислительных процессов и структур. Необходимость в построении теории автоматов возникла с развитием вычислительной техники, с появлением теории формальных языков и грамматик - теории, позволяющей описывать и анализировать синтаксические свойства языков программирования и других формальных языков. Потребовалось решение вопросов преобразования грамматик в автоматы, которые бы распознавали и транслировали множества, задаваемые грамматиками.
Основой изучения данного раздела теории является
построение базовых формальных моделей описания логических структур, динамики поведения вычислительных структур;
выработка навыков проектирования вычислительных систем;
формирование представления о методах, используемых при решении задач анализа, синтеза организации функционирования вычислительных структур и системного программного обеспечения.
1. Задание на курсовое проектирование
Построение право-линейной грамматики по полученным данным.
Переход от право-линейной грамматики к автоматной. Результат -
Право-линейная и автоматная грамматики.
Построение недетерминированного распознающего автомата.
Результат - таблица переходов и граф переходов автомата.
Переход от недетерминированного автомата к полностью опреде-
ленному детерминированному автомату. Результат - таблица перехо-
дов и граф переходов автомата, проверка эквивалентности автоматов.
Минимизация автомата. Построение таблиц переходов на основе
эквивалентных преобразований. Построение разбиения множества
состояний на классы эквивалентности. Результат - таблица переходов
и граф переходов минимального автомата.
Выполнение предыдущего этапа с использованием сети Петри. Результат - сеть Петри, соответствующая автоматной грамматике, и минимальная сеть Петри. Сравнение полученной минимальной сети с таблицей переходов минимального автомата.
Кодирование состояний автомата. Результат - логические функции переключения элементов памяти; логические функции состояния ошибки и состояния, подтверждающего принадлежность анализируемой формальной цепочки входных символов формальному языку заданной грамматики.
Построение комбинационной схемы автомата.
Для синтеза конечного автомата задана формальная грамматика
G = < V , W , S , R >,
где V = {c1, c2,..., c18} - словарь терминальных символов;
W = {S, A, B, C, D, E, F} - словарь нетерминальных символов;
S - начальный символ грамматики; R - множество правил вывода:
S c1 c2 c3 A С c8 E
S c1 c4 c5 B C c9
S c6 C D c10 S
S c7 F D c11
A c8 D E c10 S
A c9 E c11
B c8 E F c12 c13 c14 c15
B c9 F c10 c13 c14 c15
F c17 c18 c15
Задача курсовой работы - синтезировать конечный автомат, распознающий цепочки входного языка на принадлежность заданной грамматике.
Для выполнения индивидуальной работы требуется перейти к новому терминальному словарю, используя табл. 1 и 2.
Таблица 1
А |
Б |
В |
Г |
Д |
Е |
Ж |
З |
И |
Й |
К |
Л |
М |
Н |
О |
П |
x1 |
x5 |
x2 |
x4 |
x6 |
x6 |
x4 |
x3 |
x3 |
x0 |
x7 |
x0 |
x3 |
x7 |
x4 |
x5 |
Р |
С |
Т |
У |
Ф |
Х |
Ц |
Ч |
Ш |
Щ |
Ъ |
Ы |
Э |
Ю |
Я |
|
x0 |
x4 |
x5 |
x7 |
x2 |
x5 |
x4 |
x2 |
x2 |
x0 |
x6 |
x1 |
x1 |
x3 |
x7 |
x5 |
Таблица 2
c1 |
c2 |
c3 |
c4 |
c5 |
c6 |
c7 |
c8 |
c9 |
c10 |
c11 |
c12 |
c13 |
c14 |
c15 |
c16 |
c17 |
c18 |
|
Б |
О |
Ч |
К |
А |
Р |
Е |
В |
|
П |
А |
В |
Е |
Л |
|
В |
Я |
Ч |
|
x5 |
x4 |
x2 |
x7 |
x1 |
x0 |
x6 |
x2 |
x5 |
x5 |
x1 |
x2 |
x6 |
x0 |
x0 |
x2 |
x7 |
x2 |
Каждый студент вписывает свою фамилию, имя, отчество в табл. 2.
При этом на основе соответствия букв русского алфавита и символов xi
( табл. 1) устанавливается индивидуальное соответствие xi и ci.