Минимизация переключательных функций с помощью диаграмм Вейча
Диаграммы Вейча позволяют упростить поиск склеивающихся конституент. Диаграмма Вейча – это специальная таблица, определяющая значения переключательной функции на каждом наборе аргументов. Каждой клетке диаграммы соответствует определенный набор значений аргументов (рис. 2.5.1,б).
Рис. 2.1. Диаграмма Вейча для функции двух переменных
Склеивающиеся между собой конституенты единицы или нуля в диаграммах Вейча для функций двух аргументов расположены в соседних смежных клетках (рис. 2.1, в, г).
Чтобы представить переключательную функцию диаграммой Вейча, следует записать единицы в клетки, соответствующие наборам, на которых функция равна единице, и нули – в остальные клетки.
В диаграмме Вейча для переключательной функции двух аргументов любая пара единиц, расположенных в соседних клетках, выражается одной буквой, которая при переходе от одной клетки к другой не изменяет знака инверсии.
Рис. 2.2. Диаграммы Вейча для некторых функций двух переменных
Это обстоятельство используют для получения минимальных ДНФ и КНФ.
Рассмотрим диаграммы Вейча переключательной функции f13(х1; x2) =
= х1® x2.
Рис. 2.3. Диаграмма Вейча для функции f13(x1;x2)
Это выражение, являющееся минимальной формой функции f13(x1;x2), получено путем склеивания конституент единиц, обведенных овалами.
Для 3-х переменных:
Рис. 2.4. Иллюстрации к построению диаграмм Вейча для функций трех переменных: а – размещение конституент единицы; б – размещение конституент нуля; в – соответствие клеток диаграммы и наборов значений аргументов
Эти диаграммы следует представлять в виде цилиндра, образованного соединением граней первой и последней колонок.
Тогда любая пара склеивающихся между собой конституент будет находится в соседних смежных клетках.
Рассмотрим диаграммы Вейча переключательных функций, которые могут быть представлены произведением двух переменных:
Рис. 2.5. Диаграммы Вейча для некторых функций, представимых двухбуквенными выражениями: а – функция x1 x2; б – функция x3; в – функция x3; г – функция ; д – функция x1 ; е – функция x1
Четыре единицы, расположенные в соседних смежных клетках, выражаются одной буквой.
Рис. 2.6. Диаграммы Вейча для некоторых функций, представимых в виде
одной переменной: а – функция x3; б – функция ; в – функция
Чтобы построить диаграмму Вейча функции, заданной в СДНФ, нужно записать единицы в клетки диаграммы, которые соответствуют конституентам единицы данной функции.
Если функция задана в СКНФ, следует записать нули в клетки диаграммы, которые соответствуют конституентам нуля, входящим в данную функцию, а в остальных клетках записать единицы.
Отыскание минимальной ДНФ сводится к определению варианта, при котором все единицы диаграммы Вейча данной функции накрываются наименьшим числом наиболее коротких произведений.
Пример 2.3.
f(x1, x2, x3) = .
Данная функция имеет единственную минимальную форму, поскольку при любом другом способе объединения единиц количество букв в ДНФ увеличивается.
а - f(x1, x2, x3) = x1 x2Ú x1 x3Ú ; б - f(x1, x2, x3) = x1 x2Ú x3Ú .
Для получения минимальной КНФ следует объединить нули переключательной функции: две конституенты нуля соответствуют клеткам, объединенным пунктиром, склеиваются по x3 и представляются импликантой x1Ú , а оставшийся нуль – конституентой Ú x2Ú x3. Поэтому минимальная КНФ будет иметь вид
f(x1, x2, x3) = (x1Ú )( Ú x2Ú x3).
Минимальная КНФ имеет меньше букв, чем минимальная ДНФ.
Пример 2.5. Найти минимальную ДНФ функции
f(x1, x2, x3) = .
Рис. 2.9. Вариант склеивания конституент, приводящий к единственной минимальной ДНФ
Пример 2.6. Найти минимальную ДНФ функции
f(x1, x2, x3) = .
Рис. 2.10. Варианты склеивания конституент, приводящие к различным
минимальным ДНФ: а - f(x1, x2, x3) = ;
б - f(x1, x2, x3) = .
Пример 2.7. Найти минимальную ДНФ функции
f(x1, x2, x3) = .
Рис. 2.11. Диаграмма Вейча для переключательной функции, у которой совершенная, сокращенная, тупиковая и минимальная формы совпадают
Диаграмма Вейча для функции четырех аргументов представляет собой квадрат, разделенный на 16 клеток.
Рис. 2.12. Диаграмма Вейча для функции четырех переменных
Одной букве соответствует восемь единиц, расположенных в соседних клетках; произведению, включающему две переменные, соответствуют четыре соседние единицы; произведению трех переменных – две и произведению четырех переменных – одна единица.
Первую и последнюю колонки диаграммы, а также верхнюю и нижнюю строки следует считать соседними. Поэтому диаграмму Вейча для функций четырех аргументов следует представлять нанесенной на поверхность тора.
Пример 2.8.
Рис. 2.13. Вариант склеивания конституент, приводящий к получению минимальной ДНФ
Диаграмма Вейча для функции пяти аргументов имеет следующий вид:
Рис. 2.14. Диаграмма Вейча для функций пяти переменных
Одной букве в этом случае соответствуют шестнадцать единиц, расположенных в смежных клетках; произведению двух букв – восемь единиц, трех букв – четыре, четырех – две и пяти – одна единица.
Следует помнить, что для букв , x4, и x5 "соседние" клетки оказываются разнесенными.
Аналогично строится диаграмма Вейча и для переключательных функций большего числа аргументов. Однако с увеличением числа аргументов работа с диаграммами затрудняется, поскольку теряется геометрический смысл "соседних" клеток.