Эквивалентность состояний ДКА — различия между версиями
Lidia2008 (обсуждение | вклад) (→Эквивалентность автоматов) |
Lidia2008 (обсуждение | вклад) (→Проверка эквивалентности автоматов) |
||
Строка 17: | Строка 17: | ||
<font face="Times" size="3"> | <font face="Times" size="3"> | ||
− | *Если положить, что начальные состояния эквивалентны, то последовательно, переходя по одному символу из состояний, можем получить и другие пары эквивалентных состояний. Если же в одну из таких пар попадут допускающее состояния вместе с не допускающим, то такие <tex>q_i</tex> и <tex>q_j</tex> неэквивалентны. | + | *Если положить, что начальные состояния эквивалентны, то последовательно, переходя по одному символу из состояний, можем получить и другие пары эквивалентных состояний. Если же в одну из таких пар попадут допускающее состояния вместе с не допускающим, то такие <tex>q_i</tex> и <tex>q_j</tex> <em>неэквивалентны</em>. |
− | <tex> | + | <tex>AlgoCheckEquivalence(Q_1, Q_2, q_{10}, q_{20})\\ |
− | + | \big \{\\ | |
− | { | + | List\,\langle StatesPair\rangle\; myList=new\; List\,\langle StatesPair \rangle(); \\ |
− | } | + | myList.Add(StatesPair(q_{10}, q_{20}));\\ |
+ | \big\} | ||
</tex> | </tex> | ||
</font> | </font> |
Версия 07:36, 6 октября 2010
Эквивалентность автоматов
- Определение: Два автомата и называются эквивалентными, если они распознают один и тот же язык над алфавитом .
- Определение: Два состояния и называются эквивалентными , если верно, что . Из этого следует, что если два состояния и эквивалентны, то и состояния и будут эквивалентными для . Кроме того, т.к. переход может возникнуть только для конечного состояния , то никакое допускающее(терминальное) состояние не может быть эквивалентно не допускающему состоянию. Нахождение классов эквивалентных состояний внутри автомата и их совмещение в одно состояние используется в быстром алгоритме Хопкрофта для минимизации автомата, работающий за .
- Определение: Слово различает два состояния , если . Также, если слово различает состояния и такие, что и , то слово различает состояния и . Нахождение пар различных состояний в автомате используется в алгоритме минимизации автомата, работающий за .
- Пример двух эквивалентных автоматов:
Состояния
и допускающие.
Проверка эквивалентности автоматов
- Если положить, что начальные состояния эквивалентны, то последовательно, переходя по одному символу из состояний, можем получить и другие пары эквивалентных состояний. Если же в одну из таких пар попадут допускающее состояния вместе с не допускающим, то такие и неэквивалентны.