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