Прямое произведение ДКА — различия между версиями
Kris (обсуждение | вклад) м |
Kris (обсуждение | вклад) м (→Разность ДКА) |
||
Строка 37: | Строка 37: | ||
=== Разность ДКА === | === Разность ДКА === | ||
+ | [[Файл:Multi_DKA_division.png]] | ||
+ | Рассмотрим автомат <tex>\overline{M} = \langle \Sigma , Q , s , Q \setminus T , \delta \rangle </tex>, то есть автомат <tex>M</tex>, в котором терминальные и нетерминальные состояния инвертированы. Очевидно, он допускает те и только те слова, которые не допускает автомат <tex>M</tex>, а значит, задаёт язык <tex>\overline{M}</tex>. Таким образом, <tex>\overline{M}</tex> {{---}} регулярный. | ||
− | + | Заметим, что если <tex>L</tex> и <tex>M</tex> - регулярные языки, то <tex>L \setminus M = L \cap \overline{M}</tex> - так же регулярный. | |
+ | |||
+ | Таким образом надо построить пересечение двух автоматов, предварительно инвертировав во втором терминальные и нетерминальные состояния. Заметим, что меняется только набор терминальных вершин, следовательно заменим их в итоговой конструкции произведения ДКА на <tex>T = T_1 \times (Q_2 \setminus T_2)</tex>. |
Версия 01:01, 9 октября 2014
Определение: |
Прямым произведением двух ДКА и называется ДКА , где:
|
Содержание
Пример
Возьмем автомат
, и автомат .Автомат
будет их пересечением.Согласно определению:
- ...
Применение
Изменив конструкцию, можно получить автомат допускающий разность или объединение двух языков.
Объединение ДКА
Необходимо разрешать любую цепочку удовлетворяющую первому или второму автомату, для этого пометим терминальными следующие вершины
. Полученный автомат удовлетворяет нашим требованиям так как попав в какое-либо состояние из или , цепочка начинает удовлетворять первому или второму автомату соответственно.Разность ДКА
Рассмотрим автомат
, то есть автомат , в котором терминальные и нетерминальные состояния инвертированы. Очевидно, он допускает те и только те слова, которые не допускает автомат , а значит, задаёт язык . Таким образом, — регулярный.Заметим, что если
и - регулярные языки, то - так же регулярный.Таким образом надо построить пересечение двух автоматов, предварительно инвертировав во втором терминальные и нетерминальные состояния. Заметим, что меняется только набор терминальных вершин, следовательно заменим их в итоговой конструкции произведения ДКА на
.