Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
255
Добавлен:
30.03.2015
Размер:
6.2 Mб
Скачать

5.6. Минимизация неполных конечных автоматов

Как было сказано в (5.4), общая таблица переходов для неполных автоматов содержит прочерки вместо состояний и выходов для запрещенных входов, а также вместо неопределенных выходов. Например, для неполного автомата, граф которой изображен на рис. 5.11а, общая таблица переходов – табл. 5.18.

Здесь вход 0 в состояниях 1 и 5, а также вход 1 в состояниях 0 и 5 являются запрещенными. Кроме того, в состоянии 3 при воздействии 0 и в состоянии 4 при воздействии 1 выходы не, определены.

а) б)

Рис. 5.11

Входная последовательность называется допустимой для автомата в состоянии qi, если она не нарушает ограничений на входе ни в каком состоянии автомата А и порождаемый ею выход определен на заключительном такте. На других тактах входной последовательности выходы могут и не быть определены, но последовательность состояний обязательно должна существовать. Например, для приведенного выше автомата в состоянии 0 допустимая входная последовательность (0, 1, 0) порождает последовательность состояний {1, 4, 5} и заключительный выход 0. В то же время последовательность (0, 1, 1) не допустима, так как заключительный выход не определен.

Сокращенная форма неполного автомата А – это такой автомат А', который по отношению к допустимым для А входным последовательностям ведет себя на выходах так же, как и исходный автомат А, но имеет меньшее число состояний. Говорят, что автомат А' квазиэквивалентный автомату А. Отношение квазиэквивалентности рефлексивно и транзитивно, но не симметрично, т.е. обладает всеми свойствами отношения включения. Поэтому говорят также, что А' включает А, и записывают А  А'. При этом из А  А' вовсе не следует А'  А, что иногда выражают словами: А' делает столько же и, может быть, больше, чем А.

Задача минимизации неполного автомата сводится к поиску квазиэквивалентного автомата, который имеет наименьшее число состояний, и решается следующим образом.

Таблица 5.19

xv

Пары

0

1

0,1

0,2

0,3

0,4

0,5

1,4

1,5

2,3

2,4

2,5

3,4

3,5

4,5

1,3

1,5

1,5

3,5

3,5

5,5

4,5

1,5

1,5

5,5

Сначала на множестве состояний Q = { q1 q2qr }исходного автомата определяется отношение совместимости. Состояния qi и qj называют совместимыми, если любая допустимая для этих состояний входная последовательность не порождает различных заключительных выходов при начальных состояниях qi и qj, автомата. Отношение совместимости рефлексивно и симметрично, однако не обязательно транзитивно. Отсюда следует, что совместимость является отношением толерантности. Все совместимые между собой состояния объединяются в классы толерантности Q'0, Q'1, …, Q'm, которые образуют некоторое покрытие множества состояний Q.

Для определения совместимых состояний можно воспользоваться методом, аналогичным изложенному в (5.5). Исходная таблица содержит пары таких состояний, при которых для любого допустимого входного символа отсутствуют различные выходы. Клетки, соответствующие запрещенным входам для данной пары состояний, заполняются прочерком и при исключении пар, как это описано в (5.5), не учитываются. Так, для автомата, заданного приведенной выше таблицей переходов, имеем таблицу 5.19.

Отмеченная на первом шаге пара (0, 2} является единственной несовместимой парой в таблице, так как она не содержится ни в каких других строках. Следовательно, все неотмеченные пары являются несовместимыми. Построив матрицу толерантности для совместимых пар и переставив в ней строки и столбцы, имеем:

0

1

2

3

4

5

1

0

4

5

3

2

1

1

1

1

1

0

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

0

Q'0

1

1

1

1

2

1

1

1

1

1

1

4

Q'1

1

1

1

1

1

3

1

1

1

1

1

1

5

Q'2

1

1

1

1

1

1

4

1

1

1

1

1

3

1

1

1

1

1

1

5

1

1

1

1

2

Отсюда выделяем классы толерантности Q'0 = {0, 1, 4, 5}, Q'1 = (0, 3, 4, 5}, Q'2 = (2, 3, 4, 5}, объединяющие совместимые между собой состояния. Здесь, в частности, можно убедиться в том, что совместимость не обладает свойством транзитивности. Например, пары состояний (0, 1} и {0, 3) совместимы, но состояния 1 и 3 не входят в один и тот же класс толерантности, и, следовательно, они несовместимы.

Из определения совместимости и способа получения классов толерантности следует, что при воздействии любого незапрещенного входного символа автомат из совместимых состояний переходит в одно и то же или в совместимые состояния, а выходы (если они определены) при этом будут одинаковы. Так, в нашем примере при воздействии 0 классы Q'0 и Q'1 переходят в {1,5],а Q'2 – в {3,5}; при воздействии 1 класс Q'0 переходит в {4, 5}, Q'1 – в {5} и Q'2 – в {1,5}. Следовательно, исходный автомат можно представить квазиэквивалентным ему автоматом, в котором классам толерантности Q'0, Q'1, ..., Q'm соответствуют состояния q'0 q'1q'm. Однако такой автомат не всегда будет минимальным. Для получения минимальной формы автомата необходимо отобрать наименьшее число таких классов толерантности, которые образуют покрытие множества состояний Q и в то же время включают множества состояний, следующих за состояниями каждого класса при всех незапрещенных воздействиях. Для рассматриваемого примера этим требованиям удовлетворяют классы Q'0, и Q'2, так как Q'0 Q'2 = Q, и все множества последующих состояний {1,5}, {3,5}, {4,5} и {5} являются подмножествами Q'0 и Q'2. Соответствующая минимальная форма показана на рис. 5.11б, где состояния 0 и 1 соответствуют классам Q'0 и Q'2.

Дальнейшие упрощения относятся не к числу состояний, а к структуре множеств, образующих минимальное покрытие Q. Если из отобранных классов толерантности можно исключить некоторые состояния так, что полученные подмножества удовлетворяют приведенным выше требованиям, то эти подмножества также определяют другой вариант минимальной формы автомата. Так, из Q'0 или из Q'2 можно исключить состояние 4, поскольку оно входит только в множество последующих состояний {4, 5}. Тогда получим еще два варианта минимальных покрытий: {0, 1, 5}, {2, 3, 4, 5} и {0, 1, 4, 5}, {2, 3, 5}. Но состояние 5 нельзя исключить ни из одного класса, хотя оно и содержится в каждом из них, так как множества последующих состояний {1, 5} и {3, 5} показывают, что состояние 5 должно содержаться как в Q'0, так и в Q'2.

Соседние файлы в папке Основы теории конеч.авт., ЗА 6 сем