Uploaded by denisio13

Лаб1

advertisement
Федеральное агентство по образованию
Томский государственный университет
систем управления и радиоэлектроники
(ТУСУР)
Лабораторная работа № 1
по дисциплине «Математические основы теории систем - 1»
(Учебное пособие: А.Г. Карпов,
«Математические основы теории систем», 2002)
Выполнил:
студент ТМЦДО
гр.:з-517а
специальности 220201
Пономарев Сергей Сергеевич
16 Октября 2008
Омск
2008г
ЛАБОРАТОРНАЯ РАБОТА №1
Цель лабораторной работы  освоить основные понятия теории
автоматов и основные методы анализа и синтеза конечных автоматов на
абстрактном уровне.
Автоматы в лабораторной работе заданы автоматной таблицей, в
которой строки представляют собой состояния, а столбцы – буквы входного
алфавита: на пересечении i-ой строки и j-го столбца стоит номер состояния, в
которое переходит автомат из i-го состояния по j-ой входной букве, и через
запятую – буква выходного алфавита, появляющаяся при этом на выходе
автомата (для автоматов Мили). В таком же виде следует представлять и
результаты заданий (где это необходимо).
12 вариант
1. Разложить заданный автомат А на автономные:
а) по входным буквам Ax , Ax ;
1
qi x
x1
x2
1
2
1, y 2
1, y 1
3, y 2
3, y 1
3
2,y 2
1, y 1
j
2
Строим граф:
x1,y2
x1,y1
1
x2,y1
x2,y2
x1,y2
2
1
x2,y1
3
1
Из автомата с входным алфавитом X =x1, x2 может быть построено
2 различных автономных по входу автоматов исключением из графа
переходов автомата всех ребер, кроме ребер с x1 либо x2
Ax1 :
x1,y2
x1,y1
1
x1,y2
2
1
3
1
Ax2 :
1
x2,y1
x2,y2
2
1
x2,y1
3
1
x1
X2
1
1, y2
1
3, y2
2
1, y1
2
3, y1
3
2, y2
3
1, y1
б) Аналогично, автомат называется автономным по выходу, если его
выходной алфавит состоит из одной буквы Y = y.
Ay1 :
x1,y1
1
2
1
x2,y1
x2,y1
3
1
Ay2 :
x1,y2
1
x1,y2
2
1
x2,y2
3
1
Ay1
Ay2
x1
X2
x1
X2
1
-
-
1
1, y2
3, y2
2
1, y1
3, y1
2
-
-
3
-
1, y1
3
2, y2
-
2. По автомату Мили построить эквивалентный ему автомат Мура,
используя теорему 4.2.2 [1].
qi x j
x1
x2
1
2, y1
1, y 3
2
1, y 2
2,y 2
Для данного автомата число состояний 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
q10
q11
q20
q21
q11
q21
q12
q11
q21
q11
q22
q21
X2
q12
q22
q22
q12
q12
q22

y1
y3
y2
y2
3. По автомату Мура построить эквивалентный ему автомат Мили.
q x
x1
x2

1
4
2
y3
2
3
4
y2
3
2
1
y1
4
3
2
y1
Таблицы переходов автомата Мили и эквивалентного ему автомата
Мура совпадают. Таблица выходов автомата Мили составляется так, что в
каждую клетку таблицы записывается выходной сигнал, которым отмечено
состояние, расположенное в данной клетке.
x1
x2
1
4, y1
2, y2
2
3, y1
4, y1
3
2, y2
1,y3
4
3, y1
2, y2
4. Найти автоматные отображения слов для заданного автомата,
предполагая, что:
а) функция выхода обычная (автомат 1-го рода);
б) функция выхода сдвинутая (автомат 2-го рода).
q x
x1
x2
x3
1
2,y1
4,y1
2,y 2
2
3, y 1
4,y 2
1, y 1
3
4,y 2
3, y 2
1, y 2
4
3, y 1
4,y 2
2,y1
x = x1x2x2x1x2x3x2
а) q(t) = (q(t-1),x(t)),
y(t) = (q(t-1),x(t)),
S(qi,xj) = (qi,xj)
S(qi, x xj) = S(qi, x ) (( qi, x),xj) –автоматное отображение.
 q1 , x1    1, x1   2
 q1 , x1 x2     1, x1 , x2    2, x2   4
 q1 , x1 x2 x2      1, x1 , x2 , x2    4, x2   4
 q1 , x1 x2 x2 x1       1, x1 , x2 , x2 , x1    4, x1   3
 q1 , x1 x2 x2 x1 x2        1, x1 , x2 , x2 , x1 , x2    3, x2   3
 q1 , x1 x2 x2 x1 x2 x3         1, x1 , x2 , x2 , x1 , x2 , x3    3, x3   1
 q1 , x1 x2 x2 x1 x2 x3 x2          1, x1 , x2 , x2 , x1 , x2 , x3 , x2    1, x2   4
 


