- •Часть 1
- •Содержание
- •Введение
- •1. Введение в теорию множеств
- •Операции над множествами
- •Диаграммы Эйлера – Венна
- •Понятие алгебры
- •Упражнения
- •2. Отношения
- •Операции над отношениями
- •Свойства бинарных отношений
- •Задачи и упражнения
- •3. Нечеткие множества
- •Операции над нечеткими множествами.
- •Задачи и упражнения
- •Элементарные функции k-значных логик и соотношение между ними
- •Разложение функций k-значных логик в первую и вторую формы
- •Замкнутые классы и полнота в k-значных логиках
- •Задачи и упражнения
- •5. Логика высказываний
- •Тождества в алгебре высказываний
- •Булевы формулы
- •Интерпретации
- •6. Булевы функции
- •Способы задания булевой функции
- •Равносильные преобразования формул
- •Нормальные формулы Совершенные нормальные формулы
- •Разложение Шеннона Декомпозиция булевых функций
- •Представление булевой функции картами Карно (Вейча)
- •Минимизация булевых функций
- •Классы булевых функций
- •7. Комбинаторика Введение
- •8. Кодирование
- •Алфавитное кодирование
- •Кодирование с минимальной избыточностью
- •Помехоустойчивое кодирование
- •Сжатие данных
- •Шифрование
- •Криптография
- •Цифровая подпись
- •9. Графы Определение графа
- •Задание графов
- •Связность графа
- •Эйлеровы и гамильтоновы графы
- •Деревья
- •Понятие метрики графа
- •Цикломатическое число, раскраска
- •Изоморфизм графов
- •Орграфы
- •Сети Петри
- •Контрольная работа №1 (варианты заданий)
- •Контрольная работа № 2.
- •Контрольная работа №3
- •Список литературы
6. Булевы функции
Двоичная функция двоичного аргумента называется булевой функцией.
y= f(x1, x2,…, xn), xi {0,1}, y {0,1}, i = 1,n.
Система булевых функций задается следующим образом:
Будем говорить, что две функции равны, если их значения совпадают на любой комбинации значений переменных.
f(x1,…, xn) = g (x1,…, xn)
Различными считаются функции не совпадающие хотя бы на одной комбинации переменных.
Число различных функций равно ,
Пусть n = 0, тогда = 2, т.е. функция принимает значение 0 или 1.
При n=1 число различных функций равно 4.
-
х
функция
нуль
тождественна
отрицательна
единица
0
0
0
1
1
1
0
1
0
1
0
х
х', ¬x
1
При n=2, число различных функций равно 16.
Функции | |||||||||||||||||
х1 |
x2 |
f1 |
f2 |
f3 |
f4 |
f5 |
f6 |
f7 |
f8 |
f9 |
f10 |
f11 |
f12 |
f13 |
f14 |
f15 |
f16 |
0 0 1 1 |
0 1 0 1 |
0 0 0 0 |
0 0 0 1 |
0 0 1 0 |
0 0 1 1 |
0 1 0 0 |
0 1 0 1 |
0 1 1 0 |
0 1 1 1 |
1 0 0 0 |
1 0 0 1 |
1 0 1 0 |
1 0 1 1 |
1 1 0 0 |
1 1 0 1 |
1 1 1 0 |
1 1 1 1 |
Приведем эти булевы функции.
f1(x1, x2) = 0 – константа 0;
f2(x1, x2) = x1 x2 – конъюнкция;
f3(x1, x2) = x1 =
= x1 x2 – левая коимпликация (читается «не если x1, то x2»);
f4(x1, x2) = x1 x2 = x1;
f5(x1, x2) = x2 = x1 x2= =
правая коимпликация;
f6(x1, x2) = x2 x1 x2 = x2;
f7(x1, x2) = x2 x1 = x1 x2 – сложение по модулю два, дизъюнкция с исключением;
f8(x1, x2) = x1 x2 – дизъюнкция;
f9(x1, x2) = = = x1○ x2 – функция Вебба;
f10(x1, x2) = = x1~ x2 – функция эквивалентности;
f11(x1, x2) = - отрицание;
f12(x1, x2) = x1 x1 x2 = x1 = x1← x2 – правая импликация (читается «если x2, то x1»);
f13(x1, x2) = - отрицание;
f14(x1, x2) = x2 x1 x2 = x2 = x1 x2 – левая импликация (читается «если x1, то x2»);
f15(x1, x2) = x1 = = x1| x2 – функция Шеффера;
f16(x1, x2) = 1 –константа 1.
Способы задания булевой функции
Табличный способ
Область определения булевой функции – совокупность всевозможных наборов переменных, состоящих из нулей и единиц. Поэтому для задания булевой функции достаточно задать значение функции на всех наборах переменных.
Естественным расположением наборов является расположение в порядке возрастания десятичного числа соответствующего данному набору.
№ набора |
х1 |
х2 |
х3 |
f(х1, х2 , х3) |
1 2 3 4 5 6 7 8 |
0 0 0 0 1 1 1 1 |
0 0 1 1 0 0 1 1 |
0 1 0 1 0 1 0 1 |
0 1 1 1 0 1 0 1 |
2. Представление вершинами n-мерного куба.
Множество значений вектора x=(x1, x2,…, xn) составляет булево пространство. Каждому значению вектора сопоставлен элемент пространства. Число компонент вектора определяет размерность пространства.
n = 0 ●
x1
n= 1
n = 2
n= 3
Расстояние между вершинами n-мерного куба есть число компонент, значениями которых эти вершины отличаются. Также расстояние называется расстоянием по Хемингу. Соседние вершины n-мерного куба различаются одной компонентой.
3. Задание булевой функции формулами.
Пусть F = {f1, f2, …, fn} – множество булевых функций. Формулой над F называется выражение вида F[F] = (t1,…, tn), где F и ti, либо переменная, либо формула над F. Множество F называется базисом, функция называется главной (внешней) операцией (функцией), a ti называются подформулами.
Систему функций будем называть функционально полной, если любая булева функция может быть представлена в виде суперпозиции функций этой системы. Функционально полная система называется базисом. Базис называется безизбыточным, если ни одну из функций базиса нельзя исключить так, чтобы оставшаяся система функций была функционально полной. Базис называется минимальным, если он содержит наименьшее из возможных число функций.
Существует 17 базисов, в каждом из которых нельзя вычеркнуть ни одну функцию без потери полноты.
Базис Вебба – { 0 };
Базис Шеффера – { | };
{, ~ };
Импликативный базис - {, 0};
{, };
{, -} – коимпликативный базис;
{, };
{, ˉ} – импликативный базис;
{&, ˉ} – конъюнктивный базис Буля;
{, ˉ} – дизъюнктивный базис Буля;
{, 1} – коимпликативный базис;
{~, &, 0};
{~, , 0};
{, &, ~};
{, , ~};
{, &, 1} – базис Жегалкина;
{, , 1}.
Техническая реализация базисных функций может быть основана на использовании различных физических явлений, например, импликация и коимпликация может быть основана на использовании магнитных явлений, а функции Шеффера и Вебба – на использовании явлений в полупроводниках.