Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Совершенная дизъюнктивная и совершенная конъюнктивная нормальные формы



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

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

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

Совершенной дизъюнктивной нормальной формой (СДНФ) формулы алгебры высказываний называется ее ДНФ, обладающая следующими свойствами:

1. ДНФ не содержит двух одинаковых конъюнкций.

2. Ни одна конъюнкция не содержит одновременно двух одинаковых переменных.

3. Ни одна конъюнкция не содержит одновременно некоторую пере­менную и ее отрицание.

4. Каждая конъюнкция содержит либо переменную , либо ее отри­цание для всех переменных, входящих в формулу.

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

Совершенной конъюнктивной нормальной формой (СКНФ) данной формулы алгебры высказываний называется такая ее КНФ, которая удо­влетворяет следующим свойствам:

1. КНФ не содержит двух одинаковых дизъюнкций.

2. Ни одна из дизъюнкций не содержит одновременно двух одинако­вых переменных.

3. Ни одна из дизъюнкций не содержит одновременно некоторую пе­ременную и ее отрицание.

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

Сформулируем следующие теоремы:

Теорема 1. Произвольную булеву функцию можно задать формулой , где дизъюнкция берётся по всем , где и

 

Теорема 2. Произвольную булеву функцию можно задать формулой , где конъюнкция берётся по всем , где и

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

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

,

а затем все такие дизъюнкции соединяют знаком конъюнкции.

Приведенные формулы позволяют сформулировать следующие утверждения:

1. Каждая булева функция от п переменных, отличная от константы 0, имеет единственную СДНФ.

2. Каждая булева функция от п переменных, отличная от константы 1, имеет единственную СКНФ.

Эти утверждения называются теоремой о функциональной полноте.

 

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

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

Многочленом Жегалкина называется многочлен, являющийся сум­мой константы и различных одночленов, в которые каждая из перемен­ных входит не выше, чем в первой степени.

Многочлен Жегалкина константы равен самой же константе; мно­гочлен Жегалкина булевой функции одной переменной ; многочлен Жегалкина булевой функции двух переменных

многочлен Жегалкина булевой функции трех переменных

и т. д. Коэффициенты и свободный член принимают значения 0 или 1, а число слагаемых в формуле равно 2п, где п — число переменных. Знак ⊕ — сумма Жегалкина или сумма по модулю два.

Теорема 3 (Жегалкина). Каждая булева функция может быть представлена в виде многочлена Жегалкина и притом единственным образом, с точностью до порядка слагаемых.

Сформулируем алгоритм построения многочлена Жегалкина.

Выше было указано, что любую функцию, отличную от константы 0, можно представить в виде СДНФ. Если сравним таблицы истинности дизъюнкции и суммы по модулю два, видим, что они отличаются только последней строкой, т. е. на наборе 11. Так как в СДНФ на каждом наборе только одна конъюнкция равна 1, то все дизъюнкции можно заменить суммами по модулю два. Кроме того, известно, что . На этом и основан первый алгоритм построения многочлена Жегалкина:

1. Находим множество тех двоичных наборов, на которых функция принимает значение 1.

2. Составляем СДНФ.

3. В СДНФ каждый знак дизъюнкции меняем на знак суммы Жегал­кина.

4. Упрощаем, если можно, полученное выражение, используя тожде­ство .

5. В полученной формуле каждое отрицание заменяем на .

6. Раскрываем скобки в полученной формуле, содержащей только функции ∧ и ⊕ и константу 1.

7. Приводим подобные члены, используя тождество .

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

Многочлен Жегалкина называется нелинейным, если он содержит конъюнкции переменных, а если он не содержит конъюнкции перемен­ных, то он называется линейным.

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

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

На этом основан алгоритм определения линейности (или нелинейно­сти) булевой функции.

1. По таблицам истинности булевой функции и выше указанным формулам находим коэффициенты:

2. Выписываем многочлен и проверяем, задаёт ли он эту функцию. Для этого строим таблицу истинности многочлена и сравниваем её с таблицей истинности функции .

Если таблицы истинности совпадают, то функция линейная и – её многочлен Жегалкина. В противном случае функция нелинейна.


МНОЖЕСТВА И ОТОБРАЖЕНИЯ

Понятие множества