S q , x x x    4, x   y
S q1 , x1   1, x1   y1
S q1 , x1 x2   2, x2   y2
1
1 2 2
2
2
S q1 , x1 x2 x2 x1   4, x1   y1
S q1 , x1 x2 x2 x1 x2   3, x2   y2
S q1 , x1 x2 x2 x1 x2 x3    3, x3   y2
S q1 , x1 x2 x2 x1 x2 x3 x2    1, x2   y1
Если на вход автомата, находящегося первоначально в состоянии 1, поступит
слово x = x1x2x2x1x2x3x2
то на выходе будет слово
Y  y1 y2 y2 y1 y2 y2 y1
________________
 q2 , x1    2, x1   3
 q2 , x1 x2     2, x1 , x2    3, x2   3
 q2 , x1 x2 x2      2, x1 , x2 , x2    3, x2   3
 q2 , x1 x2 x2 x1       2, x1 , x2 , x2 , x1    3, x1   4
 q2 , x1 x2 x2 x1 x2        2, x1 , x2 , x2 , x1 , x2    4, x2   4
 q2 , x1 x2 x2 x1 x2 x3         2, x1 , x2 , x2 , x1 , x2 , x3    4, x3   2
 q2 , x1 x2 x2 x1 x2 x3 x2          2, x1 , x2 , x2 , x1 , x2 , x3 , x2    2, x2   4


S q2 , x1   2, x1   y1
S q2 , x1 x2    3, x2   y2
S q2 , x1 x2 x2   3, x2   y2
S q2 , x1 x2 x2 x1    3, x1   y2
S q2 , x1 x2 x2 x1 x2   4, x2   y2
S q2 , x1 x2 x2 x1 x2 x3    4, x3   y1
S q2 , x1 x2 x2 x1 x2 x3 x2    2, x2   y2
Если на вход автомата, находящегося первоначально в состоянии 2, поступит
слово x = x1x2x2x1x2x3x2
то на выходе будет слово
Y  y1 y2 y2 y2 y2 y1 y2
___________________
 q3 , x1    3, x1   4
 q3 , x1 x2     3, x1 , x2    4, x2   4
 q3 , x1 x2 x2      3, x1 , x2 , x2    4, x2   4
 q3 , x1 x2 x2 x1       3, x1 , x2 , x2 , x1    4, x1   3
 q3 , x1 x2 x2 x1 x2        3, x1 , x2 , x2 , x1 , x2    3, x2   3
 q3 , x1 x2 x2 x1 x2 x3         3, x1 , x2 , x2 , x1 , x2 , x3    3, x3   1
 q3 , x1 x2 x2 x1 x2 x3 x2          3, x1 , x2 , x2 , x1 , x2 , x3 , x2    1, x2   4


S q3 , x1   3, x1   y 2
S q3 , x1 x2    4, x2   y2
S q3 , x1 x2 x2    4, x2   y2
S q3 , x1 x2 x2 x1    4, x1   y1
S q3 , x1 x2 x2 x1 x2    3, x2   y2
S q3 , x1 x2 x2 x1 x2 x3    3, x3   y2
S q3 , x1 x2 x2 x1 x2 x3 x2    1, x2   y1
Если на вход автомата, находящегося первоначально в состоянии 3, поступит
слово x = x1x2x2x1x2x3x2
то на выходе будет слово
Y  y2 y2 y2 y1 y2 y2 y1
___________________
 q4 , x1    4, x1   3
 q4 , x1 x2     4, x1 , x2    3, x2   3
 q4 , x1 x2 x2      4, x1 , x2 , x2    3, x2   3
 q4 , x1 x2 x2 x1       4, x1 , x2 , x2 , x1    3, x1   4
 q4 , x1 x2 x2 x1 x2        4, x1 , x2 , x2 , x1 , x2    4, x2   4
 q4 , x1 x2 x2 x1 x2 x3         4, x1 , x2 , x2 , x1 , x2 , x3    4, x3   2
 q4 , x1 x2 x2 x1 x2 x3 x2          4, x1 , x2 , x2 , x1 , x2 , x3 , x2    2, x2   4


