Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПРАКТИК СХЕМА (одним файлом).doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
3.18 Mб
Скачать

6. Аналитическое представление логических функций

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

Представление функции в виде СДНФ или СКНФ легко получить по таблице истинности данной функции.

Таблица 1

Значения

переменных

Функции

x

у

f1

f2

f3

f4

f5

f6

0

0

0

0

0

1

1

0

1

1

0

1

0

1

1

0

1

0

2

1

0

0

1

1

0

1

0

3

1

1

1

1

0

0

0

1

Чтобы получить аналитическое выражение в СДНФ функции, заданной таблицей истинности, нужно записать логическую сумму произведений входных переменных для тех наборов, на которых функция принимает единичное значение, причем, переменная берется без знака инверсии, если ее значение в наборе равно 1 и с инверсией, если ее значение в наборе равно 0.

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

7. Карты Карно

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

Для наглядности рассмотрим пример: пусть требуется найти логическое выражение для мажоритарной функции fm трех переменных x, у, z, описываемой таблицей истинности, показанной в табл. 2.

Функция fm строится по принципу голосования “два из трех”, т.е. принимает то значение, которое имеют большинство переменных.

Составим карту Карно функции fm (табл. 3). В карте столбцам и строкам соответствуют наборы переменных (или одна из переменных), причем переменные располагаются в таком порядке, чтобы при переходе к соседнему столбцу или строке изменялось значение только одной переменной. Например, в строке xy табл. 3 значения переменных xy могут быть представлены следующими последовательностями 00, 01, 11, 10 или 00, 10, 11, 01. Внутри таблицу заполняют значениями функции, соответствующими комбинациям значений переменных.

На карте Карно отмечаем группы, состоящие из 2k соседних клеток (2, 4, 8,…) и содержащие 1. В результате объединения (склеивания) таких ячеек в записи функции получаются более простые логические выражения. Три овала в таблице определяют логические выражения xy, xz, yz, полученные путем применения следующих операций склеивания:

Таблица 2

x

y

z

fm

0

0

0

0

0

1

0

0

1

0

2

0

1

0

0

3

0

1

1

1

4

1

0

0

0

5

1

0

1

1

6

1

1

0

1

7

1

1

1

1

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

fm = xy v xz v yz .

Таблица 3

yz

x

00

01

11

10

0

0

0

1

0

1

0

1

1

1

xz yz xy

Самая короткая по числу букв ДНФ будет представлять собой минимальную дизъюнктивную нормальную форму (МДНФ).

Если объединять 0, то получим запись в конъюнктивной нормальной форме (КНФ)

fm = (x v y)( x v z)(y v z).

Обратим внимание на то, что полученные записи функции fm в ДНФ или КНФ являются более компактными, чем ее представления в СДНФ или СКНФ.