Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Книги / TURIN / ЛЕКЦИИ6.DOC
Скачиваний:
66
Добавлен:
10.12.2013
Размер:
873.98 Кб
Скачать

6.3. Преобразование форм представления логических функций

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

Рассмотрим дизъюнктивные формы представления логический функций. Выражение вида

k×l...m,

содержащее множество попарно различных переменных или их инверсий, называется элементарной конъюнкцией (ЭК). Под понимается либо сама переменная х, либо ее инверсия.

Если логическая функция, зависящая от nпеременных, записана в виде дизъюнкции элементарных конъюнкций ЭК: ЭК1ÚЭК2Ú...ÚЭКrи хотя бы одна ЭК не содержит всеnпеременных, то такая форма задания называется дизъюнктивной нормальной формой (ДНФ). ДНФ - дизъюнкция конечного множества попарно различных элементарных конъюнкций.

Например:

f(авсd)=аÚÚвd.

Произвольная логическая функция, например так называемая скобочная форма, может быть приведена к ДНФ следующим образом:

- выполнить все операции инверсии, применяемые к логическим выражениям (группе переменных);

- раскрыть все скобки;

- в полученном выражении произвести все упрощения.

Например:

f(х1х2х3)==

===

==.

Получили ДНФ функции f(х1х2х3).

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

Пусть задана таблица истинности функции сложения по модулю два (Å) (табл.6.1).

Табл.6.1

а

в

z=аÅв

0

0

0

0

1

1

1

0

1

1

1

0

Тогда z(ав)=вÚа, т.е. это СДНФ.

Первый член ДНФ соответствует строке 01, второй - строке 10.

Элементарные конъюнкции, входящие в СДНФ функции, называются конституэнтами единицы (или минтермами). Конституэнта единицы обращается в 1 (истинна) на единственном наборе значений переменных. Так, подстановка входного набора 01 (база ав) обращает в 1 конституэнту в (1=1). Если считать выражениеz(ав) уравнением, то наборы 01, 10 - его решения.

От СДНФ легко перейти к номерам рабочих наборов в различных системах. Так,

z(ав)®012Ú102®110Ú210.

Аналогично по СДНФ можно получить рабочие наборы, считая остальные запрещенными:

z(ав)=1,2[0,3].

Получили символическую форму задания логической функции в десятичных номерах рабочих и запрещенных наборов. Очевидно, не составляет труда и обратный переход - от символической формы, от номеров наборов - к СДНФ.

Для преобразования ДНФ в СДНФ можно выполнить конъюнкцию каждой элементарной конъюнкции, не содержащую i-ю переменную, с тождественно истинным выражением. Таких переменных может быть несколько, будет несколько и тождественно истинных выражений. После этого раскрываются скобки и производятся необходимые упрощения.

Пример:

f(х1х2х3)=1×2Ú1×х3=

=123Ú31х32Ú2)=

=Ú123Ú1х2х3Ú=

=12х3Ú123Ú1х2х3.

Получили СДНФ.

Имеется способ получения СДНФ из ДНФ с использованием обобщенного кода, в котором для обозначения недостающих переменных в соответствующих позициях используются знаки "-" (или ~- "тильда"), а для остальных - символы 0,1.

Пример. Ту же функцию (х1х2х3) представим в виде

00-Ú0-1.

Тогда, подставляя вместо "-" всевозможные комбинации 0,1, получим:

Таким образом, получили номера 000, 001, 011, которые соответствуют членам СДНФ.

СДНФ логической функции, тождественно равной 1 (тождественно истинной), содержит 2nконстинтуэнт (n- число переменных).

Логическая функция может быть представлена в конъюнктивной форме.

Выражение вида , содержащее множество попарно различных переменных или их инверсий, называется элементарной дизъюнкцией (ЭД).

Если логическая функция, зависящая от nпеременных, записана в виде конъюнкции элементарных дизъюнкций ЭД1,ЭД2,...ЭД и хотя бы одна ЭД не содержит всеnпеременных, то такая форма задания называется конъюнктивной нормальной формой (КНФ). КНФ - конъюнкция конечного множества попарно различных элементарных дизъюнкций.

Например: f(авсd)=а(Úс)(вÚd).

Произвольная логическая функция, например скобочная форма, может быть всегда приведена к КНФ следующим образом:

- заданная функция инверсируется, и получается ДНФ инверсной функции;

- ДНФ инверсной функции инверсируется еще раз, получается тождественная исходной функция в КНФ;

- на каждом этапе следует производить необходимые упрощения.

Пример:

f(х1х2х3)=;

1х2х3)==

==(х1Úх23)(х1Ú3)= =х1Úх23;

1х2х3)==1(2Úх3).

Получили КНФ.

Второй способ получения КНФ заключается в выполнении всех операций инверсии, применяемой к группе переменных (логическим выражением), затем используется распределительных закон.

Пример:

f(х1х2х3)==

===

=12Ú1х3Ú1х3=12Ú1х3=

=(12Ú1)(12Úх3)=1(12Úх3)=

=1(2Úх3).

Если все элементарные дизъюнкции, входящие в КНФ, содержат все nпеременных, от которых зависит функция, то такая форма называется совершенной конъюнктивной нормальной (СКНФ).

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

Так, для функции сложения по модулю 2 (табл.6.1) СКНФ имеет вид:

z(а,в)=(аÚв)(Ú).

Элементарные дизъюнкции, входящие в СКНФ функции, называются конституэнтами нуля (макстермами).

Конституэнта нуля обращается в нуль на единственном наборе переменных, который является запрещенным (нулевым) набором функции. Например, для функции сложения по модулю 2 конституэнта нуля (аÚв) обращается в 0 на наборе 00, а конституэнта нуля (Ú) - на наборе 11.

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

Если дополнительной информации нет, то все остальные числа из области задания функции считаются рабочими.

Для преобразования КНФ в СКНФ можно выполнить дизъюнкцию каждой элементарной дизъюнкции, не содержащей i-ю переменную, с тождественно ложным выражением х×. Таких недостающих переменных может быть несколько; тогда надо добавлять соответствующие тождественно истинные выражения. Затем применяется распределительный закон и производятся необходимые упрощения.

Например:

f(х1х2х3)=1(2Úх3)=

=(1Úх22Úх33)(2Úх3Úх11)=

=(1Úх22Úх3)(1Úх22Ú3)(2Úх3Úх1)(2Úх3Ú1)=

=(1Úх2Úх3)(1Ú2Úх3)(1Úх2Ú3)(1Ú2Ú3

×(х1Ú2Úх3)(1Ú2Úх3).

Соответствующие запрещенные наборы: 100, 110, 101, 111, 010 (база х1х2х3).

Соседние файлы в папке TURIN