Математические основы криптологии / GRAPH
.docТеория графов
G=(V,E); V={vi} - объекты произвольной природы. vi - вершины. V=P - мощность. Е - мн-во пар {vi,vj}VV. Если {vi,vj} {vj,vi}, то это ребро ориентированное (дуга). Если {vi,vj}= {vj,vi}, то ребро графа (неориентированное). {vi,vj} может несколько раз входить в Е - кратное ребро. {vi,vi} - петля при вершине vi. Иногда под графом подразумевается граф без петель и кратных ребер, с кратными ребрами - мультиграф. V={v1 ,v2 ,v3 ,v4}, E= {v1v1 , v1v2 ,v1v4 ,v2v3}. Вершина {vi,vj} - смежная если пара {vi,vj} и {vj,vi}Е. Ребро е инцидентное на вершине vi , если ребро е= {vi,vj} или е= {vj,vi}.
Ребра ei , ej наз-ся смежными, если они нцидентны одной и той же вершине. Степенью вершины vi наз-ся число ребер, инцедентных этой вершине: deg v1=4; deg v3=1; deg v2=2; deg v4=1.
Лемма: Если E=q, V=p, то deg vi=2q.
Следствие: Число вершин нечетно, степень четна: deg vi + deg vi=2q, G1=(V1,E1)наз -ся подграфом графа G если V1V и E1E. Граф G=(V, E) u G*=(V*, E*) изоморфные если сущ-ет биекция : VV*, пара {vi,vj}Е (vi,vj)E*. Путем в графе G наз-ся последовательность ребер и вершин вида: p=v0(v0v1)v1(v1v2)v2...vn-1(vn-1vn)vn. Длиной пути наз-ся число ребер, входящих в этот путь. Путь - цепь, если в нем не повторяются ребра. Простая цепь, если не повторяются вершины. Замкнутый путь - если vn=v0, замкнутая цепь наз-ся циклом, замкнутая простая цепь - простым циклом.
Лемма о существовании простой цепи.
Путь p=(v0vn), тогда всегда можно выделить подпуть p1p и p1 - простая цепь. 1) Пусть в р вершины не повторяются простая цепь. Если не так p=v0A1vA2vA3vn, p`=v0A1vA3vn
За конечное число шагов мы доберемся до простой цепи.
Вершина vi связана с vj в неориентированном графе если сущ-ет путь р= (vi,vj). Граф наз-ся связным если любые две вершины связаны. Отношение связности вершин: (v v)S - отношение связности. 2) (vi,vj)S (vj,vi)S . 3) (vi,vj)S, (vj,vk)S (vi,vk)S. V=V1V2...Vk, ViVj=. Связной компонентой графа G наз-ся подграф G1=(V*,E*), G1G, V* - класс эквивалентности
Т-ма о связи вершин с нечетными степенями.
Если в графе ровно две вершины с нечетными степенями, то они связаны путем. Если вершины двум разным компонентам, то получается в каждой связной компоненте лежит одна вершина с нечетной компонентой - этого быть не может. Если вершины одной связной компоненте, то они связаны путем.
Т-ма о присоединении ребра.
G=(V, E) - связный граф. v1,v2 V, a (v1,v2)E, (v1,v2)=e, тогда добавление ребра е к графу G приводит к образованию цикла. Т.к. G - связный, то сущ-ет путь p (v1,v2)=v1 c v2 v2 c` v1 выделим простую цепь v1Av2 и v2A`v1, v1 e v2 A` v1 - просто цикл G {e}
Т-ма о удалении ребра из цикла
G - связный граф. CG - цикл, e=(v1v2) - ребро C G \ {e} - связный граф. С=v1ev2Av1. Пусть v`,v`` G\{e}. B G сущ-ет p (v`v``),тогда 1)ep (v`v``) p (v`v``)G \{e} 2)ep (v`v``) p (v`v``)=v` A1 v1 e v2 A2 v``. Сущ-ет A` между (v1v2)
p` (v`v``)= v`A1v1A`v2A2v`` G \{e}
Т-ма о кол-ве связных компонент
G=(V,E). V=p, E=q, k-число связных компонент kp-q. Если в G нет циклов k=p-q. v1,v2V; (v1v2)E. G (v1v2). G`=(V,). Добавление ребра приводит уменьшение числа компонентов максимум на 1. Добавив q ребер, тогда k уменьшится максимум на q. Если нет циклов, то k уменьшится строго на q.
Следствие
Если q p-2 граф несвязен. p-q 2; k p-q 2 граф несвязен
Деревья.
Деревом наз-ся связный граф без циклов. Остовным деревом графа G наз-ся подграф G1=(V1,E1) и G1 - дерево
Т-ма о существовании остовного дерева
Для любого связного графа G сущ-ет остовное дерево.
Если граф - дерево, то т-ма доказана. Если G - не дерево, но он связен, тогда в нем сущ-ют циклы С: еС G \ e - связен. За конечное число шагов мы разорвем все циклыдерево
Т-ма о числе ребер в дереве
G=(V,E) - дерево. V=p, E=q, тогда q=p-1. По т-ме о числе связных компонентов: k p-q и в частности (т.к. нет циклов)
k=p-q, a k=1 q=p-1
Т-ма об эквивалентности определений дерева
Следующие определения попарно эквивалентны:
G - связный граф без циклов
G - без циклов и q=p-1
G - связный граф и q=p-1
G - связен, но при удалении любого ребра становится несвязен.
G - без циклов, но при добавлении любого ребра образуется цикл.
123451
12 - доказано.
23. Т.к. без циклов k=p-q, но q=p-1=p-k k=1 - связен
34 При удалении станет q=p-2, a k p-q=p-p+2 k 2 - граф несвязен.
45 Пусть в G есть цикл, тогда при удалении ребра он будет связен, что противоречит 4)
51 Пусть не связен, тогда добавим ребро, соединяющее две разные связные компоненты, что не приводит к образованию цикла и противоречит 5).
Дерево - минимальный связный граф и максимальный граф без циклов.
Корневые деревья.
Граф с единственной вершиной и пустым мн-вом Е наз-ся корневым деревом с корнем v. 2.Индукционное предположение.
D1, D2,..., Dn - корневые деревья с корнями v1, v2,..., vn и Di=(Vi, Ei), Vi Vj=. Рассмотрим D=(V, E), V=V1 V2... Vn v , v Vi, E= E1 E2... En {(vv1), (vv2),..., (vvn)}, тогда D - корневое дерево с корнем v. Корневое дерево наз-ся упорядоченным если задан порядок его поддеревьев и каждое поддерево явл-ся упорядоченным корневым деревом. Дерево с единственной вершиной пустое слово. Пусть k1,..., kn - коды поддеревьев. 0k110k21...0kn1 - код дерева.
Лемма о коде дерева.
k - длина кода. n(k) - число нулей; e(k) - число 1. k=2q, q=E. n(k)=e(k). n(k`) e(k`). Kогда k`=0k11...0ks1, то n(k`)=e(k`). k1...ks - коды первых S поддеревьев. Когда k`=0k11...0ks`, то n(k`)e(k`). ks=ks`ks``. 1. Индукция по построению дерева.
а) Дерево с единственной вершиной k= все равно нулю и выполняется. б) Пусть утверждения верны для k1,...,kn : k= ki+ 2n= 2qi+ 2n= 2(qi+n)= 2q ki n(ki)= e(ki), а для кода k мы добавляем одинаковое кол-во нулей и единиц. n(k`)= n(ki)+ n(ks`)+ S e(ki)+ e(ks`)+ (S-1)+1=e(k`)+1 e(k`) n(k`)e(k`)
Т-ма о числе упорядоченных корневых деревьев.
Число упорядоченных корневых деревьев с q ребрами 4q. Каждому упорядоченному корневому дереву ставится в соответствие его код. Из предыдущей леммы следует: коду соответствует его дерево. Код - слово из 0 и 1, длины 2q. Кодов слов из 0 и 1, длины 2q= =22q=4q
Геометрическая реализация графов.
G=(V, E) ; V={vi}; vi ai R3. (vi vj) L(ai aj). Кривые, соотвествующие разным ребрам не имеют общих точек, кроме кольцевых. Такое мн-во точек и кривых наз-ся геометрической реализацией графа.
Т-ма о трехмерной реализации графа.
Любой граф можно реализовать в трехмерном пространстве без пересечения ребер. Е=q
Проведем через эту прямую пучок, состоящий из q полуплоскостей, чтобы каждое ребро реализовывалось в своей плоскости Граф наз-ся плоским или планарным если допускает геометрическую реализацию на плоскости.
не планарный
Грани.
G - плоский граф. Рассмотрим его геометрическую реализацию на плоскости, тогда гранью наз-ся мн-во точек плоскости, не принадлежащих графу и любые две точки этой грани можно соединить непрерывной кривой, каждая точка которой тоже не принадлежит графу.
1,...,4,5 - грани
Т-ма Эйлера о плоских графах.
r - число граней. При любой геометрической реализации графа на плоскости выполняется формула p - q + r = 2.
1. p фиксируем, индукция по q. Минимальный q, при котором граф граф связан G - дерево и q=p-1, r=1 p-q+r=p-(p-1)+1=2 формула верна. Индуктивное предположение. Пусть формула верна для некоторого q0p-1 : p-q0+r=2.
Рассмотрим граф с q0+1 ребром и r гранями q0+1p граф не дерево в нем сущ-ет цикл С. Пусть еС, рассмотрим граф G\e - этот граф связан, планарен, число ребер равно q0, граней r-1. p-q0+r-1=2 p-(q0+1)+r=2.
Cледствие: Формула Эйлера для геометрической реализации графа на сфере.
Рассмотрим геометрическую реализацию связного графа на сфере. p-q+R=2 - верна. Возьмем точку на сфере, принадлежащую грани.
Взяли стереографическую проекцию этого графа на плоскость. На плоскости получим геометрическую реализацию графа. Без пересечения линий, со столькими же ребрами и гранями, вершинами, а для плоского графа формула верна.
Формула Эйлера для многогранника.
Возьмем выпуклый многогранник, для него верна формула p-q+R=2. Берем многогранник, окружим его сферой, берем любую точку вне многогранника и проводим луч из полюса, ее проекция на сферу будет отображением (геом. реализацией) многогранника к предыдущей формуле.
Формула Эйлера для несвязного графа.
Пусть G - несвязный, планарный граф с p - вершинами и k - связных компонентов p-q+R=k+1 (*). (pi-qi+Ri) = 2 pi-qi+Ri=2k p-q+R+k-1=2k (*).
Т-ма о связи числа ребер с длиной минимального цикла.
G - связный планарный граф. L - длина минимального цикла; L3 (все циклы 1), тогда q L(p-2)/(L-2). Рассмотрим i-ую грань; qi - число ребер, ограничивающих i-ю грань qi=2q; qi L , 2q RL, p-q+R=2 R=2-p+q, 2q 2L-pL+qL
qL(p-2)/(L-2). Если G - связный планарный граф без кратных ребер, петель, то в нем q 3p-2, т.е. L3. Граф полный если любые две вершины связаны ребром; kn - полный граф на n вершинах. q = Cn2. Граф наз-ся двудольным если V= V1 V2 (V1 V2= ) и e= (vi vj) viV1 vj V2. Двудольный граф полный если все вершины из первой доли связаны с каждой вершиной второй доли.
Т-ма о существовании вершины со степенью 5.
Пусть G - связный планарный граф, тогда сущ-ет вершина со степенью 5 (без кратных ребер и петель). dig v5. Пусть не так, т.е. dig vi5, тогда для всех вершин dig v6. dig vi=2q 2q6p q3p, но q3(p-2) противоречие.
Т-ма о не планарности k=5,k=3,3.
K=5 и k=3,3 не планарны. Пусть k=5 планарен qL(p-2)/(L-2), где L=3 q3(p-2)=9. Если q=10 он не планарен. Пусть k=3,3 планарен L=4; q2(p-2)=8. Если q=9 не планарен. Операция подразбиения ребра графа наз-ся следующая операция: удаляем (vivj), берем новую вершину v, добавляем (viv), (vvj). Граф G1 наз-ся подразбиением G если он получен из G путем конечного числа подразбиения ребер. G1и G2 - гомиаморфные если сущ-ет их разбиение, к-ое изоморфно. Гомиаморфные от- личаются вершинами степени 2.
Критерий планарности графа.
G планарен он не содержит подграфов гомиаморфных к=5 и к=3,3. Пусть G планарен, тогда докажем, что не содержит подграфов гомиаморфных к=5 и к=3,3. Пусть G содержит подграфы гомиаморфные к=5 и к=3,3. допускает геометрическую реализацию на плоскости без пересечения ребер. к=5 тоже реализуется на плоскости без пересечения ребер и у него есть подразбиение изоморфно к=5. G гомиаморфно к=5 к=5 - пресечение ребер, но к=5 - планарен противоречие.
Раскраска графов.
G=(V, E). C={c1, c2,..., cs} - цветами (красками). Отображение V в C - раскраска. Раскраска наз-ся правильной если e= (vivj) c(vi) c(vj). Граф наз-ся к-раскрашиваемым, если его можно правильно раскрасить к-цветами. Если граф к-раскрашиваем, но его нельзя раскрасить (к-1) - цветами, то к - хроматическое число графа: (G)=к, а сам граф наз-ся
к-хроматическим. (kn)=n; (km,n)= полный двудольный граф =2. Идея раскраски географических карт сводится к идеи раскраски графа (страны, имеющие общую границу раскрашиваются в разные цвета).
Т-ма о раскраски произвольного графа.
G=(V, E) - связный граф без петель, n=max deg vi (максимальная степень вершин графа), тогда граф (n+1) - раскрашиваем.
Индукция по p (по числу вершин). p=1 max deg vi = 0 граф 1-раскрашиваем. p=k max deg vi = n, граф (n+1)-раскрашиваем. p=k+1 max deg vi = n. Удалим одну вершину графа: G\v - в нем к-вершин, max deg vin , и этот граф по индуктивному предположению правильно раскрашиваем (n+1) цветом или (n+1) цветом. Вершина v: deg vn, выкрасим вершину v в (n+1) цвет из тех, которые вершину не окружают.
Т-ма о раскраске планарного графа.
Любой связный планарный граф без петель 5-раскрашиваем. Индукция по числу вершин. p=1 - красим в 1 цвет.
Пусть p=n и граф - 5-раскрашиваем. p=n+1, граф планарный, рассмотрим его геометрическую реализацию на плоскости.
По т-ме о вершинах планарного графа сущ-ет вершина v0: deg v05 . Рассмотрим граф G\v0- - удовлетворяет индуктивному предположению G\v0 - 5-раскрашиваем.
среди цветов вершин смежных с v0 нет хотя бы одного цвета v0 в этот цвет среди цветов вершин есть все 5 цветов организуем V1={v: до них можно дойти из v1, идя только по вершинам цветов с1 и с3}, тогда: вершина v3V1 в V1 мы перекрасим с1 в с3, а с3 в с1, тогда v0 выкрасим в с1. v3V1 V2={v: до которых можно дойти из v2, идя по вершинам цветов с2 и с4 }, тогда: 1) v4V2 c2 меняем на с4 и с4 на с2 , тогда v0 выкрасим в с2. 2) v4V2 - такого быть не может, т.к. ребра будут пересекаться , что не может быть, т.к. граф планарный.