- •Раздел 3. Основы теории конечных автоматов
- •3.1. Логические функции
- •3.2. Примеры логических функций
- •3.2. Связь логических функций и функциональных схем
- •3.3. Каноническое представление логических функций
- •3.4. Задача минимизации логических функций
- •3.5. Основные понятия теории конечных автоматов
- •1) Для любой входной буквы ai имеется ребро, выходящее из qi , на котором написано aj (условие полноты);
- •2) Любая буква aj встречается только на одном ребре, выходящем из qi (условие непротиворечивости или детерминированности).
- •1) ( Qi , aj ) задается автоматной таблицей s;
- •2) Для любого слова а* и любой буквы аj
- •3.6. Абстрактная и структурная теория конечных автоматов
- •3.6. Сопоставимость конечных автоматов
- •3.7. Синхронные сети из автоматов.
- •1. Параллельное соединение (рис. 3.11). Различаются соединения с общими и раздельными входами (алфавитами).
- •3.8. Пример синтеза конечного автомата
- •X(n) (состояние / выход)
- •Преобразуем исходную таблицу в специальную форму с выделением входных - выходных сигналов и внутренних состояний.
- •X1(n) Комб. Y(n)
- •3.9. Программная реализация логических функций и автоматов.
3.3. Каноническое представление логических функций
Любую логическую функцию в общем виде можно разложить по одной из переменных на две составляющие или на два множителя следующим образом:
(3.1)
Справедливость этих разложений можно легко установить, подставляя в обе части каждого из равенств два возможных значения переменной Х1: 0 и 1. Подобным образом можно разложить по другой переменной каждую из полученных составляющих (каждый множитель). Например:
(3.2)
Если эту операцию проделать для всех переменных Х, то результатом преобразования будет выражение
При разложении на множители можно получить:
В этих важных зависимостях имеются определенные закономерности, которые будет легче выявить, если ввести дополнительные обозначения.
Конъюнкцию всех аргументов функции ( с отрицанием или без) будем называть полной и обозначать буквой К с соответствующим индексом. Индексом в обозначении служит номер набора или двоичное число ( а также соответствующее ему десятичное), полученное при замене каждой переменной - символом 0. Например, полной конъюнкции Х1Х2 соответствует индекс 11 (или 3) и обозначение К3, а полной конъюнкции - индекс 010 (или 2) и обозначение К2. и т. д.
Дизъюнкцию всех аргументов функции (с отрицанием или без) будем называть полной и обозначать буквой D с индексом. Индекс здесь определяется иначе, чем для полной конъюнкции: путем замены переменной на 0, и- на 1. Поэтому полной дизъюнкциисоответствует индекс 00 (или 0) и обозначениеD0, а полной дизъюнкции - индекс 101 (или 5) и обозначениеD5.
Символы Кi и Di однозначно определяют полную конъюнкцию и полную дизъюнкцию, если известно число переменных n.
Значение функции для конкретных наборов значений аргументов удобно обозначать символом с индексом в виде десятичного числа, соответствующего двоичному числу, определяемому значениями аргументов, например:
Вводя обозначения, формулы (3.1) и (3.2) для функции двух переменных можно записать в виде:
Аналогично для n переменных
(3.3)
(3.4)
Здесь символ обозначает логическую сумму (дизъюнкцию), а - логическое произведение (конъюнкцию).
Последнее выражение позволяет легко перейти от таблицы истинности логической функции к аналитическому представлению. Поскольку 0 Кi =0 и 1 Кi=Кi для представления функции в виде (3.3) нужно выписать дизъюнкцию тех Кi, для которых i=1. Для логической функции, приведенной в табл.3.1. это будет выражение
Последнюю формулу можно получить непосредственно из таблицы истинности, фиксируя внимание только на тех наборах, для которых У=1, и заменяя в них Хi=0 переменной , а Хi=1 – переменной . Полученные таким образом полные конъюнкции нужно объединить знаком. Описанный вид аналитического представления функции носит название совершенной дизъюнктивной нормальной формы (СДНФ). Из способа её построения следует, что каждая функция может иметь лишь единственное представление такого вида.
При поиске представления функции вида (3.4) нужно учитывать, что
Поэтому в соответствующем выражении нужно оставить конъюнкция только тех Di, для которых i = 0. Для рассматриваемого примера это выражение это выражение имеет вид:
Последнюю формулу можно получить непосредственно из таблицы истинности, выбирая из нее только те наборы, для которых У = 0, и заменяя в них те наборы, для которых У = 0, и заменяя в них Хi = 0. Переменной Хi, а Хi = 1 – переменной . Полученные полные дизъюнкции соединяются знаками конъюнкции. Такой вид представления носит название совершенной конъюнктивной нормальной формы (СКНФ). Для каждой функции он также единствен.