
lab_3
.pdfМИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное автономное образовательное учреждение высшего образования
«САНКТ-ПЕТЕРБУРГСКИЙ УНИВЕРСИТЕТ АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ»
КАФЕДРА № 41
ОТЧЕТ ЗАЩИЩЕН С ОЦЕНКОЙ
ПРЕПОДАВАТЕЛЬ
старший преподаватель |
|
|
|
Н.Н. Григорьева |
|
|
|
|
|
|
|
|
|
|
должность, уч. степень, звание |
|
подпись, дата |
|
инициалы, фамилия |
ОТЧЕТ О ЛАБОРАТОРНОЙ РАБОТЕ №3
ПОСТРОЕНИЕ РАСПОЗНАЮЩЕГО АВТОМАТА ПО РЕГУЛЯРНОМУ ВЫРАЖЕНИЮ
по курсу: Теория автоматов и формальных языков
РАБОТУ ВЫПОЛНИЛ |
|
|
|
|
|
|
СТУДЕНТ ГР. № |
4016 |
|
|
|
Жовтяк М.О. |
|
|
|
|
|
|
|
|
|
|
|
|
подпись, дата |
|
инициалы, фамилия |
Санкт-Петербург 2022
1)Цель работы
Изучение методов построения распознавателя контекстно-свободной
грамматики на основе описания грамматик в виде регулярного выражения
или грамматики Хомского.
2) Порядок работы
1.Данная лабораторная работа выполняется на базе автомата, построенного в ЛР№2.
2.На основе задания построить граф переходов распознающего автомата и эквивалентную ему КС-грамматику .
3.Промоделировать работу распознающего автомата на тестовых последовательностях, позволяющих выявить все возможные результаты распознавания
4.Промоделировать работу распознавателя на базе найденной грамматики на тех же тестовых последовательностях.
5.Сравнить полученные результаты, убедиться в эквивалентности работы распознавателей.
6.Автоматически конвертировать регулярную грамматику в граф конечного автомата
7.Промоделировать работу полученного автомата на тестовых последовательностях, сравнить полученные результаты с результатами п.п.3
и4, сделать выводы
3) Вариант задания
Вариант №15
Входной алфавит {a, b, c, d, z}
Последовательность: acd
4) Построение грамматики и графа конечного автомата
На основе полученного задания построена контекстно-свободная
грамматика распознающего автомата.
2

Из раскрытия S можно получить только a, b, d или совершить переход в
C (z). S раскрывается как a, и соответственно переход в A, иначе в S. Если A
раскрыть, как c, тогда переход в B, который можно раскрыть только как d,
после чего происходит переход в B. В остальных случая происходит переход в S.
S -> aA|bS|dS|C
A -> aS|bS|cB|dS|C
B -> dS
C -> z
На основе созданной грамматики был построен граф автомата-
распознавателя (рис.1).
Рисунок 1 – Граф автомата распознавателя Моделируется работа автомата для входной последовательности, где не
встречается c, abdaaabdz (рис.2).
Рисунок 2 – Результат первого моделирования распознавателя Моделируется работа автомата для входной последовательности, где
корректно вводится c, acdbbacdaz (рис.3).
3

Рисунок 3 – Результат второго моделирования распознавателя Моделируется работа автомата для входной последовательности, где
некорректно вводится c, adddbcaz (рис.4).
Рисунок 4 – Результат третьего моделирования распознавателя
5) Моделирование грамматики, конвертация её в граф автоматов
Моделируется работа КС-грамматики.
Для входной последовательности, где не встречается c, abdaaabdz (рис.5).
Рисунок 5 – Результат первого моделирования грамматики
Для входной последовательности, где корректно вводится c, acdbbacdaz (рис.6).
4

Рисунок 6 – Результат второго моделирования грамматики
Для входной последовательности, где некорректно вводится c, adddbcaz (рис.7).
Рисунок 7 – Результат третьего моделирования грамматики Результаты работы всех автоматов одинаковы и проверены на одних и
тех же последовательностях.
Полученная грамматика с помощью автоматической конвертации
JFLAP строится в виде графа (рис.8).
Рисунок 8 – Автоматически построенный граф
5

Для входной последовательности, где не встречается c, abdaaabdz (рис.9).
Рисунок 9 – Результат первой проверки автоматически построенного графа
Для входной последовательности, где корректно вводится c, acdbbacdaz (рис.10).
Рисунок 10 – Результат второй проверки автоматически построенного графа
Для входной последовательности, где некорректно вводится c, adddbcaz (рис.11).
Рисунок 11 – Результат третьей проверки автоматически построенного графа
6
6) Вывод
Сравнив результаты проверки грамматики, исходного и автоматически полученного автомата на одинаковых тестовых последовательностях можно увидеть, что полученные результаты также одинаковы. Это значит, что работа выполнена верно.
В ходе работы я приобрел навыки создания КС-грамматики распознающего автомата, углубил знания создания графов автоматов.
7