- •Оглавление
- •Глава1. Минимизация функций алгебры логики в классе днф 7
- •Глава 2. Преобразования и минимизация в базисе, 32
- •Предисловие
- •Введение
- •Глава 1. Минимизация функций алгебры логики в классе днф1.
- •I Геометрический метод.
- •2 Метод неопределенных коэффициентов.
- •3 .Метод минимизирующих карт (гарвардский метод).
- •4. Метод квайна.
- •2 Этап. Расстановка меток.
- •3 Этап. Нахождение существенных импликант.
- •4 Этап. Вычеркивание лишних столбцов.
- •5 Этап. Вычеркивание лишних строк.
- •Метод Петрика нахождения всех возможных тупиковых форм.
- •5 Метод Квайна-Мак-Класки
- •6 Метод карт карно (вейча).
- •7Абсолютно минимальные представления
- •Глава 2.Преобразования и минимизация в базисе состоящем из функции вебба или из функции шеффера.1
- •Метод неопределенных коэфициентов
- •Метод квайна.
- •Метод мак-класки
- •Список литературы
- •Приложение.
Глава 1. Минимизация функций алгебры логики в классе днф1.
Из известных методов минимизации булевых функций в данной главе рассматриваются наиболее простые и распространенные в базисе {-,&}.
I Геометрический метод.
Применяется ввиду наглядности в основном для минимизации функций трех переменных, но его можно обобщить на большее количество переменных.
В геометрической интерпретации изобразим область определения произвольной булевой функции трех переменных множеством вершин трехмерного куба. Элементам куба можно поставить во взаимо-однозначное соответствие конъюнкции различного ранга: вершинам куба – конъюнкции третьего ранга, ребрам – второго, граням – первого. Ранг – число букв, образующих конъюнкцию. Каждый геометрический эквивалент меньшей размерности покрывается всеми геометрическими эквивалентами большей размерности (рис. 1-1).
Т
x1x2x3








![]()
![]()
![]()
![]()
и
покрываются конъюнкцией
(две вершины-ребро); конъюнкции
,
,
,
покрываются либо двумя конъюнкциями
и
,
либо
и
либо только
(четыре вершины –либо два ребра, либо
одна грань).
Б
рис.
1-1
![]()
![]()
![]()
![]()

улевую
функцию зададим множеством вершин
трехмерного куба, где она принимает
единичные значения (зачерненные вершины
куба на рис. 1-1) Запись функции в некоторой
ДНФ соответствует нахождению покрытия
,
где
- ранги покрывающих интервалов
.
Интервал
-го
ранга – подмножество вершин куба,
соответствующее конъюнкции
-го
ранга. Задача о нахождении минимальной
ДНФ соответствует нахождению такого
покрытия
,
в котором сумма рангов всех покрывающих
интервалов является минимальной, т.е.
- минимально, ибо ранг
совпадает с числом букв, входящий в
интервал
.
Для
функций
и
на приведенных рис. 1-2 минимальными
формами будут
,
или
Для второй функции задача решается
неоднозначно.
![]()
![]()
![]()
![]()



![]()
![]()
![]()












![]()
![]()
![]()
![]()
![]()






![]()
![]()


![]()

![]()
![]()
![]()
![]()
Рис.
1-2
Пример 1-1: Минимизировать функцию, заданную следующей таблицей истинности
|
Таблица 1-2 | ||||||||
|
x1 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
|
x2 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
|
x3 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
|
f(x1, x2, x3) |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
Ее формула в СДНФ имеет вид:
.
x3
З
Рис.
1-3
x2
x1
x2

![]()

,
а две на одном ребре
Откуда
следует, что минимальная форма функции
и есть сумма этих интервалов
,
т.е.
.
Другого варианта решения здесь не может
быть. Задача решается однозначно.

2 Метод неопределенных коэффициентов.
Этот метод может быть применен для булевых функций от любого числа переменных, однако, для простоты его описания рассмотрим минимизацию функции, зависящей от трех переменных.
Представим
функцию
в виде следующей ДНФ:

Здесь
представлены все возможные конъюнктивные
члены, которые могут входить в
.
Коэффициенты
с различными индексами являются
неопределенными и подбираются так,
чтобы полученная форма была минимальной.
Если задать наборы аргументов, подставить
в формулу и приравнять полученные
выражения (отбрасывая нулевые конъюнкции)
значению функции на выбранных наборах,
то получим систему уравнений для
определения коэффициентов
.
В общем случае в системе будет
уравнений,
- число аргументов функции.
(1)

Если
функция
задана таблицей, то в правой части
соответствующих уравнений будут стоять
нули и единицы. Для удовлетворения
уравнения, в правой части которого стоит
нуль, необходимо приравнять нулю все
коэффициенты
,
входящие в это уравнение (это вытекает
из определения дизъюнкции).
Рассмотрев все уравнения, в правой части которых стоят нули, и приравняв все коэффициенты этих уравнений нулю, в остальных уравнениях вычеркивают вошедшие в них нулевые коэффициенты. Удобно полученную систему переписать в более сокращенной форме, оставив в ней уравнения, в правой части которых стоят единицы, убрав при этом из этих уравнений нулевые коэффициенты. Затем выбирают в системе самые короткие уравнения. В этих уравнениях приравнивают единице коэффициенты, определяющие конъюнкции наименьшего возможного ранга (это возможно, т.к. дизъюнкция равна единице при обращении в единицу хотя бы одного члена). При этом надо выбрать такие конъюнкции наименьшего ранга, которые чаще встречаются в уравнениях системы. Остальные коэффициенты можно положить равными 0 или 1. Затем рассматривают оставшиеся уравнения и в них выбирают коэффициенты, соответствующие конъюнкциям наименьшего ранга по тому же принципу, и т.д.
Найденные единичные коэффициенты определяют конъюнкции с наименьшим числом знаков, а форма, записанная с этими коэффициентами, определяет минимальную ДНФ данной функции.
Пример 1-2. Минимизировать функцию (см. пример 1-1).
![]()
Составим
систему (обратите внимание на то, что
она имеет стандартный вид, лишь в правой
части изменяются значения в зависимости
от таблицы истинности функции). Для
удобства записи системы слева помещают
координаты вершин (область определения
функции). Верхние индексы коэффициентов
комбинируют соответственно из записанных
координат вершин с учетом взятых нижних
индексов. Например, для второй вершины
(0,0,1) верхним индексом для коэффициента
будет 00; для
- 01 и т.д.
![]()

Из уравнений 2, 5, 6 в силу свойств дизъюнкции вытекает, что
![]()
Удобно вычеркнуть уравнения, в правой части которых стоят нули, а в остальных уравнениях вычеркнуть коэффициенты равные нулю.
После этого система примет вид:
(2)

В
системе (2) в силу свойства дизъюнкции
можно приравнять единице коэффициент
,
тогда 2, 3, 4 и 5 уравнения этой системы
превращаются в тождества, из первого
же уравнения системы возьмем
.
Все остальные коэффициенты во всех
уравнениях положим равными нулю.
![]()
Обратите внимание на тот факт, что единице приравнивают коэффициенты, отвечающие конъюнкциям, содержащим наименьшее число переменных, кроме того, чаще встречающиеся в упрощенной системе уравнений.
Итак,
мы нашли
,
остальные коэффициенты равны нулю.
Отсюда минимальная форма данной функции:
![]()
Этот метод является громоздким, практически не используется, но мы рассмотрели его здесь с целью обоснования последующих методов.
