Главная страница
Навигация по странице:

  • Определение.

  • Пример.


  • Решение

  • Лекция 6. Понятие полноты множества функций. Замкнутые классы.

  • Ответ

  • Лекция 7. Множества и подмножества.

  • Дискретная математика (1). Лекция Составные высказывания


    Скачать 2.15 Mb.
    НазваниеЛекция Составные высказывания
    Дата05.09.2022
    Размер2.15 Mb.
    Формат файлаdoc
    Имя файлаДискретная математика (1).doc
    ТипЛекция
    #662788
    страница6 из 16
    1   2   3   4   5   6   7   8   9   ...   16

    Таблица истинности СДНФ













    Элементарные конъюнкции СДНФ

    0

    0

    0

    1

    0

    0




    0

    0

    1

    0

    0

    0




    0

    1

    0

    1

    1

    1



    0

    1

    1

    0

    0

    0




    1

    0

    0

    1

    1

    1



    1

    0

    1

    0

    0

    1



    1

    1

    0

    1

    1

    1



    1

    1

    1

    0

    0

    1



    Конъюнктивные нормальные формы

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

    Например, дизъюнкции , , 1 являются элементарными. Причем первая элементарная дизъюнкция имеет ранг (число литералов) 2, вторая  3, а третья  0.

    Следующие дизъюнкции: , , , , 0 не являются элементарными.

    Определение. Элементарная дизъюнкция булевой функции , содержащая n литералов, называется полной.

    Определение. Конъюнкция любого конечного множества элементарных дизъюнкций булевой функции F называется конъюнктивной нормальной формой (КНФ) функции F. Число элементарных дизъюнкций, составляющих КНФ, называется длиной КНФ.

    Например, КНФ имеет длину, равную 3.

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

    Определение. Две (или несколько) КНФ, реализующих одну и ту же булеву функцию F , называются эквивалентными (или равносильными).

    Определение. КНФ булевой функции F, состоящая только из полных элементарных дизъюнкций, называется совершенной КНФ (СКНФ).

    Например, - СКНФ функции F, заданной вектором значений таблицы истинности w(F)=(01100111).

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

    Пример. Привести к виду СКНФ булеву функцию F= .

    Решение. С помощью основных равносильностей преобразуем к КНФ:

    = = = =

    =







    ― КНФ.

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

    Применяя закон склеивания (в обратном порядке: ), дополняем дизъюнкции , до полных элементарных дизъюнкций:



    .

    Так как , то после сокращения одинаковых конъюнкций получаем СКНФ: F .

    Составим таблицу истинности для булевой функции F= (функция из предыдущего примера). Отметим связь между СКНФ и таблицей истинности.

    Таблица истинности СКНФ













    Элементарные дизъюнкции СКНФ

    0

    0

    0

    1

    0

    0



    0

    0

    1

    1

    0

    0



    0

    1

    0

    1

    0

    1




    0

    1

    1

    1

    0

    1




    1

    0

    0

    0

    1

    1




    1

    0

    1

    0

    0

    0



    1

    1

    0

    0

    1

    0



    1

    1

    1

    0

    0

    1





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

    СКНФ состоит из конъюнкций полных элементарных дизъюнкций наборов переменных , на которых функция принимает значение 0. Переменные берутся без отрицания, если им соответствует в таблице истинности 0, с отрицанием, если 1.
    Пример. По таблице истинности составить СКНФ.








    F

    0

    0

    0

    1

    0

    0

    1

    1

    0

    1

    0

    0

    0

    1

    1

    0

    1

    0

    0

    1

    1

    0

    1

    0

    1

    1

    0

    1

    1

    1

    1

    0


    Решение: F .

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

    Решение: Применяя формулу , из ДНФ получаем КНФ:

    .

    Применяя закон склеивания (в обратном порядке: ), дополняем дизъюнкции , до полных элементарных дизъюнкций:

    .

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

    .

    Таблица истинности СКНФ













    Элементарные дизъюнкции СКНФ

    0

    0

    0

    1

    0

    0



    0

    0

    1

    0

    0

    0



    0

    1

    0

    1

    1

    1




    0

    1

    1

    0

    0

    0



    1

    0

    0

    1

    0

    1




    1

    0

    1

    0

    0

    1




    1

    1

    0

    1

    1

    1




    1

    1

    1

    0

    0

    1






    Лекция 6. Понятие полноты множества функций. Замкнутые классы.
    Интерес к разложению булевых функций в канонический полином Жегалкина объясняется прежде всего тем, что такое представление реализуемых функций является основой для синтеза логи­ческих схем в базисе элементов И и СЛОЖЕНИЕ по МОДУЛЮ ДВА.
    Определение.Полином булевой функции F, в слагаемые которого все переменные F входят только без отрица­ния или только с отрицанием, называется монотонно-поляризован­ным. Причем в первом случае полином функции F называется поло­жительно-поляризованный и обозначается через P(F), а во втором случае - отрицательно-поляризованным и обозначается через Q(F). Полином P(F) иначе называется каноническим полиномом Жегалкина (или в зарубежной научно-технической литературе - формой Рида-Мюллера).

    Например, для булевой функции, заданной вектором значений таблицы истинности w(F)=(00100111) полиномы P(F) и Q(F) имеют вид:

    ,

    .

    Отметим некоторые свойства монотонно-поляризованных поли­номов P(F) и Q(F) булевой функции :

    1. Полиномы P(F) и Q(F) являются для булевой функции F единственными.

    2. Полиномы P(F) и Q(F) имеют степень n тогда и только тогда, когда

    таблица истинности функции F содержит нечетное число единиц.

    3. Число слагаемых полинома P(F) (Q(F)) четно тогда и только тогда, когда

    (соответственно ).

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

    Опишем метод построения канонического поли­нома Жегалкина P(F) путем преобразования СДНФ для произвольных булевых функций n пе­ременных F, заданных посредством таблицы истинности.

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

    (1)

    (2)

    (3)

    (4)

    , если (5)

    , (6)

    если для , , .

    Метод построения полинома P(F) заключается в последова­тельном выполнении следующих действий:

    1) выписывается СДНФ булевой функции F;

    2) на основе применения (6) СДНФ F пре­образуется в СПНФ функции F;

    3) в СПНФ все переменные с отрицанием заменяют­ся по формуле (2);

    4) в скобочной форме осуществляется раскрытие скобок согласно (3);

    5) из полученного выражения удаляются попарно одинаковые слагаемые в

    соответствии с (1);

    6) полу­ченное выражение обозначается через P(F).

    Пример. Составить канонический поли­ном Жегалкина P(F) булевой функции, если СДНФ данной булевой функции, имеет вид: .

    Решение. Заменим операцию дизъюнкции операцией сложения по модулю два по (6). При этом воспользуемся тем, что произведение (конъюнкция) любых полных дизъюнкций СДНФ всегда равно нулю. Следовательно, СПНФ будет иметь вид:

    .

    Все переменные с отрицанием заменяем по формуле (2), затем раскрываем скобки и из полученного выражения удаляем попарно одинаковые слагаемые в соответствии с (1):





    .

    Ответ: P(F) .

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

    Из теоремы 8.2 следует, что система является функционально полной. Равным образом, функционально полна любая система , через функции которой можно выразить конъюнкцию, дизъюнкцию и отрицание. Действительно, для любой логической функции из такой системы следует составить булеву формулу (а она обязательно существует согласно теореме 8.2) и потом выразить в ней конъюнкцию, дизъюнкцию и отрицание через функции системы . Аналогично обосновывается более общее утверждение.

    Теорема. Если все функции функционально полной системы представимы формулами над системой , то система также функционально полна.

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

    .

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

    б) Системы (штрих Шеффера) и (стрелка Пирса) являются функционально полными.

    .

    Таким образом, система сводится к системе , а система - к системе .

    в) Система ( умножение по модулю 2, сложение по модулю 2 – см. пункт 1 лекции № 8)) является функционально полной. Поскольку , данная система сводится к .

    На свойствах этой системы остановимся подробнее.

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

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

    Пример. а) Множество всех дизъюнкций, то есть функций вида является замкнутым классом.

    б) Множество всех линейных функций является замкнутым классом, так как подстановка формул вида после преобразований даёт формулу такого же вида.

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

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

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

    Пример.

    а) Функция монотонна.

    б) Дизъюнкция и конъюнкция любого числа переменных являются монотонными функциями.

    в) Рассмотрим две функции от трёх переменных, заданных следующей таблицей.











    0

    0

    0

    0

    0

    0

    0

    1

    1

    0

    0

    1

    0

    0

    1

    0

    1

    1

    1

    1

    1

    0

    0

    1

    0

    1

    0

    1

    0

    1

    1

    1

    0

    0

    1

    1

    1

    1

    0

    1

    Функция , очевидно, не является монотонной, так как, например , а . Монотонность функции легко установить непосредственной проверкой.

    Проверка монотонности функции непосредственно по определению требует анализа таблицы функции и может оказаться достаточно трудоёмкой. Поэтому весьма полезной для установления монотонности является следующая теорема. Всякая булева формула, не содержащая отрицаний, представляет собой монотонную функцию отличную от константы; наоборот, для любой монотонной функции, отличной от 0 и 1, найдётся представляющая её булева формула без отрицаний.

    Теорема. Всякая булева формула, не содержащая отрицаний, представляет собой монотонную функцию отличную от константы; наоборот, для любой монотонной функции, отличной от 0 и 1, найдётся представляющая её булева формула без отрицаний.

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

    Теорема. Множество всех монотонных функций является замкнутым классом.

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

    Следствие. Класс монотонных функций является замыканием системы функций

    Лекция 7. Множества и подмножества.
    Основные определения

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

    Понятие множество принадлежит к числу фундаментальных неопределяемых понятий математики.

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

    Для того чтобы некоторую совокупность элементов можно было назвать множеством, необходимо, чтобы выполнялись условия:

    • должно существовать правило, позволяющее определить, принадлежит ли некоторый элемент множеству;

    • должно существовать правило, позволяющее отличать элементы друг от друга (множество не может содержать двух одинаковых элементов).

    Множества обычно обозначают большими латинскими буквами (например, A, S, D), а их элементы - строчными (например, a, s, d).

    Если элемент х принадлежит множеству А, то это обозначается: х А; в противном случае говорят, что элемент не принадлежит множеству, это обозначается: х А.

    Примеры множеств.

    1. Множество N - множество натуральных чисел. 1 N. -1 N.

    2. Множество L - множество букв русского алфавита. ф L. v L.

    Множество не содержащие элементов называется пустым. Это множество обозначается .

    Множества можно задавать следующими способами.

    1. Перечисление элементов: P={точка, прямая, плоскость, тело}, S={0,1,2}.

    2. Задание характеристического свойства: L={n|n N и n<7}.
    1   2   3   4   5   6   7   8   9   ...   16


    написать администратору сайта