Третий этап

Процедура получения автомата S' = (A', Z', W', d', l', a1'), представляемого найденным для исходного автомата S замкнутым покрытием D, достаточно проста. Каждому классу совместимости Ci Î D ставится в соответствие состояние ai' нового автомата S'. Для каждого класса Ci Î D и каждого zi Î Z вычисляем множество следующих за Ci состояний Tif = d(Ci, Zf).

Функции переходов и выходов определяются как

d'(ai ', zf) = { не определена, если Tif - пустое;
aj', где aj' - состояние, соостветствующее одному из классов совместимости Ci Î D, включающему не пустое Tif
d'(ai ', zf) = { не определена, если Tif - пустое;
aj', где aj' - состояние, соостветствующее одному из классов совместимости Ci Î D, включающему не пустое Tif

В качестве начального состояния a 1' автомата S' выбирается любое состояние из множества A', соответствующее некоторому классу совместимости, содержащему начальное состояние a1автомата S.

Применим эту процедуру к нашему примеру. В качестве исходного замкнутого покрытия, как уже отмечалось выше, возьмем множество максимальных классов совместимости Ф = {{1,2},{1,4},{2,3},{3,4,5}} = { b 1, b 2, b 3, b 4}. Классу совместимости {1,2} ставим в соответствие состояние b 1 нового автомата. За классом {1,2} по входу z 1 следует класс {2,3}, по входу z 2 - класс {5}, по z 3 - класс {2,3}, по z 4 - {2}. Следовательно, чтобы автомат, получающийся в результате совмещения состояний {1,2} был детерминированным, должны быть совместимы состояния {1,2}, {2,3}, {5}, {2,3}, {2}, что в нашем случае верно. Таким образом получаем следующие значения функций переходов и выходов:

d'(b 1, z1) = b 3, d'(b 1, z2) = b 4, d'(b 1, z3) = b 3, d'(b 1, z4) = b 3.

l'(b 1, z1) = w1, l'(b 1, z2) = w2, l'(b 1, z3) = w1, l'(b 1, z4) = w1.

Аналогичную процедуру проводим для остальных классов совместимости. Получаем следующий результат.

d b1 b2 b3 b4
z1 b3 b1 b3 b3
z2 b4 b1 b4 b2
z3 b3 b3 b1 b1
z4 b1 b1 b4 b4
l b1 b2 b3 b4
z1 w1 w1 w1 w1
z2 w2 w2 w2 w2
z3 w1 -- w1 w2
z4 w1 w1 w1 w1

Следует отметить, что в ряде случаев некоторые классы из множества максимальных совместимых классов для данного автомата не являются элементами минимального замкнутого покрытия, тогда как некоторые из их собственных подмножеств могут стать такими элементами. Кроме того, одни максимальные классы совместимости могут дать несколько элементов в минимальное замкнутое покрытие, а другие - ни одного. Число же минимальных замкнутых покрытий для некоторых частичных автоматов может значительно превышать число состояний этих автоматов. Поэтому практически более важной задачей является поиск одного минимального замкнутого покрытия для заданного автомата.

В частности, в нашем примере минимальным замкнутым покрытием является {{1,2},{2,3},{4,5}}. Соответствующий этому покрытию минимальный автомат имеет всего три состояния:

d {1,2} {2,3} {4,5}
z1 {2,3} {2,3} --
z2 {4,5} {4,5} {1,2}
z3 {2,3} {1,2} {1,2}
z4 {1,2} {4,5} --
l {1,2} {2,3} {4,5}
z1 w1 w1 --
z2 w2 w2 w2
z3 w1 w1 w2
z4 w1 w1 --

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: