- •Проектирование дискретных
- •212030, Г.Могилев, пр. Мира, 43
- •Содержание
- •1 Содержание дисциплины
- •2 Понятие дискретного автомата
- •3 Задача синтеза комбинационных дискретных автоматов
- •4 Способы задания комбинационных автоматов
- •4.1 Табличный способ (таблица истинности)
- •4.2 Числовой способ
- •4.3 Аналитический способ
- •4.4 Координатный способ (в виде карт Карно)
- •5 Способы задания дискретных автоматов с памятью
- •5.1 Таблица переходов и выходов
- •5.2 Способы задания асинхронного автомата
- •6 Задача синтеза дискретного автомата с памятью
- •7 Предоставление логических функций в базисах и-не, или-не
- •8 Понятие нормальных форм представления логических функций
- •9 Контрольная работа
- •10 Пример задачи синтеза комбинационного автомата
- •Список литературы
8 Понятие нормальных форм представления логических функций
Представление логических функций в виде дизъюнкции любого числа конъюнкций называется дизъюнктивной нормальной формой (ДНФ).
Например:
у
= bc
+
c
+ a
для логической функции трех логических
элементов. Здесь (bc,
c,
a
)
элементарная конъюнкция (это конъюнкция
любого числа отдельных независимых
переменных, входящих в данную дизъюнкцию
с инверсией или без нее не более одного
раза).
Представление логических функций в виде конъюнкции любого числа дизъюнкций называется конъюнктивной нормальной формой(КНФ).
Например:
у
= a(a+
)(
+
)(
+
)
для логической функции трех логических
переменных. Здесь (a+
,
+
+
)
элементарная дизъюнкция (это дизъюнкция
любого числа отдельных независимых
переменных, входящих в данную дизъюнкцию
с инверсией или без нее не более одного
раза).
Количество переменных в элементарной конъюнкции (дизъюнкции) определяет ее ранг.
Для каждой функции может существовать несколько дизъюнктивных и конъюнктивных нормальных форм (равносильных друг к другу).
Инверсия любой функции записанной в ДНФ (КНФ) приводит к форме записи в КНФ (ДНФ).
Конституентом единицы для данного числа логических переменных называется конъюнкция всех переменных, взятых по одной с инверсией или без нее.
Например:
логических переменных (n)
– 3. Тогда конституенты единицы это:
abc,
bc,
b
.
В общем случае, если считать единицу логической функцией n переменных, то ее можно разложить на 2n конституент (составляющих), т.е. на 2n дизъюнктивно связанных элементарных конъюнкций n-го ранга, т.к. количество различных наборов значений n-двоичных переменных равно 2n.
Пример: n=2, тогда
1
=

Конституент единицы для некоторого набора значений 0 и 1 строится следующим способом. Каждая переменная в него входит без инверсии, если значения этой переменной в данном наборе = 1, или с инверсией, если значение этой переменной в данном наборе = 0.
Например,
набору значений 00111 соответствует
конституент единицы
Таким образом, конституент единицы как
функцияn
переменных равняется 1 только на одном
соответствующем ему наборе значений.
На всех остальных наборах данный
конституент единицы = 0.
Конституентом 0 для данного числа логических переменных называется дизъюнкция всех переменных взятых по одной с инверсией или без нее.
Для
трех переменных конституент нуля: a+b+c;
;
.
Конституент
0 для некоторого набора значений 0 и 1
строится следующим образом. Каждая
переменная в него входит без инверсии,
если значение этой переменной в данном
наборе = 1. Например, набору значений
00111 соответствует конституент 0 –
.
Аналогично каждый конституент нуля как функция n переменных равен 0 только на одном соответствующем ему наборе значений логических переменных. На всех остальных наборах данный конституент 0 = 1.
Представление
логических функций в виде дизъюнкции
конституентов единицы тех наборов
значений переменных, где данная функция
= 0 называется совершенной дизъюнктивной
нормальной формой логической функции(СНДФ).
Например, для логической функции трех
переменных, СДНФ имеет вид: y
=
Представление логической функции в виде конъюнкции конституентов 0 тех наборов значений переменных, где данная функция = 0 называется совершенной конъюнктивной нормальной формой логических функций (СКНФ).
Например, для логических функций трех переменных, СКНФ имеет вид:

В СДНФ и СКНФ логическая функция может быть записана единственным образом.
Логическую функцию заданную любым аналитическим выражением можно преобразовать к НДФ или КНФ. Для этого необходимо:
все операции выразить через операции конъюнкции, дизъюнкции и инверсии;
избавиться от инверсии над целыми выражениями, перейдя к форме, в которой имеются инверсии только отдельных переменных;
раскрыть скобки, применяя закон дистрибутивности;
привести конъюнкции (дизъюнкции) к элементарным.
От любой ДНФ можно перейти к СДНФ при помощи равносильных преобразований. Для этого необходимо:
ввести недостающие переменные в каждую конъюнкцию умножением ее на равносильность вида
,
где а – недостающая переменная;раскрыть скобки, применяя коммуникативный закон (ab = ba);
избавиться от повторяющихся конъюнкций на основе правила (
).
Пример:
–функция
в виде ДНФ.
–функция
в виде СДНФ.
Переход от КНФ к СКНФ осуществляется аналогично. Необходимо:
ввести недостающие переменные в каждую дизъюнкцию, используя закон противоречия
(a
– недостающая переменная);произвести преобразования, применяя второй закон дистрибутивности
;избавиться от повторяющихся дизъюнкций на основании правила а
=а
Например

Теперь
в выражении
делаем подстановку А =
,
получаем
.
Для А=
.
Подставляем это выражение в исходное:
и опять применяем закон дистрибутивности.

Получаем:
.
Переход от СДНФ к СКНФ может быть реализован следующим образом:
найти не вошедшие в СДНФ конъюнкции;
составить функцию как дизъюнкцию этих конъюнкций;
взять инверсию от этой функции.
Например:
- определяем
конституенты 1 не вошедшие в исходную
СДНФ:
- промежуточная
функция как дизъюнкция конституентов1:

-
получаем искомую СКНФ:

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