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

а) Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru ;

б) Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru .

◄ а)Преобразуемформулу, используя равносильность Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru :

Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru .

Поскольку на любом наборе Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru и на любом наборе Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru , то согласно определению Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru , Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru - фиктивные переменные. Переменная же Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru - существенная, т.к. Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru , Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru .

б)выполнить самостоятельно.►

Обратите внимание. Если функция реализована формулой, в которую некоторая переменная не входит, то эта переменная фиктивная. Обратное утверждение неверно. Действительно, в упражнении 14 а) мы рассмотрели функцию, реализованную формулой, содержащую переменные Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru , Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru , однако эти переменные оказались фиктивными.

Упражнение 2.15. Выяснить, на скольких векторах 4-х мерного булева куба обращается в ноль функция: а) Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru ; б) Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru .

◄а)Функция Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru обращается в ноль, если Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru или Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru . Равенства Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru выполняются, только если все переменные равны единице. Равенства Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru выполняются на таких наборах Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru значений переменных Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru , у которых Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru одновременно не равны единице и Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru одновременно не равны единице. При построении конкретного булевого вектора Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru , отвечающего этим требованиям, будем сначала выбирать пару Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru , а затем пару Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru . Каждую из этих пар можно выбрать тремя способами (взять 0,0, или 0,1, или 1,0). Значит, согласно правилу произведения построить булев вектор, на котором оба слагаемых Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru и Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru равны нулю, можно девятью способами.

Таким образом, есть десять векторов, на которых функция Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru обращается в нуль.

б)решить самостоятельно.►

Нормальные формы

2.2.1. Принцип двойственности

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

Функцию, двойственную к Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru , обозначают Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru , т.е. Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru .

Упражнение 2.16.Используя определение, найти двойственные функции для дизъюнкции, конъюнкции и функций одной переменной.

◄ Пусть Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru . Тогда Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru .

Пусть Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru . Тогда Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru .

Пусть Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru . Тогда Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru .

Пусть Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru . Тогда Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru .

Пусть Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru . Тогда Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru .

Пусть Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru . Тогда Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru .►

Утверждение. Для любой функции Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru выполняется равенство Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru .

Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru .►

Обсудим, как найти двойственную функцию, если сама функция задана таблицей или вектором значений. Рассмотрим таблицы истинности для произвольной функции двух переменных Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru , а также двойственной к ней функции Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru :

Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru
Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru
Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru
Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru
Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru

Нетрудно заметить, что столбец значений функции Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru можно получить из столбца значений функции Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru , если действовать по следующему алгоритму:

1. столбец значений функции переписать в обратном порядке (т.е. число, стоящее в первой строке, записать в последнюю строку; число, стоящее во второй строке - в предпоследнюю строку и т.д.);

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

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

Упражнение 2.17.Найти функции, двойственные данным:

а) Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru ; б) Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru ;

в) Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru ; г) Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru .

◄ а) Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru .

б) Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru .

в)и г) решите самостоятельно.►

Упражнение 2.18.Найти функции, двойственные данным:

а) Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru ; б) Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru .

◄ а) Вначале зададим функцию таблицей:

Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru

Далее: Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru .

б)решите самостоятельно.►

Итак, если функция Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru задана формулой, то, чтобы найти двойственную к Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru функцию, можно вначале задать функцию Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru вектором значений, а затем по вектору значений Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru выписать вектор значений Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru . Но можно действовать и по другому: строить формулу, реализующую Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru , непосредственно по формуле, реализующей Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru . Алгоритм такого построения дает принцип двойственности.

Принцип двойственности. Если формула Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru реализует функцию Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru , то формула, полученная из нее заменой символов функций Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru на символы двойственных к ним функций Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru , реализует функцию Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru , двойственную к функции Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru (эту формулу будем называть двойственной к Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru и обозначать Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru ).

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

Поскольку Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru , Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru , Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru , Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru , Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru , Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru , то для получения формулы, двойственной к формуле Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru , нужно в формуле Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru заменить 0 на 1, 1 на 0, связку Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru на связку Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru , связку Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru на связку Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru .

Упражнение 2.19. Реализовать формулами функции, двойственные данным:

а) Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru ; б) Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru ; в) Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru ; г) Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru .

◄ а) Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru .

Обратите внимание на следующее обстоятельство. В записи формулы, реализующей Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru , конъюнкция, согласно соглашению о краткой записи формул, в скобки не взята. Записывая двойственную формулу, мы меняем конъюнкцию на дизъюнкцию. Но связка « Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru » имеет меньший приоритет выполнения, чем « Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru », поэтому, чтобы двойственная формула сохранила структуру исходной формулы, при переходе от конъюнкции к дизъюнкции нужно взять дизъюнкцию в скобки. В то же время при переходе от дизъюнкции к конъюнкции скобки можно опустить.

б) Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru .

в)и г) решите самостоятельно.►

2.2.2. Реализация булевых функций в виде СДНФ и СКНФ.

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

Начнем с того, что научимся реализовывать функцию в виде совершенной дизъюнктивной нормальной формы.

