Дискретная математика
.pdfВ полученной квадратной таблице каким-либо символом (например, 1 или ) отмечают только вершины, принадлежащие носителю. Чтобы соответствие номеров наборов носителя и элементов карты Карно было взаимно однозначным, вектор значений функции размещают в таблице Карно следующим образом:
Первую четверку значений записывают в первую строку, поменяв местами пару последних значений в четверке. Аналогично поступают со второй четверкой. Это обусловлено переменой мест значений 11 и 10 переменных x3 и x4.
Третью четверку вектора значений функции располагают в четвертой строке, а четвертую- в третьей, не забыв поменять местами 3 и 4 элемент в каждой четверке. Такое расположение координат вектора значений функции связано с тем, что значения 11 и 10 у переменных x1 и x2 в карте Карно поменяли местами.
Аналогичного результата можно добиться, записывая значения переменных на каждом наборе носителя в элементы таблицы, находящиеся на пересечении соответствующих переменным строк и столбцов.
Пример 6.1. Изобразить с помощью карты Карно двоичную функцию fe= (1000 0101 1100 0111).
Решение.
1. В первых двух четверках вектора значений
xy
функции ( 1000 и 0101 ) меняем местами 1000 7→1000
последние две цифры и записываем их в
xy
две первых строки карты Карно (указываем 0101 7→0110 только наборы носителя!):
2. Третью четверку (1100), поменяв местами
xy
третий и четвертый элементы, помещаем 1100 7→1100
в четвертую строку таблицы.
3.В четвертой четверке (0111) меняем местами
xy
два последних значения и записываем её в 0111 7→0111 третью строку карты Карно.
91
4. Получим следующую таблицу.
|
x3x4 |
|
00 |
01 |
11 |
10 |
@ |
|
|
|
|
|
|
x1x@2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
00 |
|
1 |
|
|
|
|
|
01 |
|
|
1 |
1 |
|
|
11 |
|
|
1 |
1 |
1 |
|
10 |
|
1 |
1 |
|
|
5.Убедимся, что булева функция изображена верно. Для этого найдем носитель функции.
Nf =
= { (0000), (0101), (0111), (1000), (1001), (1101), (1110), (1111) }.
Рассмотрим первый по порядку набор носителя ( (0000) ). Все четыре переменные входят в этот набор с нулевыми значениями. Это означает, что символ "1\, соответствующий данному набору, находится на пересечении первой строки (эта строка соответствует нулевым значениям первых двух переменных) и первого столбца (нулевые значения переменных x3 и x4).
Элемент карты Карно, соответствующий набору (0101), расположен на пересечении второй строки и второго столбца, так как на этом наборе x1x2 = x3x4 = 01.
Следующему по порядку набору носителя, (0111), соответствует символ "1\, который является пересечением второй строки (x1x2 = 01) и третьего столбца (x3x4 = 11).
Два следующих набора носителя ( (1000) и (1001) ) располагаем в четвертой строке, так как эта строка соответствует единичным значениям переменных x1 и x2, в первом (x3x4 = 00) и втором (x3x4 = 01) столбцах соответственно.
Остальные наборы помещаем в третью строку, так как переменные x1 и x2 на этих наборах входят со значениями, равными 1. Столбцы,на пересечении которых расположены данные элементы таблицы, соответствуют значениям переменных x3 и x4.
92
6.2Алгоритм Карно минимизации булевых функций
Алгоритм Карно рассмотрим на следующем примере.
Пример 6.2. Минимизировать с помощью карты Карно двоичную функцию fe= (1000 0101 1100 0111) из примера 6.1 .
Решение.
1.Изобразим булеву функцию с помощью карты Карно (см. пример 6.1) .
2.Объединим вершины носителя в максимальные интервалы. Максимальными интервалами являются прямоугольные фигуры, покрывающие 2n наборов, стоящих рядом, например:
•24 = 16 вершин, образующих квадрат 4 × 4 (весь булев куб
B4)
|
x3x4 |
|
00 |
01 |
11 |
10 |
|
||
@ |
|
'1 1 |
|
|
$ |
||||
x1x@2 |
|
|
|
||||||
|
00 |
|
1 |
1 |
|||||
|
01 |
|
|
|
1 |
1 |
1 |
1 |
|
|
|
|
|
||||||
|
11 |
|
|
|
1 |
1 |
1 |
1 |
% |
|
|
|
|||||||
|
10 |
|
&1 1 |
1 |
1 |
•23 = 8 вершин, образующих 2 рядом стоящие строки или 2 столбца (напомним, соседними являются также 1 и 4 строки и столбцы)
|
x3x4 |
|
00 |
01 |
|
11 |
|
10 |
|
|
|
x3x4 |
|
00 |
01 |
11 |
10 |
|
|
|
@ |
|
1 |
|
|
|
|
|
|
|
|
@ |
|
|
|
|
|
|
|
||
x1x@2 |
|
|
1 |
|
1 |
|
1 |
|
x1x@2 |
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
00 |
|
|
|
|
|
00 |
|
1 |
1 |
1 |
1 |
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
& |
|
|
|
% |
|
|
01 |
|
1 |
|
1 |
|
1 |
|
1 |
|
|
|
01 |
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$ |
|
11 |
|
|
|
|
|
|
|
|
|
11 |
|
' |
|
|
|
||||
|
10 |
|
|
|
|
|
|
|
|
|
|
|
10 |
|
1 |
1 |
1 |
1 |
|
|
93
|
|
x3x4 |
|
|
00 |
|
|
01 |
|
11 |
|
10 |
|
|
|
|
|
|
|
|
|
|
|
x3x4 |
|
|
|
00 |
|
|
01 |
11 |
|
10 |
|
|
|
|
|
|||||||||||||||||||
@ |
|
|
|
|
|
'1 1 |
|
$ |
|
|
|
|
|
|
@ |
|
|
|
|
|
|
|
|
|
|
|
|
$ |
|
'1 |
|
|
|
|
|
|||||||||||||||||||||||
x1x@2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
x1x@2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||
|
|
00 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
00 |
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||
|
|
01 |
|
|
|
|
|
|
|
1 |
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
01 |
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||
|
|
11 |
|
|
|
|
|
|
|
1 |
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11 |
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||
|
|
10 |
|
|
|
|
|
&1 1 |
|
% |
|
|
|
|
|
|
|
|
|
10 |
|
|
|
|
|
|
|
|
1 |
|
|
|
% |
|
&1 |
|
|
|
|
|
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||
• 22 = 4 вершины, образующих: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
00 |
|
01 |
|
|
|
|
11 |
|
|
10 |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x3x4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ |
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x1x@2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
00 |
|
|
|
|
1 |
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||
а) строку |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
01 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x3x4 |
|
00 |
|
01 |
|
|
|
|
11 |
|
|
10 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x1x@2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
б)столбец |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
00 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
01 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
в) квадрат 2 × 2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
00 |
|
01 |
|
11 |
|
10 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
00 |
|
01 |
|
11 |
|
10 |
|
|
|
|
||||||||||||||||||||||
|
|
x3x4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x3x4 |
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||
@ |
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
@ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
x1x@2 |
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
x1x@2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||
|
00 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
00 |
|
|
|
|
|
|
|
|
|
|
|
|
$ |
|
|
' |
||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||
|
01 |
|
|
|
|
1 |
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
01 |
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
10 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
|
|
|
|
|
|
1 |
|
|
% |
|
|
& |
||||||||||||||||||||||||||
11 |
|
|
|
|
|
|
|
|
|
|
|
|
|
11 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
94
|
|
x3x4 |
|
00 |
|
|
01 |
|
|
11 |
|
10 |
|
|
|
|
|
x3x4 |
|
00 |
|
01 |
|
11 |
|
10 |
|
|
|||||||||||||||||||
@ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
x1x@2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x1x@2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
01 |
|
1 |
|
|
|
|
|
01 |
|
|
1 |
|
|
|
|
|
|
|
|||||||||||||||||||||||||||
00 |
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
00 |
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
11 |
|
|
|
|
|
|
|
|
11 |
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||
|
|
10 |
|
|
1 |
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
|
|
1 |
|
|
|
|
|
|
|
|
1 |
|
|
|
||||||||||
• 21 = 2 вершины, стоящие рядом |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||
|
|
|
|
00 |
|
01 |
|
11 |
|
10 |
|
|
|
|
|
|
|
|
00 |
|
01 |
|
11 |
|
10 |
|
|
|
|
||||||||||||||||||
|
|
x3x4 |
|
|
|
|
|
|
|
x3x4 |
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||
@ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ |
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|||||||||||
00 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
00 |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
x1x@2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x1x@2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
01 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
01 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
11 |
|
|
|
1 |
|
|
1 |
|
|
|
|
|
11 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
00 |
|
01 |
|
|
|
|
|
10 |
|
|
|
|
|
|
|
00 |
|
|
01 |
|
11 |
|
10 |
|
|
|
||||||||||||||||||
|
|
x3x4 |
|
|
|
|
11 |
|
|
|
|
|
|
x3x4 |
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||
@ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
x1x@2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x1x@2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
01 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
01 |
|
|
|
1 |
|
|
|
|
|
1 |
|||||||||||||||||||||
00 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
00 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
11 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11 |
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||
|
10 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
10 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
• 20 = 1 вершина (точечный интервал) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
x3x4 |
|
|
00 |
01 |
11 |
10 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
@ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
x1x@2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
01 |
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
00 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
11 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
10 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Фигуры, уже включенные в интервал, объединяющий большее количество вершин, максимальными интервалами не являются (например, пары вершин, входящие в квадрат).
95
В нашем примере наборы носителя ни куб B4, ни пары соседних строк (столбцов) не образуют. Максимальный интервал, объединяющий 4 вершины, один - квадрат 2 × 2. Обозначим этот интервал I1. Еще 4 максимальных интервала I2, . . . , I5 образуют пары рядом стоящих вершин. Заметим, что наборы носителя (0000) и (1000) являются соседними, так как расположены в соседних 1 и 4 строках. Эта пара наборов образует интервал I5.
x3x4 |
00 01 |
11 |
10 |
|
|
@ |
|
|
|
|
|
x1x@2 |
|
|
|
|
|
I5 00 - 1 |
|
|
|||
01 |
1 |
1 |
I1 |
||
10 |
I@ |
|
|
||
1 1 |
@ |
|
|
||
11 |
6 @ |
I2 |
|||
1 1 1 |
|||||
|
|
I3 |
|
|
|
|
I4 |
|
|
|
|
|
|
|
|
|
3.Так же, как и в предыдущих методах, выписываем простые импликанты, соответствующие максимальным интервалам. Для задания набора, входящего в интервал, берем номер строки (значения первых двух переменных) и номер столбца (значения 3 и 4 переменных), на пересечении которых стоит "1".
|
|
|
|
(0101) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
I |
= |
|
|
(0111) |
|
↔ |
K |
= x |
x |
4 |
1 |
|
|
|
(1101) |
|
1 |
2 |
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(1111) |
|
|
|
|
|
|
I2 |
= { |
(1111) |
} |
↔ |
K2 |
= x1x2x3 |
||||
(1110) |
||||||||||
I3 |
= { |
(1101) |
} |
↔ |
K3 |
= x1 |
|
3x4 |
||
(1001) |
x |
|||||||||
I4 |
= { |
(1000) |
} |
↔ |
K4 |
= x1 |
|
2 |
|
3 |
(1001) |
x |
x |
96
I5 = { |
(0000) |
} |
↔ |
K5 = x2x3x4 |
(1000) |
4.Записываем сокращенную ДНФ, объединяя простые импликанты знаком "дизъюнкция".
ДНФсокр(f) = K1 K2 K3 K4 K5 =
=x2x4 x1x2x3 x1x3x4 x1x2x3 x2x3x4
5.Находим вершины, покрытые только одним максимальным интервалом. Интервалы, покрывающие такие вершины, и соответствующие им импликанты являются ядровыми, их дизъюнкция
-ядровой ДНФ. В нашем примере вершины, покрытые одним интервалом, отмечены символом "*". Таких наборов 4: (0101), (0111), (1110) и (0000). Первые 2 из этих наборов покрыты ядровым интервалом I1, вершина (1110)- ядровым интервалом I2, а набор (0000)- ядровым интервалом I5. Импликанты K1, K2, K5 - ядровые.
97
x3x4 |
00 01 |
11 |
10 |
|
|
|
@ |
|
|
|
|
|
|
x1x@2 |
*1 |
*1 |
|
I1 |
||
01 |
||||||
I5 00 -*1 |
|
|
|
|||
11 |
1 1 @I |
|
|
|||
|
1 |
1 *1 |
|
I2 |
||
10 |
|
|
|
|||
|
|
@ |
|
|
||
|
|
6 |
@ |
|
|
|
|
|
I4 |
|
I3 |
|
|
|
|
|
|
|
|
ДНФядр(f) = K1 K2 K5 = x2x4 x1x2x3 x2x3x4
6.По карте Карно выписываем функцию Патрика. Как и в предыдущих методах, количество логических произведений (количество скобок) равно мощности носителя |Nf |, а число логических слагаемых в каждом сомножителе равно числу интервалов, покрывающих соответствующий набор носителя. Порядок перечисления конъюнкций произволен. Для удобства в нашем примере перечислим наборы по строкам:
P=
=(K5)(K1)(K1) (|K1 K3{z)(K1 K2})(K2) (|K4 {zK5})(K3 K4) =
|
|
поглощается K1 |
|
|
поглощ.K5 |
|
|
|
|
|
||||
= K1K2K5(K3 K4) = K1K2K3K5 K1K2K4K5 . |
||||||||||||||
| |
|
{z |
|
} |
| |
|
{z |
1 |
} | |
|
{z |
|
2 |
} |
|
ядро |
|
туп |
туп |
|
|
Конъюнкция перед скобками соответствует ядру функции
ДНФядр(f) = K1 K2 K5 = x2x4 x1x2x3 x2x3x4.
Ядровая ДНФ совпала с ядром, полученным с помощью карты Карно.
Два логических слагаемых в функции Патрика определяют две тупиковые ДНФ.
ДНФтуп1 (f) = ДНФмин1 (f) = K1 K2 K3 K5 =
= x2x4 x1x2x3 x1x3x4 x2x3x4;
r1 = 11;
98
ДНФтуп2 (f) = ДНФмин1 (f) = K1 K2 K4 K5 =
= x2x4 x1x2x3 x1x2x3 x2x3x4;
r2 = 11.
Пример 6.3. Найти сокращенную, ядровую, все тупиковые и все минимальные ДНФ для булевой функции fe = (1111 1111 1010 0101) методом Карно.
Решение.
1. Заполним карту Карно в соответствии с расположением наборов на булевом торе (см. пункт 6.1).
xy
1111 7→1111 - первая строка карты Карно
xy
1111 7→1111 - вторая строка карты Карно
xy
1010 7→1001 - четвертая строка карты Карно
xy
0101 7→0110 - третья строка карты Карно
Карта Карно заданной булевой функции имеет следующий вид:
x3x4 |
00 |
01 |
11 |
10 |
|
|
@ |
1 1 |
|
|
|
|
|
x1x@2 |
|
|
|
|||
00 |
1 |
1 |
|
|||
01 |
1 |
1 |
1 |
1 |
I1 |
|
|
|
|
|
I2 |
||
11 |
1 |
1 |
|
I3 |
||
10 |
1 |
|
|
1 |
|
|
Максимальный интервал I1 образован двумя соседними строками. Еще 2 максимальных интервала образуют квадраты из вершин, так как 4 вершины, расположенные в углах карты Карно, образуют один максимальный интервал (напомним, что крайние строки
и столбцы являются соседними).
2.Найдем простые импликанты и сокращенную ДНФ.
99
|
|
|
(0000) |
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
(0001) |
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
1 |
|
|
|
|
1 |
|
|
|
|
1 |
|
|||||
|
|
(0011) |
|
↔ |
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(0010) |
|
|
|
|
|
|
|
|
|
|
||||
I = |
(0100) |
|
|
K = |
x |
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(0101) |
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(0111) |
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(0110) |
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
(0000) |
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
I |
= |
|
|
|
(0010) |
|
|
K |
= |
|
|
|
|
||||
|
|
|
↔ |
x |
x |
|
|||||||||||
2 |
|
|
|
|
(1000) |
|
2 |
|
|
2 |
|
|
4 |
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(1010) |
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
(0101) |
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
I |
= |
|
|
|
(0111) |
|
↔ |
K |
= x |
x |
|
||||||
3 |
|
|
|
|
(1101) |
|
3 |
|
|
2 |
|
|
4 |
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(1111) |
|
|
|
|
|
|
|
|
|
|
ДНФсокр(f) = K1 K2 K3 = x1 x2x4 x2x4
3. Построим ядро функции.
x3x4 |
00 01 |
11 |
10 |
|
|
@ |
|
|
|
|
|
x1x@2 |
*1 1 |
1 |
|
|
|
00 |
|
||||
1 *1 |
*1 |
1 |
|
I1 |
|
01 |
|
|
*1 |
|
|
|
|
|
I2 |
||
11 |
*1 |
|
|||
*1 |
|
I3 |
|||
10 |
*1 |
|
*1 |
|
|
Все максимальные интервалы содержат вершины, не покрываемые другими интервалами, и являются ядровыми.
ДНФядр(f) = ДНФсокр(f) = K1 K2 K3 = x1 x2x4 x2x4;
100