Министерство образования Российской Федерации ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)

advertisement
Министерство образования Российской Федерации
ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ
УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)
ЛАБОРАТОРНАЯ РАБОТА №1
МАТЕМАТИЧЕСКИЕ ОСНОВЫ ТЕОРИИ СИСТЕМ
(«Математические основы теории систем», Томск-2002, А.Г. Карпов)
Вариант - 13
Выполнил:
Студент ФДО ТУСУР
группы
ФИО
2014 г
Цель лабораторной работы  освоить основные понятия теории
автоматов и основные методы анализа и синтеза конечных автоматов на
абстрактном уровне.
Автоматы в лабораторной работе заданы автоматной таблицей, в
которой строки представляют собой состояния, а столбцы – буквы входного
алфавита: на пересечении i-ой строки и j-го столбца стоит номер состояния, в
которое переходит автомат из i-го состояния по j-ой входной букве, и через
запятую – буква выходного алфавита, появляющаяся при этом на выходе
автомата (для автоматов Мили). В таком же виде следует представлять и
результаты заданий (где это необходимо).
Задание№1
Разложить заданный автомат А на автономные:
а) по входным буквам Ax , Ax ;
1
qi x j
1
x1
2, y1
2
3
2
x2
3, y1
2, y1 1, y 2
2, y1 3, y1
Строим граф:
x1,y1
x1,y1
1
х2,y2
x2,y1
2
1
x2,y1
х1,y1
3
1
Из автомата с входным алфавитом X =x1, x2 может быть построено
2
различных автономных по входу автоматов исключением из графа
переходов автомата всех ребер, кроме ребер с x1 либо x2
Ax1 :
x1,y1
1
x1,y1
2
1
x1,y1
3
1
Ax2 :
1
2
1
x2,y1
x2,y1
x2,y2
3
1
x1
X2
1
2, y1
1
3, y1
2
2, y1
2
1, y2
3
2, y1
3
3, y1
б) Аналогично, автомат называется автономным по выходу, если его
выходной алфавит состоит из одной буквы Y = y.
Ay1 :
x1,y1
x1,y1
1
2
1
x2,y1
x2,y1
х1,y1
3
1
Ay 2 :
1
x2,y2
2
1
Ay 2
Ay1
x1
х2
1
2,у1
3, y1
2
2, y1
3
2, y1
3, y1
x1
X2
1
2
1, y2
3
-
Задание №2
По автомату Мили построить эквивалентный ему автомат Мура,
используя теорему 4.2.2 [1].
qi x j
1
2
x1
1, y 2
2, y1
x2
2, y 2
1, y 3
Для данного автомата число состояний n=2, число входных букв m=2.
Построим эквивалентный автомат Мура. В соответствии с теоремой 4.2.2
число состояний эквивалентного автомата Мура составит n*m+n=6.
Полагая в формуле
Получим
Воспользовавшись формулой
И учитывая, что индекс l определяется из соотношения
Имеем
М(q11,x1)=q21
М(q11,x2)=q22
М(q12,x1)=q11
М(q12,x2)=q12
М(q21,x1)=q11
М(q21,x2)=q12
М(q22,x1)=q21
М(q22,x2)=q22
Далее находим функцию отметок по формуле
И составляем автоматную таблицу
X1
X2

q10
q21
q22
-
q20
q11
q12
-
q11
q11
q12
y2
q12
q21
q22
y2
q21
q21
q22
y1
q22
q11
q12
y3
Задание №3
По автомату Мура построить эквивалентный ему автомат Мили
q x
1
2
3
4
x1
3
2
1
2
x2
1
4
2
1

y2
y1
y4
y3
Таблицы переходов автомата Мили и эквивалентного ему автомата
Мура совпадают. Таблица выходов автомата Мили составляется так, что в
каждую клетку таблицы записывается выходной сигнал, которым отмечено
состояние, расположенное в данной клетке.
λ(1, x1)=y3
λ(2, x1)=y2
λ(3, x1)=y1
λ(4, x1)=y2
λ(1, x2)=y1
λ(2, x2)=y2
λ(3, x2)=y2
λ(4, x2)=y1
x1
x2
1
3, y3
1, y1
2
2, y2
4, y2
3
1, y1
2,y2
4
2, y2
1, y1
Задание №4
Найти автоматные отображения слов для заданного автомата, предполагая,
что:
a) Функция выхода обычная (автомат 1 рода).
b) Функция выхода сдвинутая (автомат 2 рода).
Задан автомат
qi/xj x1
x2
x3
3, y2 2, y1 4, y1
1
3, y1 4, y1 1, y2
2
2, y2 3, y1 4, y2
3
4
1, y1 2, y2 3, y1
и входное слово: x= x2x1x2x1x2x3x2
Решение
В качестве начального состояния примем q1.
Для автомата первого рода
q  t     q  t  1 , x  t  
y  t     q  t  1 , x  t  
Получаем ленту автомата:
Такт
X
Q
Y
0 1
- x2
1 2
- y1
2
x1
3
y1
3
x2
4
y1
4
x1
3
y1
5
x2
2
y1
6
x3
4
y1
7
x2
2
y2
6
x2
2
y2
7
-
Для автомата второго рода
q  t     q  t  1 , x  t  
y t     q t  , x t 
Получаем ленту автомата:
Такт
X
Q
Y
0
x2
2
y1
1
x1
3
y1
2
x2
4
y1
3
x1
3
y1
4
x2
2
y1
5
x3
4
y1
Задание №5
Минимизировать автомат, используя алгоритм Мили:
q x
1
x1
x2
3 ,1 7 ,0
x3
1 ,0
2
7 ,1
6 ,1
2 ,0
3
4
3 ,1
9 ,0
3 ,0
8 ,1
1 ,0
7 ,1
5
5 ,0
6 ,1
6 ,1
6
7 ,1
3 ,1
2 ,0
7
8
9 ,0
4 ,0
3 ,1
8 ,1
3 ,1
4 ,1
9
6 ,1 6 ,0
4 ,0
Решение
Шаг 1. Разбиение множества состояний автомата на классы эквивалентности
по сигнатуре выходов:
q 2 q6
q4 q5 q7 q8
q1q3q9
1 0 0 
 011   110 
