Самостоятельная работа №1 (2)
.docМИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
УФИМСКИЙ ГОСУДАРСТВЕННЫЙ АВИАЦИОННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
Кафедра «Вычислительной техники и защиты информации»
Курс «Теория автоматов»
(самостоятельная работа студентов)
ПРЕДСТАВЛЕНИЕ ГРАММАТИКИ КОНЕЧНЫМ АВТОМАТОМ И СЕТЬЮ ПЕТРИ.
Выполнил:
студен группы ВМ-218
Проверил:
профессор кафедры ВТ и ЗИ
Фрид А.И.
УФА – 2003
Цель работы:
Изучение способов задания языков грамматиками, распознающими автоматами, сетями Петри и построение конечного автомата, распознающего заданный язык.
Исходные данные: Таблица №1
А |
Б |
В |
Г |
Д |
Е |
Ж |
З |
И |
Й |
К |
Л |
М |
Н |
О |
П |
х1 |
х5 |
х2 |
х4 |
х6 |
х6 |
х4 |
х3 |
х3 |
х0 |
х7 |
х0 |
х3 |
х7 |
х4 |
х5 |
Р |
С |
Т |
У |
Ф |
Х |
Ц |
Ч |
Ш |
Щ |
Ь |
Ы |
Э |
Ю |
Я |
― |
х0 |
х4 |
х5 |
х7 |
х2 |
х5 |
х1 |
х2 |
х2 |
х0 |
х6 |
х1 |
х1 |
х3 |
х7 |
х5 |
Таблица №2
Сi |
С1 |
С2 |
С3 |
С4 |
С5 |
С6 |
С7 |
С8 |
С9 |
С10 |
С11 |
С12 |
С13 |
С14 |
С15 |
С16 |
С17 |
С18 |
Si |
И |
С |
Х |
А |
К |
О |
В |
― |
А |
Р |
Т |
У |
Р |
― |
Ф |
Л |
Ю |
Р |
xi |
Х3 |
Х4 |
Х5 |
Х1 |
Х7 |
Х4 |
Х2 |
Х5 |
Х1 |
Х0 |
Х5 |
Х7 |
Х0 |
Х5 |
Х2 |
Х0 |
Х3 |
Х0 |
Р: S→c1 c2 c3 A│c1 c4 c5 B│c6 C│c7 F;
A→ c8 D│c9;
B→ c8 E│c9;
C→ c8 E│c9;
D→ c10 S│c11;
E→ c10 S│c11;
F→ c12 c13 c14 c15│c16 c13c14 c15│c17 c18 c15;
Продукции Р имеют вид универсальных соотношений, но после использования таблицы №2 грамматика становится индивидуальной. Запишем продукции Р в соответствии с таблицей №2:
Р: S→х3 х4 х5 A│х3 х1 х7 B│х4 C│х2 F;
A→ х5 D│х1;
B→ х5 E│х1;
C→ х5 E│х1;
D→ х0 S│х5 ;
E→ х0 S│х5 ;
F→ х7 х0 х5 х2│х0 х0 х5 х2│х3 х0 х2 ;
Переход от праволинейной грамматики к автомату осуществляется за счет расширения нетерминального словаря. Запишем исходную грамматику в автоматном виде:
S→ х3 S1, S1→х4S2 , S2→х5 A;
S→ х3 S3, S3→х1S4 , S4→х7 B;
S→ х4 C; S→х2F;
A→ х5 D, A→х1;
B→ х5 E, B→х1;
C→ х5 E, C→х1;
D→ х0 S, D→х5 ;
E→ х0 S, E→х5 ;
F→ х7 F1, F1→х0F2 , F2→х5F3, F3 → х2;
F→ х0F4 , F4→х0F5 , F5→х5F6, F6 → х2;
F→ х3F7 , F7→х0F8, F8 → х2;
Для построения недетерминированного конечного автомата введем следующие обозначения:
Таблица №3
S |
S1 |
S2 |
S3 |
S4 |
A |
B |
C |
D |
E |
F |
F1 |
F2 |
F3 |
F4 |
F5 |
F6 |
F7 |
F8 |
― |
q0 |
q1 |
q2 |
q3 |
q4 |
q5 |
q6 |
q7 |
q8 |
q9 |
q10 |
q11 |
q12 |
q13 |
q14 |
q15 |
q16 |
q17 |
q18 |
q19 |
Каждому нетерминальному символу грамматики соответствует вершина графа автомата (в таблице №3 вершина графа автомата – qi).
х0
х0
х5
х3
х4
х5
х5
х1
х3
х1
х1
х7
х5
х5
х4
х2
х5
х1
х7
х
х0
х5
х2
х0
х0
х5
х2
х3
х0
q |
х0 |
х1 |
х2 |
х3 |
х4 |
х5 |
х6 |
х7 |
q0 |
|
|
q10 |
q1 q3 |
q7 |
|
|
|
q1 |
|
|
|
|
q2 |
|
|
|
q2 |
|
|
|
|
|
q5 |
|
|
q3 |
|
q4 |
|
|
|
|
|
|
q4 |
|
|
|
|
|
|
|
q6 |
q5 |
|
q19 |
|
|
|
q8 |
|
|
q6 |
|
q19 |
|
|
|
q9 |
|
|
q7 |
|
q19 |
|
|
|
q9 |
|
|
q8 |
q0 |
|
|
|
|
q19 |
|
|
q9 |
q0 |
|
|
|
|
q19 |
|
|
q10 |
q14 |
|
|
q17 |
|
|
|
q11 |
q11 |
q12 |
|
|
|
|
|
|
|
q12 |
|
|
|
|
|
q13 |
|
|
q13 |
|
|
q19 |
|
|
|
|
|
q14 |
q15 |
|
|
|
|
|
|
|
q15 |
|
|
|
|
|
q16 |
|
|
q16 |
|
|
q19 |
|
|
|
|
|
q17 |
q18 |
|
|
|
|
|
|
|
q18 |
|
|
q19 |
|
|
|
|
|
q19 |
|
|
|
|
|
|
|
|
х2
Как следует из таблицы и из графа, автомат является недетерминированным (находясь в состоянии q0 под действием сигнала х3 он переходит сразу в два состояния).
Получим из недетерминированного автомата детерминированный.
q |
х0 |
х1 |
х2 |
х3 |
х4 |
х5 |
х6 |
х7 |
q0 |
|
|
q10 |
q1,q3 |
q7 |
|
|
|
q1,q3 |
|
q4 |
|
|
q2 |
|
|
|
q2 |
|
|
|
|
|
q5 |
|
|
q4 |
|
|
|
|
|
|
|
q6 |
q5 |
|
q19 |
|
|
|
q8 |
|
|
q6 |
|
q19 |
|
|
|
q9 |
|
|
q7 |
|
q19 |
|
|
|
q9 |
|
|
q8 |
q0 |
|
|
|
|
q19 |
|
|
q9 |
q0 |
|
|
|
|
q19 |
|
|
q10 |
q14 |
|
|
q17 |
|
|
|
q11 |
q11 |
q12 |
|
|
|
|
|
|
|
q12 |
|
|
|
|
|
q13 |
|
|
q13 |
|
|
q19 |
|
|
|
|
|
q14 |
q15 |
|
|
|
|
|
|
|
q15 |
|
|
|
|
|
q16 |
|
|
q16 |
|
|
q19 |
|
|
|
|
|
q17 |
q18 |
|
|
|
|
|
|
|
q18 |
|
|
q19 |
|
|
|
|
|
q19 |
|
|
|
|
|
|
|
|