Загрузил vika.lovesone

Лабораторная работа

Реклама
Лабораторная работа № 1
основные методы анализа и синтеза конечных автоматов на абстрактном уровне.
Автоматы в лабораторной работе заданы автоматной таблицей, в которой строки
представляют собой состояния, а столбцы – буквы входного алфавита: на пересечении iой строки и j-го столбца стоит номер состояния, в которое переходит автомат из i-го
состояния по j-ой входной букве, и через запятую – буква выходного алфавита,
появляющаяся при этом на выходе автомата (для автоматов Мили). В таком же виде
следует представлять и результаты заданий (где это необходимо).
Задание
1. Разложить заданный автомат А на автономные:
а) по входным буквам Ax1, Aх2;
б) по выходным буквам Ay1, Ay2 .
2. По автомату Мили построить эквивалентный ему автомат Мура, используя
теорему 4.2.2 [1].
3. По автомату Мура построить эквивалентный ему автомат Мили.
4. Найти автоматные отображения слов для заданного автомата, предполагая, что:
а) функция выхода обычная (автомат 1-го рода);
б) функция выхода сдвинутая (автомат 2-го рода).
5. Минимизировать автомат, используя алгоритм Мили.
6. Написать формулу в алгебре Клини, задающую событие в алфавите {a, b, c}.
7. Синтезировать автомат (на абстрактном уровне), представляющий регулярное
событие.
8. Провести анализ автомата (написать выражение регулярного события,
представляемого автоматом). Начальное состояние – 1, заключительное – 4.
Исходные данные – вариант №8.
Выполнение работы:
1. Разложить заданный автомат А на автономные
qi/xj
1
2
3
а) по входу
х1
2, у1
1, у1
2, у2
qi/xj
1
2
3
по выходу
х1
х2
2, у1
1, у1 3, у1
3, у1
qi/xj
1
2
3
х2
3, у2
3, у1
3, у1
qi/xj х1
х2
1
3, у2
2
3
2, у2
2. По автомату Мили построить эквивалентный ему автомат Мура.
Выход автомата Мили определяется парой состояние/вход. Обозначим пару
состояние/вход как состояние автомата Мура, дополним строкой с выходом:
Состояние/вход Мили 1/х1 1/х2 2/х1 2/х2
Состояние Мура
b11 b12 b21 b22
Выход
у2
у1
у2
у3
Начальное состояние автомата Мура обозначим b0.
Построим таблицу переходов и обозначим выходы автомата Мура:
qi/xj x1 x2 μ
b0
b11 b12 b11 b11 b12 y2
b12 b21 b22 y1
b21 b21 b22 y2
b22 b21 b22 y3
3. По автомату Мура построить эквивалентный ему автомат Мили.
qi/xj
1
2
3
4
Запишем таблицу переходов автомата Мили
х1
х2
4, у3 3, у2
2, у1 1, у1
3, у2 4, у3
1, у1 2, у1
4. Найти автоматные отображения слов для заданного автомата
а) функция выхода обычная (автомат 1-го рода). Новое состояние и выход
определяется старым состоянием и входом.
Определим новые состояния и выходы:
Вход
х3 х2 х1 х3 х2 х1 х1
Состояние 1 2 2 4 1 3 4 3
Выход
у2 у1 у2 у2 у1 у1 у2
б) функция выхода сдвинутая (автомат 2-го рода). Новое состояние определяется
старым состоянием и входом, выход определяется новым состоянием и входом.
Вход
х3 х2 х1 х3 х2 х1 х1
Состояние 1 2 2 4 1 3 4 3
Выход
у1 у1 у2 у2 у2 у2 у1
5. Минимизировать автомат, используя алгоритм Мили.
Шаг 1. Объединим состояния по выходу: при одинаковом входе выход совпадает
C1 = {1, 4, 5, 8}, C2 = {2, 9}, C3 = {3, 6, 7}.
Шаг 2. Проведём разбиение по классу перехода: при одинаковом входе переходы
идут в те же классы.
C11 = {1}, C12 = {4}, C13 = {5}, C14 = {8},
C21 = {2}, C22 = {9},
C31 = {3}, C32 = {6}, C33 = {7}.
Все полученные классы содержат по одному состоянию. Это значит, что автомат
уже минимизирован.
6. Написать формулу в алгебре Клини, задающую событие в алфавите {a, b, c}.
Длина слова не менее 2 символов.
Два символа: a  b
Три символа: a  b  (a  b)
Четыре и более символа: a  b  (a  b  c) * (a  b) .
Окончательно получим: a  b  a  b  (a  b  c) * (a  b) .
7. Синтезировать автомат (на абстрактном уровне), представляющий регулярное
событие.
Обозначим H 1  (ca  ba*) * ,
H 2  (b  c) * . Схематично изобразим переходы
графа:
0
1
Н1
2
Н2
Для группы H 2  (b  c) * получим:
b
c
Аналогично для группы H 1  (ca  ba*) * получим:
а
а
b
b
c
а
Окончательно получим граф автомата:
а
2
а
b,с
b
0
c
а
1
8. Провести анализ автомата (написать выражение регулярного события,
представляемого автоматом). Начальное состояние – 1, заключительное – 4
Построим граф
c
1
4
а
b
а
3
b
а
2
b
По графу строим регулярное выражение: (( ab * a  b)a  c)b *
Скачать