Введем обозначение: Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru

Теорема (о реализации функции в виде СДНФ). Если Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru , то она может быть реализована формулой

Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru . (*)

Формулу (*) называют совершенной дизъюнктивной нормальной формой или, сокращенно,СДНФ.

Согласно (*), чтобы записать СДНФ функции, нужно действовать так:

1) выбрать в таблице истинности функции все наборы значений переменных, на которых функция равна 1;

2) для каждого такого набора записать конъюнкцию, в которую войдут все переменные, причем, если значение переменной на данном наборе равно 0, то она войдет в конъюнкцию со знаком отрицания, а если – 1, то без знака отрицания;

3) записать дизъюнкцию всех выписанных в п. 2 конъюнкций.

Упражнение 2.20.Реализоватьфункции в виде СДНФ:

а) Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru ; б) Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru ; в) Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru ; г) Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru ; д) Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru .

◄ а) – в) Зададим функции таблично и выпишем для них СДНФ.


Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru

Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru ;

Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru ;

Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru .

г) Таблица истинности функции Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru приведена в упражнении 2.18 б. Запишем СДНФ: Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru .

д)решите самостоятельно. ►

Рассмотрим еще один способ реализации функции формулой.

Теорема (о реализации функции в виде СКНФ). Если Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru , то она может быть реализована формулой

Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru . (**)

Формулу (**), называют совершенной конъюнктивной нормальной формой или, сокращенно,СКНФ.

Согласно (**), чтобы записать СКНФ функции, нужно действовать так:

1) выбрать в ее таблице истинности все наборы значений переменных, на которых функция равна 0;

2) для каждого такого набора записать дизъюнкцию, в которую войдут все переменные, причем, если значение переменной на данном наборе равно 1, то она войдет в дизъюнкцию со знаком отрицания, а если – 1, то без знака отрицания;

3) записать конъюнкцию всех выписанных в п. 2 дизъюнкций.

Упражнение 2.21.Реализоватьфункции в виде СКНФ:

а) Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru ; б) Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru ; в) Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru ; г) Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru ; д) Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru .

◄ а) – г) Опираясь на таблицы истинности функций (они приведены в упражнениях 20 и 18), запишем:

а) Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru ;

б) Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru ;

в) Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru ;

г) Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru .

д) решите самостоятельно. ►

§ 2.3. Минимизация булевых функций в классе ДНФ

Пусть задан алфавит переменных Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru .

Определение. Формулу вида Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru ( Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru при Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru , Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru ) называют элементарной конъюнкцией ранга r над множеством X. Константа 1 рассматривается как элементарная конъюнкция ранга 0.

Например, формула Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru - элементарная конъюнкция ранга 3 над множеством Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru ; в то время как формула Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru элементарной конъюнкцией не является.

Упражнение 2.22. а)Перечислите все элементарные конъюнкции ранга 3 над множеством Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru , обращающиеся в единицу на наборе Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru .

б)Перечислите все элементарные конъюнкции над множеством Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru , обращающиеся в единицу на наборе Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru .

◄ а) Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru , Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru , Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru , Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru ; б) Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru , Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru , Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru , Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru , Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru , Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru , Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru ,1.►

Определение. Формулу вида Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru ( Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru при Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru ), где через Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru обозначены элементарные конъюнкции над множеством X, называют дизъюнктивной нормальной формой (ДНФ) над множеством X. Сумма рангов конъюнкций, входящих в ДНФ, называется сложностью ДНФ.

Например, Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru - ДНФ сложности 6; Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru - ДНФ сложности 4; Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru - ДНФ сложности 3 над множеством Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru .

Заметим, что формулы Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru равносильны и, следовательно, реализуют одну и ту же функцию h. Делаем вывод: функция может быть реализована в виде ДНФ не единственным образом, причем ДНФ, реализующие функцию, могут иметь различную сложность.

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

Так, для функции h (см. выше), реализуемой дизъюнктивными нормальными формами Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru , Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru , Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru дизъюнктивная нормальная форма Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru является минимальной, поскольку h зависит от переменных Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru существенным образом и, значит, не может быть представлена ДНФ, содержащей менее трех букв.

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

Заметим, что у этой задачи существует тривиальное решение. Дадим его пошаговое описание.

1. Строим все ДНФ над множеством Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru . Их Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru . Действительно, число различных элементарных конъюнкций равно Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru , так как для каждой переменной Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru имеется три возможности: присутствовать в конъюнкции, присутствовать с отрицанием и отсутствовать («пустой» конъюнкции сопоставлена константа 1). Каждая из конъюнкций, в свою очередь, может либо входить, либо не входить в ДНФ.

2. Отбираем из построенных ДНФ те, которые реализуют функцию Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru .

3. Для отобранных ДНФ определяем сложности; ДНФ наименьшей сложности и есть искомые минимальные ДНФ функции Поставим задачу: построить для произвольной булевой функции минимальные ДНФ. 3 страница - student2.ru .

Наши рекомендации