- •Предисловие
- •Тема 1. Элементы теории множеств и комбинаторики
- •§1. Понятие множества. Операции над множествами
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •§2. Отображение множеств
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •§3. Мощность множества
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •§4. Основы комбинаторики
- •Пример решения задач
- •Задачи для самостоятельного решения
- •§5. Отношение на множестве
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •Тема 2. Теория графов
- •§1. Основные понятия теории графов: графы, ориентированные и неориентированные графы, пути, маршруты, циклы
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •§2. Понятие связности, смежности и инцидентности
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •§3. Задача о кратчайшем пути
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •§4 Задача Эйлера. Плоские, планарные и не планарные графы. Формула Эйлера
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •§5. Раскраска графа. Хроматическое число и характеристический индекс графа
- •Алгоритм решения задачи о раскраске вершин графа
- •Алгоритм решения задачи о раскраске ребер графа
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •§ 6. Представление графов в памяти компьютера. Код Харари
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •§8. Обход дерева. Понятие списка. Деревья и списки
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •Тема 3. Булевы функции
- •§1. Совершенная дизъюнктивная нормальная форма (сднф)
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •§ 2. Совершенная конъюнктивная нормальная форма (скнф)
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •§3. Многочлены Жегалкина
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •§4. Булевы функции и их свойства
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •§5. Функциональная полнота. Теорема Поста
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •Список рекомендуемой литературы Основная
- •Дополнительная
Задачи для самостоятельного решения
Задача 1. Обойти тремя способами бинарное ордерево.
a e
l
k f b
n m b c
k а
p e d q
l c
f m
d
Задача 2. Нарисовать дерево, соответствующее списку
а) (а,(b,(c,d)), (e,f),k);
б) (а,(b,(c,(d,e))), (k(l,m)),p);
в) ((a,b), (c,(d,e),(f,k))).
Задача 3. Написать список висячих вершин данного ордерева
а) б)
c a s
t e d m k
b f
m l p
Задача 4. Найти глубину списка.
а) ((a,(b,(c,d))), (f,e),k); б) (a,(b,(c,(d,k))), (e,(f,((q,m),h)))).
Тема 3. Булевы функции
Булевой функцией y=f(x1, x2,…, xn) от n переменных x1, x2,…, xn называется любая функция, в которой аргументы и функция могут принимать значение либо 0, либо 1, т.е. булева функция это правило, по которому по произвольному набору нулей и единиц (x1, x2,…, xn) ставится в соответствие значение 0 или 1.
Вектором значений булевой функции у= f(x1, x2,…, xn) называется упорядоченный набор всех значений функции f, при котором значения упорядочены по лексикографическому порядку.
Среди булевых функций особо выделяются так называемые элементарные булевы функции, посредством которых можно описать любую булеву функцию от любого числа переменных.
Булева функция f(x1, x2,…, xn), принимающая значение 1 на всех наборах нулей и единиц, называется константой 1, или тождественной единицей. Обозначение: 1.
Булева функция f(x1, x2,…, xn), принимающая значение 0 на всех наборах нулей и единиц, называется константой 0, или тождественным нулем. Обозначение: 0.
Отрицанием называется булева функция одной переменной, которая определяется следующей таблицей истинности
х |
0 |
1 |
f(x) |
1 |
0 |
Обозначения: х, . Записьх читается «не икс» или «отрицание икс».
Конъюнкцией называется булева функция двух переменных, которая определяется следующей таблицей истинности
x |
0 |
0 |
1 |
1 |
y |
0 |
1 |
0 |
1 |
f(x,y) |
0 |
0 |
0 |
1 |
Другие названия: логическое умножение (произведение); логическое «и».
Обозначения: ху, ху, min(x,y). Запись может читаться так: «икс и игрек» или «икс умножить на игрек».
Дизъюнкцией называется булева функция двух переменных, которая определяется следующей таблицей истинности
x |
0 |
0 |
1 |
1 |
y |
0 |
1 |
0 |
1 |
f(x,y) |
0 |
1 |
1 |
1 |
Другие названия: логическое сложение (сумма); логическое «или». Обозначение: ху, max(x,y).
Запись ху может читаться так: «икс или игрек» или «сумма икс и игрек».
Импликацией называется булева функция двух переменных, которая определяется следующей таблицей истинности
x |
0 |
0 |
1 |
1 |
y |
0 |
1 |
0 |
1 |
f(x,y) |
1 |
1 |
0 |
1 |
Другое название: логическое следование.
Обозначения: ху, ху, ху. Запись ху может читаться так: из икс следует игрек».
Эквивалентностью называется булева функция двух переменных, которая определяется следующей таблицей истинности
x |
0 |
0 |
1 |
1 |
y |
0 |
1 |
0 |
1 |
f(x,y) |
1 |
0 |
0 |
1 |
Обозначения: ху, ху, ху.
Запись ху может читаться так: «икс эквивалентно игрек» или «икс равносильно игрек».
Суммой по модулю_2 называется булева функция двух переменных, которая определяется следующей таблицей истинности
x |
0 |
0 |
1 |
1 |
y |
0 |
1 |
0 |
1 |
f(x,y) |
0 |
1 |
1 |
0 |
Другое название: антиэквивалентность.
Обозначения: ху, х+у.
Запись ху может читаться так: «икс плюс игрек».
Штрих Шерифа это булева функция двух переменных, которая определяется следующей таблицей истинности
x |
0 |
0 |
1 |
1 |
y |
0 |
1 |
0 |
1 |
f(x,y) |
1 |
1 |
1 |
0 |
Другое название: отрицание конъюнкции, логическое «не-и».
Обозначение: х|у.
Запись х|у может читаться так: «не икс или не игрек», «икс и игрек несовместны», «икс штрих Шеффера игрек».
Стрелка Пирса это булева функция двух переменных, которая определяется следующей таблицей истинности
x |
0 |
0 |
1 |
1 |
y |
0 |
1 |
0 |
1 |
f(x,y) |
1 |
0 |
0 |
0 |
Другое название: отрицание дизъюнкции, логическое не - или .
Обозначение: ху.
Все логические операции можно выразить через три логические операции (конъюнкция, дизъюнкция, отрицание).
Применение логических операций и функций определяются скобками. Если скобок нет, то логические операции применяются в следующей последовательности: отрицание, дизъюнкция, конъюнкция, импликация, эквиваленция.
Определение. Две функции f1(x1, …, xn) и f2(x2, …, xn) называются равносильными, если они принимают одинаковое значение на одних и тех же наборах переменных. Функция от f1(x1, …, xn) называется тождественно-истинной, если она принимает значения 1 на всех наборах своих переменных. Функция f1(x1, …, xn) называется тождественно-ложной если она принимает значение 0 на всех своих наборах переменных.
Рассмотрим 3 основные группы равносильности.
Основные равносильности
;
;
x*1x;
;
x*00;
;
x*;
;
(закон двойного отрицания);
(закон поглощения);
(закон поглощения).
Равносильности, выражающие одни логические операции другими
;
;
;
;
;
;
.
Равносильности, выражающие основные законы алгебры и логики
;
;
;
;
;
.
Для того чтобы сравнить две булевых функции, удобно привести их к некоторому стандартному виду.