ЗАДАЧИ ДЛЯ САМОСТОЯТЕЛЬНОГО РЕШЕНИЯ. Задача 1.Преобразовать в СДНФ булеву функцию, заданную формулой

Задача 1.Преобразовать в СДНФ булеву функцию, заданную формулой

а) f=( ЗАДАЧИ ДЛЯ САМОСТОЯТЕЛЬНОГО РЕШЕНИЯ. Задача 1.Преобразовать в СДНФ булеву функцию, заданную формулой - student2.ru ®у)(zÅ ЗАДАЧИ ДЛЯ САМОСТОЯТЕЛЬНОГО РЕШЕНИЯ. Задача 1.Преобразовать в СДНФ булеву функцию, заданную формулой - student2.ru );

б) f= ЗАДАЧИ ДЛЯ САМОСТОЯТЕЛЬНОГО РЕШЕНИЯ. Задача 1.Преобразовать в СДНФ булеву функцию, заданную формулой - student2.ru ;

в) f=( ЗАДАЧИ ДЛЯ САМОСТОЯТЕЛЬНОГО РЕШЕНИЯ. Задача 1.Преобразовать в СДНФ булеву функцию, заданную формулой - student2.ru ®z)V(y® ЗАДАЧИ ДЛЯ САМОСТОЯТЕЛЬНОГО РЕШЕНИЯ. Задача 1.Преобразовать в СДНФ булеву функцию, заданную формулой - student2.ru ).

Задача 2.По таблице истинности получить СДНФ булевой функции

а) f=(x® ЗАДАЧИ ДЛЯ САМОСТОЯТЕЛЬНОГО РЕШЕНИЯ. Задача 1.Преобразовать в СДНФ булеву функцию, заданную формулой - student2.ru )(z® ЗАДАЧИ ДЛЯ САМОСТОЯТЕЛЬНОГО РЕШЕНИЯ. Задача 1.Преобразовать в СДНФ булеву функцию, заданную формулой - student2.ru );

б) f= ЗАДАЧИ ДЛЯ САМОСТОЯТЕЛЬНОГО РЕШЕНИЯ. Задача 1.Преобразовать в СДНФ булеву функцию, заданную формулой - student2.ru .

§ 2. Совершенная конъюнктивная нормальная форма (СКНФ)

Существует и другая нормальная форма (конъюнктивная).

Выражение ЗАДАЧИ ДЛЯ САМОСТОЯТЕЛЬНОГО РЕШЕНИЯ. Задача 1.Преобразовать в СДНФ булеву функцию, заданную формулой - student2.ru (отрицание на любых местах) называется элементарной дизъюнкцией (ЭД).

Конъюнкция нескольких ЭД называется конъюнктивной нормальной формой (КНФ).

Если к тому же все ЭД правильны и полны, то КНФ называется совершенной (СКНФ).

Рассмотрим способ получения СКНФ с помощью СДНФ.

Пусть дана булева функция f(x1…xn). Двойственной булевой функцией называется булева функция f*, заданная формулой

f*(x1…xn)= ЗАДАЧИ ДЛЯ САМОСТОЯТЕЛЬНОГО РЕШЕНИЯ. Задача 1.Преобразовать в СДНФ булеву функцию, заданную формулой - student2.ru

Заметим, что (f*)*=f.

Например, для f=xVy двойственной является f*= ЗАДАЧИ ДЛЯ САМОСТОЯТЕЛЬНОГО РЕШЕНИЯ. Задача 1.Преобразовать в СДНФ булеву функцию, заданную формулой - student2.ru =xy.

Таким образом, двойственной к дизъюнкции является конъюнкция и наоборот.

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

Следствие 1. Если в формуле присутствует только дизъюнкция, конъюнкция и отрицания, то для получения достаточно заменить дизъюнкцию конъюнкцией и наоборот.

Следствие 2. Двойственной к СДНФ является СКНФ.

Из следствия 2 вытекает практический алгоритм преобразования данной формулы в СКНФ, используя двойственность:

1) найти f*;

2) преобразовать f* в СДНФ;

3) еще раз взять двойственную. (f*)*=f=СДНФ*=СКНФ.

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

ПРИМЕРЫ РЕШЕНИЯ ЗАДАЧ

