Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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




Теорема. Для любого автомата существует минимальный автомат с точностью до изоморфизма.

Алгоритм Мили

Пусть задан автомат S с n состояниями. На каждом шаге алгоритма будем строить некоторое разбиение множества состояний Q на классы cij, где i - номер шага, j - номер класса. Разбиение на i + 1 шаге получается разбиением классов, полученных на i шаге.

 

1. Два состояния q’ и q’’ относятся в класс c1j, если при " a Î A для функций выхода справедливо равенство

l(q’, a) = l(q’’, a).

2.q’ и q’’ из класса cij относятся к классу ci+1,j, если для " a Î A найдется такое j, для которого справедливы следующие отношения принадлежности

d(q’, a) Î cij, d(q’’, a) Î cij.

 

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

 

Пример. Для автомата, заданного таблицей переходов вида:

  a1 a2 a3
q1 2,0 4,1 4,1
q2 1,1 1,0 5,0
q3 1,1 6,0 5,0
q4 8,0 1,1 1,1
q5 6,1 4,1 3,0
q6 8,0 9,1 6,1
q7 6,1 1,1 3,0
q8 4,1 4,0 7,0
q9 7,0 9,1 7,1

 

построить разбиение состояний на классы эквивалентности.

 

Решение. Построим классы c1j в соответствии с первым шагом алгоритма:

c11 = { q1, q4, q6, q9 }, c12 = { q2, q3, q8 }, c13={ q5, q7 }.

 

Следующие классы будем выделять в соответствии с пунктом 2 алгоритма:

 

c21 = { q1, q6, q4}, c22 = { q9 }, c23 = { q2, q3, q8}, c24 = { q5, q7 };

c31 = { q1, q4 }, c32 = { q6 }, c33 = { q9 }, c34 = { q2, q3, q8},

с35 = { q5, q7 }; c41 = { q1, q4 }, c42 = { q6 }, c43 = { q9 },

c44 = { q2, q8 }, c45 = { q3 }, c46 = { q5, q7 }.

Из эквивалентных состояний, принадлежащих одному классу, оставляем только одно состояние. В итоге, множество состояний минимизированного автомата представится множеством {q1, q6, q9, q2,q3, q5 }. Следовательно, новая таблица переходов будет иметь на три строки меньше, поскольку на три состояния уменьшилось общее число состояний заданного автомата. Таблица переходов минимального автомата будет следующей:

 

  a1 a2 a3
q1 2,0 1,1 1,1
q2 1,1 1,0 5,0
q3 1,1 6,0 5,0
q5 6,1 1,1 3,0
q6 2,0 9,1 6,1
q9 5,0 9,1 5,1

 

Алгоритм минимизации автомата по методике Мура

1.В таблице переходов отыскиваются строки, у которых есть рабочие

состояния в одинаковых столбцах. Рабочим состоянием считается

состояние отличное от состояния ошибки. Состояния, которым

соответствуют такие строки, заносятся в группы.

2.Рабочие состояния каждой группы проверяются на эквивалентность.

3. Если среди рабочих состояний групп установлена эквивалентность, то состояния, образующие группу, считаются

эквивалентными.

Пример. Для автомата, заданного таблицей переходов вида:

 

  x0 x1 x2 x3 x4 x5 x6 x7
q0 q7           q10 q1,3
q1,3 q2     q4        
q2   q5            
q4               q6
q5               q8,19
q6               q9,19
q7               q9,19
q8,19         q0 q19    
q9,19         q0 q19    
q10           q11   q14,17
q11   q12            
q12           q13    
q13             q19  
q14,17   q15,18            
q15,18           q16 q19  
q16             q19  
q19                

 

построить минимальный автомат, используя методику Мура.

 

Решение. Построим группы состояний, подозреваемых на эквивалентность, в соответствии с алгоритмом. Ими будут:

 

[ q4; q5; q6; q7 ]; [ q8, 19; q 9, 19 ]; [ q13; q16 ]; [ q2; q11; q14,17 ].

 

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

 

[ q5; q6; q7 ]; [ q8, 19; q 9, 19 ]; [ q13; q16 ].

 

Введем новые обозначения состояний автомата:

 

r0 = { q5, q6, q7}; r6 = { q10 }; r7 ={ q11 };

r1 = { q9,19, q8,19 }; r8 ={ q12 };

r2 = { q13, q16 }; r9 = { q14,17 };

r3 = { q1,3 }; r10 = { q15,18 };

r4 = { q2 }; r11 = { q19 } - заключительное состояние;

r5 = { q4 }; r12 = { q0 } - начальное состояние.

 

 

Таблица переходов минимального автомата примет вид:

 

  x0 x1 x2 x3 x4 x5 x6 x7
r0               r1
r1         r12 r11    
r2             r11  
r3 r4     r5        
r4   r0            
r5               r0
r6           r7   r9
r7   r8            
r8           r2    
r9   r10            
r10           r2 r11  
r11                
r12 r0           r6 r3

 

 




Поделиться с друзьями:


Дата добавления: 2014-12-16; Просмотров: 543; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.015 сек.