Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка - ДМ -основа.doc
Скачиваний:
74
Добавлен:
25.03.2016
Размер:
18.13 Mб
Скачать

2 .Минимизация днф заданной функции.

Пример.

Рассмотрим функцию от десяти переменных, которая равна 0 только на одном наборе (нулевом). На всех остальных наборах значение функции равно 1.

Если рассмотреть данную функцию в виде СДНФ, то длина записи СДНФ, т.е. общее число вхождений переменных, равна (210-1)10 .

210-1 — это число единиц функции, т.е. число слагаемых в СДНФ функции f, и каждое слагаемое содержит десять множителей, поэтому общее число вхождений переменных равно числу переменных в каждом слагаемом, умноженное на число слагаемых

(210-1)10 = 10230

Рассмотрим представление данной функции в СКНФ : x1 ...  x10 .Тогда длина СКНФ равна 10.

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

Например: x1x3 x4 x1x3 x1 x4 x2

Определение: Скажем, что ДНФ представляет функцию f, если ДНФ совпадает тождественно с функцией f.

Определение: Рангом элементарной конъюнкции называют число множителей в ней.

Определение: Сложностью ДНФ называют сумарный ранг конъюнкций, которые входят в данную ДНФ .

S (...) = 2 + 2 + 3 + 3 = 10

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

Определение: Кратчайшей ДНФ функции f называют ДНФ, которая представляет функцию f и содержит наименьшее число элементарных конъюнкций.

Пример:

x1 x2 f

0 0 0

0 1 1

1 0 1

1 1 1

Рассмотрим x1 x2 ; не трудно видеть : ДНФ x1 x2 является одновременно минимальной и кратчайшей. Данная ДНФ представляет функцию f и обладает наименьшей сложностью, сложность равна 2, т.к. число элементарных конъюнкций равно 2, каждая из которых имеет ранг 1. ДНФ меньшей сложности не может представлять данную функцию, т.к. данная функция имеет две существенные переменные, а ДНФ сложности 1 и меньше имеет не более одной существенной переменной. Данная ДНФ является кратчайшей, т.к. она содержит две элементарные конъюнкции, а ДНФ с меньшим числом элементарных конъюнкций от двух существенных переменных имеют следующий вид: x1 x2 x1 x2 .

Все перечисленные функции имеют всего лишь одну единицу. x1 x2 имеют три единицы.

2.1 Геометрическая интерпретация двоичных функций.

Булев куб размерности 0 есть единственная точка.

Булев куб размерности 1 есть отрезок размерности 1. В левом конце этого отрезка значение переменной x1 равно 0, в правом равно 1.

0 x1 1

00 x1 10

x2

01 11 001 011

101 111

000 x2 010

100 110

Булев куб размерности 2 есть квадрат.

Булев куб размерности 3 есть трехмерный квадрат.

И вообще, чтобы получить булев куб размерности n из булева куба размерности n-1, нужно повторить булев куб размерности n-1, соединить соответствующие вершины полученных кубов и ввести новую координату, которая будет равна 0 на первом булевом кубе размерности n-1 и 1 на втором булевом кубе.

Любой функции f от n – переменных будет соответствовать множество вершин n-мерного булевого куба, на которых булева функция f равна 1. Множество вершин, на которых значение f равно 1 будем обозначать Nf.

Нетрудно видеть, что данное соответствие взаимно однозначно, потому что множество единиц функции f однозначно определяет функцию f.

Пример: Функции “+” соответствует множество вершин 10 , 01 двумерного булевого куба.

x1 x2 + 00 x1 10

0 0 0 x2

0 1 1

1 0 1 01 11

1 1 0

Геометрическая интерпретация конъюнкций и дизъюнкций.

Рассмотрим произвольные булевы ф-ции f1 и f2 , которым соответсвуют множества единиц Nf1 и Nf2, тогда конъюнкции ф-ций f1, f2 будет соответствовать пересечение соответствующих множеств: f1f2  Nf1 Nf2 .

Действительно, единицы конъюнкции есть в точности те наборы, на которых обе ф-ции f1 и f2 равны 1. А это есть пересечение множеств Nf1 и Nf2 , т.е. те наборы, которые принадлежат и Nf1 , и Nf2 .

Дизъюнкция f1 f2  Nf1 Nf2 (объединение).

Действительно, единицы дизъюнкции есть наборы, на которых или f1= 1 или f2= 1. Это и есть объединение множеств Nf1 и Nf2.

Определение: Интервалом называют множество единиц некоторой элементарной конъюнкции.

Например: Интервал N (x1 ) - есть те вершины булева куба, на которых данная конъюнкция равна 1, т. е. x1 = 1, x2 = 0, т. е. для трехмерного булева куба это вершины 101 и 100 (ребро).

Интервал, соответствующий конъюнкции x1, есть наборы, в которых x1 = 1

100

101

110

111 — это есть квадрат

Утверждение: Если удалить множитель из элементарной конъюнкции, то полученной конъюнкции будет соответствовать интервал, который содержит начальный.

Действительно:

Пусть начальный интервал соответствует конъюнкции . Удаляя первый множитель из данной конъюнкции, получим интервал, соответствующий конъюнкции. Интервал, соответствующий начальной конъюнкции, есть множество наборов, удовлетворяющих следующим соотношениям. Полученный интервал есть множество наборов, удовлетворяющих следующим условиям, которое содержит начальное.

Определение: Рангом интервала называют ранг соответствующей конъюнкции.

Определение: Размерностью интервала называют число

(n - rang), т.е. число переменных, которые не вошли в данную конъюнкцию.

Пример: размерность x1 в трехмерном кубе равна 1. Размерность интервала x1 в трехмерном кубе равна 2.

Определение: Допустимым интервалом для функции f называют интервал, который состоит только из единиц функции f.

Пример: Рассмотрим функцию от трех переменных (рисунок справа), тогда интервал x1 является допустимым для данной функции, т.к. он состоит целиком из единиц функции f. Интервал x3 допустимым не является, т.к. он содержит 0 функции f, а именно набор 001, на этом наборе значение функции равно 0, а конъюнкция равна 1. Для данной функции 11 допустимых интервалов.

Определение: Максимальным допустимым интервалом называют интервал, при удалении любого множителя из конъюнкции которого получается интервал недопустимый.

Максимальным интервалом является x2 x3 , данный интервал является допустимым, он состоит целиком из 1. Любой интервал, который получается из данного удалением некоторого множителя, будет недопустимым. Интервал x1 максимальным не является, удалим множитель x2 и получим интервал x1, он является допустимым (это передняя боковая грань).

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

Д/з.

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

Пример:

001 011

x2x3

  1. 111

x1x2

000 010 x1x2

  1. 110

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

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

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

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

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

Д/з.

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

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