Задача 1. Найти двойственную функцию f* к функции f=x®(y« ЗАДАЧИ ДЛЯ САМОСТОЯТЕЛЬНОГО РЕШЕНИЯ. Задача 1.Преобразовать в СДНФ булеву функцию, заданную формулой - student2.ru ). f*= ЗАДАЧИ ДЛЯ САМОСТОЯТЕЛЬНОГО РЕШЕНИЯ. Задача 1.Преобразовать в СДНФ булеву функцию, заданную формулой - student2.ru xÚ( ЗАДАЧИ ДЛЯ САМОСТОЯТЕЛЬНОГО РЕШЕНИЯ. Задача 1.Преобразовать в СДНФ булеву функцию, заданную формулой - student2.ru .

Заметим, что двойственная функция к дизъюнкции является конъюнкцией с сохранением переменных и их отрицаний, и наоборот.

Задача 2. f= ЗАДАЧИ ДЛЯ САМОСТОЯТЕЛЬНОГО РЕШЕНИЯ. Задача 1.Преобразовать в СДНФ булеву функцию, заданную формулой - student2.ru . Найти f*.

Решение. f*=(xÚ ЗАДАЧИ ДЛЯ САМОСТОЯТЕЛЬНОГО РЕШЕНИЯ. Задача 1.Преобразовать в СДНФ булеву функцию, заданную формулой - student2.ru )= ЗАДАЧИ ДЛЯ САМОСТОЯТЕЛЬНОГО РЕШЕНИЯ. Задача 1.Преобразовать в СДНФ булеву функцию, заданную формулой - student2.ru .

Задача 3.Преобразовать СКНФ булеву функцию, заданную формулой (хÞу)(z+x).

Решение. Действуем по алгоритму:

1. Находим f*=(хÞу)(z+x)=( ЗАДАЧИ ДЛЯ САМОСТОЯТЕЛЬНОГО РЕШЕНИЯ. Задача 1.Преобразовать в СДНФ булеву функцию, заданную формулой - student2.ru f*= ЗАДАЧИ ДЛЯ САМОСТОЯТЕЛЬНОГО РЕШЕНИЯ. Задача 1.Преобразовать в СДНФ булеву функцию, заданную формулой - student2.ru

2. Преобразуем ее в СДНФ:

ЗАДАЧИ ДЛЯ САМОСТОЯТЕЛЬНОГО РЕШЕНИЯ. Задача 1.Преобразовать в СДНФ булеву функцию, заданную формулой - student2.ru

ЗАДАЧИ ДЛЯ САМОСТОЯТЕЛЬНОГО РЕШЕНИЯ. Задача 1.Преобразовать в СДНФ булеву функцию, заданную формулой - student2.ru

ЗАДАЧИ ДЛЯ САМОСТОЯТЕЛЬНОГО РЕШЕНИЯ. Задача 1.Преобразовать в СДНФ булеву функцию, заданную формулой - student2.ru

3. Еще раз возьмем двойственную:

f=( ЗАДАЧИ ДЛЯ САМОСТОЯТЕЛЬНОГО РЕШЕНИЯ. Задача 1.Преобразовать в СДНФ булеву функцию, заданную формулой - student2.ru .

Получили СКНФ, задача решена.

Найдем СКНФ данной функции с помощью таблицы истинности

х у z x®y ЗАДАЧИ ДЛЯ САМОСТОЯТЕЛЬНОГО РЕШЕНИЯ. Задача 1.Преобразовать в СДНФ булеву функцию, заданную формулой - student2.ru (x®y)( z® ЗАДАЧИ ДЛЯ САМОСТОЯТЕЛЬНОГО РЕШЕНИЯ. Задача 1.Преобразовать в СДНФ булеву функцию, заданную формулой - student2.ru )

В последнем столбце таблицы выберем нули. На исходных наборах 0 соответствует переменной, а 1 ее отрицанию, тогда СКНФ:

ЗАДАЧИ ДЛЯ САМОСТОЯТЕЛЬНОГО РЕШЕНИЯ. Задача 1.Преобразовать в СДНФ булеву функцию, заданную формулой - student2.ru

ЗАДАЧИ ДЛЯ САМОСТОЯТЕЛЬНОГО РЕШЕНИЯ

Задача 1.Преобразовать в СКНФ булеву функцию, заданную формулой

а) f=( ЗАДАЧИ ДЛЯ САМОСТОЯТЕЛЬНОГО РЕШЕНИЯ. Задача 1.Преобразовать в СДНФ булеву функцию, заданную формулой - student2.ru )(z® ЗАДАЧИ ДЛЯ САМОСТОЯТЕЛЬНОГО РЕШЕНИЯ. Задача 1.Преобразовать в СДНФ булеву функцию, заданную формулой - student2.ru );

б) f= ЗАДАЧИ ДЛЯ САМОСТОЯТЕЛЬНОГО РЕШЕНИЯ. Задача 1.Преобразовать в СДНФ булеву функцию, заданную формулой - student2.ru ;

в) f=( ЗАДАЧИ ДЛЯ САМОСТОЯТЕЛЬНОГО РЕШЕНИЯ. Задача 1.Преобразовать в СДНФ булеву функцию, заданную формулой - student2.ru ) ®(z ЗАДАЧИ ДЛЯ САМОСТОЯТЕЛЬНОГО РЕШЕНИЯ. Задача 1.Преобразовать в СДНФ булеву функцию, заданную формулой - student2.ru ).

