Прямое произведение ДКА — различия между версиями
Строка 32: | Строка 32: | ||
#*... | #*... | ||
+ | Доказательство. Возьмем слово a, которое допускает автомат < tex> A_1</tex> и автомат <tex> A_2 </tex>. Выпишем все состояния в порядке допуска слова a автоматом <tex>A_1</tex> {{---}} <tex> a_{11}, a_{12}, ... , a_{1|a|} </tex> и все состояния проходимыме при допуске слова автоматом <tex>A_2</tex> {{---}} <tex> a_{21}, a_{22}, ... , a_{2|a|} </tex>. | ||
== Применение == | == Применение == | ||
Изменив конструкцию, можно получить автомат, допускающий разность или объединение двух языков. | Изменив конструкцию, можно получить автомат, допускающий разность или объединение двух языков. |
Версия 15:13, 9 октября 2014
Определение: |
Прямым произведением двух ДКА и называется ДКА , где:
|
Содержание
Пример
Возьмем автоматы:
- .
Автомат
будет их пересечением.Согласно определению:
- ...
Доказательство. Возьмем слово a, которое допускает автомат < tex> A_1</tex> и автомат
. Выпишем все состояния в порядке допуска слова a автоматом — и все состояния проходимыме при допуске слова автоматом — .Применение
Изменив конструкцию, можно получить автомат, допускающий разность или объединение двух языков.
Объединение ДКА
Необходимо разрешать любую цепочку, удовлетворяющую первому или второму автомату, для этого сделаем терминальными следующие вершины
. Полученный автомат удовлетворяет нашим требованиям, так как попав в какое-либо состояние из или , цепочка будет удовлетворять первому или второму автомату соответственно.Разность ДКА
Рассмотрим автомат
, то есть автомат , в котором терминальные и нетерминальные состояния инвертированы, если в автомате было опущено «дьявольское состояние», его необходимо добавить и сделать терминальным. Очевидно, он допускает те и только те слова, которые не допускает автомат , а значит, задаёт язык .Заметим, что если
и — регулярные языки, то — так же регулярный.Следовательно, надо построить пересечение двух автоматов, предварительно инвертировав во втором терминальные и нетерминальные состояния. Заметим, что меняется только набор терминальных вершин, следовательно в итоговой конструкции произведения ДКА сделаем терминальными следующие вершины
.См. также
Источники информации
- Wikipedia — Deterministic finite automaton
- Lecture "Formal languages, automata and computation" : Carnegie Mellon University in Qatar
- Хопкрофт Д., Мотвани Р., Ульман Д. Введение в теорию автоматов, языков и вычислений, 2-е изд. : Пер. с англ. — М.:Издательский дом «Вильямс», 2002. — С. 152-154.