
- •Введение.
- •Тема 1. Логические высказывания и предикаты.
- •1. Понятие высказывания. Логические операции над высказываниями.
- •Основные логические связки.
- •2. Формулы и их логические возможности.
- •3. Свойства логических операций (законы логики).
- •4. Понятие предиката. Операции над предикатами.
- •5. Кванторы.
- •Практическая работа по теме 1.
- •Задания для самостоятельной работы по теме 1.
- •Контрольные вопросы по теме 1.
- •Тема 2. Множества. Отношения. Отображения.
- •1.Основные понятия
- •2. Операции над множествами
- •3. Геометрическое моделирование множеств. Диаграммы Венна
- •4. Соотношение между множествами и составными высказываниями
- •5. Алгебра множеств. Основные тождества алгебры множеств
- •Основные тождества алгебры множеств
- •6. Эквивалентность множеств
- •Практическая работа по теме 2.
- •Задания для самостоятельной работы по теме 2.
- •Контрольные вопросы по теме 2.
- •Тема 3. Отношения. Функции.
- •1. Основные понятия и определения
- •2. Бинарные отношения и их свойства.
- •Свойства бинарных отношений.
- •3. Отношение эквивалентности.
- •4. Функции. Основные понятия и определения
- •Практическая работа по теме 3.
- •Задания для самостоятельной работы по теме 3.
- •Контрольные вопросы по теме 3
- •Тема 4. Булевы функции.
- •1. Определение булевой функции
- •2. Существенные и фиктивные переменные.
- •Критерий несущественности переменной.
- •3. Формулы логики булевых функций
- •4. Эквивалентность булевых формул.
- •5. Равносильные преобразования формул
- •Основные равносильности булевых формул.
- •6. Двойственность. Принцип двойственности.
- •7. Нормальные формы.
- •8. Полные системы булевых функций
- •9. Полином Жегалкина
- •10. Замкнутые классы функций.
- •11. Функциональная полнота.
- •Практическая работа по теме 4.
- •Задания для самостоятельной работы по теме 4.
- •Контрольные вопросы по теме 4.
- •Тема 5. Основные понятия теории графов.
- •1. Основные понятия теории графов.
- •Маршруты, циклы в неориентированном графе
- •Пути, контуры в ориентированном графе
- •2. Планарность и изоморфизм графов
- •3. Способы задания графов
- •Основные свойства матриц смежности и инцидентности
- •4. Связность графа
- •5. Алгоритм обхода вершин графа.
- •6. Нагруженные графы
- •Свойства минимальных путей в нагруженном ориентированном графе
- •7. Деревья
- •8. Основные типы практических задач.
- •1. «Задача коммивояжера» и «Задача о минимальной сети дорог»
- •2. Построение турнирной таблицы
- •3. «Задача о четырех красках»
- •Практическая работа по теме 5.
- •Задания для самостоятельной работы по теме 5.
- •Контрольные вопросы к теме 5.
- •Задания контрольной работы
- •Список источников литературы Основная литература
- •Дополнительная литература
8. Полные системы булевых функций
Система булевых функций F={f1, f2, … , fn, …} называется полной, если любая булева функция может быть выражена через функции этой системы (представить в виде суперпозиции функций из функций F.
Все логические операции могут быть
выражены через операции конъюнкции,
дизъюнкции и отрицания, то есть класс
Ф= {
,
,
} является функционально
полным докажем это утверждение.
Рассмотрим два случая.
Пусть f тождественно не равна 0. Тогда для нее существует СДНФ, в которой для представления функции по определению используются только , , . Следовательно, произвольная функция представима в заданном базисе.
Пусть f тождественно равна 0. Тогда для нее существует СКНФ, в которой для представления функции по определению используются только , , . Следовательно, произвольная функция представима в заданном базисе.
Также полными являются следующие системы функций:
а){ , }; б) { , }; в) { , → }.
Полнота систем { , } и { , } следует из полноты системы { , , }, а также законов де Моргана и двойного отрицания, следствием которых является возможность выразить конъюнкцию через дизъюнкцию и наоборот. Поэтому система { , , } может быть сокращена на одну функцию.
Полнота системы { , → } следует из полноты системы { , } и равносильности 12, позволяющую выразить импликацию через отрицание и дизъюнкцию.
9. Полином Жегалкина
Всякая булева функция может быть представлена в виде полинома Жегалкина:
где
,
где знак + обозначает двоичное сложение
(сумму по модулю 2). Таблица истинности
двоичного сложения имеет вид:
|
|
|
0 0 1 1 |
0 1 0 1 |
0 1 1 0 |
Рассмотрим два способа построения полинома.
1. Алгоритм построения полинома Жегалкина с использованием таблицы истинности.
Построить таблицу истинности данной булевой функции.
Каждому единичному значению булевой функции будет соответствовать конъюнкция , где
- соответствующий набор значений переменных. Конъюнкции соединяются знаком +.
Заменить выражения
по формуле:
. Раскрыть скобки и привести подобные слагаемые по правилу:
.
2. Метод неопределенных коэффициентов для построения ПЖ.
Рассмотрим этот способ на примере.
Общий вид ПЖ для функции от 2-х переменных: f(x1, x2)= c1x1x2 + c2x1 + c3x2 + c4.
Общий вид ПЖ для функции от 3-х переменных:
f(x1, x2, x3)= c1x1x2x3+ c2x1x2 + c3 x1x3 + c4x2x3 + c5x1 + c6x2 + c7x3 + c8.
Суть метода заключается в нахождении коэффициентов ci в приведенных формулах общего вида. Для этого по таблице истинности заданной функции определяется значение функции на заданном наборе значений переменных x1, x2, x3.,Подставляя эти значения переменных и функции в разложение общего вида, определяют значение коэффициентов. После чего найденные значения коэффициентов подставляются в формулу разложения общего вида.
Пусть требуется найти полином Жегалкина для функции f(x1, x2)= x1 x2.
Построим таблицу истинности для заданной функции:
x1 |
x2 |
x1 x2 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
Имеем по таблице f(0,0)=0. Подставим значения переменных (0,0) в формулы разложения. Получим:
f(0, 0)= c100 + c20 + c30 + c4.
Приравнивая полученные выражения (так как они представляют одну и туже функцию), получаем
f(0, 0)= c100 + c20 + c30 + 0=0 c4=0.
Рассуждая аналогичным образом, получаем:
f(0,1)=c101 + c20 + c31 + 0=1 c3=1;
f(1,0)=c110 + c21 + c30 + 0=1 c2=1;
f(1,1)=c111 + c21 + c31 + 0=1 c1=1.
Подставим найденные значения коэффициентов в разложение функции, получим:
f(x1, x2)= 1x1x2 +1x1 + 1x2 +0=x1x2 +x1 + x2, - полином Жегалкина для заданной функции.