Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Индивидуальные задания. Задача 1. Составьте таблицу истинности булевой функции трех переменных и найдите ее двоичный набор.






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

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

Последовательно составляются таблицы истинности всех указанных функций.

 

 

                     
                     
                     
                     
                     
                     
                     
                     

 

Лексикографическое упорядочение наборов в таблице истинности булевой функции позволяет задать функцию двоичным набором длины 2 n, который будем обозначать буквой F. Двоичный набор данной функции F = 11111111. Отметим, что двоичный набор определяет булеву функцию в том и только в том случае, когда его длина есть степень двойки, а соответствующий показатель степени определяет число переменных данной функции.

 

Задача 2. Докажите тождественную истинность формулы .

Решение: Необходимо показать, что двоичный набор данной формулы F=1111.

Составим таблицу истинности:

x y
         
         
         
         

 

Задача 3: Докажите эквивалентность функций: и

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

x y z
             
             
             
             
             
             
             
             

 

 

x y z
           
           
           
           
           
           
           
           

 

Получаем Значит, функции эквивалентны.

 

Задача 4: Используя СДНФ, найдите булеву функцию, принимающую значение 1 на следующих наборах переменных, и только на них:

Решение: Алгоритм построения СДНФ.

1. Наборам 010; 101; 111 соответствуют конъюнкции:

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

2. Составим дизъюнкцию полученных конъюнкций, т. е. составляем СДНФ функции:

Задача 5: Составьте СКНФ функции

Решение:

     
     
     
     

1. Выпишем булева функция принимает значение 0 на наборах (0; 0) и (1; 1).

2. Составим дизъюнкции, соответствующие этим наборам:
(если то переменная входит в дизъюнкцию без отрицания, если , то переменная в дизъюнкции берется с отрицанием).

3. Составим конъюнкцию полученных дизъюнкций, т. е. составляем СКНФ функции

.

 

Задача 6: Постройте КНФ функций и доказать тождественную истинность с помощью таблицы истинности:

а)

б)

Решение: Напомним процедуру построения КНФ.

1. Исключаем связку с помощью законов преобразования переменных:

.

2. Исключение двойное отрицания с помощью правила и используем законы де Моргана: или

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

а)

б)

 

Таблица истинности для функции(б):

                           
                           
                           
                           
                           
                           
                           
                           
                           
                           
                           
                           
                           
                           
                           
                           

 

Задача 7: Приведите к ДНФ формулу

Решение: Выразим логические операции

Используя закон дистрибутивности, приводим формулу к ДНФ:

Задача 8: Приведите к КНФ формулу .

Решение: Преобразуем формулу f к формуле, не содержащей :

В полученной формуле перенесем отрицание к переменным и сократим двойные отрицания:

По закону дистрибутивности получим: , являющейся КНФ.

Замечание. Если полученную формулу упростить, используя законы дистрибутивности, эквивалентности и поглощения, то получим:

Таким образом, мы получили формулу, которая является одновременно ДНФ и КНФ.

 

Задача 9: Найдите СДНФ и СКНФ функции заданной следующей таблицей истинности:

       
       
       
       
       
       
       
       

 

Решение: По теореме о функциональной полноте СДНФ имеет вид:

СКНФ имеет вид:

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

А) если в конъюнкцию входит некоторая переменная со своим отрицанием, то мы удаляем эту конъюнкцию из ДНФ;

Б) если в конъюнкцию одна и та же переменная входит несколько раз, то все они удаляются, кроме одной;

В) если в конъюнкцию не входят некоторые переменные, то для каждой из них к конъюнкции добавляется соответствующая формула вида ;

Г) если в полученной ДНФ имеется несколько одинаковых конъюнкций, то оставляем только одну из них.

В результате получается СДНФ.

 

Задача 10: Найдите СДНФ для ДНФ

Решение:

1. Удаляем конъюнкцию так как здесь переменная вместе со своим отрицанием. Остается

