Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Геометрический метод нахождения всех минимальных ДНФ функции f




Утверждение о максимальных интервалах и тупиковых покрытиях.

Д/з.

Д/з.

Определение: Покрытием единиц булевой функции f называют набор допустимых интервалов, таких что каждая единица булевой функции принадлежит некоторому из интервалов.

 

Пример:

001 011

x2x3

101 111

 

x1x2

000 010 x1x2

 


100 110

 


 

Рассмотрим четыре допустимых интервала, это есть покрытие. Действительно, каждый из интервалов является допустимым, каждый из интервалов состоит целиком из единиц функции f, и каждая единица функции f принадлежит некоторому интервалу (покрыта некоторым интервалом).

 

Утверждение: Каждое покрытие представляет булеву ф-цию.

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

ДНФ, которая соответствует покрытию, представляет булеву функцию.

Утверждение: Любой ДНФ, которая представляет f, соответствует покрытие.

Определение: Тупиковым покрытием называют покрытие, при удалении любого интервала из которого, оно перестает быть покрытием.

 

Пример: Рассмотренное в предыдущем примере покрытие является тупиковым. Действительно, если удалим интервал x2 x 3 , то вершина 011 не будет принадлежать ни одному из оставшихся интервалов. Если удалим x 1 x 3, то тогда не будет покрыта вершина 101, если удалим x 1 , то не будет покрыта вершина 100, если удалим x 1 x 2 , то не будет покрыта вершина 110. Добавим к рассмотренномупокрытию x 1 x 2, тогда имеем не тупиковое покрытие. Действительно, можно удалить интервал x 1 x 2 и все равно получим покрытие.

 

 

Утверждение 1: Любая минимальная ДНФ может состоять только из максимальных интервалов.

Утверждение 2: Любая минимальная ДНФ - есть тупиковое покрытие.

Докажем утверждение 1:

Допустим противное, что некоторая минимальная ДНФ k 1Ú k 2Ú...Ú k s содержит немаксимальный интервал k 1 . Это означает, что из интервала k 1 можно удалить множитель, так что полученный интервал k 1/ так же будет допустимым.

Заменим интервал k 1 на k 1/ в начальной ДНФ функции f. Нетрудно видеть, что полученная ДНФ k 1/ Ú k 2Ú...Ú k s также представляет функцию f.

Действительно, в силу одного из предыдущих утверждений интервал k 1 Í k 1/. Это означает, что любая единица, которая была покрыта интервалом k 1, будет покрыта интервалом k 1/. Все остальные единицы были покрыты оставшимися интервалами. Они же покрыты интервалами (оставшимися) в полученной ДНФ. Таким образом, все единицы функции f покрыты полученными интервалами. И все интервалы данного набора являются допустимыми. Поэтому полученная ДНФ является покрытием и поэтому представляет функцию f. Но сложность полученной ДНФ меньше, чем сложность первоначальной, т. к. в интервале k 1 был удален некоторый множитель.

Отсюда следует противоречие. Мы получили ДНФ, сложность которой меньше чем сложность первоначальной.

 

Пример: Рассмотрим булеву функцию x 1 x 3 Ú x 2 x 3 Ú x 1 и рассмотрим покрытие соответствующее данной функции.

 

x1x3
x2x3
Действительно, это покрытие, но данное покрытие не можетсоответствовать минимальной ДНФ из-за того что интервалы x 1 x 3 и x 1 не являются максимальными.

Действительно, из интервала x 1 x 3 можно удалить множитель x 3 и получится допустимый интервал x 1. И сложность ДНФ, которая так же является покрытием, уменьшится на 1.

Поэтому первоначальное покрытие не может быть минимальным. В данном примере минимальная ДНФ есть x 1 Ú x 2 x 3. Д/з.

Докажем утверждение 2:

Любая минимальная ДНФ есть тупиковое покрытие.

