Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
отчет по теории автоматов.docx
Скачиваний:
9
Добавлен:
11.04.2015
Размер:
4.42 Mб
Скачать

Цель работы: изучение способов задания языков грамматиками, распознающими автоматами и сетями Петри и построение конечного автомата, распознающего заданный язык.

Содержание и основные этапы работы:

  • построение праволинейной грамматики;

  • построение автоматной грамматики по праволинейной;

  • построение недетерминированного конечного автомата;

  • сведение недетерминированного конечного автомата к детерминированному;

  • минимизация числа состояний автомата;

  • выполнение этапов 2-5 с использованием аппарата сетей Петри;

  • размещение состояний автомата;

  • структурный и логический синтез распознающего автомата в заданном базисе;

  • реализация автомата.

  1. Индивидуальное задание

Исходными данными для курсовой работы являются две таблицы – таб.1 и таб.2 – и правила вывода R, приведенные ниже.

В таб.1 первоначально записана лишь первая строка, содержащая перечисленные 18 символов сi­. Во вторую строку si записываются первые 18 символов фамилии, имени и отчества с обязательными пробелами между фамилией и именем и именем и отчеством. Затем в третью строку заносим для каждого из 18 символов строки символ из алфавита {x0, x1, x2, x3, x4, x5, x6, x7,} в соответствии с таб.2.

Таблица 1.

с

с1

с2

с3

с4

с5

с6

с7

с8

с9

с10

с11

с12

с13

с14

с15

с16

с17

с18

si

Л

А

Г

У

Т

И

Н

_

Ю

Р

И

Й

_

В

И

Т

А

Л

xi

х0

х1

х4

х7

х5

х3

х7

х5

X3

х0

Х3

Х0

Х5

Х2

х3

Х5

Х1

Х0

Таблица 2 построена на основе подсчета появлений каждой буквы русского алфавита в фамилиях, именах и отчествах контингента студентов. Затем буквы были сформированы в восемь групп с таким расчетом, чтобы появление каждого из символов х07 было равномерным.

Таблица 2.

А

Б

В

Г

Д

Е

Ж

З

И

Й

К

Л

М

Н

О

П

х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

Наконец, задана формальная грамматика G=<Vt, Vn, S, R>, где Vt={c1, …, c18} – терминальный словарь; Vn={S, A, B, C, D, E, F} – нетерминальный словарь; S Vn – начальный символ грамматики; R – множество правил вывода, которые имеют следующий вид:

S → с1 с2 с3A; S → с1 с4 с5B; S → с6C; S → с7F; A → с8D;

A → с9; B → с8E; B→ с9; C → с8E; C → с9;

D → с10S; D → с11; E → с10S; E → с11;

F → с12 с13 с14 с15; F → с16 с13 с14 с15 F → с17 с18 с15

Эта грамматика, являющаяся праволинейной, приводится к виду G’=<V’t, V’n, S, R’>, где V’t={x0, … ,x7} – новый терминальный словарь; R’ – множество правил вывода, получаемых из заданных заменой символов из алфавита V’t в соответствии с таб.1. В данном примере они имеют вид:

S = x0 x1 x4 A | x0 x7 x5 B | x3 C | x7 F

A = x5 D | x3

B = x5 E | x3

C = x5 E | x3

D = x0 S | x3

E = x0 S | x3

F = x0 x5 x2 x3 | x5 x5 x2 x3 | x1 x0 x3

Здесь | - металингвистический символ (связка), читаемый как «ИЛИ». Мощность словаря = 8.

  1. Переход от праволинейной грамматики к автоматной

Этот этап выполняется путем расширения нетерминального словаря способом, вытекающим из возможности преобразования праволинейной грамматики в автономную. Получим множество правил вывода:

S → x0 S1; S1 → x1 S2; S2 → x4 A; S → x0 S3; S3 → x7 S4; S4 → x5 B;

S → x3 C; S → x7 F; A → x5 D; A → x3; B → x5 E; B → x3; C → x5 E; C → x3;

D → x0 S; D → x3; E → x0 S; E → x3; F → x0 F1; F1 → x5 F2; F2 → x2 F3; F3 → x3;

F → x5 F4; F4 → x5 F5; F5 → x2 F6; F6 → x3; F → x1 F7; F7 → x0 F8; F8→ x3

Таким образом, нетерминальный словарь теперь имеет вид:

V’’n = <S, S1, S2, S3, S4, A, B, C, D, E, F, F1, F2, F3, F4, F5, F6, F7, F8>. Мощность словаря равна 19.