Федеральное агентство по образованию Томский государственный университет систем управления и радиоэлектроники (ТУСУР) Лабораторная работа № 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) Вывод: В ходе выполнения лабораторной работы были освоены основные понятия теории автоматов и основные методы анализа и синтеза конечных автоматов на абстрактном уровне.