- •Министерство образования и науки Российской Федерации
- •Работа 1. Исследование и описание конечного автомата без памяти
- •Методические указания
- •Работа 2. Методы минимизации фал и их реализация на эвм
- •Работа № 3. Исследование логических алгоритмов распознавания
- •Задание.
- •Общие сведения
- •Методические указания
- •Варианты заданий:
- •Контрольные вопросы
- •Работа № 4. Алгоритмы согласования и упорядочения на графах и их реализация на эвм
- •Задание
- •Методические указания
- •Определение гамильтонова пути в графе
- •Определение связности графа
- •Определение эйлерового пути в графе
- •Контрольные вопросы
- •Задание
- •Общие сведения
- •Методические указания
- •Контрольные вопросы
- •Задание для курсовой работы
- •Часть 1
- •Часть 2
- •Приложение
- •Вариант 1 Вариант 2
- •Вариант 3 Вариант 4
- •Вариант 5 Вариант 6
- •Вариант 7 Вариант 8
- •Вариант 9 Вариант 10
Контрольные вопросы
-
Что такое Гамильтонов путь? Как определить по матрице смежности начальные и конечные вершины Гамильтонова пути в графе?
-
Какое максимальное число классов эквивалентности может быть в графе?
-
Чему равно число Гамильтоновых путей в насыщенном графе?
-
Что такое связный граф? Как найти связные подграфы в неориентированном графе.
-
Что такое Эйлеров путь? Во всяком ли связном графе существует ЭП?
-
Как по матрице смежности неориентированного графа определить существование ЭП?
-
Что такое сильная компонента графа?
-
Что такое базовое и доминирующее множества графа?
-
Каковы свойства сильной компоненты, минимального базового и доминирующего множеств?
-
Как находится матрица достижимости и контрдостижимости?
-
Что такое конденсация графа.
-
В чем сходство и различие алгоритмов определения базового и доминирующего множеств?
Работа 5. МИНИМИЗАЦИЯ НА ЭВМ КОНЕЧНЫХ АВТОМАТОВ С ПАМЯТЬЮ
Цель работы: изучение методов формализованного представления и минимизации конечных автоматов с памятью (КА) на ЭВМ.
Задание
1. Для заданного преподавателем в виде графа КА (КА1) составить таблицы переходов и выходов. Подготовить предложения для представления на ЭВМ КА1.
2. Найти для КА1 К - эквивалентные состояния. (К=1, 2).
3. Для КА1 найти - разбиение и построить минимальный КА1 (МКА 1).
4. Получить на ЭВМ минимальный КА1 и сравнить результаты с п.3.
Общие сведения
Представляется очевидным, что одно и то же автоматное преобразование может быть реализовано разными конечными автоматами, различающимися множествами внутренних состояний Q и, как следствие, функциями переходов и выходов [1, 7, 8]. Поэтому для каждого автоматного преобразования должна существовать форма, его реализующая и обладающая наименьшим числом внутренних состояний. Назовем такой конечный автомат минимальным, а процесс его определения – минимизацией конечных автоматов с памятью.
Основной идеей предлагаемого метода минимизации является разбиение (-разбиение) множества всех внутренних состояний Q заданного автомата на подмножества эквивалентных, с точки зрения выходных последовательностей, состояний и выбором для множества Q только одного состояния из каждого подмножества эквивалентных состояний. Указанное -разбиение может быть найдено с помощью к- разбиений по методике, рассмотренной ниже в методических указаниях на частном примере.
Методические указания
1. Формализованное представление КА. При формализованном представлении КА необходимо составить таблицу переходов и выходов для синхронного и асинхронного КА1, а также составить совмещенные таблицы.
Для представления на ЭВМ КА необходимо определить, какие переменные КА и массивы будут использованы. Эти данные необходимо согласовать с преподавателем.
2. Определение К- эквивалентных состояний и -разбиение рассмотрим на примере построения минимального КА, заданного в виде:
X = {x1, x2, x3}, Y = {0, 1}, Q = {q1, q2, q3, q4, q5, q6, q7, q8, q9},
где X - множество входных состояний; Y - множество выходных состоянии; Q - множество внутренних состояний КА; - таблица переходов; - таблица выходов. Таблицы переходов и выходов заданы следующие:
|
Таблица переходов |
Таблица выходов |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
Для нахождения - разбиения определим последовательно 1, 2 и т. д. разбиения. Для КА1 на основании таблицы выходов 1 - разбиение состоит из двух классов:
a1 = {q1, q3, q5, q7, q8}; b1 = {q2, q4, q6, q9}.
В дальнейшем индексами ak, bk, ck, dk и т.д. будем обозначать множества, состоящие из эквивалентных состояний КА в k - разбиении.
Для построения 2 - разбиения составим таблицу переходов:
-
x1
x2
x3
q1
b1
b1
a1
q3
b1
b1
a1
q5
b1
b1
a1
q7
b1
b1
a1
q8
b1
b1
a1
q2
a1
b1
b1
q4
a1
b1
b1
q6
a1
b1
b1
q9
a1
b1
b1
При 2 - разбиении имеем три класса эквивалентных состояний a2, b2, c2. Аналогично определяются разбиения 3, 4, 5.
|
Для разбиения 3: |
Для разбиения 4: |
Для разбиения 5: |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
Так как 4 эквивалентно 5, то разбиения прекращаем и полученное разбиение = 4 является предельным.
3. Для построения минимального КА каждому множеству эквивалентныx состояний a4, b4, c4d4l4 в - разбиении поставим в соответствие одно внутреннее состояние g1, g2, g3, g4, g5 минимального конечного автомата
AM (X, GM, Y, M, M),
где GM = (g1, g2, g3, g4, g5).
M определяется следующим образом:
Если (qj, x)GS, qjGl, то M(gl, x) = qS.
Например: (q1, x1)G2, q1G1, следовательно, M(g1, x1) = g2.
M определяется следующим образом:
Если (qj, x) = Yk, qjGS, то M(gS, x) = Yk.
Например: (q1, x1) = 1, q1G1, следовательно, M(g1, x1) = 1.
В результате получим минимальный КА, для которого GM = (g1, g2, g3, g4, g5) и таблицы переходов и выходов имеют вид:
|
Таблица переходов |
Таблица выходов |
||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
Граф данного КА приведен на рис. 5.1.

Рис. 5.1.
