Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ДМ 2012 / +Конспект лекций / ДМ_РБ_Конспект 2010.doc
Скачиваний:
199
Добавлен:
29.02.2016
Размер:
3.56 Mб
Скачать

Тема 11. Минимизация числа состояний автомата. Минимизация числа состояний синхронного автомата методом Хафмена.

Основной задачей настоящего параграфа является разработка таких конструктивных приемов, которые позволяли бы по любому данному конечному автомату Мили или Мура А находить эквивалентный ему ( или, в случае частичных автоматов, эквивалентно продолжающий его) автомат Мили или соответственно автомат Мура, которые имели бы наименьшее возможное число состояний. Эта задача носит название задачи минимизации конечных автоматов. Напомним, что вполне определенные автоматы называются эквивалентными, если они индуцируют одно и то же отображение, а частичный автомат А называется эквивалентным продолжением частичного автомата В, если индуцируемое им отображение совпадает с отображением, индуцируемым автоматом В на всех допустимых для автомата В словах.

Говорят, что частичное отображение ф продолжает частичное отображение 5, если область определения отображения ф включает в себя область определения М отображения ty, а на области М оба отображения совпадают. Частичный автомат А называется эквивалентным продолжением частичного автомата В, если частичное отображение, индуцируемое автоматом А, продолжает частичное отображение, индуцируемое автоматом В.

Подобно вполне определенным автоматам частичные автоматы также делятся на автоматы первого и второго рода, автоматы Мили и автоматы Мура. Изоморфизм частичных автоматов предусматривает, чтобы соответствующее изоморфное отображение переводило множества значений, в которых не определены функции переходов или выходов ( обычная или сдвинутая) одного автомата, в множества значений, в которых не определены соответствующие функции другого автомата.

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

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

Отображение К, индуцируемое некоторым автоматом 1 с конечным числом состояний, будем называть автоматным кодированием, а автомат Ч21 - кодирующим автоматом. Аналогичным образом определяются частичные автоматы, для которых функции / ии определены на некотором подмножестве множества S X А и, следовательно, отображение К [ определено на некотором подмножестве слов в А.

Рассмотрим теперь некоторые соотношения между областями определений функций переходов и выходов в частичном автомате. Предположим, что мы имеем частичный автомат Мили А, и пусть для некоторого состояния ai и входного сигнала х его функция выходов не определена. Это означает, очевидно, что переход автомата из состояния а ( в новое состояние под воздействием входного сигнала Xj реализуется лишь при подаче на вход автомата запрещенных входных слов.

Говорят, что частичное отображение ф продолжает частичное отображение 5, если область определения отображения ф включает в себя область определения М отображения ty, а на области М оба отображения совпадают. Частичный автомат А называется эквивалентным продолжением частичного автомата В, если частичное отображение, индуцируемое автоматом А, продолжает частичное отображение, индуцируемое автоматом В.

Соответствующий автомат полностью определен, если фг ( а, q) 1 при любых а е А и q Q, в противном случае имеем частичный автомат. Легко заметить, что область определения частичного автомата всегда представляет собой конечно перечислимое множество.

Отметим, что синтез частичных автоматов не отличается от изложенного выше. При тех комбинациях входных сигналов и внутренних состояний частичного автомата, которые не входят в кодированные таблицы переходов и выходов, значения функций возбуждения можно выбирать произвольно.

Если А и В - вполне определенные автоматы, то автомат К является вполне определенным автоматом. Если хотя бы один из исходных автоматов является частичным автоматом, то в результате умножения получаем частичный автомат К.

Далее, исходя из имеющегося графа переходов, осуществляют шаги по построению УА в соответствии с общими правилами структурного синтеза автоматов. Особенностью УА является то, что он обычно является частичным автоматом, поскольку многие сочетания входных сигналов оказываются невозможными; это упрощает как дальнейшую процедуру синтеза УА, так и структурную схему автомата.

Если А и В - вполне определенные автоматы, то автомат К является вполне определенным автоматом. Если хотя бы один из исходных автоматов является частичным автоматом, то в результате умножения получаем частичный автомат К.

Производя индукцию по п, приходим к заключению, что отображения, индуцируемые автоматами Л и В, одинаковы. Этот вывод справедлив не только для обычных ( вполне определенных) автоматов, но и для частичных автоматов.

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

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

Пример: Пусть задан автомат графа переходов (рис. 3.1).

Строится таблица выходов, каждой строке которой соответствует значение входного символа xi,а столбцу внутреннее состояниеsi. yi=(xi;si)

xi \ si

s1

s2

s3

s4

s5

s6

S7

0

1

1

0

0

1

0

0

1

0

0

1

1

0

1

1

Все множество состояний разбивают на классы условно эквивалентных состояний. В один и тот же класс включают те состояния, которым соответствуют одинаковые значения столбцов таблицы выходов. Таких классов 2: К1={S1, S2, S5} иК2={S3,S4,S6,S7}

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

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