Любое понятие дискретной математики можно определить с помо­щью понятия множества. Под множеством понимают объединение в од­но общее объектов, хорошо различаемых нашей интуицией или нашей мыслью. Таково интуитивное определение понятия множества, данное основателем теории множеств Георгом Кантором. Это понятие в матема­тике является первичным и, следовательно, не имеет строгого определе­ния. Объекты, составляющие множество, будем называть его элемента­ми. Множества будем обозначать прописными буквами латинского алфа­вита: А, В, С,..., а элементы множеств — строчными буквами а, b, с,.... Основное отношение между элементом а и содержащим его множеством А, обозначается так: принадлежит А). Если а не является эле­ментом множества А, то пишут не принадлежит А). Некоторые множества имеют общепринятые обозначения: N — множество натураль­ных чисел; R — множество действительных чисел; Z — множество целых чисел.

2.2. Способы задания множеств

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

Первый способ мы назовем описанием множества, а второй способ — перечислением множества. Например, обозначение чита­ется: «элементы множества U, обладающие свойством α » — это описание множества. Элементы перечисляемого множества принято заключать в скобки: {1, 2, 3,... } — множество натуральных чисел; {2, 4, 6,... } — мно­жество четных чисел. Под многоточием в первом случае подразумеваются все последующие натуральные числа, а во втором — четные.

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

Подмножества

Множество, состоящее из некоторых элементов другого множества, называется подмножеством этого последнего множества. С целью изуче­ния всех подмножеств данного множества введем следующую терминоло­гию. Исходное множество будем называть универсальным множеством; подмножества, содержащие один элемент, будем называть единичными множествами; множество, вовсе не содержащее никаких элементов, бу­дем называть пустым множеством и обозначать 0.

В качестве примера возьмем универсальное множество U, состоящее из трех элементов {а, b, с}. Собственные подмножества U — это множе­ства, которые содержат некоторые, но не все элементы U. Этими подмно­жествами являются три множества из двух элементов {а, b}, {а, с}, {b, с} и три единичных множества {а}, {b}, {с}.

Будем считать подмножеством множества U и пустое множество 0, не содержащее элементов U.

Другими словами, множество А называется подмножеством множе­ства В (обозначаем А ⊂ В), если все элементы множества А принадле­жат В. Это означает справедливость следующего утверждения: для любо­го элемента а, если а ∊ А, то а ∊ В при условии А В. Будем говорить также, что множество А содержится в Bили имеется включение множе­ства А в B. Множества А и В называются равными или совпадающими (обозначается А = В), если они состоят из одних и тех же элементов, т. е. если А ⊂ В и

В ⊂ А. Таким образом, чтобы доказать равенство множеств, требуется установить два включения.

 

 

Операции над множествами

В первой главе были рассмотрены способы, которыми из данных вы­сказываний могут быть образованы новые высказывания. Теперь мы бу­дем рассматривать аналогичный процесс — образование новых множеств из данных множеств. Мы будем предполагать, что каждое из множеств, которое мы используем в этом процессе, является подмножеством неко­торого универсального множества, и будем требовать, чтобы вновь обра­зованное множество было подмножеством того же самого универсального множества. Как и всегда, мы можем задавать вновь образованное множе­ство или путем описания, или путем перечисления.

Следует провести аналогию между логическими операциями и опера­циями над множествами.

 

Отрицание Дополнение
Конъюнкция Пересечение
Дизъюнкция Объединение
Импликация Разность

 

Чтобы нагляднее представить эти операции, изобразим их на диа­грамме, называемой диаграммой Эйлера-Венна. Пусть прямоугольник обозначает универсальное множество, а круги внутри прямоугольника — подмножества.

Чтобы нагляднее представить эти операции, изобразим их на диа­грамме, называемой диаграммой Эйлера-Венна. Пусть прямоугольник обозначает универсальное множество, а круги внутри прямоугольника — подмножества.

Дополнением к множеству А называется множество элементов, кото­рые не содержатся в А. Обозначают его и читают «дополнение множества А к U».

Пересечением множеств A и В называется множество элементов, при­надлежащих и А и В. Обозначают A∩ Bи читают «пересечение А и B».

Если А и В — непустые множества, пересечение которых пусто, т. е. A∩ B=Ø, то их называют непересекающимися множествами.

Объединением множестве и В называется множество элементов, при­надлежащих либо А, либо В (либо обоим). Обозначают A В и читают «объединение А и В».

Разностью множестве и В называется множество элементов, принад­лежащих А и не принадлежащих В. Обозначают A\B ичитают «разность Aи B».


Поделиться:



Популярное:

Последнее изменение этой страницы: 2016-05-28; Просмотров: 1433; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.037 с.)
Главная | Случайная страница | Обратная связь