русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Покрытия булевых функций


Дата добавления: 2015-08-31; просмотров: 4056; Нарушение авторских прав


 

Между кубами различной размерности, входящими в кубический комплекс K(f), существует отношение включения или покрытия. Принято говорить, что куб А меньшей размерности покрывается кубом B большей размерности. Куб А включается в куб B, если при образовании куба Bхотя бы в одном склеивании участвует куб А.

Отношение включения (покрытия) между кубами принято обозначать А Ì B. В теории множеств отношение включения связывает между собой некоторое множество и его подмножества.

Для рассмотренного примера отношения включения имеют место между следующими кубами: 001Ì0Х1; 011ÌХ11ÌХ1Х. Любой 1-куб покрывает два 0-куба, 2-куб - четыре 0-куба и четыре 1-куба, 3-куб покрывает восемь 0-кубов, двенадцать 1-кубов и шесть 2-кубов (см. геометрическую интерпретацию).

Определение. Покрытием булевой функции f называется такое подмножество кубов из кубического комплекса K(f), которое покрывает все существенные вершины функции.

В связи с тем, что любому кубу комплекса K(f) можно поставить в соответствие конъюнктивный терм, для любого покрытия можно составить некоторую ДНФ булевой функции.

Частным случаем покрытия булевой функции является кубический комплекс K0(f), покрытие C0(f)=K0(f). Этому покрытию соответствует КДНФ.

Для рассмотренного выше примера покрытием является также комплекс K1(f):

.

Этому покрытию соответствует ДНФ вида:

Приведенная ДНФ не является минимальной.

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

.

Действительно, кубы, входящие в Z(f), покрывают все существенные вершины: 0Х1É(001, 011), Х1ХÉ(010, 011, 110, 111).

 

Замечание. Множество максимальных кубов булевой функции всегда является ее покрытием.

Покрытию С2(f) соответствует ДНФ вида:



Эта ДНФ является минимальной.

 

Определение. Покрытие булевой функции, которое соответствует минимальной ДНФ, называется минимальным покрытием.

 

Замечание: Минимальное покрытие должно состоять только из максимальных кубов.

 

В частном случае, множество максимальных кубов может являться минимальным покрытием. Это справедливо для рассмотренного выше примера. В общем случае множество максимальных кубов является избыточным и для получения минимального покрытия достаточно выделить некоторое его подмножество.

 

Пример:

 

K2( f ) = Æ.
; ;

Для данного примера множество максимальных кубов совпадает с комплексом K1(f): Z(f)=K1(f).

Минимальными покрытиями являются

; .

Определение. ДНФ, соответствующая множеству максимальных кубов, называется сокращенной (СДНФ).

Для рассматриваемого примера СДНФ:

 

Из анализа покрытия существенных вершин максимальными кубами из комплекса K1(f) следует:

1. Куб 00Х должен обязательно включаться в покрытие, так как он и только он покрывает существенную вершину 001, аналогично только куб 11Х покрывает существенную вершину 111.

 

Определение. Множество максимальных кубов, без которых не может быть образовано покрытие булевой функции, называется ядром покрытия и обозначается T(f): T(f)={00Х, 11Х}.

 

2. Так как ядром покрытия, кроме существенных вершин 001 и 111, покрываются также существенные вершины 000 и 110, то не покрытой ядром остается только существенная вершина 100. Для ее покрытия достаточно взять любой из оставшихся максимальных кубов: Х00 или 1Х0.

 

Выводы:

1. Задача получения минимальной ДНФ сводится к задаче получения минимального покрытия булевой функции.

2. В общем случае: получение минимального покрытия осуществляется в следующем порядке:

а) находится множество максимальных кубов;

б) выделяется ядро покрытия;

в) из максимальных кубов, не вошедших в ядро, выбирается такое минимальное подмножество, которое покрывает существенные вершины, не покрытые ядром.

3. Частные случаи.

1) Cmin(f) = K0(f) МДНФ=КДНФ;

2) Cmin(f) = Z(f) МДНФ=СДНФ;

3) Cmin(f) Ì Z(f);

а) Cmin(f) = T(f);

б) T(f) Ì Cmin(f);

в) T(f) = Æ.

 



<== предыдущая лекция | следующая лекция ==>
Геометрическая интерпретация кубов малой размерности. Графическое представление булевых функций | Цена покрытия


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.059 сек.