S q4 , x1   4, x1   y1
S q4 , x1 x2    3, x2   y2
S q4 , x1 x2 x2   3, x2   y2
S q4 , x1 x2 x2 x1    3, x1   y2
S q4 , x1 x2 x2 x1 x2    4, x2   y 2
S q4 , x1 x2 x2 x1 x2 x3    4, x3   y1
S q4 , x1 x2 x2 x1 x2 x3 x2    2, x2   y2
Если на вход автомата, находящегося первоначально в состоянии 4, поступит
слово x = x1x2x2x1x2x3x2
то на выходе будет слово
Y  y1 y2 y2 y2 y2 y1 y2
б) q(t) = (q(t-1),x(t)),
y(t) = (q(t),x(t)),
 q1 , x1    1, x1   2
 q2 , x2    2, x2   4
 q4 , x2    4, x2   4
 q4 , x1    4, x1   3
 q3 , x2    3, x2   3
 q3 , x3    3, x3   1
 q1 , x2    1, x2   4
 2, x1   y1
 4, x2   y2
 4, x2   y 2
 3, x1   y2
 3, x2   y2
 1, x3   y2
 4, x2   y2
S(q1, x1x2x2x1x2x3x2)=y1y2 y2 y2 y2 y2 y2
5. Минимизировать автомат, используя алгоритм Мили.
q x
x1
x2
x3
1
8 ,1
7 ,1
4 ,0
2
9 ,0
1 ,1
8 ,1
3
9 ,0
5 ,1
5 ,1
4
8 ,1
5 ,1
4 ,0
5
5 ,1
8 ,0
3 ,0
6
7 ,1 7 ,0
2 ,0
7
5 ,1
5 ,0
3 ,0
8
2 ,0
1 ,1
2 ,1
9
6 ,0
7 ,1
7 ,1
Шаг 1. Найдём все классы разбиения, для которых q, x  q' , x
Разбиение Q = {C11, C12, C13}, где
C11={1, 4}; C12={2, 3,8,9}; C13 = {5,6,7},
Состояния 1 и 4 относим к одному классу C11, т.к.:
1, x1   4, x1  1, x2   4, x2   1, x3    4, x3 
Состояния 2,3,8 и 9 относим к одному классу C12, т.к.:
2, x1   3, x1   8, x1   9, x1 
2, x2    3, x2   8, x2   9, x2 
 2, x3    3, x3    8, x3    9, x3 
Состояния 5,6 и 7 относим к одному классу C13, т.к.:
5, x1   6, x1   7, x1 
5, x2   6, x2   7, x2 
5, x2   6, x2   7, x2 
Шаг 2
Шаг 3
Шаг 4
{1, 4} , {2, 3,8,9},
{5,7}, {6}
{1, 4} , {2}, { 3,8,9},
{5,7}, {6}
{1, 4} , {2}, { 3}, {8,9},
{5,7}, {6}
Шаг 5 {1, 4} , {2}, { 3}, {8}, {9},
{5,7}, {6}
Шаг 6 {1},{ 4}, {2}, { 3}, {8}, {9},
{5,7}, {6}
Шаг 7 {1},{ 4}, {2}, { 3}, {8}, {9},
{5}, {7}, {6}
Данный автомат уже минимизирован.
6. Написать формулу в алгебре Клини, задающую событие в алфавите
{a, b, c}. Все слова, не содержащие сочетание ас.
А=b*a*(ab)* (ba)* (bc)*
7. Синтезировать автомат (на абстрактном уровне), представляющий
регулярное событие.
(b  (ac)*) ab*
Первая скобка представляет собой дизъюнкцию,в которой один из
дизъюнктивных членов заканчивается итерацией (правило 4). Поэтому
построенный источник будет содержать пустые ребра.
Источник, представляющий событие (4.3.1)
Начальная вершина источника – 1, заключительная – 5.
Следующий этап – детерминизация источника H в соответствии с теоремой
4.3.4.
При этом строим только замкнутые подмножества, достижимые из
начального замкнутого подмножества {1,2,3}. Функция переходов
полученного автомата приведена в табл.
{1,2}
{3 }
{4}
{2}
a
{3}

{5}
{3,4,5}
b
{4}




{2}


c
{5}
{5}


{3,4,5}
{4,5}
{5}
{2}
{5}
{5}
{4,5}





В этой таблице знаком  обозначено пустое множество. После
переобозначения подмножеств таблица переходов автомата приобретает
следующий вид
a
1
2
3
4
5
6
7
8
2
8
5
6
8
7
5
8
b
3
8
8
8
5
5
5
8
c
8
4
8
8
8
4
8
8
В таблице выделены жирным шрифтом заключительные состояния 3,5,7
содержащие заключительное состояние 4 источника H.
8. Провести анализ автомата (написать выражение регулярного события,
представляемого автоматом). Начальное состояние – 1, заключительное – 4.
q
a
b
c
1
3
 4
2
2
1
4
3
4
1
2
4
 4
4
Строим граф: добавляем вершину 0 для истока
0 - исток, 4 - сток
Проведя анализ графа автомата, находим регулярное событие:
(( ab)a)  c  (acc)  b * c * (acb)
Вывод:
В ходе выполнения лабораторной работы были освоены основные
понятия теории автоматов и основные методы анализа и синтеза конечных
автоматов на абстрактном уровне.
Download