Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курс лекций по Моделирование ИнфКом Систем.doc
Скачиваний:
24
Добавлен:
15.08.2019
Размер:
957.44 Кб
Скачать

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

Понятие эквивалентности

С практической точки зрения при функционировании автомата представляет интерес, в основном, зависимость между входами и выходами автомата. В этом случае роль автомата сводится к формированию этих зависимостей и любая совокупность состояний, обеспечивающая требуемые зависимости между входом и выходом, может быть выбрана в качестве множества состояний автомата.

Эта возможность привела к одной из важных задач теории конечных автоматов – минимизации автоматов, заключающаяся в сокращении числа состояний путем объединения эквивалентных состояний.

Состояния называются эквивалентными, если поведение автомата одинаково независимо от того, какое из них является исходным.

Другими словами, выходная последовательность, вырабатываемая автоматом при подаче на вход произвольной входной последовательности, и при начальном состоянии из эквивалентных, зависит только от входной последовательности и не зависит от того, какое из эквивалентных состояний является исходным.

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

Для определения эквивалентных состояний используется понятие «k – эквивалентности».

Состояние называется k‑эквивалентным, если автомат, находясь в любом из них, имеет одинаковое поведение в течение k тактов. k‑эквивалентные состояния образуют k-эквивалентные классы.

Очевидно, что при малых k число k-эквивалентных состояний больше, чем при больших k (а число k-эквивалентных классов меньше). Это позволяет указать путь определения эквивалентных состояний. Он заключается в разбиении состояний автомата на k‑эквивалентные классы поочередно для k = 1,2,3…. Число таких классов постепенно растет, размер классов уменьшается, и в итоге в них останутся только эквивалентные состояния. Классы, которые невозможно разбить являются классами эквивалентных состояний.

Пример определения эквивалентных состояний автомата

Автомат с тремя исходными состояниями

Автомат представлен в виде графа (рис.1.5.1). Определим, есть ли у автомата эквивалентные состояния.

Рис. 1.5.1 Представление автомата в виде графа

Графу соответствует таблица переходов (табл. 1.5.1).

Таблица 1.5.1

x

U

β

1

1/0

2/1

2

2/1

1/0

3

1/0

2/1

Произведем первое разбиение автомата, которое приведено в табл. 1.5.2.

Таблица 1.5.2

U

Классы

x

β

I

1

1

2

3

1

2

II

2

2

1

Состояния 1 и 3 объединены в один класс, поскольку на любое входное воздействие автомат при этих состояниях реагирует одинаково (состояния не различаются по выходам).

Из табл. 1.5.2 видно, что дальнейшее разбиение невозможно, поскольку при любом входе состояния 1 и 3 одного класса, который только и можно разбить, переходят в состояние одного класса (либо 1, либо 2), которые неразличимы.

Таким образом, автомат можно упростить и представить в виде графа (рис. 1.5.2) и таблицы переходов (табл. 1.5.3.).

Рис. 1.5.2 Граф минимизированного автомата

Таблица 1.5.3

x

u

α

β

1,3

1/0

2/1

2

2/1

1/0

Автомат с пятью исходными состояниями

Пример 2. Автомат задан в виде табл. 1.5.4.

Таблица 1.5.4

x

u

β

γ

1

2/0

5/1

3/0

2

3/1

1/0

4/1

3

5/0

4/1

1/0

4

2/0

3/1

1/0

5

4/1

1/0

3/1

В этом автомате два 1-эквивалентных класса.

Проведем разбиение состояний на эти классы (табл. 1.5.5.).

Таблица 1.5.5

Классы

x

u

β

γ

1

2

5

3

3

5

4

1

4

2

3

1



2

3

1I

4

5

4

1I

3

При подаче β из состояние 1 автомат переходит в класс II, а из 3 и 4 в класс I, которые различимы при любом входном воздействии. В итоге получим таблицу разбиения (табл. 1.5.6).

Таблица 1.5.6

Классы

U

x

β

γ

1

2III

5III

3II



3

5

4

1I

4

2

3

1



2

5

3

4

1I

1I

4

3

Дальнейшее разбиение невозможно. Таким образом, получена результирующая таблица состояний (табл. 1.5.7).

Таблица 1.5.7

Классы

U

β

γ

/0

/1

/0



/0

/1

/0



/1

/0

/1

Рассмотренные автоматы называются синхронными. В синхронных автоматах все состояния являются устойчивыми, так как в них автомат может находиться неограниченно долго, поскольку переход в следующее состояние возможен после подачи очередного тактового сигнала.

Существуют и асинхронные автоматы, в которых нет синхронизации или тактирующих сигналов. Асинхронный автомат задерживается неограниченно долго только в устойчивых состояниях. Устойчивое состояние характеризуется тем, что в следующий момент времени при продолжающем действовать управлении автомат вновь стремится к этому состоянию, т.е. если состояние x* устойчивое при управлении u*, то

.

Может оказаться, что при некотором управлении автомат постоянно будет неустойчивым, превращаясь в генератор. Ввиду ограничений в смене управлений асинхронный автомат менее управляем, чем синхронный.