Карты Карно – это графическое изображение таблиц истинности.
Пусть задана функция
. Подмножество элементов
, в которых
, называется носителем функции f и обозначается через supp(f). Конечные пересечения подмножеств вида:
называются кубиками. Кубики будут равны:
, для некоторых
и
, таких, что
. Если кубики являются максимальными, содержащимися в носителе, и попарно не пересекаются, то формула

будет давать разложение в дизъюнктивную нормальную форму, минимальное по количеству слагаемых. Карты Карно позволяют «увидеть» эти кубики. Для функций двух, трех и четырех переменных они имеют следующие структуры:
|
x1 |
x2 |
0 |
1 |
|
0 |
f(0,0) |
f(0,1) |
|
|
1 |
f(1,0) |
f(1,1) |
|

|
x2 x3 |
00 |
01 |
11 |
10 |
|
|
x1 |
|||||
|
0 |
f(0,0,0) |
f(0,0,1) |
f(0,1,1) |
f(0,1,0) |
|
|
1 |
f(1,0,0) |
f(1,0,1) |
f(1,1,1) |
f(1,1,0) |
|

|
х3 x4 |
00 |
01 |
11 |
10 |
|
|
x1 x2 |
|||||
|
00 |
f(0,0,0,0) |
f(0,0,0,1) |
f(0,0,1,1) |
f(0,0,1,0) |
|
|
01 |
f(0,1,0,0) |
f(0,1,0,1) |
f(0,1,1,1) |
f(0,1,1,0) |
|
|
11 |
f(1,1,0,0) |
f(1,1,0,1) |
f(1,1,1,1) |
f(1,1,1,0) |
|
|
10 |
f(1,0,0,0) |
f(1,0,0,1) |
f(1,0,1,1) |
f(1,0,1,0) |
|
Кубикам будут соответствовать отрезки и квадраты. Рассмотрим примеры кубиков и соответствующих им логических произведений:
|
00 |
01 |
11 |
10 |
|
|
00 |
0 |
0 |
0 |
0 |
|
01 |
0 |
1 |
1 |
0 |
|
11 |
0 |
0 |
0 |
0 |
|
10 |
0 |
0 |
0 |
0 |

|
00 |
01 |
11 |
10 |
|
|
00 |
0 |
0 |
0 |
0 |
|
01 |
1 |
1 |
0 |
0 |
|
11 |
1 |
1 |
0 |
0 |
|
10 |
0 |
0 |
0 |
0 |

Возможно превращение кубиков в квадраты и отрезки после отождествления противоположных сторон карты Карно, например:
|
00 |
01 |
11 |
10 |
|
|
00 |
0 |
0 |
0 |
0 |
|
01 |
0 |
0 |
0 |
0 |
|
11 |
1 |
0 |
0 |
1 |
|
10 |
0 |
0 |
0 |
0 |

|
00 |
01 |
11 |
10 |
|
|
00 |
0 |
0 |
0 |
0 |
|
01 |
1 |
0 |
0 |
1 |
|
11 |
1 |
0 |
0 |
1 |
|
10 |
0 |
0 |
0 |
0 |

Логические произведения состоят из сомножителей, значения которых не изменяются внутри кубика.
Если это значение равно 1, то для переменной
берется сомножитель
, а если это значение равно 0 – то сомножитель
.
Пример
Для булевой функции:
найти дизъюнктивную нормальную форму с наименьшим числом логических слагаемых.
Решение. Составим карту Карно:
|
|
х3 x4 |
00 |
01 |
11 |
10 |
|
x1 x2 |
|||||
|
00 |
1 |
0 |
0 |
1 |
|
|
01 |
0 |
0 |
1 |
0 |
|
|
11 |
0 |
0 |
1 |
0 |
|
|
10 |
1 |
0 |
0 |
1 |
|
Получаем 2 кубика:
и
. Внутри первого кубика не изменяются переменные
и
, и равны 0. Значит, первое слагаемое равно:
. Внутри второго кубика не изменяются
и
, откуда второе слагаемое равно:
. Следовательно, искомая дизъюнктивная нормальная форма равна:
.