Шаг 2. Разбиение классов эквивалентности состояний по сигнатуре
переходов:
 q1q3q9 
q4 q5q7 q8
x1
 q3q3q6 
x1
x2
x2
x3
 q7q3q6 
 q1q1  q4 
q2 q6
x1
x2
q7 q7
x3
q6 q3
q2 q2
 q9q5q9q4 
 q8q8  q6q3   q7 q6q3   q4 
x3
Шаги 3,4... В результате разбиения, получаем новый набор классов
эквивалентности, для которого снова проводим процедуру разбиения:
 q9   q1q3   q5   q8 
x1
 q4q7 
 q2q6 
x1
 q3q3 
x2
x3
 q7  q3   q1q1 
 q9q9 
x1
x2
 q7 q7 
 q8  q3   q7  q3 
x3
x2
x3
 q6q3 
 q2q2 
 q9   q1   q3   q5   q8   q4   q7   q2q6 
x1
 q7 q7 
x2
x3
 q6  q3 
q7 q7 
Как видно, все классы эквивалентности, в конце концов, разбились на
исходный набор состояний. Минимизация автомата невозможна.
Задание №6
Написать формулу в алгебре Клини, задающую событие в алфавите {a,b,c}:
Все слова, содержащие b нечётное число раз.
Решение
Для
формирования
заданного
регулярного
события
использовать вспомогательное событие – Н1=слово не содержит b.
Тогда искомое событие получает вид:
H1
е
q0
H1
b
е
qz
можно
Событие Н1, в свою очередь, можно представить в виде сигнального
графа
b
cb
е
е
b
q0
q1
qz
q2
a
e
Расщепляя вершину q1, получаем источник:
e
b
е
b
q1/
cb
q0
q2
a
qz
е
q1//
cbbb*a
е
q0
b
е
b
q1
q2
qz
e
Соответствующий формуле
H1   c  b  b  a   b   c  b  b  a    c  b  b  a    b  e  
 c  b  b  a
Таким образом, решением задачи является формула
E  c  b  b  a   b  c  b  b  a 
Задание №7
Синтезировать
автомат
(на
абстрактном
уровне),
представляющий
регулярное событие:
(c  ab)* c*
Решение
Сигнальный граф заданного события:
c
a
b
е
q0
е
e
q2
q1
a
q3
qz
c
Детерминизация:
q
a
b
c
q0
{q1, qz} {q2,q3} {q2,q3}
{q1, qz} {q1, qz} {q2,q3} {q2,q3}
{q2,q3} {q1, qz} {q2,q3} {q2,q3}
После переобозначения вершин, получаем таблицу переходов и граф
автомата:
q a b c
1 1 2 3
2 1 2 3
3 1 2 3
а
1
2
bc
bc
3
bc
Выделены состояния: 1 –начальное , 2 — конечное (содержит qz исходного
источника)
Задание №8
Провести анализ автомата (написать выражение регулярного события,
представляемого автоматом). Начальное состояние — 1, заключительное —
4.
q/x
1
2
3
4
a
3
2
2
b
2
4
4
-
c
1
4
Решение
В виде графа заданный автомат выглядит так:
с
3
а
а
1
b
2
a
b
b
4
c
После приведения к индексному остатку получаем:
3
a
1'
c
a
b
2
b
a
1''
b
4'
c
e
4''
После нахождения приращений
индексных вершин, получаем:
qz
остаточных дуг и
устранения
3
a
c
a
b
2
b
1''
b
4''
e
qz
c*∙b∙a
c*∙ab*ab*∙(c*ba)* b
1
qz
c*∙ba*∙b∙(cbva)
Итак, искомое регулярное выражение события, представляемого заданным
автоматом, имеет вид:
Е= c*∙ba*∙b∙(cbva) или c*∙ab*ab*∙(c*ba)* b
Download