- •Множества. Основные понятия.
- •Операции над множествами и их свойства.
- •Декартово произведение. Разбиение множеств.
- •Алгебра множеств
- •Отношение. Бинарное отношение
- •Алгебра бинарных отношений
- •Отображение. Виды отображений
- •Отношение порядка. Изоморфизм упорядоченных множеств.
- •Алгебраические системы. Изоморфизм алгебраических систем.
- •Функции алгебры логики.
- •Формулы. Реализация функций формулами.
- •Эквивалентность формул. Свойства элементарных булевых функций.
- •Двойственные функции. Принцип двойственности
- •Разложение булевых функций по переменным. Сднф.
- •Разложение булевых функций по переменным. Скнф.
- •Полнота и замкнутость.
- •Представление булевых функций в виде полинома Жегалкина. Теорема Жегалкина.
- •Классы т0, т1.
- •Класс s.
- •Класс м.
- •Класс l
- •Задача минимизации булевых функций.
- •Задача минимизации булевых функций в геометрической постановке.
- •Сокращенные днф.
- •Тупиковые днф и решение задачи минимизации.
- •Графы. Основные понятия.
- •Орграфы. Основные понятия.
- •Маршруты. Цепи. Циклы. Связность.
- •Операции над графами
- •30.Двудольные графы.
- •31. Планарные графы.
- •32. Эйлеровы и гамильтоновы графы
- •33. Дерево. Лес
- •34. Графическое разбиение.
- •35. Способы задания графов
- •36. Типы связности орграфов
- •38. Задача о минимальном остовном дереве. Алгоритмы Прима и Краскала.
- •39. Задача о максимальном потоке и минимальном разрезе. Алгоритм Форда-Фалкерсона.
- •40. Теорема Форда-Фалкерсона
Разложение булевых функций по переменным. Скнф.
Пусть f(x1,…,xn)-произвольная булева ф-ция. Представим f* в виде совершенной ДНФ:f*(x1,…,xn)=∪x1^σ1·x2^σ2·…·xn^σn
(σ1,…,σn):f*(σ1,…,σn)=1
Воспользуемся тождеством f**=f. Найдём двойственные ф-ции в обеих частях.
f(x1,…,xn)=&(x1^σ1∪x2^σ2∪…∪xn^σn)
(σ1,…,σn)·f*(σ1,…,σn)=1
Воспользуемся определением двойственности: f*(σ1,…,σn)=¬¬f(¬σ1,…,¬σn)=&(x1^σ1∪x2^σ2∪…∪xn^σn)=
(σ1,…,σn):f(¬σ1,…,¬σn)=0
=&(x1^¬α1∪x2^¬σ2∪…∪xn^¬αn) (4)
(α1,…,αn):f(α1,…,αn)=0
Представление (4) называется совершенной конъюнктивной нормальной формой.
Теорема. Любую булеву ф-цию, не тождественную 1(f≠1) можно представить в виде СКНФ.
Построение СКНФ по таблице истинности:
1.Выбираем те значения ф-ции, которые ≠1.
2.По каждому такому набору строим элементарную конъюнкцию.
3.Полученные элементарные конъюнкции складываем
Полнота и замкнутость.
Система булевых ф-ций DP2 наз. полной (ф-ционально полной), если любую бул. ф-цию можно представить в виде ф-лы над мн-вом ф-ций D. Например: Р2 {,&,}.
Теорема:
Пусть D={d1,…,dl,…} – полная система ф-ций и такая, что каждая её ф-ция представима в виде ф-лы надмножеством ф-ции системы G(G={g1,…,gk,…}), то система ф-ций G полная cистема ф-ции. D={d1,d2,…,dn…}, T={t1,t2,…,tn…}.
Док-во. Воспользуемся тем, что D-полная система ф-ции. Тогда произвольную булеву ф-цию f можно реализовать над множеством ф-ции сиситемы Д: di=Ci[g1,..,gk,…]
F=C[C1[g1,…,gk],…,C1[g1,…,gk,…]…]. Что и требовалось доказать.
На основе этой теоремы покажем, что система G, состоящая из двух ф-ций (G={-,&}) является полной.
В качестве системы Д выберем систему(Д={-,&,∪})
¬(x∪y)=¬x&¬y; x∪y=¬(¬x&¬y)
Представили дизъюнкцию в виде ф-лы G, и тем самым показали, что G-полная система ф-ции.
Покажем, что G={1} является полной системой ф-ции. В качестве Д={-,&} ¬x=x\x; x&y=¬(x\y)=(x\y)/(x\y)
Представление булевых функций в виде полинома Жегалкина. Теорема Жегалкина.
Система ф-ции {0,1,&,}-полная система ф-ции. Для того, чтобы это показать, мы рассмотрим:
Определение.Многочлен от переменных х1,...xn(n≥1) над множеством функций {0,1,&,}, являющийся многочленом первой степени относительно каждой переменной называют полиномом Жегалкина.
Люой полином Жегалкина от n-переменных однозначно задаёт некоторую булеву ф-цию f(x1,…,xn). Все булевы ф-ции полностью определяются полиномом Жегалкина.
n=1 a0 a1x1
na0a1x1 a2x2 a12x1x2
a0 ai i2,…,ik xi1xi2…xik…- общий вид в n-ой степени
{i1,i2,…,ik}⊆N={0,1,…,n}
{i1,...ik}{1,...n}
Теорема(первая теорема Жегалкина). Любую булеву функцию можно представить в виде полинома Жегалкина.
Следствие с теоремы: Система {0,1,&,}-полная система ф-ции.
1.Представим булеву функцию в виде СДНФ. Возможны 2 случая:
а.Если f≡0, то соответствующий полином Жегалкина принимает вид a0=0;
б.f≢0, f≡1, полином Жегалкина: а0=1
2.Используя закон де Моргана, выразим V в виде формулы, тождественной над множеством функции {}
3.x=x1 – избавились от отрицания путём использования тождества
4.Получили формулу над множеством функций {0,1,&,. И путём преобразования, преобразуем полученное выражение к виду полинома Жегалкина.
Даный способ построения полинома Жегалкина называется алгебраическим.
Теорема(Вторая теорема Жегалкина). Представление ф-ции в виде полинома Жегалкина единственно.
Любой полином Жегалкина от n переменных однозначно определяется набором своих коэфициэнтов (длина набор- 2^n). Всего полиномов Жегалкина 2^(2^n) и совпадает с общим числом булевых ф-ций от n-переменных, следовательно, существует взаимнооднозначное соответствие между полиномами Жегалкина и булевыми функциями.