КАТЕГОРИИ: Архитектура-(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) |
Минимизация детерминированного автомата
Из двух детерминированных автоматов, допускающих один и тот же язык, меньше памяти (при реализации) занимает тот, у которого меньше состояний. Число состояний автомата можно уменьшить, удалив состояния, не используемые при анализе допустимых цепочек. Для этого достаточно преобразовать соответствующую А-грамматику к приведённому виду. Дальнейшая минимизация детерминированного автомата основана на выявлении эквивалентных состояний. Состояния автомата q и q ' называются эквивалентными, если в соответствующей А-грамматике L (q) = L (q '). Неэквивалентность q и q ' означает, что существует цепочка, на которой из одного состояния достижимо заключительное состояние, а из другого - нет. Для детерминированного автомата можно указать алгоритм нахождения эквивалентных состояний. Дальше детерминированный автомат будем просто называть автоматом. Назовем автомат полным, если его функция перехода тотальна, т.е. определена на всех парах (q, a) (в предыдущем примере автомат полон). Полный автомат любую цепочку прочитывает до конца и останавливается либо в заключительном состоянии, либо в незаключительном.. Поэтому для него неэквивалентность q и q ' означает, что для некоторой цепочки a Î T * q - a ® q 1, q 1Î F, и q '- a ® q 2, q 2Ï F. Говорят, что такая цепочка a различает состояния q и q '. Отсюда следует У т в е р ж д е н и е 4.1. Для полного автомата отношение ne (q, q ') неэквивалентности q и q ' определяется условиями: a. ne (q, q '), если q Î F, а q 'Ï F, или q Ï F, а q 'Î F, т.е. цепочка e различает состояния q и q '; b. ne (q, q '), если a различает состояния t (q, a) и t (q ', a) для некоторого a (тогда aa различает состояния q и q '). Все остальные пары (q, q ') состояний полного автомата являются парами эквивалентных состояний. Пример 4.4. Для полного детерминированного автомата в примере 4.3 (рис. справа) из условия a следует неэквивалентность q и q ', если q Î F = { q 13, q 23, q 123} и q 'Î Q \ F = { q 0, q 1, q 2, q 12}. Отсюда, по условию b, следует неэквивалентность всех пар из Q \ F и ничего не следует для пар состояний из F, т.е. все состояния из F эквивалентны между собой. У т в е р ж д е н и е 4.2. Для каждого неполного автомата можно построить эквивалентный полный автомат с сохранением всех языков L (q). Доказательство. Неполный автомат можно сделать полным, добавив новое незаключительное состояние r с правилами (r, a) ® r для всех a Î T, и добавив для каждой пары (q, a), q ¹ r, для которой не было правила, новое правило (q, a) ® r. Поскольку из r достижимо только r и это состояние незаключительное, то оно непродуктивное. Следовательно, сохраняются все языки L (q). Детерминированность при этом также сохраняется. У т в е р ж д е н и е 4.3. Проблема эквивалентности состояний детерминированного автомата алгоритмически разрешима. Доказательство. Для заданного автомата сначала можно построить эквивалентный полный автомат, затем для полного автомата найти все пары неэквивалентных состояний, остальные пары состояний объявить эквивалентными. Алгоритм построения множества пар неэквивалентных состояний и его обоснование следует из утверждения 4.1. Алгоритм 4.1 (построение множества пар неэквивалентных состояний). Алгоритм строит отношение неэквивалентности ne: 1. ne (0) = {(q, q ') | q Î F, q 'Ï F, или q Ï F, q 'Î F }; 2. ne (i +1) = ne (i) È {(q, q ') | ne (i)(t (q, a), t (q ', a)) для некоторого a }, i > 0. Алгоритм завершается, когда ne (i +1) = ne (i), т.е. ne = ne (i). Это происходит за конечное число шагов, т.к. число пар конечно. Т е о р е м а 4.3. Проблема эквивалентности А-грамматик алгоритмически разрешима. Доказательство. Следует из предыдущих результатов и того, что утверждение 4.3 и его доказательство справедливо и для состояний разных автоматов. Следующее преобразование называется минимизацией полного детерминированного конечного автомата. Оно состоит в "склеивании" (т.е. в одинаковом переименовании) всех эквивалентных друг другу состояний и в последующем преобразовании автомата к приведенному виду (в смысле соответствующей грамматики). Очевидно, что минимизация - эквивалентное преобразование, после которого у автомата все различные состояния оказываются неэквивалентными. Пример 4.5. Для полного автомата в примере 4.3 (рис. справа) в примере 4.4 было показано, что его заключительные состояния q 13, q 23, q 123 эквивалентны. Склеив их и переименовав в q 3, получим приведённый автомат с диаграммой
То, что получаемый таким образом автомат действительно минимален по числу состояний, доказывает следующая Т е о р е м а 4.4. Пусть A = (Q, T, t, q 0, F) и A ' = (Q ', T, t ', q 0', F ') - эквивалентные детерминированные автоматы, причем A - приведенный автомат с попарно неэквивалентными состояниями, Q Ç Q ' = Æ. Тогда у A состояний не больше, чем у A '. Доказательство. Покажем, что для каждого состояния из Q в Q ' есть эквивалентное ему состояние. Эти состояния из Q ' также попарно неэквивалентны, откуда следует, что они попарно различны и, значит, | Q | £ | Q '|. По условию, L (q 0) = L (q 0'). Далее, если L (q) = L (q ') для q Î Q и q 'Î Q ', то в силу детерминированности автоматов и продуктивности всех состояний A (т.к. он приведенный) из t (q, a) = q 1 следует, что t '(q ', a) = q 1' и L (q 1) = L (q 1') для q 1Î Q и q 1'Î Q '. Так как A приведенный и, следовательно, все его состояния достижимы из q 0, то таким способом, начиная с q = q 0, можно найти для каждого q Î Q эквивалентное ему состояние q 'Î Q '. Замечание. Из доказательства следует, что диаграммы любых двух эквивалентных минимальных детерминированных автоматов изоморфны. В качестве дополнительного результата докажем следующее утверждение. Т е о р е м а 4.5.. Класс языков Reg (T) замкнут относительно дополнения, т.е. из L Î Reg (T) следует, что и T * \ L Î Reg (T). Доказательство. Поскольку, как следует из предыдущего, регулярный язык L допускается полным детерминированным автоматом A = (Q, T, t, q 0, F), то T * \ L допускается автоматом A ' = (Q, T, t, q 0, Q \ F), т.к. каждую цепочку автомат A прочитывает до конца.
Дата добавления: 2014-01-07; Просмотров: 1170; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |