150
состояние q
i
. Поведение автомата М
2
, реализующего автомат М
1
, совпадает с
поведением автомата М
1
везде, где поведение автомата М
1
определено.
Задача минимизации частичного автомата ставится следующим образом:
для заданного автомата М = (A, B, Q, Ψ, Φ) найти реализующий его автомат
М
′
= (A, B, Q
′
, Ψ
′
, Φ
′
) с минимальным числом состояний.
Сформулированная задача сводится к группированию состояний
исходного автомата в некоторые подмножества, в общем случае
пересекающиеся, и сопоставлению каждого такого подмножества с состоянием
нового автомата, реализующим любое состояние из этого подмножества. При
этом необходимо, чтобы число таких подмножеств было минимальным, а
объединение их составляло множество всех состояний исходного автомата.
Пусть имеется некоторая совокупность S подмножеств множества Q
состояний автомата М. Эти подмножества могут пересекаться, но ни одно из
них не содержится в другом. Совокупность S называется группировкой автомата
М, если каждое его состояние входит хотя бы в одно из подмножеств данной
совокупности.
Некоторое множество состояний {q
r
, q
s
, … , q
t
} ⊆ Q назовем
непосредственно производным по входному символу а ∈ А множеством от
множества состояний {q
i
, q
j
, … , q
k
} ⊆ Q, если значения
Ψ(а, q
j
), Ψ(а, q
j
), … , Ψ(а, q
k
) составляют множество {q
r
, q
s
, … , q
t
}.
Для множества состояний {q
r
, q
s
, … , q
t
} непосредственно производным от
него по входному символу а является множество тех состояний, в которые
автомат переходит из состояний q
r
, q
s
, … , q
t
при поступлении на его вход
символа а.
Множество состояний Q
i
⊆ Q называется непосредственно производным от
Q
j
⊆ Q, если найдется такой входной символ а ∈ А, что Q
i
является
непосредственно производным по а от Q
j
.
Группировка S называется правильной, если для каждого ее элемента S
i
справедливо следующее:
–
любое непосредственно производное от него множество является
подмножеством какого-то из элементов S;
–
для любых q
j
, q
k
∈ S
i
и для любого а ∈ А справедливо Φ(а, q
j
) = Φ(а, q
k
)
всегда, когда эти значения оба определены.
Для любого элемента S
i
правильной группировки автомата М и любого
входного символа а ∈ А можно найти в этой же группировке элемент,
содержащий все состояния, в которые переходит автомат М из состояний,
принадлежащих S
i
, при поступлении на его вход символа а.
Правильная группировка автомата М, имеющая минимальное число
элементов среди всех правильных группировок автомата М, называется
минимальной.
От любой правильной группировки автомата М можно перейти к автомату
М
′
, реализующему М, путем совмещения состояний, входящих в один и тот же
элемент группировки. Если {q
i
, q
j
, … , q
k
} – элемент правильной группировки S