Задача 2.По таблице истинности получить СКНФ заданной булевой функции

а) f=(x ЗАДАЧИ ДЛЯ САМОСТОЯТЕЛЬНОГО РЕШЕНИЯ. Задача 1.Преобразовать в СДНФ булеву функцию, заданную формулой - student2.ru )®(z®t);

б) ЗАДАЧИ ДЛЯ САМОСТОЯТЕЛЬНОГО РЕШЕНИЯ. Задача 1.Преобразовать в СДНФ булеву функцию, заданную формулой - student2.ru ®(x ЗАДАЧИ ДЛЯ САМОСТОЯТЕЛЬНОГО РЕШЕНИЯ. Задача 1.Преобразовать в СДНФ булеву функцию, заданную формулой - student2.ru ).

Многочлены Жегалкина

Мы уже заметили, что конъюнкция совпадает с обычным арифметическим умножением, попробуем ввести сложение: 0+0=0; 0+1-1; 1+0=1; 1+1=? Если принять 1+1=1, то получим дизъюнкцию. Если принять 1+1=0, то получим исключающее или. Принимаем второе соотношение: х+у=хÅу. Такое сложение совпадает с известным в теории чисел сложением по модулю 2. Заметим, что всегда хÅх=0.

Всякая композиция сложений, умножений и констант называется арифметическим многочленом.

Многочленом Жегалкина называют многочлен вида ЗАДАЧИ ДЛЯ САМОСТОЯТЕЛЬНОГО РЕШЕНИЯ. Задача 1.Преобразовать в СДНФ булеву функцию, заданную формулой - student2.ru , где суммирование ведется по некоторому множеству различных наборов (i1, i2,…,ik), в котором ни один индекс не повторяется.

Теорема. Всякая булева функция может быть представлена в виде многочлена Жегалкина и притом единственным образом.

Выразим три основные логические операции через сложение и умножение, превратив их в многочлены Жегалкина.

Конъюнкция хÙу=ху уже готовый многочлен Жегалкина. Отрицание ЗАДАЧИ ДЛЯ САМОСТОЯТЕЛЬНОГО РЕШЕНИЯ. Задача 1.Преобразовать в СДНФ булеву функцию, заданную формулой - student2.ru =хÅ1. Дизъюнкция

ЗАДАЧИ ДЛЯ САМОСТОЯТЕЛЬНОГО РЕШЕНИЯ. Задача 1.Преобразовать в СДНФ булеву функцию, заданную формулой - student2.ru =(xÅ1)(yÅ1)+1=xyÅxÅyÅ1Å1=xyÅxÅy.

ПРИМЕРЫ РЕШЕНИЯ ЗАДАЧ

Задача 1. Преобразовать многочлен Жегалкина в булеву функцию, заданную формулой (хÞу)(z+х).

Решение. Последняя скобка уже является многочленом Жегалкина, поэтому преобразуем вначале только первую, затем раскрываем все скобки:

(хÞу)(z+х)= ЗАДАЧИ ДЛЯ САМОСТОЯТЕЛЬНОГО РЕШЕНИЯ. Задача 1.Преобразовать в СДНФ булеву функцию, заданную формулой - student2.ru )(z+x)=((x+1)Úy)(z+x)=((x+1)y+x+1+y)(z+x)= =(xy+y+x+1+y)(z+x)=(xy+x+1)(z+x)=xyz+xyx+xz+xx+z+x=xyz+xy+xz++x+z+x=xyz+xy+xz+z.

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