Минимальная форма автомата
Минимальный автомат — это автомат, имеющий наименьшее возможное количество состояний и реализующий заданную функцию выходов. Задача минимизации автомата сводится к поиску его минимальной формы. Для произвольного конечного автомата может быть построен эквивалентный ему конечный автомат с наименьшим числом состояний[1].
Принцип построенияПравить
Минимальная форма автомата S (обозначается как Š) в теории автоматов представляет собой автомат с ň состояниями, образующими множество {σ1..σň}. Минимальный автомат из S строится следующим образом. Характеристические функции автоматов S и Š обозначаются gs, gz и g's , g'z соответственно. Тогда, если
, то
.
Таким образом, при построении Š по данному условию не возникает никакой неопределенности.
Алгоритм нахождения минимального автомата был предложен Ауфенкампом и Хоном. Ими было показано, что для нахождения минимального автомата необходимо находить последовательные разбиения Pi автомата S на классы 1, 2, …, k, (k+1) — эквивалентных между собой состояний, до тех пор пока на каком-то (k+1) шаге не окажется, что Pk = Pk+1. Таким образом, разбиение Pk дает все классы эквивалентности состояний автомата S. Всем состояниям S, принадлежащим классу эквивалентности Σl можно приписать общее обозначение, например, σl. Таким образом, автомат Š получается из автомата S путём «объединения» одинаково обозначенных состояний в одно состояние. Способы, которыми это объединение производится, существенно зависят от того, каким образом определен автомат — таблицей, графом или матрицей.
Способы получения минимальной формыПравить
Таблица переходовПравить
Если заданы таблица переходов и эквивалентное разбиение Σ1..Σň автомата S, то таблица переходов Š может быть построена следующим образом:
- Заменить обозначение каждого состояния, имеющегося в таблице S на обозначение класса, которому данное состояние принадлежит.
- Из каждой группы строк с одинаковыми обозначениями в клетках основного столбца вычеркнуть все строки, кроме одной.
Полученная при этом таблица является таблицей переходов Š.
Граф переходовПравить
Если заданы граф переходов (диаграмма состояний) и эквивалентное разбиение Σ1..Σň автомата S, то граф переходов Š может быть построен следующим образом:
- Заменить обозначение каждого состояния, имеющегося в графе переходов S на обозначение класса, к которому относится данное состояние.
- Объединить все одинаково обозначенные состояния (рассматривая дуги графа как «гибкие связи») и представить объединенные состояния одним состоянием, имеющим общее обозначение.
- Из каждой группы дуг, имеющих общее исходное и общее конечное состояние вычеркнуть все, кроме одной.
Полученный в результате граф будет графом Š.
Матрица переходовПравить
Если заданы матрица переходов и эквивалентное разбиение Σ1..Σň автомата S, то матрица переходов Š может быть построена следующим образом:
- Провести симметрическую перестановку и симметрическое разбиение [S] так, чтобы строки (и столбцы) группировались соответственно классам эквивалентности S (эту же матрицу можно получить при матричном методе эквивалентного разбиения).
- Заменить все обозначения строк (и столбцов) каждой группы, представляющей класс эквивалентности, одним обозначением этого класса.
- Заменить каждую подматрицу в разбитой матрице одной клеткой, содержащей все пары вход-выход, которые имеются в любой строке этой подматрицы (все строки в любой такой подматрице содержат одно и то же множество пар вход-выход).
Полученная в результате матрица является матрицей переходов Š.
Свойства минимальной формыПравить
Если Š является минимальной формой автомата S, то:
- Š является единственной минимальной формой с точностью до обозначения состояний
- Š=S
- Никакие два состояния Š не являются эквивалентными
- Не существует автомата, эквивалентного S и меньшего (с меньшим числом состояний), чем Š.
ПримечанияПравить
- ↑ Дискретная математика, 2006, с. 534.
ЛитератураПравить
- Гилл А. Введение в теорию конечных автоматов. М.: Наука, 1966. - 272 с.
- Белоусов А. И., Ткачев С. Б. Дискретная математика. — М.: МГТУ, 2006. — 744 с. — ISBN 5-7038-2886-4.
Для улучшения этой статьи желательно: |