Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
27
Добавлен:
29.02.2016
Размер:
146.94 Кб
Скачать

3

ЛАБОРАТОРНАЯ РАБОТА 6.

Минимизация конечного автомата методом Хафмена.

Цель работы. Изучить и получить практические навыки по методам минимизации абстрактного конечного автомата.

Порядок выполнения работы.

Получить задание у преподавателя.

Указания: Последовательность выполнения задания должна отражать следующие разделы:

1. Входной, выходной алфавиты и множество состояний минимизируемого автомата;

2. Автоматная таблица, граф переходов исследуемого и минимального автомата.

Основные теоретические сведения.

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

Пример: Пусть задан автомат графа переходов (рис. 6.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}

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

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

Минимизация числа состояний методом таблиц.

Пример: Пусть задан автомат следующей автоматной таблицей.

Таблица Р0

yi=(xi;si) si+1=δ(xi, si)

si \ xi

1

1

0

0

2

2

5

2

0

1

1

1

4

4

3

1

0

0

2

2

5

4

0

1

1

3

2

2

5

1

0

0

6

4

3

6

0

1

1

8

9

6

7

1

0

0

6

2

8

8

1

0

0

4

4

7

9

0

1

1

7

9

7

Автоматная таблица – таблица выходов и таблица переходов.

Строят таблицу Р1, при этом изменяют порядок следования строк так, чтобы одинаковые строки стали соседними. Каждая группа таких строк в таблице выходов соответствует классу эквивалентности.

Таблица Р1

si \ xi

A

1

2b

2b

5a

3

2b

2b

5a

5

6b

4b

3a

7

6b

2b

8a

8

4b

4b

7a

B

2

1a

4b

4b

4

3a

2b

2b

6

8a

9b

6b

9

7a

9b

7a

Каждое значение состояния si+1 в таблице Р1 снабжается индексом, указывающим группу, к которой данное состояние относится. Построение таблицы Рk+1 по таблице Рk, где k1. Две смежные строки таблицы Рк, имеющие во всех столбцах одинаковые индексы, являются смежными в таблице Рк+1. Две смежные строки в таблице Рк , имеющие в некоторых столбцах разные индексы, являются разобщенными в таблице Рк+1. Разобщенные строки в таблице Рк являются также разобщенными в таблице Рк+1. Группа, состоящая из одной строки таблицы Рк , состоит из одной строки и в таблице Рк+1. Таблица Рк+1 строится до тех пор, пока не будет получена таблица, в которой все смежные строки имеют одинаковые индексы во всех столбцах.

Задание.

  1. Минимизировать автомат Мили:

  1. Минимизировать автомат Мура.

Литература.

Конспект лекций по курсу «Дискретная математика». – Могилев, Белорусско-Российский университет, 2010.