Изменения

Перейти к: навигация, поиск

Минимизация ДКА, алгоритм Хопкрофта (сложность O(n log n))

Нет изменений в размере, 18:02, 29 октября 2013
Простой алгоритм
Итеративно строим разбиение множества состояний следующим образом.
# Первоначальное разбиение множества состояний {{---}} класс допускающих состояний <tex>F</tex> и класс недопускающих состояний <tex>Q \setminus F</tex>.
# Перебираются символы алфавита <tex>a \in \Sigma</tex>, все пары <tex>(QF, a)</tex> и <tex>(Q \setminus F, a)</tex> помещаются в очередь.
# Из очереди извлекается пара <tex>(S, a)</tex>, <tex>S</tex> далее именуется как сплиттер.
# Все классы текущего разбиения разбиваются на 2 подкласса (один из которых может быть пустым). Первый состоит из состояний, которые по символу <tex>a</tex> переходят в сплиттер, а второй из всех оставшихся.
Анонимный участник

Навигация