Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Дискретная математика

.pdf
Скачиваний:
12
Добавлен:
10.02.2023
Размер:
2.32 Mб
Скачать

В полученной квадратной таблице каким-либо символом (например, 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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]