Объединение
A [ B = fx j x 2 A или x 2 B g
Пересечение
A \ B = fx j x 2 A; x 2 B g
Разность
AnB = fx j x 2 A; x 2
= Bg
Симметрическая разность
A4B = fx j x 2 A; x 2
= B или x 2 B ; x 2
= A
2
Дополнение
= Ag
A = fx j x 2
Декартово произведение
A Â B = f(x; y ) j x 2 A; y 2 B g
Функции и биекции
Пусть A , B — множества.
Инъекция
Функция f : X ! Y называется инъективной, если
8a; b 2 X : (a = = f (b))
= b ) f (a) =
Сюръекция
Функция f : X ! Y называется сюръективной, если
8b 2 Y 9 a 2 X : f (a) = b
3
Биекция
Функция f : X ! Y называется биективной, если она
является как инъективной, так и сюръективной;
Свойства мощности
● Два конечных множества равномощны тогда и только тогда, когда они
состоят из одинакового числа элементов.
● Множество бесконечно тогда и только тогда, когда оно содержит
равномощное собственное подмножество.
● jA Â B j = jAj Á jBj
● jA [ B j = jAj + jBj À jA \ B j
Теорема Кантора
Множества A и P (A) = fx j x Ú Ag не являются равномощными.
Доказательство
X = fa 2 A j a 2
= f (a)g ) X Ú A ) X 2 P (A)
1. b 2 X , значит, b 2 f (b) ) b 2
= X . Противоречие.
= X , значит, b 2
2. b 2 = f (b) ) b 2 X . Противоречие.
4
Выходит, что функция f не может быть биективной, поэтому A и P (A) не
являются равномощными, что и требовалось доказать.
Размещения и сочетания
Размещения
Пусть имеется множество, содержащее n элементов. Произвольный
упорядоченный набор, составленный из k различных элементов данного
множества, называется размещением из n элементов по k элементов.
Сочетания
Пусть имеется множество, содержащее n элементов. Произвольный
неупорядоченный набор, состоящий из k различных элементов данного
множества, называется сочетанием из n элементов по k элементов.
Akn
C kn = k!
= n!
k!(nÀk)!
.
1. Базис. n = 0
jAj = 0 ) A = ∅ ) P 0 (A) = f∅g ) jP 0 (A)j = 1 = C 00
2. Предположим, что утверждение jP k (A)j = C kn верно для любых n
3. Докажем для n + 1
Пусть X Ú A , jXj = k , a 2 A . Найдём количество таких X . Возможны два
случая:
= X ) X Ú Anfag . Так как jAnfagj = jAj À 1 = n , количество X
1) a 2
равно C kn (см. п. 2)
2) a 2 X , тогда количество X равно количеству множеств
X nfag Ú Anfag , то есть C kÀ1
n .
4. Тогда jP k (A)j = C n + C n = C n+1 , что и требовалось доказать.
k kÀ1 k
5
6
2
Булевы функции
Булевой называется функция f : B n ! B , где B = f0; 1g — булево множество.
x^y x $ y
x xÁy x Ø y x+y
x y :x x & y x_y x ! y x Ñ y xÈy x j y x # y
0 0 1 0 0 1 1 0 1 1
0 1 1 0 1 1 0 1 1 0
1 0 0 0 1 0 0 1 1 0
1 1 0 1 1 1 1 0 0 0
Доказательство
7
3
Литералы
В математической логике литералом называют атомарную формулу, без 0 и 1,
или её логическое отрицание.
В логике высказываний литералом называют логическую переменную или её
логическое отрицание.
l1 ^ ::: ^ ln ,
где каждый li — литерал.
ДНФ, СДНФ
Дизъюнкция нескольких элементарных конъюнктов называется дизъюнктивной
нормальной формой (ДНФ)
Пример: x _ y z _ xz
Любая булева функция от n переменных, тождественно не равная нулю, может
быть записана в виде
S
f (x1 ; ::: ; xn ) = x1Û1 ^ ::: ^ xÛnn ^ f (Û 1 ; :::; Û n )
(Û 1 ;:::;Û n )
Доказательство
8
Рассмотрим произвольный набор (Ë1 ; :::; Ën ) и покажем, что левая и правая части
данного соотношения принимают на нём одно и то же значение.
S
Для правой части получим Ë1Û1 ^ ::: ^ ËÛnn ^ f (Û 1 ; :::; Û n ) . На одном из
(Û 1 ;:::;Û n )
наборов (Û 1 ; :::; Û n ) выполняется Ë1Û1 ^ ::: ^ ËÛnn = 1 , Û 1 = Ë1 ; :::; Û n = Ën (так как
00 = 11 = 1 ), тогда получим
Ë1Û1 ^ ::: ^ ËÛnn ^ f (Ë1 ; :::; Ën ) = 1 ^ f (Ë1 ; :::; Ën ) = f (Ë1 ; :::; Ën ) , что и требовалось
доказать.
Доказательство
9
4
Формулы над классом функций
Формулой над множеством булевых функций F называется f (x1 ; :::; xn ) 2 F или
È(A1 ; :::; An ) , где È(x1 ; :::; xn ) — формула, A1 ; :::; An — переменные или функции
из F .
ab _ c =_ (^ (a; b); c)
10
5
Двойственные функции
Функцией f à (x1 ; :::; xn ) , двойственной к f (x1 ; :::; xn ) , называется функция,
удовлетворяющая равенству f à (x1 ; :::; xn ) = f (x1 ; :::; x2 ) .
Принцип двойственности
Если формула È1 = f 0 (f 1 ; :::; f n ) задаёт некоторую функцию f , то
È2 = f 0 à (f 1 à ; :::; f n à ) задаёт функцию f à .
Доказательство
f à (x1 ; :::; xm ) = f 0 (f 1 (x1 ; :::; xm ); :::; f n (x1 ; :::; xm )) = f 0 à (f 1 à (x1 ; :::; xm ); :::; f n à (x1 ; :::; xm ) =
, что и требовалось доказать.
11
6
СКНФ
Конъюнкция нескольких полных элементарных дизъюнктов называется
совершенной конъюнктивной нормальной формой (СКНФ)
Пример: (x _ y _ z ) ^ (x _ y _ z )
Доказательство
S
f à (x1 ; :::; xn ) = x1Û1 ^ ::: ^ xÛnn . Тогда
(Û ;:::;Û n )
f(Û1
1 ;:::;Û n )=1
T T T
f ÃÃ (x1 ; :::; xn ) = x1Û1 _ ::: _ xÛnn = x1Û1 _ ::: _ xÛnn = x1Û1 _ ::: _ xÛnn
(Û ;:::;Û n ) (Û ;:::;Û n ) (Û ;:::;Û n )
f Ã1(Û f(Û1 f(Û1
1 ;:::;Û n )=1 1 ;:::;Û n )=0 1 ;:::;Û n )=0
T
f (x1 ; :::; xn ) = x1Û1 _ ::: _ xÛnn , что и требовалось доказать.
(Û ;:::;Û n )
f(Û1
1 ;:::;Û n )=0
12
7
Импликанты и простые импликанты функции, примеры
импликант и простых импликант.
Элементарный конъюнкт K называется импликантом булевой функции f ,
если K _ f = f или K ! f = 1 .
Пример:
f 1 (x; y ; z ) = (0010 1111) .
Импликанты: x , xy , y z , …
x y z F
0 0 0 0
0 0 1 0
0 1 0 1
0 1 1 0
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 1
f 2 (x; y ; z ) = (0111 1110) .
Импликанты: xy , xy , y z , …
Сокращённая ДНФ
Дизъюнкция всех простых импликантов булевой функции f называется
сокращённой дизъюнктивной нормальной формой (сокращённой ДНФ) для
функции f .
13
Методы получения сокращённой ДНФ функции
1. Метод Блейка. Применяется к ДНФ.
a. Применить формулу обобщённого склеивания, пока возможно
xK 1 _ xK 2 = xK 1 _ xK 2 _ K 1 K 2
a _ (b ^ a) = a
a ^ (b _ a) = a
Доказательство
14
S
p S
q
Пусть f = K i и g = Lj — сокращённые ДНФ для функций f и g
i=1 j=1
Ò p
Ó Ò q Ó p Sq
S S S
соответственно. Тогда Ki ^ Li = K i ^ Lj является ДНФ для
i=1 j=1 i=1 j=1
f ^ g .
S
p S
q
некоторый конъюнкт из
Пусть теперь M — K i ^ Lj = f ^ g . Следовательно,
i=1 j=1
он импликант функции f ^ g . Допустим, что M — не простой импликант
функции, тогда существует простой импликант M 0 такой, что M является
S
p Sq
импликантом для M 0 . По доказанному выше, M 0 входит в K i ^ Lj = f ^ g ,
i=1 j=1
S
p S
q
следовательно, M поглощается M 0 . Таким образом, в K i ^ Lj = f ^ g
i=1 j=1
после поглощения входят только простые импликанты функции f ^ g , что и
требовалось доказать.
15
8
Геометрическая интерпретация
Пусть дана булева функция f : B n ! B . B n можно отождествить с вершинами
единичного куба в ℝn (далее для простоты изложения под кубом
подразумеваются его вершины).
Доказательство
Пусть N K — максимальная грань.
K (Ë1 ; :::; Ën ) = 1 ) (Ë1 ; :::; Ën ) 2 N k Ò N f ) f (Ë1 ; :::; Ën ) = 1 , тогда K —
импликант f .
16
максимальной гранью. Противоречие.
Утверждение доказано
Доказательство
Пусть K не является максимальной гранью. Тогда N K Ú N K 0 , где N K 0 —
максимальная грань. Значит, можно получить простой импликант K из K 0
вычёркиванием переменных, поэтому K не является простым импликантом.
Противоречие.
Утверждение доказано
Неприводимые покрытия
Набор граней N K 1 ; :::; N K m называется покрытием булевой функции f , если
N f = N K 1 [ ::: [ N K m .
Доказательство
Каждому конъюнкту в ДНФ однозначно соответствует некоторая грань в
покрытии, тогда покрытие из этих граней однозначно соответствует данной ДНФ.
17
9
Операции I и II
Пусть дана ДНФ D .
Доказательство
18
10
Минимальные, кратчайшие ДНФ
Минимальной ДНФ булевой функции f (x1 ; :::; xn ) называется ДНФ наименьшего
ранга из всех ДНФ, задающих функцию f , то есть та, что содержит наименьшее
число литералов.
Таблица Квайна
Применяется для нахождения тупиковой ДНФ. Пусть дана функция f .
xy 1 1 1 1 0 0 0 0
yz w 0 1 0 0 0 1 0 0
y zw 0 0 0 0 1 0 1 0
xzw 0 0 0 0 0 1 0 1
xyz 0 0 0 0 0 0 1 1
19
xzw 1 0 0 0 1 0 0 0
T
r S m À Á
3. Составить выражение Û ij K i
j=1 i=1
À Á À Á
развернуто: Û 1;1 K 1 _ ::: _ Û m;1 K m ^ ::: ^ Û 1;r K 1 _ ::: _ Û m;r K m
(xy _ xzw) ^ (xy _ yz w) ^ (xy) ^ (xy) ^ (yzw _ xzw) ^ (yzw _ xzw) ^ (yzw _ xyz) ^
^ (xzw _ xyz)
20
11
Полнота набора функций
Множество булевых функций F называется полным, если любая булева функция
реализуется формулой над F .
Доказательство
21
12
Замыкание класса функций
Замыканием множества F булевых функций называется множество всех
булевых функций, реализуемых формулами над F и обозначается [F ] .
Свойства замыкания
1. F Ò [F ]
2. [[F ]] = [F ]
3. F Ò K ) [F ] Ò [K ]
Примеры
● Класс конъюнкций K , являющийся замыканием множества f^; 0; 1g
● Класс дизъюнкций D , являющийся замыканием множества f_; 0; 1g
● Класс P 2 , являющийся множеством всех булевых функций
22
13
Классы T0, T1
Определение
T 0 = ff (x1 ; :::; xn ) j f (0; :::; 0) = 0g .
Замкнутость
Доказательство одинаковое, для простоты заменим 0 и 1 на s .
Пусть f ; f 1 ; :::; f n 2 T s , тогда È = f (f 1 (s; :::; s) ; :::; f n (s; :::; s)) = f (s; :::; s) = s .
Значит, È реализует функцию из T s .
Число функций
n
T 0 и T 1 содержат 22
функций от n переменных.
n
À1
2 = 22
23
14
Класс S
Определение
Булева функция f называется самодвойственной, если f = f à .
Замкнутость
Пусть f ; f 1 ; :::; f n 2 S , тогда È = f (f 1 ; ::; f n ) = f à (f 1 à ; :::; f n à ) = Èà , значит, È
реализует функцию из S .
Число функций
2n
p n
S содержит 22 22 функций от n переменных.
nÀ1
=22 =
Доказательство
24
15
Порядок на булевых наборах
Набор1 x = (x1 ; :::xn ) меньше или равен набору y = (y 1 ; :::; y n ) :
Монотонные функции
Булева функция f называется монотонной, если 8Ë; Ì ; Ë Ö Ì : f (Ë) Ô f (Ì) ( Ë
и Ì — наборы переменных)
Доказательство
1
Здесь и далее набор переменных обозначается не литералом с отрицанием, а литералом с
волной (˜) сверху, просто формулы в Google Документах не поддерживают такой символ :( Для
удобства уточню: в этом разделе нет отрицаний, так что все “отрицания” — это на самом деле
“волна”.
25
= M , 9Ë = (Ë1 ; :::; Ën ); Ì = (Ì 1 ; :::; Ì n ) : Ë Ö Ì ; f (Ë) > f (Ì) ,
f (x1 ; :::; xn ) 2
f (Ë) = 1; f (Ì) = 0 .
отрицанием
26
Доказательство
27
16
Многочлен Жегалкина
Многочленом или полиномом Жегалкина называется многочлен вида
PÈ
ai1 ;:::;ik Á xi1 Á ::: Á xik , где ai1 ;:::;ik 2 f0; 1g .
(i1 ;:::;ik )
x ^ y = xy È x
(x ! y ) ^ z = xyz È z
Доказательство
28
17
Линейные функции
Булева функция f называется линейной, если она реализуется формулой над
fÈ; 1g , то есть, может быть представлена в виде многочлена Жегалкина с
литералами в качестве слагаемых.
f (x) = x = x È 1 2 L
f = 1 2 L
f = 0 = 1 È 1 2 L
È = f (f 1 ; :::; f n ) = cn0 È c1 (c10 È c11 x1 È :::c1n xn ) È ::: È cn (cn0 È cn1 x1 È ::: È cnn xn ) =
c0 È c1 c10 È ::: È cn cn0 È (c1 c11 È ::: È cn cn1 )x1 È ::: È (c1 c1n È ::: È cn cnn )xn , значит, È
реализует функцию из L .
Доказательство
29
f 2= L , тогда она содержит произведение переменных. Пусть
f (x1 ; :::; xn ) = x1 x2 f 1 (x3 ; :::; xn ) + x1 f 2 (x2 ; x3 ; :::; xn ) + x2 f 3 (x1 ; x3 ; :::; ) + f 4 (x3 ; :::; xn ) ,
тогда 9Ë3 ; :::; Ën : f 1 (Ë3 ; :::; Ën ) = 1 .
Рассмотрим функции:
'(x1 ; x2 ) = f (x1 ; x2 ; Ë3 ; :::; Ën ) = x1 x2 + ax1 + bx2 + c ( a , b , c — какие-то
значения функций)
ï (x1 ; x2 ) = '(x1 + b; x2 + a) + ab + c = (x1 x2 + ax1 + bx2 + ab) +
(ax1 + ab) + (bx2 + ab) + c + ab + c = x1 x2 .
30
18
Методы построения многочлена Жегалкина
1. Эквивалентные преобразования
31
32
19
Теорема [Поста] о функциональной полноте
Класс булевых функций F является полным тогда и только тогда, когда он не
лежит целиком ни в одном из классов: T 0 ; T 1 ; S; M ; L .
Доказательство.
33
20
Неориентированный граф
Неориентированный граф состоит из множества вершин V и ребер E, причем
каждому ребру е из Е сопоставлена неупорядоченная пара вершин (a, b)
Простые графы
Простой граф — граф, в котором нет кратных рёбер и петель.
Смежность вершин
Два ребра, инцидентные одной вершине, называются смежными; две вершины,
инцидентные одному ребру, также называются смежными.
Степень вершины
Степень вершины x — количество рёбер графа G, инцидентных вершине x.
Обозначается deg(x).
Лемма о рукопожатиях
Любой конечный неориентированный граф имеет чётное число вершин нечётных
степеней.
Доказательство
Возьмем пустой граф. Сумма степеней вершин такого графа равна нулю. При
добавлении ребра, связывающего любые две вершины, сумма всех степеней
увеличивается на 2 единицы. Таким образом, сумма всех степеней вершин чётна
и равна удвоенному числу рёбер.
Сумма всех степеней чётна в двух случаях: если суммы и чётных, и нечётных
степеней одновременно чётные или нечётные числа. Сумма чётных чисел
(вершин) — всегда чётное число, а значит и сумма нечётных чисел (вершин) тоже
должна быть чётным числом. В свою очередь, сумма нечётных чисел является
34
чётным числом только в том случае, если количество их — чётное число,
следовательно, количество вершин нечётной степени — чётное число, что и
требовалось доказать.
35
222
Маршрут (путь), цепь и простая цепь, цикл и простой цикл
Маршрут (путь) — последовательность рёбер, такая, что конец одного ребра
⇔
является началом другого ребра последовательность вершин и рёбер, в
которой каждый элемент инцидентен предыдущему и последующему.
Цепь — маршрут, все рёбра которого различны. Если все вершины (а тем самым
и рёбра) различны, то такая цепь называется простой.
Доказательство.
2
В нумерации списка тем был пропущен номер 21; мы также пропускаем его для более простой навигации по
документу.
3
Общая подцепь исходных цепей, расположенная до момента расхождения цепей
4
Различные подцепи исходных цепей, расположенные после момента расхождения цепей
36
Найдём первую совпадающую вершину w' в s и s', не равную w. Замкнутая
цепь c, получаемая объединением w → w' части цепи s вместе с w' → w частью
цепи s', является циклом. Лемма доказана.
37
23
Изоморфизм графов
Изоморфизм графов — биекция между равномощными множествами вершин
графов G и H, где любые вершины графа G соединены тогда и только тогда,
когда они смежны в графе H.
38
24
Эйлеровы и полуэйлеровы пути5. Эйлеровы и полуэйлеровы
графы.
Эйлеров путь (цепь) — путь, однократно проходящий по всем рёбрам графа.
Эйлеров путь в графе существует тогда и только тогда, когда граф связный и
содержит не более двух вершин нечётной степени. Из леммы о рукопожатиях
⇒ число вершин с нечётной степенью должно быть четным эйлеров путь ⇒
существует только тогда, когда это число 0 или 2. Если 0, то эйлеров путь
вырождается в эйлеров цикл.
5То, что Зубков в списке назвал “эйлеровыми и полуэйлеровыми путями”, в реальности именуется эйлеровыми
циклами и эйлеровыми путями соответственно.
39
25
Гамильтоновы и полугамильтоновы пути6. Гамильтоновы и
полугамильтоновы графы.
Гамильтонов путь — простой путь в графе, содержащий все вершины графа
ровно по одному разу.
Теорема Дирака.
Пусть G — неориентированный граф с n вершинами. Если n ≥ 3 и степень
каждой вершины deg(vi) ≥ n/2, то G — гамильтонов граф.
Доказательство
6 См. сноску 5
7 Лемма о длине цикла; здесь не приводится
40
Теорема Оре
Пусть G — простой граф с n ≥ 3 вершинами. deg(v) — степень вершины v ∈ G.
Если deg(v) + deg(w) ≥ n для любой пары несмежных вершин v и w графа G, то
он гамильтонов.
41
Данные графы гамильтоновы, однако не удовлетворяют теоремам Дирака и Оре.
42
26
Связность вершин
Две вершины u и v связаны, если в графе существует путь из u в v.
Связность графов
Связный граф — граф, содержащий ровно одну компоненту связности = граф,
любые две вершины которого связаны = между любыми двумя вершинами графа
существует путь.
Компоненты связности
Компонента связности графа G — максимальный по включению связный
подграф графа G.
43
27
Мост
Мост — ребро, удаление которого увеличивает число компонент связности на 1.
44
28
Лес и дерево. Различные эквивалентные определения
деревьев
Дерево —связный граф без циклов; граф, каждое ребро которого является
мостом
Доказательство.
⇒
Если такая вершина одна, то ∑deg(v) ≥ 2n-1 2n-2 ≥ 2n-1 — противоречие ⇒
только одной висячей вершины быть не может.
45
существовании висящей вершины следует, что в дереве вершин всегда на одну
больше, чем рёбер.
46
29
Остов графа
Остовное дерево (остов) связного графа G — всякий подграф графа G,
являющийся деревом.
Вес остова
Вес остова — сумма весов всех рёбер остова.
Алгоритм Краскала
Из всех рёбер графа последовательно выбираются рёбра наименьшего веса, не
образующие цикла с выбранными ранее до тех пор, пока таких рёбер не
останется.
47
Алгоритм Прима
Сначала берётся произвольная вершина и находится ребро, инцидентное данной
вершине и обладающее наименьшим весом. Далее рассматриваются рёбра
графа, один конец которых — уже принадлежащая дереву вершина, а другой —
нет; из этих рёбер выбирается минимальное по весу. Выбираемое на каждом
шаге ребро присоединяется к дереву до тех пор, пока не закончатся вершины.
48
30
Код Прюфера
Код Прюфера однозначно сопоставляет произвольному конечному дереву
последовательность; дереву с n вершинами сопоставляется последовательность
из n-2 чисел от 1 до n с возможными повторениями.
Алгоритм кодирования
Пусть T есть дерево с n вершинами, занумерованными числами {1,2,...,n}.
Построение кода Прюфера дерева T ведётся путем последовательного удаления
вершин из дерева, пока не останутся только две вершины. При этом каждый
раз выбирается висящая вершина с наименьшим номером и в код
записывается номер той вершины, с которой она соединена. В результате
получаем последовательность (p1,...,pn-2), составленную из чисел {1,...,n},
возможно с повторениями.
Алгоритм декодирования
Для восстановления дерева по коду p = (p1,...,pn-2), заготовим список номеров
вершин s = (1,2,...,n). Выберем наименьший номер s1, который не встречается в
коде. Добавим ребро (s1,p1), после этого удалим s1 из s и p1 из p.
49
Теорема Кэли о количестве помеченных деревьев
Число различных деревьев на n вершинах, пронумерованных числами от 1 до n
равно nn-2.
Доказательство.
50
31
Плоские и планарные графы
Плоский граф — геометрический граф, в котором никакие два ребра не
пересекаются.
Формула Эйлера
Грань — область, ограниченная рёбрами в плоском графе. Внешняя часть
плоскости образует внешнюю грань.
n - m + l = 2
3l ≤ 2m
следовательно,
m ≤ 3n - 6
51
Полный двудольный граф с тремя вершинами в каждой из
долей (К3,3) нельзя уложить на плоскость.
Доказательство.
52
32
Укладка графов в пространстве, на плоскости и на сфере
Граф укладывается на некоторой поверхности, если его можно нарисовать на
этой поверхности так, чтобы рёбра графа при этом не пересекались.
Доказательство.
Доказательство.
53
рассмотрим граф G', полученный стереографической проекцией графа G из
точки N на плоскость Q (см. рис.)
54
33
Подразбиения графов, гомеоморфизм графов
Подразбиение графа G — это граф, полученный делением рёбер в G.
G H
G', H'
Критерий планарности
С геометрической точки зрения, подразбиение — это добавление точки на ребре,
а стирание такой вершины объединяет два ребра с общим концом в одно.
55