2. Из конъюнкции удаляем переменную у, так как она входит сюда два раза. Остается

3. В первой конъюнкции нет переменной y, поэтому к ней добавляется формула а во второй конъюнкции нет переменной x, поэтому к ней добавляется формула Получаем:

4. Используем дистрибутивные законы:

5. К первой и второй конъюнкциям добавляем и получаем:

6. Используем дистрибутивные законы:

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

В итоге мы получили соответствующую СДНФ.

 

Задача 11: Найдите СКНФ для КНФ .

Решение: Опишем алгоритм приведения КНФ к СКНФ аналогично вышеизложенному приведению ДНФ к СДНФ.

1. Во второй дизъюнкции не хватает переменной y, поэтому в дизъюнкцию добавим и, используя дистрибутивные законы, получаем:

.

2. В третью дизъюнкцию добавим и получим две дизъюнкции:

Добавив в каждую из них , получим:

3. Соберем в конъюнкцию все дизъюнкции:

4. Избавимся от одинаковых дизъюнкций, оставляя только одну. В результате получаем СКНФ:

 

Задача 12: Задана булева функция трех переменных:

А) Постройте таблицу истинности, найдите двоичную форму F булевой функции и приведите функцию к СДНФ и СКНФ.

Б) найдите двумя способами многочлен Жегалкина.

Решение:

А)

.

 
                     
                     
                     
                     
                     
                     
                     
                     

 

Двоичная форма F= 11000100.

Наборы , где
СДНФ функции

Наборы , где .

СКНФ функции

 

Б) Построим многочлен Жегалкина первым способом:

выписываем СДНФ функции

заменяем знак дизъюнкции на знак суммы Жегалкина

Вынесем из первой и второй конъюнкции :

Проделаем замены:

.

Далее раскроем скобки:

Итак, мы получили многочлен Жегалкина:

Построим многочлен Жегалкина методом неопределенных коэффициентов, для этого составим следующие восемь уравнений:

Составим многочлен Жегалкина:

 

Задача 13. Проверьте на линейность функцию , если ее двоичный набор F =11100001.

Решение. Применяем к функции алгоритм проверки на линейность.

1. Вычисляем коэффициенты многочлена Жегалкина для данной функции:

2. Вычисляем многочлен

 

Очевидно, что двоичный набор F=11110000 многочлена не совпадает с двоичным набором булевой функции, следовательно, функция не линейна.

 

Задача 14. Докажите, что булева функция , заданная таблицей истинности линейна.

 

0 0 0 1 1
0 0 1 0 0
0 1 0 0 0
0 1 1 1 1
1 0 0 1 1
1 0 1 0 0
1 1 0 0 0
1 1 1 1 1

Решение. Снова применим алгоритм определения линейности булевой функции.

1. Вычисляем коэффициенты многочлена Жегалкина функции

2. Таким образом,

3. Достроим в таблице истинности последний столбик для , напомним, что

4. Столбики для и совпали. Следовательно, функция -линейна.

 

Задача 15. Задана булева функция трех переменных

С помощью эквивалентных преобразований приведите функцию к ДНФ, КНФ, СДНФ, СКНФ.

Решение. Заменяем, ,

тогда

ДНФ

КНФ

Строим СДНФ, для этого из ДНФ удаляем вторую конъюнкцию , а в третью конъюнкцию добавляем , тогда:

,

Т.е. получили СДНФ функции

Строим СКНФ, для этого из КНФ удаляем третью дизъюнкцию, а к первой добавляем :

Добавляем к первой и второй дизъюнкциям

Получили СКНФ функции

СДНФ и СКНФ проверить в задаче 12.

Задача 16. Постройте таблицу истинности функции. С помощью эквивалентных преобразований приведите функцию к ДНФ, КНФ, СДНФ, СКНФ. Составьте двумя способами полином Жегалкина и проверьте линейность функции.

Задания.

1)

2)

3)

4)

5)

6)

7)

8)

9)

10)

11)

12)

13)

14)

15)







© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.