Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Детерминизация НКА




 

Детерминированные конечные автоматы являются частными случаями недетерминированных. Следовательно возникает вопрос, распознают ли недетерминированные конечные автоматы больший класс языков чем детерминированные? На данный вопрос отвечает теорема показывает, что классы языков, распознаваемых НКА и ДКА совпадают.

Теорема 1. Детерминизация НКА

Для каждого НКА M можно эффективно построить такой ДКА A, что LA= LM.

Доказательство. Пусть M =< Σ, Q, q0, F, Φ > НКА. Процедура построения по нему эквивалентного ДКА состоит из двух этапов: на первом построится эквивалентный ему НКА M1, в программе которого отсутствуют переходы по ε, а на втором этапе по M1 строится эквивалентный ДКА A.

Этап 1. Устранение пустых переходов.

Рассмотрим поддиаграмму автомата M, в которой оставлены лишь ребра, помеченные ε:Dε= (Q, Eε), где ={(q, q)|q Φ(q, ε)}. Пусть = (Q, ) - это граф достижимости (транзитивного замыкания) для . Тогда ={(q, q) |q = q’ или в имеется путь из q в q’}.

Определим НКА M1=< Σ, Q1, q0, F1, Φ1> следующим образом:

Q1= {q0} {q| существуют такие q’Q и aΣ, что q Φ(q’0, a)}, т.е. кроме начального остаются лишь те состояния, в которые входят непустые ребра.

F1= {q| существует такое qF, что (q, q) }, т.е. к заключительным состояниям M добавляются состояния, из которых можно было попасть в заключительные по путям из ε -ребер.

Для каждой пары qQ, a Σ полагаем

Φ1(q, a) ={r| существует такое qF, что (q, q) Eε∗иr Φ(, q, a)}, т.е. в имеется a-ребро из q в r, если в DM был (возможно пустой) путь из ε -ребер в некоторое состояние q, из которого a -ребро шло в r.

Из этого определения непосредственно следует, что в НКА M1 нет пустых переходов по ε. Установим эквивалентность M и M1.

 

Лемма 1. .

Доказательство. Пусть w=w1w2...wt произвольное входное слово. Предположим, что w . Это означает, что в диаграмме имеется путь p = e1e2... et(e1= (q0=r0, r1), i= 2,..., t) из q0 в некоторое состояние , который несет слово w, т.е. ребро ei помечено символом w i. Из определения функции Φ1 непосредственно следует, что для любого ребра этого пути в диаграмме DM имеется путь из в ri, начало (возможно пустое) которого состоит из ε -ребер, а последнее ребро помечено символом wi. Объединив эти пути, получим в диаграмме DM путь из q0 в rt, который несет слово w. Так как rt F1, то либо rt F, либо в DM имеется путь по ε-ребрам из rt в некоторое состояние r’ F. В обоих случаях в DM имеется путь из q0 в заключительное состояние, который несет слово w, и следовательно w LM.

Обратно, пусть w LM. Тогда в DM имеется путь из q0 в некоторое заключительное состояние r, который несет слово w. Пусть r0=q0, а ri - это состояние этого пути, в которое приводит ребро с меткой wi(i = 1,..., t). Рассмотрим отрезок этого пути между вершинами ri−1 и ri. Последнее ребро этого отрезка имеет метку wi, а все предыдущие (если они имеются) помечены ε. Тогда по определению Φ1 в диаграмме между ri−1 и ri имеется ребро с меткой wi. Объединив эти ребра, получим в путь из q0 в rt. Так как либо rt= r F, либо в DM из rt имеется путь из ε- ребер в r F, то из определения F1 следует, что rt F1. Таким образом, w .

Этап 2. Детерминизация.

Идея детерминизации состоит в том, что состояниями ДКА объявляются подмножества состояний НКА. Тогда для каждого такого подмножества T и входного символа a однозначно определено множество состояний T, в которые НКА может попасть из состояний T при чтении a.

Определим по НКА M1=< Σ, Q1, q0, F1, Φ1> ДКА A=<Σ,QА, FAA> следующим образом.

QA= {Q| Q Q1},

= {q0},

FA= {Q| Q∩ F1 ∅},

ΦA(Q, a) = {q | существует такое q Q, что q Φ1(q, a)}.

Ясно, что A детерминированный конечный автомат. Следующая лемма устанавливает связь между его вычислениями и вычислениями исходного НКА.

Лемма 2. Для любой пары состояний Q, Q’’ из Q и любого слова w имеем (Q, w) A(Q’’, ε)⇐⇒Q’’= {r | существует такое qQ, что (q, w) (r, ε)}.

Доказательство. Применим индукцию по длине слова w.

Базис. Пусть |w| = 0, тогда w = ε, Q’= Q’ ’ и утверждение выполнено. Пусть теперь |w| = 1 и w = a Σ. Тогда утверждение леммы следует непосредственно из определения ΦA(Q, a).

Шаг индукции. Предположим, что лемма справедлива для всех слов длины ≤ k, и пусть |w| = k + 1. Выделим в w первый символ: w = aw. Пусть - это такое состояние, что (Q, a) A ( , ε). Тогда ( , w) A(Q’’, ε). Так как |w| = k, то по индукционному предположению это эквивалентно тому, что Q’’= {r существует такое q что (q, w’) M1(r, ε)}. Но из определения ΦA следует, что = {q | существует такое q Q, что q Φ1(q, a)}. Объединив, эти два равенства получаем, что Q’’= {r | существует такое q Q’, что (q, w) M1(r, ε)}.

Для завершения доказательства теоремы покажем с помощью леммы 2, что .

Действительно, если слово w переводит состояние q0 в некоторое q F1 автомате М1,то положив в лемме получим, что состояния , такого что Но тогда

Обратно, если w LA, то для некоторого имеем ({q0}, w) A(Q’’, ε). Тогда в Q’’ имеется некоторое состояние q F1 и по лемме 2 в автомате M1 (q0, w) M1 (q, ε)}, т.е. w .




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


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


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



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




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