- •Оглавление
- •Глава 1. Алгебраические системы 17
- •Глава 2. Элементы комбинаторики 88
- •Глава 3. Основы теории графов 101
- •Глава 4. Основы математической логики 169
- •4.1.1.4. Эквивалентные преобразования формул 179
- •4.1.4. Выполнить подстановку: 247
- •Глава 5. Основы теории алгоритмов 252
- •Глава 6. Конечные автоматы 289
- •Введение
- •Глава 1. Алгебраические системы
- •1.1 Множества
- •1.1.1. Четкие множества
- •1.1.2. Нечеткие множества
- •1.2. Соответствия, отображения и функции
- •1.2.1. Четкие отображения и функции
- •1.2.2. Нечеткие отображения
- •1.3. Отношение
- •1.3.1. Четкие отношения
- •1.3.2. Нечеткое отношение
- •1.4. Элементы общей алгебры
- •1.5. Булева алгебра
- •1.5.1. Булевы операции
- •1.5.2. Законы булевой алгебры
- •1.5.3. Формула булевой функции
- •1.5.4. Описание булевой функции
- •1.5.5. Суперпозиция булевых функций
- •1.5.6. Свойства булевых функций
- •1.5.6.1. Самодвойственные булевы функции
- •1.5.6.2. Монотонные булевы функции
- •1.5.6.3. Линейные булевы функции
- •1.5.6.4. Функции, сохраняющие “0”
- •1.5.6.5. Функции, сохраняющие “1”
- •1.5.6.6. Функционально полные системы
- •1.5.7. Разложение булевых функции
- •1.5.7.1. Днф булевой функции
- •1.5.7.2. Кнф булевой функции
- •Алгоритм преобразования формулы к скнф:
- •1.5.8. Минимизация булевых функций.
- •1.5.8.1.Минимизация днф булевой функции
- •1.5.8.2. Минимизация кнф булевой функции
- •1.6. Алгебра четких множеств
- •1.6.1. Операции над множествами
- •1.6.2. Законы алгебры множеств
- •1.6.3. Эквивалентные преобразования формул
- •1.6.4. Композиция отображений и отношений
- •1.6.5. Поиск неизвестного множества
- •1.7. Алгебра нечетких множеств
- •1.7.1. Операции над нечеткими множествами
- •1.7.2. Композиция нечетких отображений
- •1.7.3. Композиция нечетких отношений
- •1.7.4. Свойства нечетких отношений
- •Вопросы и задачи
- •Глава 2. Элементы комбинаторики
- •2.1. Размещение из n элементов по k
- •2.2. Перестановка элементов
- •2.3 Сочетание из n элементов по k
- •2.4. Разбиение множества
- •2. 5 Правила комбинаторики
- •Вопросы и задачи
- •Глава 3. Основы теории графов
- •3.1. Граф и его характеристики
- •3.2. Описание графа
- •3. 3. Числа графа
- •3.4. Операции над графами
- •3.4.1. Унарные операции
- •3.4.1.1 Поиск дополнительного графа
- •3.4.1.2. Введение и удаление вершин графа
- •3.4.1.3. Стягивание вершин графа
- •3.4.1.4. Введение и удаление ребер графа
- •3.4.1.5. Поиск плотности и неплотности графа
- •3.4.1.6. Поиск числа компонент связности графа
- •3.4.1.7. Поиск устойчивости графа
- •3.4.1.8. Поиск цикломатического числа графа
- •3.4.1.9. Поиск хроматического числа графа
- •3.4.2. Бинарные операции
- •3.4.2.1. Объединение графов
- •3.4.2.2. Пересечение графов
- •3.4.2.3. Композиция графов
- •3.4.2.4. Соединение графов
- •3.4.2.5. Прямое произведение графов
- •3.4.2.6. Изоморфизм графов
- •3.5. Некоторые алгоритмы на графах
- •3.5.1. Построение покрывающего остова
- •3.5.2. Построение остова минимального веса
- •3.5.3. Поиск кратчайших путей в сети.
- •3.5.4. Поиск максимального потока в сети
- •3.5.5. Метод критического пути в управлении
- •3.6. Нечеткие графы
- •Вопросы и задачи
- •Глава 4. Основы математической логики
- •4.1. Логика высказываний
- •4.1.1. Алгебра высказываний
- •4.1.1.1. Логические операции
- •4.1.1.2. Правила записи сложных формул.
- •4.1.1.3. Законы алгебры высказываний
- •4.1.1.4. Эквивалентные преобразования формул
- •4.1.1.5. Нормальные формы формул
- •4.1.2. Исчисление высказываний
- •4.1.2.1. Интерпретация формул
- •4.1.2.2. Аксиомы и правила введения и удаления логических связок
- •4.1.2.3. Метод дедуктивного вывода
- •4.1.2.4. Принцип резолюции
- •4. 2. Логика предикатов
- •4.2.1. Алгебра предикатов
- •4.2.1.1. Законы алгебры предикатов
- •4.2.1.2. Предваренная нормальная форма формулы
- •4.2.1.3 Сколемовская стандартная форма формулы
- •4. 2. 2. Исчисление предикатов
- •4.2.2.1. Правила подстановки
- •4.2.2.2. Правила введения и удаления кванторов
- •4.2.2.3. Правила заключения
- •4.2.2.4. Метод дедуктивного вывода
- •4.2.2.5. Принцип резолюции
- •4.2.2.6. Логическое программирование
- •4.3. Логика реляционная
- •4.3.1 Реляционная алгебра
- •4.3.1.1. Унарные операции
- •4.3.1.2. Бинарные операции
- •4.3.1.3. Правила реляционной алгебры
- •4.3.2. Реляционное исчисление
- •4.3.3. Языки реляционной логики
- •4.4. Нечеткая логика
- •4.4.1. Нечеткое исчисление
- •4.4.2. Экспертные системы
- •Вопросы и задачи
- •Глава 5. Основы теории алгоритмов
- •5.1. Рекурсивные функции
- •5.1.1. Базовые функции
- •5.1.2. Элементарные операции
- •5.2. Машина Тьюринга
- •5.2.1. Описание машины Тьюринга
- •5.2.2. Примеры машин Тьюринга
- •5.2.3. Композиция машин Тьюринга
- •5.3. Нормальные алгоритмы Маркова
- •5.4 Сложность вычислений
- •Вопросы и задачи
- •Глава 6. Конечные автоматы
- •6.1. Абстрактный автомат
- •6.1.1. Типы конечных автоматов
- •6.1.2. Описание автоматов
- •6.1.3. Автоматное моделирование алгоритмов
- •6.1.3.1. Автомат Мили - модель управляющего автомата
- •6.1.3.2. Автомат Мура - модель управляющего автомата
- •6.1.3.3. Микропрограммный автомат
- •6.1.4. Эквивалентность автоматов
- •6.1.5. Эквивалентность внутренних состояний автомата
- •6.1.5.1. Детерминированный автомат
- •6.1.5.2. Недетерминированный автомат
- •6.2. Структурный автомат
- •6.2.1. Произведение автоматов
- •6.2.1.1. Последовательное соединение автоматов
- •6.2.1.2. Параллельное соединение автоматов
- •Обратная связь автоматов
- •6.2.3. Сумма автоматов
- •6.2.4. Структурный автомат и кодирование
- •6.3. Логическое проектирование автоматов
- •6.3.1. Кодирование алфавитов автомата
- •6.3.2. Автоматы без “памяти”.
- •6.3.2.1. Формирование оператора
- •6.3.2.2. Формирование системы операторов
- •Логическая схема комбинационного автомата
- •6.3.3. Автоматы с “памятью”
- •6.3.3.1. Формирование оператора
- •6.3.3.2. Формирование оператора
- •.3.3.3. Логическая схема автомата с “памятью”
- •Вопросы и задачи
- •Литература
- •Предметный указатель
6.3.3.2. Формирование оператора
По кодированной таблице переходов автомата можно определить для каждого разряда вектора q[+1]=(q1[+1], q2[+1],...qm[+1]) зависимость с каждым разрядом векторов q[]=(q1[], q2[],...qm[]) и x[]=(x1[], x2[],...xn[]).
Пусть дана таблица переходов минимизированного автомата, представленная в кодах входных сигналов и внутренних состояний.
(q3q2q1) |
(x2x1) |
||
01 |
10 |
11 |
|
001 |
010 |
010 |
011 |
010 |
001 |
010 |
010 |
011 |
100 |
010 |
001 |
100 |
001 |
101 |
100 |
101 |
011 |
101 |
011 |
По этой таблице для каждого типа триггера (см. рис. 6.27) можно сформировать сигналы в каждом разряде для перевода его из состояния qi[] в состояние. qi[+1], т. е. построить таблицу возбуждения триггера.
Пусть дан JK-триггер, имеющий два информационных входа. В каждой клетке таблицы 6.45 верхняя строка есть информационный вход J, а нижняя строка – информационный вход K.. В каждой клетке таблицы символом “*” отмечены позиции (qi, J) и (qi, K), в которых допустимы любые значения информационного сигнала.
По сформированной таблице 6.45 перейти к формированию оператора (см. рис. 6.19) или функции возбуждения памяти автомата в форме СДНФ или СКНФ.
-
Таблица 6.45.
(q3q2q1)
(x2x1)
01
10
11
001
0 1 0
* * *
0 1 0
* * *
0 1 *
* * 0
J
K
010
0 * 1
* 1 *
0 * 0
* 0 *
0 1 *
* * 0
J
K
011
1 * *
* 1 1
0 * *
* 0 1
0 * *
* 1 0
J
K
100
* 0 0
1* *
* 0 1
0 * *
* 0 0
0 * *
J
K
101
* 1 *
1 * 0
* 0 *
0 * 0
* 1 *
1 * 0
J
K
q3q2q1
q3q2q1
q3q2q1
Н апример, система функций возбуждения памяти автомата в форме СДНФ, составленная по таблице 6.45 имеет вид:
U(J3)=q3q2q1x2x1
U(K3)=q3q2q1x2x1q3q2q1x2x1q3q2q1x2x1
U (J2)=q3q2q1x2x1q3q2q1x2x1q3q2q1x2x1
q3q2q1x2x1 q3q2q1x2x1q3q2q1x2x1
U(K2)=q3q2q1x2x1q3q2q1x2x1q3q2q1x2x1
U (J1)=q3q2q1x2x1q3q2q1x2x1
U(K1)=q3q2q1x2x1q3q2q1x2x1
Минимизировать состав и структуру системы функций возбуждения удобнее выполнять на картах Карно по методу, изложенному в 6.3.2.2. Каждой карте Карно присвоено имя U(Ji) или U(Ki), где U – сигнал возбуждения триггера, J – информационный вход JK-триггера, K – информационный вход JK-триггера, i –разряд регистра внутренних состояний автомата (i{1, 2, 3}
Для этого по таблице 6.45 составим карты Карно по каждому информационному входу (J и K) каждого разряда кода внутреннего состояния автомата (q1, q2, q3).
Анализ карт Карно позволяет найти минимальные функции возбуждения по каждому информационному входу и каждому разряду регистра внутренних состояний с учетом безразличного значения в некоторых клетках таблицы, отмеченного знаком “*”.
U(J3) |
x1 |
|
|
x1 |
|
|
|
U(K3) |
x1 |
|
|
x1 |
|
|
||||||
|
q 3 |
|
|
|
|
|
|
|
q 3 |
|
|
|
|
|
||||||
q2 |
* |
* |
* |
* |
* |
1 |
0 |
* |
|
|
q2 |
* |
* |
* |
* |
* |
* |
* |
* |
|
* |
* |
* |
* |
0 |
0 |
0 |
0 |
x2 |
|
* |
* |
* |
* |
* |
* |
* |
* |
x2 |
||
|
* |
* |
* |
* |
0 |
* |
* |
* |
|
|
0 |
0 |
1 |
0 |
* |
* |
* |
* |
||
|
* |
* |
* |
* |
0 |
0 |
* |
* |
|
|
|
* |
1 |
1 |
* |
* |
* |
* |
* |
|
|
|
|
q 1 |
|
|
|
|
|
|
|
q 1 |
|
|
|
U(J2) |
x1 |
|
|
x1 |
|
|
|
U(K2) |
x1 |
|
|
x1 |
|
|
||||||
|
q 3 |
|
|
|
|
|
|
|
q 3 |
|
|
|
|
|
||||||
q2 |
* |
* |
* |
* |
* |
* |
* |
* |
|
|
q2 |
* |
* |
* |
* |
* |
1 |
1 |
* |
|
* |
* |
* |
* |
* |
* |
1 |
* |
x2 |
|
* |
* |
* |
* |
0 |
1 |
* |
0 |
x2 |
||
|
0 |
0 |
1 |
0 |
1 |
1 |
* |
* |
|
|
* |
* |
* |
* |
* |
* |
* |
* |
||
|
* |
0 |
1 |
* |
* |
1 |
* |
* |
|
|
|
* |
* |
* |
* |
* |
* |
* |
* |
|
|
|
|
q 1 |
|
|
|
|
|
|
|
q 1 |
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
U(J1) |
x1 |
|
|
x1 |
|
|
|
U(K1) |
x1 |
|
|
x1 |
|
|
||||||
|
q 3 |
|
|
|
|
|
|
|
q 3 |
|
|
|
|
|
||||||
q2 |
* |
* |
* |
* |
* |
* |
1 |
* |
|
|
q2 |
* |
* |
* |
* |
* |
1 |
* |
* |
|
* |
* |
* |
* |
* |
* |
* |
0 |
x2 |
|
* |
* |
* |
* |
1 |
0 |
* |
* |
x2 |
||
|
1 |
0 |
* |
* |
0 |
* |
* |
* |
|
|
* |
* |
0 |
0 |
* |
0 |
* |
* |
||
|
* |
0 |
* |
* |
* |
0 |
* |
* |
|
|
|
* |
* |
0 |
* |
* |
* |
* |
* |
|
|
|
|
q 1 |
|
|
|
|
|
|
|
q 1 |
|
|
|
Ниже представлены минимальные ДНФ для каждой функции.
U (J3)=q2q1x2,
U(K3)=x2q1x1,
U(J2)=q3q1x1,
U(K2)=x1,
U(J1)=q3x1q2x2,
U(K1)=q2x1q2x2.
Принятые обозначения логических схем (см. рис. 6.25) и элементов временной задержки (см. рис. 6.27) позволяет составить логическую схему структурного автомата (см. рис. 6.19), опираясь только на минимальные ДНФ (или КНФ) операторов и для соответствующего типа триггера. На рис..6.31 приведена структура операторов и для JK-триггеров и минимальных ДНФ.