Минимизация булевой функцции методом Квайна-Мак-Класки
Лекции.ИНФО


Минимизация булевой функцции методом Квайна-Мак-Класки



Теорема Квайна. Если, исходя из СДНФ булевой функции, провести все возможные операции склеивания конъюнкций этой формы, затем всех возможных результатов склеивания, наконец выполнять все поглощения, получится сокращенная ДНФ.

Основа метода состоит из пяти положений:

- склеиваются могут только наборы соседних классов и ;

- если организовывать процесс склеивания так, что результаты склеиваний наборов помещаются в новое множество, то наборы исходного множества и нового множества не склеиваются; при склеивании наборов и получается новое множество наборов, содержащих единиц;

- если наборы склеиваются, то они могут участвовать в других склеиваниях, но должны считаться поглощенными;

- если наборы исходного множества не склеивались, то они уже не будут поглощаться, т.е. соответствующие им конъюнкции являются простыми импликантами и должны быть включены в сокращенную ДНФ;

- новое множество результатов склеиваний может в следующей итерации считаться исходным и с наборами этого множества снова нужно производить все возможные склеивания.

Алгоритм построения множества наборов (максимальных), соответствующим конъюнкциям сокращенной ДНФ:

1. Выписывается множество наборов и разбивается на классы . Исходное множество максимальных наборов пусто.

2. Производятся все возможные склеивания наборов множеств и . Склеивающиеся наборы отмечаются, результат склеивания записывается с приведением подобных во множество . Этот пункт выполняется для всех .

3. Если во множествах есть неотмеченные наборы, то они вносятся во множество максимальных наборов.

4. Если множества не пусты, то индекс н уничтожается и для них выполняются пп.2.-4, иначе множество максимальных наборов построено.

Таким образом реализуется первый этап минимизации булевых функций. На втором этапе строится таблица покрытий и решается задача о наилучшем решении в зависимости от критерия (всех минимальных или всех кратчайших).

Столбцы таблицы покрытий ставятся в соответствие наборам множества , строки – наборам множества .

Элементы таблицы покрытий = 1, если набор входит в разложение . Для удобства наборы множества можно обозначить буквами латинского алфавита.

Для поиска минимального покрытия вес строки определяется числом внешних переменных наборов множества .

 

Пример Минимизировать функцию 4-х переменных методом Квайна-Мак-Класки

  x1 x2 x3 x4
 
 
 
 

 

1. ˅   - ˅   - -
2. ˅   -     - -
3. ˅   - ˅          
4. ˅   -            
5. ˅   -            
6. ˅   -            
7. ˅   - ˅          
8. ˅   - ˅          
9. ˅   -            
10. ˅   -            
11. ˅   - ˅          
12. ˅   - ˅          
              - ˅          
              - ˅          
              -            
              -            

 

 

Составляем таблицу Квайна (в строках - , в столбцах - ):

     
A 1-0-                
B 0-1-                
C 10-0                    
D -100                    
E 01-0                    
F -010                    
G 00-1                    
H -001                    
I -111                    
J 11-1                    

После решения задачи покрытия таблицы Квайна получаем два минимальных покрытия: AEFGI и BCDHJ (S=14).

 

Минимизация в классе КНФ заключается в том, что надо найти такую KНФ для заданной булевой функции, которая содержала бы минимальное число букв (минимальная КНФ). Очевидно, что такая КНФ будет содержать и минимальное число дизъюнкций (является кратчайшей КНФ).

Аналогично ДНФ можно определить и безызбыточную КНФ.

Алгоритм построения множества наборов, соответствующих дизъюнкциям сокращенной КНФ, аналогичен алгоритму для ДНФ. Только на первом этапе выписывается множество наборов и разбивается на классы .

На втором этапе строится аналогичная таблица покрытий и решается задача о наилучшем решении в зависимости от критерия (всех минимальных или всех кратчайших), только столбцы таблицы покрытий ставятся в соответствие наборам множества .

Полученный результат записывается следующим образом:

- выписываются дизъюнкции, соответствующие полученному решению (интервалам): если входит как 0, он вписывается без изменений в дизъюнкцию, если входит как 1, то в дизъюнкцию вписывается его отрицание;

- все полученные дизъюнкции соединяются между собой знаками конъюнкции

 









Читайте также:

Последнее изменение этой страницы: 2016-03-17; Просмотров: 170;


lektsia.info 2017 год. Все права принадлежат их авторам! Главная