Алгоритм минимизации автомата Мили

1. По таблице выхода находятся состояния с одинаковыми выходными сигналами. Данные состояния объединяются в класс одноэквивалентных состояний. Проводится перекодировка.

2. По таблице перехода определяются классы двухэквивалентных состояний: для любого класса выделяется состояние, которое на одинаковый входной сигнал переходит в одинаковое состояние. Объединяем двухэквивалентные состояния в классы двухэквивалентных состояний. Проводится перекодировка.

3. Алгоритм выполняется, пока в классах k-эквивалентных состояний не находятся одинаковые состояния.

4. Вводятся новые состояния, соответствующие классам эквивалентных состояний.

5. С учетом новых состояний переписываются таблицы перехода и выхода.

 

ПРИМЕР

Пусть задан автомат Мили

Таблица выходов

 

 

Таблица переходов

 

 

 

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

Таблица выходов

 
  а в а в а в а в

 

Выделяются два класса одноэквивалентных состояний a={1,3,5,7,8} и b={2,4,6,9}. Перегруппируем таблицу перехода по классам одноэквивалентных состояний

Таблица переходов

  а в
 

 

Перекодируем состояния по полученным классам

Таблица переходов

  а в
 
2/в 2/в 6/в 6/в 4/в 1/а 3/а 8/а 7/а
2/в 2/в 4/в 2/в 4/в 4/в 2/в 9/в 9/в
5/а 5/а 3/а 8/а 7/а 4/в 2/в 6/в 7/а

Выделяем внутри каждого из классов одинаковые состояния, тем самым определяя классы двухэквивалентных состояний

Таблица переходов

  а в
 
2/в 2/в 6/в 6/в 4/в 1/а 3/а 8/а 7/а
2/в 2/в 4/в 2/в 4/в 4/в 2/в 9/в 9/в
5/а 5/а 3/а 8/а 7/а 4/в 2/в 6/в 7/а
  а в с

Определим новые классы двухэквивалентных состояний a={1,3,5,7,8}, b={2,4,6}, c={9}, перекодируем по новым состояниям и выделим классы трехэквивалентных состояний

Таблица переходов

  а в с
 
2/в 2/в 6/в 6/в 4/в 1/а 3/а 8/а 7/а
2/в 2/в 4/в 2/в 4/в 4/в 2/в 9/с 9/с
5/а 5/а 3/а 8/а 7/а 4/в 2/в 6/в 7/а
  а в с d

Классы трехэквивалентных состояний a={1,3,5,7,8}, b={2,4}, c={6}, d={9} перекодируем по новым состояниям и выделим классы четырехэквивалентных состояний

Таблица переходов

  а в с d
 
2/в 2/в 6/с 6/с 4/в 1/а 3/а 8/а 7/а
2/в 2/в 4/в 2/в 4/в 4/в 2/в 9/d 9/d
5/а 5/а 3/а 8/а 7/а 4/в 2/в 6/с 7/а
  а в а c d e

Перегруппируем таблицу перехода по новым классам a={1,3,8}, b={5,7}, c={2,4}, d={6}, е={9}, перекодируем по новым состояниям.

Таблица переходов

  а в c d e
 
2/с 2/с 4/с 6/d 6/ d 1/a 3/a 8/a 7/b
2/с 2/с 4/с 4/c 2/c 4/c 2/c 9/e 9/e
5/в 5/в 7/в 3/a 8/a 4/c 2/c 6/d 7/b
  а в c d e

Так как внутри из каждого класса дальнейшее разбиение на классы не осуществляется, это означает, что найдены классы эквивалентных состояний:. a={1,3,8}, b={5,7}, c={2,4}, d={6}, е={9}.

Минимизированный автомат Мили в новых состояниях имеет вид

Таблица переходов

 

  a b c d e
с d a a b
с c c e e
в c c d b

 

Таблица выходов

 

  a b c d e
1 1 0 0 0
0 0 1 0 0
0 0 1 1 1