Эквивалентность состояний ДКА — различия между версиями
Glukos (обсуждение | вклад) (→Проверка ДКА на эквивалентность) |
Glukos (обсуждение | вклад) (→Проверка ДКА на эквивалентность) |
||
Строка 35: | Строка 35: | ||
Для этого построим автомат <tex> \mathcal{A} </tex>, содержащий все состояния обоих автоматов и изначальные переходы между ними:<br> | Для этого построим автомат <tex> \mathcal{A} </tex>, содержащий все состояния обоих автоматов и изначальные переходы между ними:<br> | ||
[[Файл:auto_equiq.png|470px]]<br> | [[Файл:auto_equiq.png|470px]]<br> | ||
− | Осталось лишь проверить в полученном автомате состояния <tex> s_1 </tex> и <tex> s_2 </tex> на эквивалентность. Их эквивалентность совпадает с эквивалентностью автоматов <tex> \mathcal{A}_1 </tex> и <tex> \mathcal{A}_2 </tex>. Для этого можно применить [[Минимизация_ДКА,_алгоритм_за_O(n%5E2)_с_построением_пар_различимых_состояний|алгоритм минимизации ДКА]], который разбивает все состояния | + | Осталось лишь проверить в полученном автомате состояния <tex> s_1 </tex> и <tex> s_2 </tex> на эквивалентность. Их эквивалентность совпадает с эквивалентностью автоматов <tex> \mathcal{A}_1 </tex> и <tex> \mathcal{A}_2 </tex>. Для этого можно применить [[Минимизация_ДКА,_алгоритм_за_O(n%5E2)_с_построением_пар_различимых_состояний|алгоритм минимизации ДКА]], который разбивает все состояния на классы эквивалентности. |
Версия 15:37, 15 января 2013
Определение: |
Два автомата | и называются эквивалентными, если они распознают один и тот же язык над алфавитом , то есть .
Определение: |
Слово
| различает два состояния и , если
Определение: |
Два состояния
| и называются эквивалентными , если не существует строки, которая их различает, то есть верно, что
Заметим, что эквивалентность состояний действительно является отношением эквивалентности. Так как (равносильность) является отношением эквивалентности и в детерминированном автомате всегда существует путь по любому слову, описанное нами отношение является отношением эквивалентности.
Лемма: |
, , , различает и . Тогда различает и . |
Доказательство: |
А значит, по условию различимости для и , |
Пример
Эти два автомата принимают слова из языка слов длины не меньше одного, состоящих из символов алфавита
. Стартовые и все допускающие состояния автоматов эквивалентны между собой.Проверка ДКА на эквивалентность
Заданы два автомата:
Осталось лишь проверить в полученном автомате состояния и на эквивалентность. Их эквивалентность совпадает с эквивалентностью автоматов и . Для этого можно применить алгоритм минимизации ДКА, который разбивает все состояния на классы эквивалентности.