Минимальная форма автомата (Bnunbgl,ugx skjbg gfmkbgmg)

Перейти к навигации Перейти к поиску

Минимальный автомат — это автомат, имеющий наименьшее возможное количество состояний и реализующий заданную функцию выходов. Задача минимизации автомата сводится к поиску его минимальной формы. Для произвольного конечного автомата может быть построен эквивалентный ему конечный автомат с наименьшим числом состояний[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, то таблица переходов Š может быть построена следующим образом:

  1. Заменить обозначение каждого состояния, имеющегося в таблице S на обозначение класса, которому данное состояние принадлежит.
  2. Из каждой группы строк с одинаковыми обозначениями в клетках основного столбца вычеркнуть все строки, кроме одной.

Полученная при этом таблица является таблицей переходов Š.

Граф переходов

[править | править код]

Если заданы граф переходов (диаграмма состояний) и эквивалентное разбиение Σ1..Σň автомата S, то граф переходов Š может быть построен следующим образом:

  1. Заменить обозначение каждого состояния, имеющегося в графе переходов S на обозначение класса, к которому относится данное состояние.
  2. Объединить все одинаково обозначенные состояния (рассматривая дуги графа как «гибкие связи») и представить объединенные состояния одним состоянием, имеющим общее обозначение.
  3. Из каждой группы дуг, имеющих общее исходное и общее конечное состояние вычеркнуть все, кроме одной.

Полученный в результате граф будет графом Š.

Матрица переходов

[править | править код]

Если заданы матрица переходов и эквивалентное разбиение Σ1..Σň автомата S, то матрица переходов Š может быть построена следующим образом:

  1. Провести симметрическую перестановку и симметрическое разбиение [S] так, чтобы строки (и столбцы) группировались соответственно классам эквивалентности S (эту же матрицу можно получить при матричном методе эквивалентного разбиения).
  2. Заменить все обозначения строк (и столбцов) каждой группы, представляющей класс эквивалентности, одним обозначением этого класса.
  3. Заменить каждую подматрицу в разбитой матрице одной клеткой, содержащей все пары вход-выход, которые имеются в любой строке этой подматрицы (все строки в любой такой подматрице содержат одно и то же множество пар вход-выход).

Полученная в результате матрица является матрицей переходов Š.

Свойства минимальной формы

[править | править код]

Если Š является минимальной формой автомата S, то:

  1. Š является единственной минимальной формой с точностью до обозначения состояний
  2. Š=S
  3. Никакие два состояния Š не являются эквивалентными
  4. Не существует автомата, эквивалентного S и меньшего (с меньшим числом состояний), чем Š.

Примечания

[править | править код]

Литература

[править | править код]
  • Гилл А. Введение в теорию конечных автоматов. М.: Наука, 1966. - 272 с.
  • Белоусов А. И., Ткачев С. Б. Дискретная математика. — М.: МГТУ, 2006. — 744 с. — ISBN 5-7038-2886-4.