Этап минимизации автомата при абстрактном синтезе.
Минимизация полностью определенного автомата. Постановка задачи: Задан полностью определенный автомат A имеющий e – число состояний, необходимо построить эквивалентный ему автомат «A» c числом состояний «e1», причем e1 <= e. Минимизация состоит в поиске эквивалентных состояний в автомате A и их объединений. Два состояния S1 и S11 называются эквивалентными, если любую входную последовательность автомат перерабатывает в одинаковые выходные последовательности, в независимости от того какой из двух состояний S1 или S11 выбраны в качестве начального.(S1≡S11). Отношение эквивалентности, определенное на множестве состояний обладает свойствами:
S1≡S1
S1≡S11 => S11≡S1
S11≡S111 Отношение эквивалентности разбивает множество Ci на классы эквивалентности S=C1ÚC2 ÚC3Ú…ÚCq Ci <= S Пересечение классов эквивалентности представляет собой пустое множество. Пример: Состояние Si ≡ Sk – не очевидно Эквивалентный автомат будет: Существует два необходимых условия эквивалентности состояний:
ψ1(S1) = ψ11(S11) (Мура) ψ1(S1,Pk) = ψ11(S11,Pk) (Миля).
ψ11(S11,Pk) = Sj
Алгоритмы минимизации на основе треугольной матрицы.
Изначально нам задан автомат, имеющий L состояний.
a) если для Si, Sj невыполнимо условие 1 эквивалентности, то в клетку ставят «X» b) если выполняется заведомо два условия для Si, Sj (переходы осуществляются в одно и то же состояние для второго условия) – клетка оставляется пустой либо ставится «▼» c) если для пары состояний Si, Sj выполняется 1 условие, но не известно выполняется ли второе, т.к. переходы осуществляется в разное состояние, то в клетку записывают номера состояний от эквивалентности которых зависит эквивалентность данных.
Рассмотрение матрицы осуществляется до тех пор пока не перестанут появляться новые пары неэквивалентных состояний.
Пример минимизации:
P = {a,b,c} W = {1,2} S = {1,2,3,4,5,6,7,8}
Получили следующие пары эквивалентных состояний: 1 ≡ 5 3 ≡ 8 4 ≡ 6 4 ≡ 7 6 ≡ 7 Классы эквивалентности: C1 = {1, 5} C2 = {2} C3 = {3, 8} C4 = {4, 6, 7} Получили 4 класса эквивалентности. Далее перепишем:
C1 – 1 C2 – 2 C3 - 3 C4 – 4 Получим:
Объединяем строчки: получим
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|