23
построить автомат, распознающий тот же язык, но имеющий
меньшее количество состояний. Рассмотрим процесс мини-
мизации уже построенного автомата.
Определение. Автоматы эквивалентны, если они распо-
знают один и тот же язык.
Определение. Два состояния p и q конечного автомата-
распознавателя называются m-эквивалентными, если при
распознавании любых цепочек длины m, начиная из этих со-
стояний
, автомат переходит в заключительное состояние,
либо не распознает эти цепочки.
Понятие m-эквивалентных состояний позволяет разбить
множество всех состояний на классы эквивалентных состоя-
ний и построить новый минимальный автомат, состояниями
которого будут классы эквивалентных состояний.
Рассмотрим алгоритм минимизации конечного автома-
та-распознавателя. Он заключается в построении на множе-
стве его состояний
таких разбиений p
0
,p
1
,…,p
t
, что в один
класс разбиения p
i
попадают m-эквивалентные состояния.
Если состояния не m-эквивалентны, то они называются m-
различимыми. При подаче пустой цепочки на вход автомата
он остается в том же состоянии, в котором находился. По-
этому разбиение p
0
состояний состоит из двух блоков – в
один блок попадают все заключительные, в другой – все не-
заключительные состояния. Удобно эти разбиения выполнять
с использованием матрицы перехода автомата-
распознавателя. В матрице переходов выделяем подматрицы,
в каждую из которых попадают эквивалентные состояния.
Далее анализируем каждую подматрицу. Если во всех стро-
ках подматрицы один
и тот же набор распознаваемых симво-
лов, то состояния не нуждаются в дополнительном разбие-
нии, они эквивалентны. Иначе разбиваем состояния подмат-
рицы на группы, в которых распознается один и тот же набор
символов. Процесс разбиений завершается, когда каждая
подматрица содержит в своих строках одинаковый набор
символов.
Этот алгоритм предполагает наличие конечного
числа