Эквивалентность состояний ДКА — различия между версиями
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
| Определение: | 
| Два автомата и называются эквивалентными, если они распознают один и тот же язык над алфавитом , то есть . | 
| Определение: | 
Слово  различает два состояния  и , если 
  | 
| Определение: | 
Два  состояния  и  называются эквивалентными , если не существует строки, которая их различает, то есть   верно, что
  | 
Заметим, что эквивалентность состояний действительно является отношением эквивалентности. Так как  (равносильность) является отношением эквивалентности и в детерминированном автомате всегда существует путь по любому слову, описанное нами отношение является отношением эквивалентности.
| Лемма: | 
, , ,  различает  и . Тогда  различает  и .  | 
| Доказательство: | 
| 
 А значит, по условию различимости для и ,  | 
Пример
Эти два автомата принимают слова из языка слов длины не меньше одного, состоящих из символов алфавита . Стартовые и все допускающие состояния автоматов эквивалентны между собой.
Проверка ДКА на эквивалентность
Заданы два автомата:  со стартовым состоянием  и  со стартовым состоянием  соответственно. Нужно проверить их на эквивалентность.
Для этого построим автомат , содержащий все состояния обоих автоматов и изначальные переходы между ними:
![]()
Осталось лишь проверить в полученном автомате состояния  и   на эквивалентность. Их эквивалентность совпадает с эквивалентностью автоматов  и . Для этого можно применить алгоритм минимизации ДКА, который разбивает все состояния на классы эквивалентности.

