Карты Карно
Карта Карно — графический способ минимизации булевых функций, обеспечивающий относительную простоту работы с большими выражениями. Представляет собой операции попарного неполного склеивания и элементарного поглощения. Карты Карно рассматриваются как перестроенная соответствующим образом таблица истинности функции. Карты Карно были изобретены в 1952 Эдвардом В. Вейчем и усовершенствованы в 1953 Морисом Карно, физиком из «Bell Labs» , и были призваны помочь упростить цифровые электронные схемы. В карту Карно булевы переменные передаются из таблицы истинности и упорядочиваются с помощью кода Грея, в котором каждое следующее число отличается от предыдущего только одним разрядом. Каждой строке таблицы истинности логической функции соответствует одна клетка карты Карно.
Карты Карно - для трех переменных -для четырех переменных двух переменных - для пяти переменных
Карты Карно логических функций 2 -х, 3 -х и 4 -х переменных – 2 -x мерные, т. е. представимы на плоскости. Карты Карно логических функций 5 -ти и 6 -ти переменных 3 -х мерные или пространственные. Метод применим только для логических функций до 7 -ми переменных. Свойства карт Карно: 1. Каждой клетке карты Карно соответствует один аргументвектор логической функции. 2. Число соседних клеток к каждой клетке карты Карно равно числу переменных карты. 3. Аргумент-векторы любых двух соседних клеток карты Карно являются ближайшими друг к другу аргумент-векторами (отличаются друг от друга только в одной координате).
Рассмотрим на примере. Пусть задана таблица истинности: Составим три отдельные карты для функций y 1, y 2, y 3.
Заполним карту Карно для функции y 1: 0 0 1 1 0 1 1 Четвертая Третья строка для 1=1, x Первая строка дляxx=1, xx=1=1 Вторая строка для 1 x 1=0, 22=0=0 2 соответственно
Для дальнейших действий введем понятие «контур» . Группы клеток карты Карно определенных размеров называют контурами. Для карт Карно, определенных на плоскости, контурами являются прямоугольники, с допустимыми размерами сторон 2 m x 2 n, m, n = 0, 1, 2 … 1 x 1 1 x 2 1 x 4 2 x 1 2 x 2 2 x 4 4 x 1 4 x 2 4 x 4. . .
Для создания МКНФ выделяются контуры с нулевыми элементами, для МДНФ – элементы с единичными элементами. Выделение контуров: Также, одно из важных свойств – «склееность» элементы Возможные контуры Контурыправые элементы являютсяпричемграниц граничных могут пересекаться, соседними для карты. Граничные должны входить в верхние – для нижних. левых, максимально большой контур
Продолжим решение примера. Выделим контуры с единичными элементами для МДНФ на заполненной карте. 0 0 1 1 0 1 1 Теперь выделим меньшие контуры. Причем, учитывая «склееность» границ Выделим максимально большие контуры (они могут пересекаться) карты.
Последний этап. По постоянным переменным интервалов запишем элементарные конъюнкции МДНФ по правилу составления СДНФ или СКНФ по заданной области истинности или ложности. Постоянные значения x 3 Постоянное значение x x- -инверсный Постоянноепрямой, 4 xпрямой Постоянное значение x прямой значение - - прямой 4 4 3 Постоянные значения x 1 – прямой, x 2 Постоянное значение – прямой x 1 - прямой Постоянные значения x 1 – прямой, x 2 – инверсный 0 0 1 0 0 y 1= x 3 x 4 + x 1 x 3 + x 1 x 2 x 4 0 1 0 0 1 1
Аналогичные действия для функций y 2 0 y 2 = x 1 x 3 x 4 + x 1 x 2 x 3 + + x 1 x 2 x 3 x 4 0 0 1 0 1 1 0 0
И для функций y 3 0 y 3 = x 1 x 2+x 2 x 4 1 1 0 0 0 1 1 0
Итого, мы привели к МДНФ три функции, руководствуясь только таблицей истинности и картами Карно. y 1= x 3 x 4 + x 1 x 3 + x 1 x 2 x 4 y 2 = x 1 x 3 x 4 + x 1 x 2 x 3 x 4 y 3 = x 1 x 2+x 2 x 4