
- •Канонические формы представления логических функции
- •Минимизация логических функции методом Кваина
- •Минимизация логических функции методом карт Веича (Карно)
- •1 Канонические формы представления логических функции
- •2 Минимизация логических функции методом Кваина
- •3 Минимизация логических функции методом карт Веича (Карно)
3 Минимизация логических функции методом карт Веича (Карно)
Метод Квайна имеет четко сформулированные правила проведения отдельных операций, благодаря чему он может быть использован для минимизации функций с использованием ЭВМ в тех случаях, когда минимизируемая функция достаточно сложна (содержит большое число аргументов и каноническая форма имеет большое число членов). Однако для минимизации функции ручным способом (без использования ЭВМ) этот метод оказывается весьма трудоемким. Трудоемкость метода Квайна связана с необходимостью попарного сравнения всех членов выражения для выявления склеиваемых членов.
Метод минимизации функции с помощью карт Вейча обеспечивает простоту получения результата. Он используется при минимизации относительно несложных функций (с числом аргументов до 5) ручным способом. В отличие от метода Квайна этот метод требует элементов изобретательности и не может быть использован для решения задачи минимизации с помощью ЭВМ. Карта Вейча прдставляет собой определенную форму таблицы истинности. Табл. 2.10 являются картами Вейча для функций соответственно двух (а), трех (б), четырех (в) аргументов.
Каждая клетка карты соответствует определенному набору значений аргументов. Этот набор аргументов определяется присвоением значения логической 1 буквам, на пересечении строк и столбцов которых расположена клетка (х1 = 1, = 0).
Число клеток карты равно числу всех возможных наборов значений аргументов 2n (п — число аргументов функций). В каждую из клеток карты записывается значение функции на соответствующем этой клетке наборе значений аргументов.
Пусть функция для трех аргументов задана выражением (10) при условии, что её значение при различных комбинациях аргументов равно 1.
F (x1, x2, x3) = x1 x2 x1 x2 x3 x2 x3 x2 . (10)
С
оставим
карту Вейча для выражения 10 в соответствии
со следующей методикой. В клетках карты
Вейча, соответствующих комбинациям
аргументов выражения (10) ставится 1 { F
(x1,
x2,
x3)
= 1}, в остальных клетках 0 { F
(x1,
x2,
x3)
= 0}.
Рис. 2 Рис. 3
Как видим, карта Вейча определяет значения функции на всех возможных наборах значений аргументов и, таким образом, является таблицей истинности. Карты Вейча компактны, но главное их достоинство состоит в том, что при всяком переходе из одной клетки в соседнюю вдоль столбца или строки изменяется значение лишь одного аргумента функции. Следовательно, если в паре соседних клеток содержится 1, то над соответствующими им членами канонической формы может быть проведена операция склеивания. Таким образом, облегчается поиск склеиваемых членов.
Сформулируем правила получения МДНФ функций с помощью карт Вейча.
Все клетки, содержащие 1, объединяются в замкнутые области. При этом каждая область должна представлять собой прямоугольник с числом клеток 2h, где h = 1, 2,... Таким образом, допустимое число клеток в области равно - 2, 4, 8,... Области могут пересекаться и одни и те же клетки могут входить в разные области.
Затем проводится запись выражения МДНФ функции. Каждая из областей в МДНФ представляется членом, число букв в котором на k меньше общего числа аргументов функции п (т. е. равно п—k). Каждый член МДНФ составляется лишь из тех аргументов, которые для клеток соответствующей области имеют одинаковое значение (без инверсии либо с инверсией).
Таким образом, при охвате клеток замкнутыми областями следует стремиться, чтобы число областей было минимальным (при этом минимальным будет число членов в МДНФ функции), а каждая область содержала возможно большее число клеток (при этом минимальным будет число букв в членах МДНФ функции).
Рассмотрим минимизацию с помощью карты Вейча функции трех аргументов, представленной на рисунке 2.
Все клетки, содержащие 1, охватываются двумя областями. В каждой из областей 21 клеток. Таким образом, для них п-k = 3-1 = 2 и эти области в МДНФ будут представлены членами, содержащими по две буквы. Первой области соответствует член x1 x2 (аргумент х3 здесь не присутствует, так как для одной клетки этой области он имеет значение без инверсии, для другой — с инверсией), второй области соответствует член x3. Следовательно, МДНФ функции, представленной выражением (10), будет иметь вид
F (x1, x2, x3) = x1 x2 x3. (11)
При построении замкнутых областей допускается сворачивание карты в цилиндр с объединением ее противоположных граней. В силу этого крайние клетки строки или столбца таблицы рассматриваются как соседние и могут быть объединены в общую область.
Для получения МКНФ функции замкнутыми областями охватываются клетки с нулевыми значениями функции (см. рис. 3), и при записи членов логического выражения берутся инверсии аргументов, на пересечении которых находятся области.
Так, для функции, приведенной выражением (10), МКНФ будет иметь вид
F (x1, x2, x3) = (x1 x3 ) ( x2). (12)
Представление функции и минимизация ее с помощью карт Вейча усложняются, если число аргументов больше четырех.