Допустим противное, что есть минимальная ДНФ k 1Ú k 2Ú...Ú k s, которая не является тупиковым покрытием. Это означает, что в ДНФ есть интервал k 1 (для определенности), удаление которого все равно приведет к покрытию k 2Ú...Ú k s, т. е. полученное покрытие будет представлять булеву функцию, но сложность полученной ДНФ для данного покрытия меньше чем сложность первоначальной ДНФ на величину ранга удаленной конъюнкции. Поэтому первоначальная ДНФ не может является минимальной.

 

Из данных двух утверждений следует, что минимальная ДНФ содержится в множестве всевозможных тупиковых, состоящих из максимальных интервалов.

 

Замечание: Тупиковая ДНФ не обязательно является минимальной.

Например: x 1 x 3 Ú x 2 x 3 Ú x 1 . Действительно, данные интервалы составляют тупиковое покрытие. Но данная ДНФ не является минимальной.

Данное утверждение не верно даже если предполагать, что тупиковая ДНФ состоит только из максимальных интервалов.

Пример:

Максимальными интервалами являются 6 ребер: k 1 , k 2 , k 3, k 4, k 5, k 6. Они действительно являются максимальными, ни одно из ребер не содержится в допустимой грани. Допустимых граней здесь нет.

Не трудно видеть, что k 1 , k 2 , k 4 , k 5 является тупиковым покрытием. Действительно, все интервалы допустимы и максимальны, и при удалении любого интервала получаем не покрытие. Но данное тупиковое покрытие максимальными интервалами минимальным не является. В данном примере существует покрытие меньшей сложности, которое покрывает все вершины, а сложность этого покрытия меньше: k 1, k 3, k 5,.

Ответ: Минимальные ДНФ следующие:

 

 
 
 
 
 
 
Таким образом, алгоритм нахождения минимальной ДНФ будет проводиться в два этапа: на первом найдем все максимальные интервалы функции f, а на втором — все тупиковые покрытия максимальными интервалами, и выделим из них покрытия минимальной сложности. Это и будут все минимальные ДНФ функции f.

 

001 011

 

101 111

 

 

000 010

 


100 110

 



Первый этап:

Рассмотрим пример. В нем максимальные интервалы x 1 и x 2 . Действительно, x 1 является допустимым, он состоит целиком из единиц функции f, удаление множителя x 1 из данного интервала дает интервал константу 1. Это все вершины булевого куба. Вершина 000 единицей не является. Поэтому const 1 — весь булев куб допустимым интервалом не является. Поэтому интервал x 1 является максимальным.

Интервал x 2 так же является максимальным.

 

 

Второй этап:

Найдем все тупиковые покрытия. Получаем единственное покрытие, состоящее из всех максимальных интервалов. Действительно, интервал x 2 обязательно должен принадлежать покрытию, т.к. только данный максимальный интервал покрывает вершину 011.

Интервал x 1 также обязан принадлежать покрытию, т.к. только данный максимальный интервал покрывает вершину 100.

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

Поэтому получаем единственную минимальную ДНФ .

 

Рассмотрим функцию от трех переменных.

 

1 этап:

Находим максимальные интервалы данной функции. Их будет 4. Это четыре ребра: x 1 , x 1 x 2, x 2 x 3 , x 3 .

K4
K3

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

Первый этап завершен.

 

2 этап:

Найти все тупиковые покрытия.

 

; .

И других тупиковых покрытий нет.

Действительно, интервал обязан входить в любое покрытие, т.к. только он покрывает вершину 100. Интервал обязан входить в любое покрытие, т.к. только он покрывает вершину 001. Остаются два интервала ; , из которых достаточно взять только один интервал, чтобы покрыть вершину 111. Сложность тупиковых покрытий одинакова. Это и есть все минимальные ДНФ данной функции.

Ответ:




Поделиться с друзьями:


Дата добавления: 2017-01-13; Просмотров: 1301; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




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