Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Индивидуальные задания. Задача 1. Составьте таблицу истинности булевой функции трех переменных и найдите ее двоичный набор. ⇐ ПредыдущаяСтр 4 из 4
Задача 1. Составьте таблицу истинности булевой функции трех переменных Решение: Для вычисления значений функции следует определить порядок выполнения операций. Это можно сделать многими способами. Пусть, например, порядок выполнения операций будет следующим:
Последовательно составляются таблицы истинности всех указанных функций.
Лексикографическое упорядочение наборов в таблице истинности булевой функции позволяет задать функцию двоичным набором длины 2 n, который будем обозначать буквой F. Двоичный набор данной функции F = 11111111. Отметим, что двоичный набор определяет булеву функцию в том и только в том случае, когда его длина есть степень двойки, а соответствующий показатель степени определяет число переменных данной функции.
Задача 2. Докажите тождественную истинность формулы Решение: Необходимо показать, что двоичный набор данной формулы F=1111. Составим таблицу истинности:
Задача 3: Докажите эквивалентность функций:
Решение: Для доказательства необходимо построить таблицы истинности этих функций, и если их двоичные наборы совпадут, то эквивалентность будет доказана.
Получаем
Задача 4: Используя СДНФ, найдите булеву функцию, принимающую значение 1 на следующих наборах переменных, и только на них:
Решение: Алгоритм построения СДНФ. 1. Наборам 010; 101; 111 соответствуют конъюнкции:
2. Составим дизъюнкцию полученных конъюнкций, т. е. составляем СДНФ функции:
Задача 5: Составьте СКНФ функции Решение:
1. Выпишем 2. Составим дизъюнкции, соответствующие этим наборам: 3. Составим конъюнкцию полученных дизъюнкций, т. е. составляем СКНФ функции
Задача 6: Постройте КНФ функций и доказать тождественную истинность с помощью таблицы истинности: а) б) Решение: Напомним процедуру построения КНФ. 1. Исключаем связку
2. Исключение двойное отрицания с помощью правила 3. Для получения нормальной формы используем дистрибутивные законы:
а)
б)
Таблица истинности для функции(б):
Задача 7: Приведите к ДНФ формулу Решение: Выразим логические операции
Используя закон дистрибутивности, приводим формулу к ДНФ:
Задача 8: Приведите к КНФ формулу Решение: Преобразуем формулу f к формуле, не содержащей
В полученной формуле перенесем отрицание к переменным и сократим двойные отрицания:
По закону дистрибутивности получим: Замечание. Если полученную формулу упростить, используя законы дистрибутивности, эквивалентности и поглощения, то получим:
Таким образом, мы получили формулу, которая является одновременно ДНФ и КНФ.
Задача 9: Найдите СДНФ и СКНФ функции
Решение: По теореме о функциональной полноте СДНФ имеет вид:
СКНФ имеет вид:
Описанный способ нахождения СДНФ и СКНФ по таблице истинности бывает часто более трудоемким. Для нахождения СДНФ данную формулу приводим сначала к ДНФ, а затем преобразовываем ее конъюнкции с помощью следующих действий: А) если в конъюнкцию входит некоторая переменная со своим отрицанием, то мы удаляем эту конъюнкцию из ДНФ; Б) если в конъюнкцию одна и та же переменная входит несколько раз, то все они удаляются, кроме одной; В) если в конъюнкцию не входят некоторые переменные, то для каждой из них к конъюнкции добавляется соответствующая формула вида Г) если в полученной ДНФ имеется несколько одинаковых конъюнкций, то оставляем только одну из них. В результате получается СДНФ.
Задача 10: Найдите СДНФ для ДНФ Решение: 1. Удаляем конъюнкцию 2. Из конъюнкции 3. В первой конъюнкции нет переменной y, поэтому к ней добавляется формула 4. Используем дистрибутивные законы: 5. К первой и второй конъюнкциям добавляем
6. Используем дистрибутивные законы:
7. В полученной формуле имеется две одинаковые конъюнкции:
В итоге мы получили соответствующую СДНФ.
Задача 11: Найдите СКНФ для КНФ Решение: Опишем алгоритм приведения КНФ к СКНФ аналогично вышеизложенному приведению ДНФ к СДНФ. 1. Во второй дизъюнкции не хватает переменной y, поэтому в дизъюнкцию добавим
2. В третью дизъюнкцию добавим
3. Соберем в конъюнкцию все дизъюнкции:
4. Избавимся от одинаковых дизъюнкций, оставляя только одну. В результате получаем СКНФ:
Задача 12: Задана булева функция трех переменных:
А) Постройте таблицу истинности, найдите двоичную форму F булевой функции и приведите функцию к СДНФ и СКНФ. Б) найдите двумя способами многочлен Жегалкина. Решение: А)
Двоичная форма F= 11000100. Наборы Наборы СКНФ функции
Б) Построим многочлен Жегалкина первым способом: выписываем СДНФ функции
заменяем знак дизъюнкции на знак суммы Жегалкина
Вынесем из первой и второй конъюнкции
Проделаем замены:
Далее раскроем скобки:
Итак, мы получили многочлен Жегалкина:
Построим многочлен Жегалкина методом неопределенных коэффициентов, для этого составим следующие восемь уравнений:
Составим многочлен Жегалкина:
Задача 13. Проверьте на линейность функцию Решение. Применяем к функции 1. Вычисляем коэффициенты
2. Вычисляем многочлен
Очевидно, что двоичный набор F=11110000 многочлена
Задача 14. Докажите, что булева функция
Решение. Снова применим алгоритм определения линейности булевой функции. 1. Вычисляем коэффициенты
2. Таким образом, 3. Достроим в таблице истинности последний столбик для 4. Столбики для
Задача 15. Задана булева функция трех переменных
С помощью эквивалентных преобразований приведите функцию к ДНФ, КНФ, СДНФ, СКНФ. Решение. Заменяем,
ДНФ КНФ Строим СДНФ, для этого из ДНФ удаляем вторую конъюнкцию
Т.е. получили СДНФ функции
Строим СКНФ, для этого из КНФ удаляем третью дизъюнкцию, а к первой добавляем
Добавляем к первой и второй дизъюнкциям
Получили СКНФ функции
СДНФ и СКНФ проверить в задаче 12. Задача 16. Постройте таблицу истинности функции. С помощью эквивалентных преобразований приведите функцию к ДНФ, КНФ, СДНФ, СКНФ. Составьте двумя способами полином Жегалкина и проверьте линейность функции. Задания. 1) 2) 3) 4) 5) 6) 7) 8) 9) 10) 11) 12) 13) 14) 15)
|