Diskrtn matematika Roman ada Tom Kaiser Zdenk Ryjek
Katedra matematiky FAV Zpadoesk univerzita v Plzni 2004
ii
vodem Mte ped sebou text k pednce Diskrtn matematika pro prvn ronk na Zpadoesk univerzit v Plzni. Clem pednky, a tm i tto publikace, je nejen pedat zkladn znalosti o diskrtn matematice, ale tak pispt k tomu, aby se posluchai a teni zdokonalili ve schopnosti pesnho mylen a formulovn, a zskali cit pro vnitn krsu matematickho argumentu. Diskrtn matematika je modern a dynamickou disciplnou, kter zce souvis jak s ostatnmi matematickmi obory (nap. s linern algebrou nebo analzou), tak s teoretickou informatikou. Za adu impuls vd prudkmu rozvoji pota a komunikace ve druh polovin minulho stolet. Skripta vznikla voln na zklad starho textu 1]. Pedpokladem pi jejich etb je znalost linern algebry v rozsahu vodnho kursu. Lze je zhruba rozdlit na dv sti: prvn tyi kapitoly jsou vnovny matematickm strukturm, u ostatnch osmi jsou tmatem zklady teorie graf. Doporuujeme vypracovat co nejvce cvien | stejn jako v jinch oborech i v diskrtn matematice ten nejvce zsk, kdy ltku samostatn proml. Cvien jsou oznaena symbolem I, u obtnjch problm jsou tyto symboly dva. Vsledky vybranch cvien jsou uvedeny na konci skript. Jedn se pedevm o ta cvien, ve kterch je clem zodpovdt njakou otzku (a nikoli dokzat njakou vtu). Jsou na svt matematick knihy, jejich etba je zbavou a obas i \dobrodrustvm poznn". Snaili jsme se, aby k nim patila i tato skripta zda se to podailo, posoud nejlpe ten. Sv podnty, postehy a upozornn na chyby poslejte prosm na adresu
[email protected]. Opravy a doplky budou k dispozici na internetov strnce http://home.zcu.cz/~kaisert/dma/errata. Dkujeme autorm softwaru pouitho pi pprav tto publikace. Jedn se pedevm o tyto programy a soubory maker: TEX, LATEX, MetaPost, dvipdfm, subgure, hyperref, emp a dvichop. V textu jsou pouita cvien z knih 3], 4], 5] a 6]. Dle dkujeme kolegovi J. Brouskovi za cenn pipomnky k pracovnm verzm tohoto textu. Plze, nor 2004
Autoi iii
iv
Obsah vodem 1 Relace 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8
Strun o mnoinch . . . . . . Relace . . . . . . . . . . . . . . Znzornn relac . . . . . . . . Skldn relac . . . . . . . . . . Zobrazen . . . . . . . . . . . . Znzornn relac na mnoin X Vlastnosti relac . . . . . . . . . Ekvivalence a rozklady . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
ii 1
. 1 . 3 . 5 . 5 . 9 . 11 . 12 . 14
2 Algebraick struktury
19
3 Uspodn a svazy
27
2.1 Grupy a tlesa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.2 Aritmetika modulo p . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.1 3.2 3.3 3.4
Uspodn . . . . . . . . . . . . . . . . . . Hassev diagram . . . . . . . . . . . . . . . Zkladn pojmy v uspodanch mnoinch Svazy . . . . . . . . . . . . . . . . . . . . .
4 Booleovy algebry 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9
De#nice . . . . . . . . . . . . . . Booleovsk potn . . . . . . . . Booleovy algebry podmnoin . . . Dva pohledy na Booleovu algebru Atomy . . . . . . . . . . . . . . . Stoneova vta o reprezentaci . . . Direktn souin . . . . . . . . . . Booleovsk funkce . . . . . . . . . Soutov a souinov tvar . . . . v
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
27 28 31 33
41
41 43 44 46 46 48 51 52 54
vi
Obsah
5 Grafy 5.1 5.2 5.3 5.4 5.5
De#nice . . . . . . . . . Nkter zkladn grafy . Isomor#smus a podgrafy Stupn . . . . . . . . . . Soubor stup . . . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
6 Cesty v grafu 6.1 6.2 6.3 6.4 6.5 6.6 6.7
Sled, cesta a tah . . . . . . . . . . Homomor#smy . . . . . . . . . . Souvisl grafy . . . . . . . . . . . Vlastnosti souvislch graf . . . . Krunice . . . . . . . . . . . . . . Eulerovsk a hamiltonovsk grafy $asov sloitost algoritmu . . . .
7 Stromy 7.1 7.2 7.3 7.4
De#nice . . . . . . . . Kostry . . . . . . . . . Binrn stromy . . . . Hu%manovo k&dovn .
8 Orientovan grafy 8.1 8.2 8.3 8.4 8.5
. . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . . .
Incidenn matice . . . . . . . . . . 'dky jako vektory . . . . . . . . . Hodnost incidenn matice . . . . . Faktory jako mnoiny sloupc . . . Potn koster . . . . . . . . . . . Potn koster: neorientovan grafy
10 Linern prostory grafu 10.1 10.2 10.3 10.4 10.5
. . . .
De#nice orientovanch graf Siln souvislost . . . . . . . Acyklick orientovan grafy Tranzitivn uzvr . . . . . . Kondenzace . . . . . . . . .
9 Matice a poet koster 9.1 9.2 9.3 9.4 9.5 9.6
. . . .
. . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
Incidenn matice neorientovanho grafu Hodnost nad Z2 . . . . . . . . . . . . . . Vektory a faktory . . . . . . . . . . . . . Hvzdy, separace a ezy . . . . . . . . . Ortogonalita . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
59
59 60 61 63 64
67
67 68 68 70 72 73 76
79
79 82 83 87
93
93 94 96 98 99
103
103 104 106 107 108 110
113
113 114 115 117 119
Obsah
vii
10.6 Fundamentln soustavy krunic a ez . . . . . . . . . . . . . . . 121 10.7 Nesouvisl grafy . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
11 Vzdlenost v grafech
125
11.1 Matice sousednosti a poty sled . . . . . . . . . . . . . . . . . . 125 11.2 Vzdlenost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
12 Ohodnocen grafy 12.1 12.2 12.3 12.4 12.5 12.6
De#nice ohodnocench graf . . Dijkstrv algoritmus . . . . . . Matice vench vzdlenost . . Minimln kostra . . . . . . . . Problm obchodnho cestujcho Toky v stch . . . . . . . . . .
Vsledky cvien Literatura
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
131
131 133 134 138 140 142
145 163
viii
Obsah
Kapitola 1 Relace (vodn kapitola je vnovna dleitmu a velmi obecnmu pojmu relace, kter zasteuje adu na pohled rznorodch pojm jako zobrazen, ekvivalence nebo uspodn. Protoe relace popisuj vztahy mezi prvky mnoin a navc jsou samy mnoinami, bude vhodn mnoiny nejprve krtce pipomenout.
1.1 Strun o mnoinch Mnoiny pat k zkladnm matematickm objektm. V jistm smyslu je cel matematika, jak ji dnes znme, vystavna na pojmu mnoiny. Vechny ostatn matematick objekty, a) jde o pirozen sla nebo spojit funkce, lze toti modelovat pomoc mnoin. Komplikovan vlastnosti mnoinovho svta jsou pedmtem samostatnho oboru, tzv. teorie mnoin. Ns ale v tto pednce nebudou jemnosti tto teorie pli zajmat a posta nm nsledujc intuitivn pohled na vc. Mnoina je pro ns soubor navzjem rznch objekt1 , kter oznaujeme jako jej prvky. Je-li a prvkem mnoiny X , peme a ∈ X , jinak a ∈/ X . Mnoina je bu* konen (m-li konen poet prvk) nebo nekonen. Poet prvk konen mnoiny X oznaujeme symbolem |X|. Sestv-li mnoina X z prvk x1, . . . , xk , peme X = {x1 , . . . , xk }. Podobn napklad zpis X = {m ∈ N : m je sud slo} znamen, e mnoina X je sloena ze vech sudch pirozench sel (symbol N bude i nadle oznaovat mnoinu vech pirozench sel). Podmnoina mnoiny X je mnoina Y , jej kad prvek je tak prvkem mnoiny X . Je-li Y podmnoinou mnoiny X , peme Y ⊂ X (ppadn Y ⊆ X , chceme-li zdraznit, e mnoiny X, Y mohou bt shodn). Pro pocvien ve formlnm zpisu meme de#nici vyjdit takto: Y ⊂X 1
prv kdy
∀y
:
y ∈ Y ⇒ y ∈ X.
Nekme u ale, co to je objekt. V tom prv spov intuitivnost na eho pstupu.
1
2
Kapitola 1. Relace
Mnoina Y ⊂ X je vlastn podmnoinou mnoiny X (psno Y & X ), pokud plat Y = X . Vimnme si, e przdn mnoina ∅ (tj. mnoina, kter nem dn prvky) je podle de#nice podmnoinou kad mnoiny. Mezi pojmy prvek a podmnoina je zsadn a nkdy pehlen rozdl. Je-li X = {1, 2, 3}, pak plat 1 ∈ X , ale zpis 1 ⊂ X nem smysl, protoe pirozen slo 1 (alespo zatm) nepovaujeme za mnoinu. Podobn plat {1} ⊂ X , ale neplat {1} ∈ X . Dal podmnoiny mnoiny X jsou napklad ∅, {2, 3} nebo X . Jin pklad: plat ∅ ⊂ ∅, ale ∅ ∈/ ∅, protoe mnoina ∅ dn prvky neobsahuje. S mnoinami lze provdt nsledujc zkladn operace. Prnik X ∩ Y sestv ze vech spolench prvk mnoin X a Y , sjednocen X ∪ Y ze vech prvk alespo jedn z mnoin X a Y , rozdl X − Y (psno tak X \ Y ) je sloen ze vech prvk mnoiny X , kter nejsou obsaeny v mnoin Y . Kartzsk souin X × Y mnoin X a Y je mnoina vech uspodanch dvojic (x, y ), kde x ∈ X a y ∈Y. Cvien
I 1.1 Napite formln de#nici sjednocen, prniku a rozdlu mnoin. I 1.2 Dv mnoiny A, B jsou si rovny 2, pokud maj pesn tyt prvky, tedy pokud plat A ⊂ B a B ⊂ A. Dokate pmo z de#nic, e pro mnoiny A, B, X plat de Morganovy3 zkony: X − (A ∪ B ) = (X − A) ∩ (X − B ), X − (A ∩ B ) = (X − A) ∪ (X − B ).
I 1.3 Nech) A je n-prvkov mnoina. Kolik m podmnoin? Kolik z tchto podmnoin m sud poet prvk? n-prvkov mnoiny oznaujeme symbolem I;n1.4 Poet k-prvkovch podmnoin ;n
(teno `n nad k'). $slm
k
k
se k kombinan sla.
;
n (a) Vyjdete jako vraz v promnnch n, k. Urete kombinan sla ;10 ;10 ;k 0 6 , 0 a 0 .
(b) Dokate, e plat
n k
+
n
k+1
=
;6
3
,
n+1 . k+1
Tento `oividn fakt' je vlastn de nic rovnosti mnoin. V teorii mnoin jde o jeden ze zkladnch axiom. 3 Augustus de Morgan (1806{1871). 2
1.2. Relace
3
(c) Dokate
n X i i=k
I 1.5 Spotejte: (a)
k
=
n+1 . k+1
n X n k =0
(b)
n X k =0
(−1)
k
,
k
n . k
I 1.6 Symetrick rozdl mnoin A, B de#nujeme pedpisem A B
= (A − B ) ∪ (B − A).
Dokate podrobn: (a) A (A ∩ B ) = A − (A ∩ B ), (b) A (A ∪ B ) = (A ∪ B ) − A.
I 1.7 Dokate: X ⊂ A ∪ B ⇐⇒ (X − A) ⊂ B ⇐⇒ (X − A) ∩ (X − B ) = ∅.
I 1.8 Plat pro libovolnou tveici mnoin rovnost A × B = C × D prv tehdy, kdy A = C a B = D? Jak se situace zmn, nahradme-li vechny symboly rovnosti `=' symbolem `⊂'?
1.2 Relace Mjme dv mnoiny X ,Y a pedstavme si, e kad prvek x ∈ X me (a nemus) bt ve `vztahu' R s libovolnm potem prvk y ∈ Y . Na tento vztah nejsou kladeny dn dal podmnky. Pirozenm zpsobem, jak takov vztah popsat, je vyjmenovat vechny dvojice (x, y ) prvk x ∈ X a y ∈ Y , kter spolu jsou ve vztahu R. Pipomeneme-li si, e kartzsk souin X × Y je v oddlu 1.1 de#novn jako mnoina vech uspodanch dvojic s prvnm prvkem z mnoiny X a druhm prvkem z mnoiny Y , dostvme se k nsledujc de#nici pojmu relace:
Denice 1.1 Relace z mnoiny X do mnoiny Y je libovoln podmnoina R
kartzskho souinu X × Y .
4
Kapitola 1. Relace
Takov relaci se k binrn, protoe uruje vztah mezi dvojicemi objekt. De#nici lze snadno zobecnit na n-rn relace (vztahy mezi n-ticemi prvk), ale ns zajm pedevm binrn ppad. Je-li dna relace R z mnoiny X do mnoiny Y , pak pro kadou dvojici (x, y ) ∈ R tak peme x R y (a teme `prvek x je v relaci R s prvkem y '). Dan prvek x ∈ X ovem nemus bt v relaci R s dnm prvkem mnoiny Y (v extrmnm ppad me bt relace R teba przdn). Proto de#nujeme lev obor relace R jako L(R) = {x ∈ X : existuje njak y ∈ Y tak, e x R y} a podobn prav obor P (R) = {y ∈ Y : existuje njak x ∈ X tak, e x R y} P klad 1.2 Vezmme si napklad mnoiny X = {2, 3, 5} a Y = {1, 4, 7, 10}. Jedna z relac z mnoiny X do mnoiny Y pak vypad teba takto: R = {(2, 4), (2, 10), (5, 10)}. Relace R m shodou okolnost dosti pirozen popis plat toti, e x je v relaci s y , prv kdy x dl y . To ale vbec nen podmnkou: stejn tak je relac z X do Y teba mnoina {(2, 4), (3, 7), (5, 1)}, u kter dn takov popis asi nenajdeme. Cvien
I 1.9 Mjme mnoiny pirozench sel A = {1, 2, 3, 4} a B = {3, 4, 5, 6}. Urete lev a prav obor relace R = {(a, b) : a ≥ b, a ∈ A, b ∈ B} z mnoiny A do mnoiny B . I 1.10 Nech) A = {1, 2, 3, 4}, B = {a, b, c} jsou dv mnoiny. Uvame nsledujc relace z A do B : R = {(1, a), (1, c), (2, b), (3, a), (3, b), (4, b), (4, c), (4, d)} T = {(1, b), (1, c), (3, a), (4, a)}. Urete mnoiny R ∪ T , R ∩ T , R − T a symetrick rozdl R T . Jedn se ve vech ppadech o relace? I 1.11 Mjme m-prvkovou mnoinu X a n-prvkovou mnoinu Y . Kolik je vech binrnch relac z X do Y ? (Hdte-li m · n, pette si jet jednou de#nici.) I 1.12 Nech) R a S jsou relace z mnoiny X do mnoiny Y . 'ekneme, e relace R implikuje relaci S , plat-li xR y ⇒ xS y
pro kad x ∈ X a y ∈ Y . Co to znamen o relacch R a S jakoto o mnoinch uspodanch dvojic?
1.3. Znzornn relac
5
1.3 Znzornn relac Relaci R z minulho pkladu meme znzornit nkolika uitenmi zpsoby. Na obr. 1.1a je znzornn kartzsk souin X × Y , v nm jsou plnmi krouky zvraznny prvky relace R. Na obr. 1.1b pak jednotlivm prvkm mnoin X a Y odpovdaj body, piem mnoina X je zobrazena vlevo a mnoina Y vpravo. Dva body jsou spojeny arou, pokud jsou odpovdajc prvky v relaci R. Relace R je tak znzornna v podob grafu, co je pojem, kterm se budeme zabvat v pozdjch pednkch. Tmto dvma typm znzornn relace R budeme kat kartzsk a grafov znzornn. Y 10
10 5
7
7 3
4
4 1
2 2
3
1
5
(a)
X
X
(b)
Y
Obrzek 1.1: Dva zpsoby zobrazen relace: (a) jako podmnoina kartzskho souinu, (b) jako graf.
Cvien
I 1.13 Jak z obr. 1.1a a 1.1b poznme lev a prav obor relace R? I 1.14 Znzornte obma zpsoby relaci R ze cvien 1.9.
1.4 Skldn relac Za chvli uvidme, e zobrazen (funkce), jak je znme z analzy, jsou specilnm ppadem relac. Nsledujc de#nice skldn relac je zobecnnm pedstavy skldn funkc.
6
Kapitola 1. Relace
Denice 1.3 Nech) R je relace z mnoiny X do mnoiny Y a S je relace z mno-
iny Y do mnoiny Z . Pak sloen relac R a S je relace R ◦ S ⊂ X × Z z mnoiny X do mnoiny Z , de#novan takto: (x, z) ∈ R ◦ S, prv kdy existuje y ∈ Y tak, e x R y a y S z, kde x ∈ X a z ∈ Z . Vimnme si, e sloen relac R,S je de#novno jen v ppad, e relace R `kon' v mnoin, kde S `zan'.
Podvejme se na konkrtn pklad. Nech) X = {1, 2, 3, 4, 5}, Y = {5, 6, 10} a Z = {7, 12, 18, 20}, a de#nujme relace R ⊂ X × Y a S ⊂ Y × Z opt pomoc dlitelnosti (tedy napklad pro x ∈ X a y ∈ Y bude (x, y ) ∈ R, pokud x dl y ). V grafovm znzornn relac R a S dostaneme situaci na obr. 1.2a. R
5
5
S
20
10
4
R◦S 20
4
18 3
6
2
12
5
1 X
Y
(a)
18 3
7 Z
12 2 1 X
7 Z
(b)
Obrzek 1.2: (a) Relace R a S , (b) jejich sloen. Z de#nice skldn plyne, e prvky x ∈ X a z ∈ Z budou v relaci R ◦ S , pokud se z x do z d pejt `po spojnicch' pes njak prvek y ∈ Y . Ovte, e R ◦ S vypad jako na obr. 1.2b. V tomto znzornn relace je prhledn i dal pojem: inverzn relace.
Denice 1.4 Relace inverzn k relaci R
de#novan vztahem pro x ∈ X, y ∈ Y .
y R −1 x
⊂ X ×Y
je relace
R −1 ⊂ Y × X ,
prv kdy x R y
V grafovm znzornn se pechod k inverzn relaci projev zrcadlovm otoenm obrzku podle svisl osy. Jak tomu bude v kartzskm znzornn? (Cvien 1.18.) Vezmme napklad relaci S z obr. 1.2a. Relace inverzn k S bude S −1 = {(20, 5), (12, 6), (18, 6), (20, 10)}
1.4. Skldn relac
7
a jedn se o relaci z mnoiny Z do mnoiny Y . Nech) je dna mnoina X . Msto o `relaci z X do X ' mluvme prost o relaci na mnoin X . Vimnme si, e pro kad dv relace na X je de#novno jejich sloen. Vznanm pkladem relace na mnoin X je identick relace EX = {(x, x) : x ∈ X}. Co se stane, slome-li relaci R ⊂ X ×Y s relac k n inverzn? Zjevn R◦R−1 je relace na mnoin X a lkav hypotza je, e je rovna identick relaci EX . To ale nen pravda, jak ukazuje teba przdn relace R = ∅, pro kterou je R◦R−1 rovn przdn. Obecn neplat ani jedna z inkluz mezi EX a R◦R−1. (Viz cvien 1.19.) Podobn je tomu u opanho poad skldn, toti pro relace R−1 ◦ R a EY . Zle u skldn operac na poad? Obecn samozejm ano | pokud R je relace z X do Y , a S je relace z Y do Z , pak R ◦ S je dobe de#novan relace, zatmco S ◦ R de#novna nen. Jsou-li ovem R,S relace na mnoin X , pak tento problm neme nastat. Ani tam ale nemus bt R ◦ S = S ◦ R. Pkladem je tato situace: mnoina X je dvouprvkov, X = {a, b}. Relace R ⊂ X × X sestv z jedin dvojice (a, a), zatmco S = {(a, b)}. Pak plat R ◦ S = {(a, b)} a S ◦ R = ∅. (Tto otzky se tk tak cvien 1.17.) Tebae u skldn relac zle na jejich poad (nen to tedy komutativn operace), jednou pknou vlastnost ns skldn pekvap. Je toti asociativn, co znamen, e nezle na zpsobu, jakm relace uzvorkujeme. Pesnji to vyjaduje nsledujc vta. Jej dkaz me bt pi prvnm ten ponkud obtn, vyplat se ale jej dkladn prostudovat.
Vta 1.5 (O asociativit skldn relac ) Nech R ⊂ X × Y , S ⊂ Y × Z a
T ⊂ Z ×W
jsou relace. Potom
R ◦ (S ◦ T ) = (R ◦ S ) ◦ T.
Dkaz. K lepmu pochopen dkazu me pomoci, budeme-li si relace R, S , T
pedstavovat v grafovm znzornn jako na obr. 1.3. Dejme tomu, e x ∈ X a w ∈ W jsou spolu v relaci R ◦ (S ◦ T ). Podle de#nice sloen relac R a S ◦ T to znamen, e existuje y ∈ Y tak, e x R y a y (S ◦ T ) w. Opt z de#nice sloen relac S a T existuje z ∈ Z tak, e y S z a z T w. Jinak eeno, pokud x (R ◦ (S ◦ T )) w, pak existuj y ∈ Y a z ∈ Z tak, e x R y S z T w (tj. v naem obrzku lze z x do w pejt `po spojnicch' zleva doprava). A tato implikace plat i obrcen, co plyne pmo z de#nice skldn. Stejn se doke, e x ((R ◦ S ) ◦ T ) w, prv kdy existuj y ∈ Y a z ∈ Z tak, e x R y S z T w. To ovem znamen, e plat x (R ◦ (S ◦ T )) w, prv kdy plat x ((R ◦ S ) ◦ T ) w, protoe ob tato tvrzen jsou ekvivalentn te podmnce. Z toho u vyplv dokazovan vta. 2
8
Kapitola 1. Relace R
S
T
x w X
Y
Z
W
Obrzek 1.3: Ilustrace k dkazu vty 1.5. Cvien
I 1.15 Jak vypad relace EX ve znzornnch z obr. 1.1? I 1.16 Je-li R relace na X , jak vypad sloen R ◦ EX a EX ◦ R? I 1.17 Najdte pklad relace R na njak mnoin X , pro kterou plat (a)
R ◦ R−1 = R−1 ◦ R,
(b)
R ◦ R −1
= R −1 ◦ R .
I 1.18 Jak se li kartzsk znzornn relace R a inverzn relace R−1? I 1.19 Najdte mnoinu X a relaci R na X s vlastnost: (a)
R ◦ R −1
(b)
EX
& EX ,
& R ◦ R −1 ,
I 1.20 Mjme dv relace R a S na mnoin X s vlastnost L(R) = P (S ) a
L(S ) = P (R).
Jsou pak R a S zm nn, tj. plat pak R ◦ S = S ◦ R?
I 1.21 Nech) R, S, T jsou binrn relace na mnoin X . Dokate podrobn: (a) (R ∩ S )−1 = R−1 ∩ S −1, (b) (R ∪ S ) ◦ T = (R ◦ T ) ∪ (S ◦ T ). Zstane vztah (b) v platnosti, nahradme-li v nm vechny symboly sjednocen za prnik?
1.5. Zobrazen
9
1.5 Zobrazen Zobrazen je specilnm ppadem relace. Denice 1.6 Zobrazen (nebo tak funkce ) mnoiny X do mnoiny Y je relace f ⊂ X ×Y , pro kterou plat, e pro kad prvek x ∈ X existuje prv jeden prvek y ∈ Y tak, e (x, y ) ∈ f . Skutenost, e f je zobrazenm X do Y , zapisujeme jako f : X → Y . Pro x ∈ X nazvme ono jedin y hodnotou zobrazen f v bod x a peme f (x) = y . 'kme tak, e prvek x je vzorem prvku y pi zobrazen f . Nepehldnme, e libovoln prvek me mt vce vzor. Napklad relace f z mnoiny X = {1, 2, 3, 4} do mnoiny Y = {a, b, c, d} na obr. 1.4 je zobrazenm. Plat teba f (3) = a atd. 4
d c
3 2
b a
1 X
Y
Obrzek 1.4: Zobrazen f :
X →Y.
Zobrazen mohou mt nkolik dleitch vlastnost. Denice 1.7 Zobrazen f : X → Y je • prost, pokud kad y ∈ Y m nejve jeden vzor pi zobrazen f , • na, pokud kad y ∈ Y m alespo jeden vzor pi zobrazen f , • vzjemn jednoznan (jinak t bijekce ), pokud je prost a na. Zobrazen f z obr. 1.4 nen ani prost, ani na, nebo) prvek c nem vzor, zatmco a m hned dva. Co se stane, utvome-li inverzn relaci k njakmu zobrazen f : X → Y ? Tato inverzn relace f −1 je vdy de#novna (je dokonce de#novna pro libovolnou relaci), ale nemus to bt zobrazen (viz cvien 1.22). Pkladem je teba prv zobrazen f z obr. 1.4. Slome-li dv zobrazen f : X → Y a g : Y → Z , vsledn relace f ◦ g je zobrazen X do Z , pro jeho hodnoty plat (f ◦ g )(x) = g (f (x)). ($asto je mon se setkat i se zpisem v obrcenm poad, ve kterm se stejn zobrazen oznauje jako g ◦ f . V tomto textu se drme ve uvedenho znaen.)
10
Kapitola 1. Relace
Cvien
I 1.22 Ukate, e inverzn relace f −1 k zobrazen f : X → Y je sama zobraze-
nm, prv kdy f je bijekce.
I 1.23 Nech) f : X → Y a g : Y zobrazen.
→Z
jsou dv zobrazen. Dokate, e f ◦ g je
I 1.24 Nech) N je n-prvkov mnoina a M je m-prvkov mnoina. Urete poet: (a) zobrazen mnoiny N do mnoiny M , (b) prostch zobrazen N do M , (c) bijekc mezi N a M .
I 1.25 Najdte pklad zobrazen f : N → N, kter (a) je prost, ale nen na, (b) je na, ale nen prost.
I 1.26 (a) Je-li f ◦ g zobrazen na, mus f bt na? Mus g bt na? (b) Je-li f ◦ g prost zobrazen, mus f bt prost? Mus g bt prost?
I 1.27 Nech) p :
Y → Z je prost pokud p ◦ f = p ◦ g ,
plat, e zobrazen p, kter je na.
X→Y
zobrazen. Ukate, e pro zobrazen f, g : potom f = g . Najdte analogick fakt pro
I 1.28 Mjme zobrazen f : S → T , g : T lev inverzn zobrazen k f , plat-li zobrazen f je:
→ S . 'ekneme, f ◦ g = ES , resp. g ◦ f
e g je prav, resp. = ET . Dokate, e
(a) prost, prv kdy f m prav inverzn zobrazen, (b) na, prv kdy f m lev inverzn zobrazen, (c) bijekce, prv kdy m prav i lev inverzn zobrazen a tato zobrazen jsou shodn.
I 1.29 Relace R ⊂ A × B je: (a) zobrazen, prv kdy R−1 je zobrazen, (b) bijekce, prv kdy R−1 je bijekce, Dokate.
1.6. Znzornn relac na mnoin X
I 1.30 Dokate, e pro bijekce f : X → Y a g : Y (a) (b) (c)
EX EY
11 →Z
plat:
= f ◦ f −1 , = f −1 ◦ f ,
f ◦g
je bijekce.
I 1.31 Najdte bijekci: (a) mnoiny sudch celch sel 2Z na mnoinu celch sel Z, (b) mnoiny celch sel Z na mnoinu kladnch celch sel N+,
I 1.32 Dokate, e zobrazen f : N × N → N de#novan pedpisem f (m, n) =
3n · 2m je bijekce.
1.6 Znzornn relac na mnoin X Pro tuto chvli opustme relace z mnoiny X do mnoiny Y a budeme se vnovat vhradn relacm na jedin mnoin X . Pro takov relace mme k dispozici jet nkolik typ znzornn. Vezmme si jako pklad relaci R na mnoin X = {a, b, c, d, e, f} de#novanou vztahem R = {(a, a), (f, f ), (a, c), (a, e), (b, d), (b, f ), (f, c), (e, a), (c, e)}.
U maticovho znzornn relace R sestrojme matici, eknme M (R), jej dky (a prv tak sloupce) jednoznan odpovdaj prvkm mnoiny X . V matici M (R) bude na dku odpovdajcm prvku x a ve sloupci odpovdajcm prvku y jednika, pokud x R y , a v opanm ppad tam bude nula. Pro ve uvedenou relaci R dostaneme matici 2 3 1 0 1 0 1 0 60 0 0 1 0 17 6 7 60 0 0 0 1 07 6 7, M (R) = 6 7 0 0 0 0 0 0 6 7 41 0 0 0 0 05 0 0 1 0 0 1 v n dky odpovdaj shora dol (a sloupce zleva doprava) prvkm a, . . . , f . Dal variantou je znzornn v podob orientovanho grafu. Idea je podobn jako u grafovho znzornn, ovem s tm, e nyn meme uetit jednu mnoinu bod. Kad prvek mnoiny x bude nyn zastoupen jen jednm bodem (a ne dvma, jako by tomu bylo na obr. 1.1b). Vztah x R y znzornme ipkou z bodu x do bodu y . Vsledek pro ve uvedenou relaci R je na obr. 1.5.
12
Kapitola 1. Relace d
e
c
f a b
Obrzek 1.5: Relace R jako orientovan graf.
1.7 Vlastnosti relac Vzhledem k obecnosti pojmu relace je pirozen, e se relace dle dl podle toho, zda maj nebo nemaj urit zkladn vlastnosti.
Denice 1.8 Relace R na mnoin X je •
re exvn, pokud pro kad x ∈ X plat x R x,
•
symetrick, pokud pro kad x, y ∈ X , x R y ⇒ y R x,
•
slab antisymetrick, pokud pro kad x, y ∈ X , xR y
•
a
y R x ⇒ x = y,
tranzitivn, pokud pro kad x, y, z ∈ X , xR y
a
y R z ⇒ x R z.
Tyto vlastnosti vtinou maj srozumitelnou interpretaci v jednotlivch znzornnch relace R. Uvame teba znzornn pomoc orientovanho grafu. Re0exvn relaci poznme podle toho, e v tomto orientovanm grafu je u kadho z bod `smyka', u symetrick relace m kad z ar svou dvojnici v opanm smru, atd. (Dle viz cvien 1.38.)
P klad 1.9 Uvame relaci S , de#novanou na mnoin kladnch relnch sel R+ pedpisem xS y
prv kdy 2x < y.
1.7. Vlastnosti relac
13
Tato relace nen re0exvn, protoe dokonce pro dn x ∈ R+ nen 2x < x. Nen ani symetrick (sta uvit x = 1, y = 3), a to do t mry, e je dokonce slab4 antisymetrick. Kdyby toti 2x < y a 2y < x, pak bychom dostali 4x < x, co je na R+ nemon. 1dn dvojice tedy nespluje pedpoklad implikace v de#nici antisymetrinosti. Relace S je tak tranzitivn: pokud 2x < y a 2y < z, pak 2x < z/2 a tedy 2x < z. Situace se dramaticky zmn, pokud uvaujeme relaci S zadanou stejnm pedpisem, ale na mnoin zpornch relnch sel R−. Relace S toti je re0exvn a nen slab antisymetrick (dokate!). Nen ani tranzitivn, jak ukazuje trojice x = −2, y = −3, z = −4, pro kterou mme 2x < y a 2y < z, ale neplat 2x < z . Cvien
I 1.33 Dokate, e zobrazen f : X → X je jakoto relace na mnoin X : (a) re0exvn, prv kdy f je identick zobrazen, (b) symetrick, prv kdy f je bijekce a f = f −1, (c) tranzitivn, prv kdy pro vechna y ∈ f (X ) plat y ∈ f −1(y ), kde f −1(y ) = {x ∈ X : f (x) = y}. Jak je mon charakterizovat slab antisymetrick zobrazen?
I 1.34 Nech) X
Z je njak mnoina celch sel. Relace d litelnosti na X je mnoina vech dvojic (x, y ) ∈ X 2 takovch, e x dl y (tj. existuje k ∈ Z ⊂
s vlastnost kx = y ). Dokate, e relace dlitelnosti je slab antisymetrick na mnoin pirozench sel N, ale ne na mnoin nenulovch celch sel Z − {0}.
I 1.35 Rozhodnte, zda relace S v tabulce 1.1 jsou na pslunch mnoinch
(1) re0exvn, (2) symetrick, (3) slab antisymetrick, (4) tranzitivn. Kladn odpovdi dokate, zporn dolote protipkladem. X
I 1.36 Je libovoln tranzitivn a symetrick relace na njak mnoin nutn re0exvn?
I 1.37 Dokate, e je-li relace na mnoin symetrick i antisymetrick, je nutn tranzitivn. Charakterizujte tyto relace.
I 1.38 Jak poznme z maticovho znzornn, zda je relace re0exvn a symet-
rick?
I 1.39 Dokate, e relace R na mnoin X je tranzitivn, prv kdy R ◦ R ⊂ R. 4
I siln, ale tento pojem jsme zatm nede novali.
14
Kapitola 1. Relace x S y , pokud . . . mnoina X (a) R x≤y (b) R x
I 1.40 Nech) R je relace na mnoin X . Tranzitivn uzv r relace R je relace
R+
(rovn na X ) sestvajc ze vech dvojic (x, y ), pro kter lze najt konen poet prvk z1 , . . . , zk s vlastnost x R z1 R z2 R . . . R zk R y.
(Tento zkrcen zpis samozejm znamen x R z1, z1 R z2 atd.) Dokate, e (a) R+ je tranzitivn relace, (b) je to dokonce nejmen tranzitivn relace na X obsahujc R. (Pesnji: pokud T je tranzitivn relace na X , kter obsahuje relaci R, pak tak R+ ⊂ T .) I 1.41 Nech) relace R na mnoin X je re0exvn (symetrick, antisymetrick, tranzitivn). Je pak R−1 tak re0exvn (symetrick, antisymetrick, tranzitivn)?
1.8 Ekvivalence a rozklady Vznan msto mezi relacemi maj ekvivalence. Denice 1.10 Ekvivalence na mnoin X je relace R na mnoin X , kter je re0exvn, symetrick a tranzitivn. P klad 1.11 Dobr pklad ekvivalence se objevil ve cvien 1.35. Nech) X je mnoina vech pmek v rovin. De#nujme na X relaci R pedpisem (p, q) ∈ R prv kdy p a q jsou rovnobn pmky. Peliv ten ji urit nahldl, e relace m vechny ti vlastnosti z de#nice ekvivalence.
1.8. Ekvivalence a rozklady
15
P klad 1.12 Dleitm pkladem ekvivalence, kter se nm bude hodit v pt kapitole, je kongruence modulo p. Jde o relaci na mnoin celch sel Z. Zvolme pevn cel slo p a de#nujme relaci ≡ na Z pedpisem
prv kdy p dl x − y. (Pipomeme, e p d l x − y , pokud x − y = pk pro njak k ∈ Z.) Relace ≡ je re0exvn, protoe p jist pro kad x dl slo x − x = 0. Je tak symetrick, nebo) pokud x − y = kp, pak y − x = (−k) · p. Dokame, e ≡ je tranzitivn. Mjme x, y, z s vlastnost x ≡ y a y ≡ z. Je tedy x − y = kp a y − z = p pro njak k, . Pak ovem x − z = (x − y ) + (y − z ) = kp + p = p(k + ) a x ≡ z. Tm je tranzitivita dokzna. Relace ≡ tedy skuten je ekvivalence. Relacm, kter jsou pouze re0exvn a symetrick (a nemus bt tranzitivn) se nkdy k tolerance. P klad 1.13 Nech) X je mnoina vech k-tic nul a jedniek, kde k ≥ 2. Dv k -tice jsou v relaci R, pokud se li nejve v jednom symbolu. Takov relace R je toleranc, nikoli vak ekvivalenc (ovte!). Jak je tomu pro k = 1? Ekvivalence zce souvis s pojmem rozkladu mnoiny. Denice 1.14 Nech) X je mnoina. (Neuspodan) soubor podmnoin {Xi}i∈I mnoiny X je rozklad mnoiny X , pokud mnoiny Xi jsou neprzdn, navzjem disjunktn a jejich sjednocenm je cel mnoina X . Mnoiny Xi nazvme tdy rozkladu {Xi}i∈I . x≡y
5
4
2
6
1
3
Obrzek 1.6: Rozklad mnoiny {1, 2, 3, 4, 5, 6}. Soubor S = {{1, 3}, {6}, {2, 4, 5}}, znzornn na obr. 1.6, je napklad rozkladem mnoiny X = {1, 2, 3, 4, 5, 6}, zatmco soubory {{1, 2, 3}, {1, 4, 5}, {1, 5, 6}} a {{1, 2}, {3, 4, 5}} nikoli. Zdraznme, e u rozkladu nezle na poad, ve kterm jsou jeho tdy uvedeny, take soubor {{2, 4, 5}, {6}, {1, 3}} je toton s rozkladem S .
16
Kapitola 1. Relace
Vta 1.15 Ekvivalence na X jednoznan odpovdaj rozkladm X . Dkaz. Ukeme, jak dan ekvivalenci ∼ na mnoin X bijektivn piadit rozklad X/ ∼ mnoiny X . Pro x ∈ X de#nujme tdu prvku x pedpisem x]∼ = {y ∈ X : x ∼ y}. Msto x]∼ budeme pst strunji x]. Tvrdme, e pro x, y ∈ X jsou tdy x], y ] bu* shodn nebo disjunktn. Dejme tomu, e nejsou disjunktn, tedy existuje z ∈ x] ∩ y ]. Vezmme libovoln prvek x ∈ x]. Mme x ∼ x a ze symetrie tak x ∼ x. Protoe z ∈ x], je rovn x ∼ z, take z tranzitivity plyne x ∼ z. Konen z faktu z ∈ y ] dostaneme y ∼ z, take z ∼ y a z tranzitivity x ∼ y . Jinmi slovy x ∈ y ]. Ukzali jsme, e kad prvek x tdy x] je rovn prvkem tdy y ]. Tot ale plat i naopak (dkaz je stejn), take x] = y ]. To jsme chtli dokzat. Vezmeme-li tedy soubor mnoin X/ ∼ = {x] : x ∈ X} (kter obsahuje kadou tdu pouze jednou!), dostaneme systm disjunktnch podmnoin mnoiny x. Dky re0exivit je kad tda neprzdn (protoe x ∈ x]) a sjednocenm vech td je mnoina X . Jedn se tedy o rozklad mnoiny X . Je-li naopak dn rozklad {Xi : i ∈ I} mnoiny X , de#nujme relaci R pedpisem x R y, pokud x a y jsou prvky te mnoiny Xi . Relace R je takka z trivilnch dvod ekvivalenc (pro?). K dokonen dkazu zbv si vimnout, e pokud podle ve uvedench pedpis piadme njak ekvivalenci ∼ rozklad a tomu zase ekvivalenci, dostaneme prv vchoz ekvivalenci ∼. Podobn je tomu, vyjdeme-li od rozkladu. Popsan korespondence mezi rozklady a ekvivalencemi tedy opravdu pedstavuje bijektivn vztah. 2 Je-li ∼ ekvivalence, pak se tdy pslunho rozkladu nazvaj tdy ekvivalence ∼.
P klad 1.16 Uvame relaci R na mnoin {1, . . . , 6} s nsledujcm maticovm znzornnm:
2
3
1 0 1 0 0 0 60 1 0 1 1 07 6 7 61 0 1 0 0 07 7 M (R) = 6 60 1 0 1 1 07 . 6 7 40 1 0 1 1 05 0 0 0 0 0 1 ('dky i sloupce odpovdaj po ad prvkm 1, . . . ,6.) Ovte, e se jedn o ekvivalenci. Sestrojme-li pslun rozklad jako v dkazu vty 1.15, dostaneme prv rozklad na obr. 1.6.
1.8. Ekvivalence a rozklady
17
Cvien
I 1.42 De#nujme relaci ∼ podobn jako ≡ v pkladu 1.12, s jednm malm rozdlem:
prv kdy existuje pirozen k tak, e x − y = kp, kde k pirozenm slm adme i nulu. Je relace ∼ ekvivalence? I 1.43 Dokate, e prnik libovolnho souboru ekvivalenc na dan mnoin X je rovn ekvivalence. I 1.44 Nech) R a S jsou ekvivalence na mnoin X . Rozhodnte, kter z nsledujcch relac jsou nutn tak ekvivalence: (a) R ∪ S , (b) R − S , (c) R ◦ S . I 1.45 Dokate: sloen R ◦ S ekvivalenc R a S je ekvivalence, prv kdy R a S jsou zmnn (tj. R ◦ S = S ◦ R). I 1.46 Zjistte, zda nsledujc relace na mnoin R2 jsou ekvivalence, a ppadn najdte geometrickou interpretaci jejich td. U kadho ppadu je uvedena podmnka pro to, aby dvojice (x, y ) a (z, w) z mnoiny R2 byly spolu v relaci. (a) y − x = w − z, (b) y − kx = w − kz (kde k ∈ R), (c) x2 + 4y 2 = z2 + 4w2. I 1.47 Nech) Rn×n je mnoina vech relnch matic o rozmrech n × n. Pro dv takov matice A, B de#nujme5 A ≈ B, pokud A a B maj stejnou hodnost, A B, pokud A a B jsou podobn matice. Ukate, e ob tyto relace jsou ekvivalence na Rn×n, a urete poet jejich td. I 1.48 Nakreslete relaci R z pkladu 1.16 jako orientovan graf. I 1.49 Matici M (R) z pkladu 1.16 je mon prohozenm dvou dk a dvou sloupc pevst do velmi specilnho `blokovho' tvaru. Pokuste se tento tvar de#novat, a na tomto zklad formulovat obecnou charakterizaci ekvivalenc ve tvaru `R je ekvivalence, prv kdy M (R) m perovnn do blokovho tvaru'. Jak souvis blokov tvar s tdami ekvivalence? x∼y
Pipomeme, e A a B jsou podobn, pokud existuje matice P s vlastnost B = PAP ;1 , a e hodnost matice je maximln poet linern nezvislch dek. 5
18
Kapitola 1. Relace
Kapitola 2 Algebraick struktury 'ada algebraickch objekt m podobu mnoiny s njakou dodatenou strukturou. Napklad vektorov prostor je mnoina vektor, ty vak nejsou `jeden jako druh': jeden z nich hraje vznanou roli nulovho vektoru, pro kad dva vektory je dn jejich souet, je de#novna operace nsoben vektoru skalrem atd. Prv tuto dodatenou informaci, kter vektorov prostor odliuje od pouh mnoiny vektor, mme na mysli, kdy mluvme o `struktue'. $asto se i samotn tyto objekty oznauj pojmem algebraick struktury.
2.1 Grupy a tlesa V tomto oddlu pedstavme dva vznan pklady algebraickch struktur: grupu a tleso. Jsou de#novny jako mnoina s jednou resp. dvma operacemi, kter maj (v porovnn s vtinou ostatnch algebraickch struktur) pomrn siln vlastnosti. Pklad grup i tles je pesto podivuhodn ada, a to v nejrznjch oblastech matematiky. Pojem tlesa ostatn ten obeznmen s vektorovmi prostory mon zn. Kad vektorov prostor toti existuje nad uritm tlesem, jeho prvky jsou prv ony skalry, jimi meme vektory nsobit. Vektorov prostory nad tlesem relnch sel (probran v pednce z linern algebry) jsou tak jen jednm specilnm ppadem. Nech) M je mnoina. Zobrazen z M × M do M se nazv (binrn) operace na mnoin M . Takov operace me mt rzn vlastnosti. 'ekneme, e je komutativn operace, pokud pro kad x, y ∈ M je x y = y x (tedy pokud vsledek nezle na poad operand). Operace je asociativn, pokud pro x, y, z ∈ M je x (y z ) = (x y ) z (vsledek nezle na uzvorkovn). Pklad asociativn operace jsme ji vidli u relac. Uvme-li mnoinu vech relac na dan mnoin X a de#nujeme-li operaci ◦ jako sloen dvou relac, bude tato binrn operace asociativn, ale nikoli komutativn. Prvky mnoiny M mohou mt vzhledem k operaci speciln vlastnosti. Prvek 19
20
Kapitola 2. Algebraick struktury
n ∈ M je neutrlnm prvkem (vzhledem k operaci ), pokud pro kad x ∈ M je x n = x a rovn n x = x. Vimnme si, e z de#nice triviln plyne, e takov prvek je nejve jeden. Jsou-li toti n, n neutrln prvky, pak na jednu stranu n n = n (protoe n je neutrln), ale na druhou stranu n n = n (protoe n je neutrln), take n = n. Nech) n je neutrln prvek vzhledem k operaci . Prvek inverzn k prvku x ∈ M je takov prvek y , pro nj plat, e xy = y x = n. V ppad, e je asociativn operace, je opan prvek k libovolnmu prvku x ∈ M nejve jeden. Jsou-li toti y, y dva takov prvky, uvame vraz y x y . Ob jeho uzvorkovn daj stejn vsledek. Pitom (y x) y = n y = y , ale y (x y ) = y n = y , take y = y . Nyn ji meme de#novat pojem grupy. Grupa je mnoina M spolu s asociativn binrn operac , ve kter existuje neutrln prvek a ke kadmu prvku existuje prvek inverzn. Pokud je operace navc komutativn, mluvme o ko-
mutativn nebo abelovsk1 grup . Formln grupu de#nujeme jako uspodanou dvojici (M, ). Standardnm pkladem grupy je teba mnoina vech relnch (celch, komplexnch, racionlnch) sel s operac stn. Pirozen sla se stnm grupu netvo (0 je neutrln, ale neexistuje skoro dn inverzn prvek), a teba cel sla s nsobenm rovn ne (1 je neutrln, ale inverzn prvky rovn neexistuj). Ani v mnoin racionlnch sel neexistuje inverzn prvek k slu 0 vzhledem k operaci nsoben (pro dn racionln y nen 0 · y = 1). Oproti tomu mnoina vech nenulovch racionlnch sel ji tvo grupu vzhledem k operaci nsoben. Mnoina vech matic danch rozmr je grupou vzhledem ke stn. Grupou je rovn mnoina vech regulrnch tvercovch matic du n s operac nsoben. Poadavek regularity je podstatn, protoe k dn singulrn matici by neexistoval inverzn prvek. Spojit reln funkce tvo grupu vzhledem ke stn, permutace dan mnoiny vzhledem ke skldn, atd. Relace na dan mnoin spolu s operac skldn grupu netvo. K popisu grupy na konen mnoin prvk je asto vhodn pout tabulku, kter pro kadou dvojici prvk udv vsledek grupov operace. Pkladem je tab. 2.1, kter de#nuje grupu na mnoin {a, b} s operac ∗. ∗ a a a b b
b b a
Tabulka 2.1: Grupa na mnoin {a, b}. Pojem tlesa zachycuje dv grupy, de#novan na te zkladn mnoin. Jeho prototypem je mnoina vech relnch sel R s operacemi + a ·. Dvojice (R, +) 1
Pouv se t oznaen Abelova grupa. Tato tda grup je nazvna po norskm matematikovi
Nielsu Henriku Abelovi (1802{1829).
2.2. Aritmetika modulo p
21
je komutativn grupa s neutrlnm prvkem 0, dvojice (R, ·) ale grupa nen (stejn jako u racionlnch sel chyb inverzn prvek k slu 0). Z tohoto dvodu v nsledujc de#nici tlesa pistupujeme k neutrlnmu prvku prvn operace s jistou opatrnost. Nech) mnoina M spolu s operac ⊕ tvo komutativn grupu s neutrlnm prvkem (dejme tomu) 0, a nech) na mnoin M − {0} je urena dal binrn operace ⊗. Potom (M, ⊕, ⊗) je t leso, pokud (M − {0}, ⊗) je rovn komutativn grupa a navc plat distributivn zkon : x ⊗ (y ⊕ z ) = (x ⊗ y ) ⊕ (x ⊗ z )
(2.1)
pro kad x, y, z ∈ M . Mezi tlesa pat mnoiny vech racionlnch, relnch a komplexnch sel, vdy se standardnmi operacemi stn a nsoben. V nsledujcm oddlu budeme hovoit o tlesech, kter sestvaj jen z konenho potu prvk. Vimnme si jet, e pojem vektorovho prostoru nen pli vzdlen od pojmu abelovsk grupy. D se ci, e vektorov prostor je abelovsk grupa (s operac stn vektor), na kter je navc de#novno nsoben vektor prvky danho tlesa. Cvien
I 2.1 Najdte grupu (G, ) o 4 prvcch, ve kter pro kad prvek x plat xx = 0. I 2.2 Isomorsmus grup (G, ) a (H, ) je bijekce f :
G → H , kter zobrazuje neutrln prvek grupy G na neutrln prvek grupy G a m tu vlastnost, e pro kad g, g ∈ G je f (g g ) = f (g ) f (g ). Ukate, e isomor#smus f zobrazuje inverzn prvek k libovolnmu prvku g ∈ G na inverzn prvek k prvku f (g ) (v grup H ).
I 2.3 Najdte dv konen grupy stejn velikosti, kter nejsou isomorfn (tj. neexistuje mezi nimi isomor#smus).
2.2 Aritmetika modulo p Pipomeme si, e ekvivalence ∼ na mnoin X je relace na X , kter je re0exvn, symetrick a tranzitivn. Jsou-li na mnoin X de#novny njak operace, me bt pirozen poadavek, aby ekvivalence ∼ navc zachovvala tyto dodaten operace. Takovm ekvivalencm se pak k kongruence. My se zamme na jeden konkrtn pklad: kongruence modulo p.
22
Kapitola 2. Algebraick struktury
Nech) p ≥ 1 je pirozen slo. De#nujme na mnoin vech celch sel relaci ≡ (kongruenci modulo p) pedpisem x ≡ y,
pokud p dl rozdl x − y.
Je-li poteba zdraznit hodnotu sla p, peme x ≡ y (mod p). Fakt, e se jedn o ekvivalenci, nen ani teba dokazovat. Kad z p td tto ekvivalence je tvoena vemi sly, kter pi dlen slem p dvaj tent zbytek. Proto se oznauj jako zbytkov tdy modulo p. Tdu obsahujc slo x budeme znait jako x]p (jindy se pouv znaen Zp (x)) a o prvku x budeme mluvit jako o reprezentantu tto tdy. Je-li slo p zejm z kontextu, peme msto x]p prost x]. Mnoina vech zbytkovch td modulo p se zna Zp . Tdy 0]p a 1]p , kter maj svm zpsobem vznan postaven, budeme znait prost 0 resp. 1. Jak je naznaeno v vodu tohoto oddlu, kongruence modulo p se chov `slun' k operacm stn a nsoben na celch slech:
Tvrzen 2.1 Nech x ≡ x a y ≡ y jsou cel sla. Potom x + y ≡ x + y
a
xy ≡ x y .
Dkaz. Z faktu x ≡ x plyne x − x = pm, kde m je cel. Podobn y − y = pn, n
cel. Potom (x + y ) − (x + y ) = pm + pn = p(m + n), take x + y ≡ x + y . Stejn tak x y − xy = (x + pm)(y + pn) − xy = p(xn + ym + pmn), proto x y ≡ xy . 2 Hlavnm dvodem, pro je tento fakt dleit, je, e umouje penst aritmetick operace z celch sel na zbytkov tdy, kde tak dostaneme tzv. aritmetick operace modulo p. Nech) slo p je pevn dno, take je nemusme explicitn uvdt. Pro tdy x] a y ], zadan pomoc svch reprezentant, de#nujeme jejich souet ⊕ a souin ⊗ pedpisy x] ⊕ y ] = x + y] , x] ⊗ y ] = xy ] . U podobn de#nice je vak teba ovit jej korektnost : nedostaneme pi jin volb reprezentant td x] a y ] jin vsledky? Kdyby ano, jednalo by se o patnou de#nici. Proto pedpokldejme, e x] = x ] a y ] = y ]. To samozejm znamen, e x ≡ x a y ≡ y . Podle Tvrzen 2.1 tedy x + x ≡ y + y . Pak ovem mus bt x + y] = x + y ], take hodnota piazen soutu x] ⊕ y ] je na volb reprezentant nezvisl. Podobn je tomu u operace ⊗. Podvejme se pro konkrtnost na ppad p = 7, teba na tdy 2]7 a 6]7 . Z de#nice je 2]7 = {. . . , −5, 2, 9, 16, . . .}, 6]7 = {. . . , −1, 6, 13, 20, . . .}.
2.2. Aritmetika modulo p
23
Vechny mon souty prvku z tdy 2]7 a prvku z tdy 6]7 tvo mnoinu {. . . , −6, 1, 8, 15, 22, . . .},
co je prv tda 8]7 , take je pirozen, e jsme poloili 2]7 ⊕6]7 = 8]7 . Podobn mnoina vech souin prvku ze tdy 2]7 a prvku ze tdy 6]7 je obsaena ve td 12]7. Mnoina Z7 m 7 prvk, kter lze pst napklad jako 0]7, 1]7, . . . , 6]7 . Pi potn modulo p meme v praxi vynechat symboly pro tdy a pracovat pouze s sly 0, 1, . . . , p − 1 (s tzv. plnou soustavou zbytk modulo p), s tm, e vsledek kad operace nahradme pslunm zbytkem. Napklad pi potn modulo 5 bychom tak mohli pst teba 3 ⊕ 4 = 2 nebo 4 ⊗ 3 = 2. (plnou informaci o aritmetice modulo 5 podv tabulka 2.2. 0 1 2 3 4 ⊗ 1 2 3 4 0 0 1 2 3 4 1 1 2 3 4 1 1 2 3 4 0 2 2 4 1 3 2 2 3 4 0 1 3 3 1 4 2 3 3 4 0 1 2 4 4 3 2 1 4 4 0 1 2 3 Tabulka 2.2: Aritmetika nad Z5 (v tabulce nsoben je vynechn dek a sloupec prvku 0, kter sestvaj ze samch nul). ⊕
Vta 2.2 Pro libovoln p ≥ 1: (a) dvojice (Zp ,⊕) je komutativn grupa, (b) operace ⊗ na Zp − {0} je komutativn, asociativn a m neutrln prvek, (c) operace ⊕ na Zp je distributivn vzhledem k operaci ⊗, tj. a ⊗ (b ⊕ c) = (a ⊗ b) ⊕ (a ⊗ c)
pro libovoln a, b, c ∈ Zp .
Dkaz. Vta snadno plyne z vlastnost aritmetickch operac na celch slech. V sti (a) je napklad operace ⊕ komutativn, protoe
a] ⊕ b] = a + b] = b + a] = b] ⊕ a] . Podobn dostaneme asociativitu. Tda 0] je zjevn neutrln vzhledem ke stn. Inverzn prvek ke td a] je tda −a].
24
Kapitola 2. Algebraick struktury
$st (b) se dokazuje zcela podobn. $st (c) je opt dsledkem distributivity na celch slech, protoe plat
a] ⊗ b] ⊕ c] = a] ⊗ b + c] = a(b + c)] = ab + ac] = ab] ⊕ ac]
= a] ⊗ b]
⊕
a] ⊗ c]
.
2
Je Zp spolu s operacemi ⊕ a ⊗ tlesem? Podle vty 2.2 k tomu mnoho nechyb: vlastn pouze to, aby ke kad nenulov td existoval inverzn prvek vzhledem k nsoben. Pak by toti i (Zp , ⊗) byla abelovsk grupa. Ptme se tedy, kdy ke td x] ∈ Zp existuje inverzn prvek vzhledem k nsoben. Asi tomu tak nebude vdy napklad pro p = 4 nenajdeme inverzn prvek ke td 2]4. Mme toti 2] ⊗ 1] = 2], 2] ⊗ 2] = 0] a 2]⊗ 3] = 2]. Na druhou stranu napklad Z5 tlesem je, jak se lze pesvdit z ve uveden tabulky operace ⊗. (plnou odpov* na nai otzku nabz nsledujc tvrzen.
Tvrzen 2.3 Ke td r] ∈ Zp existuje inverzn prvek vzhledem k nsoben, prv kdy r a p jsou nesoud ln sla.
Dkaz. Implikaci zleva doprava dokeme sporem. Dejme tomu, e r i p jsou dliteln slem d > 1, a nech) s] je inverzn k r], to jest r] ⊗ s] = 1]. Z de#nice je rs] = 1], take rozdl rs − 1 je dliteln slem p, eknme rs − 1 = pn, kde n je cel. Pak ale rs − pn = 1, piem lev strana je dliteln slem d (kter dl jak r, tak p). Proto mus slo d dlit i jedniku na prav stran, take d = 1. Spor. K dkazu opan implikace pedpokldejme, e sla r a p jsou nesoudln. Uvame p souin 1 · r, 2 · r, . . . , p · r. Tvrdme, e dn dva z tchto souin nejsou kongruentn modulo p, tedy e ir ≡ jr pro rzn i, j . Pedstavme si, e ir ≡ jr pro njak i = j . Pak p dl r (i − j ), a protoe s r je nesoudln, mus p dlit rozdl i − j . (Tento fakt plyne napklad z jednoznanosti rozkladu na prvosla.) Ovem rozdl i − j je v absolutn hodnot men ne p, take jedinou monost je i = j , co je spor s pedpokladem. V kad zbytkov td modulo p tm pdem le nejve jeden souin i · r, kde i = 1, . . . , p. Td je ale (stejn jako souin) pesn p, take dokonce v kad td le prv jeden tento souin. Speciln pro njak i je ir ∈ 1]. Pak ale i] ⊗ r] = ir] = 1], ili i] je hledan inverzn prvek ke td r]. 2 Z tto vty ji snadno plyne charakterizace sel p, pro n je Zp tlesem. Kad prvoslo p je nesoudln s libovolnm slem, kter nen nsobkem p. Na druhou stranu, pokud p nen prvoslo, pak se d pst jako p = a · b (kde 1 < a, b < p), a potom a, p jsou soudln sla. Shrnuto:
2.2. Aritmetika modulo p
25
Dsledek 2.4 Mnoina Zp s operacemi ⊕ a ⊗ je t lesem, prv kdy p je prvo-
slo. Nabz se jet dal otzka. Vme, e Zp je tleso pouze pro prvoseln p. Existuje tleso o neprvoselnm potu prvk, eknme typrvkov? Jak ukazuje cvien 2.8, odpov* zn ano. Obecn plat vta, kterou nebudeme dokazovat, e n-prvkov tleso existuje prv tehdy, kdy n je mocnina prvosla. Nech) p je prvoslo. Vme-li, e Zp je tleso, nic nm nebrn uvaovat o vektorovch prostorech nad tmto tlesem. Podobn jako jednm ze zkladnch pklad vektorovho prostoru nad relnmi sly je prostor Rn , tvoen n-ticemi relnch sel, zde hraje dleitou roli vektorov prostor Znp = {(a1 , . . . , an) : ai ∈ Zp pro kad i}, piem stn + a nsoben skalrem · jsou de#novny `po slokch': (a1 , . . . , an ) + (b1 , . . . , bn ) = (a1 ⊕ b1 , . . . , an ⊕ bn ), c · (a1 , . . . , an ) = (c ⊗ a1 , . . . , c ⊗ an ), kde c ∈ Zp . Vimnme si, e protoe jednotliv sloky vektor jsou prvky Zp , stme je pomoc operace ⊕ a nsobme pomoc operace ⊗. V dalch stech pednky se setkme se specilnm ppadem tto konstrukce, vektorovm prostorem Zn2 nad Z2 , jeho prvky jsou n-tice nul a jedniek. Ve vektorovch prostorech nad konenmi tlesy lze provdt vechny obvykl operace jako v relnch vektorovch prostorech, napklad eit soustavy rovnic. Jako pklad eme soustavu x + 2y + 3z + 4t = 1 (2.2) x + y + 2z = 0 o 4 neznmch nad tlesem Z5 (viz tabulka 2.2). Pro pehlednost vynechvme tdov zvorky a aritmetick operace zapisujeme jako +, · (a nikoli ⊕, ⊗). Standardnm postupem vytvome matici a pevedeme ji do kanonickho tvaru:
1 2 3 4 1 ∼ 1 2 3 4 1 ∼ 1 2 3 4 1 1 1 2 0 0 0 4 4 1 4 0 1 1 4 1
1 0 1 1 4 , ∼ 0 1 1 4 1 piem proveden pravy jsou (po ad): piten tynsobku prvnho dku k druhmu, vynsoben druhho dku `slem' 4, a piten trojnsobku druhho dku k prvnmu. Zji)ujeme, e een tto soustavy maj tvar {(4 + 4z + 4w, 1 + 4z + w, z, w ) : z, w ∈ Z5 }. Jinak eeno, kad een je linern kombinac (4, 1, 0, 0) + z · (4, 4, 1, 0) + w · (4, 1, 0, 1) kde z, w ∈ Z5 .
26
Kapitola 2. Algebraick struktury
Cvien
I 2.4 Nech) x, y ∈ Zn2 . Kdy je i-t sloka soutu x + y nulov? I 2.5 Kolik je een soustavy (2.2)? I 2.6 'ete soustavu nad tlesem Z3 : x + 2y + t = 1 2 x + 2z = 1 2x + z + t = 0
I 2.7 Napite tabulky stn a nsoben v tlesech Z2 a Z7 . I 2.8 Ovte, e mnoina {0, 1, 2, 3} spolu s operacemi a ◦, zadanmi pomoc
nsledujcch tabulek, je tlesem. Ukate, e tyto operace se li od stn a nsoben na mnoin Z4. 0 1 2 3 ◦ 1 2 3 0 0 1 2 3 1 1 2 3 1 1 0 3 2 2 2 3 1 2 2 3 0 1 3 3 1 2 3 3 2 1 0 II 2.9 Nech) a ≡ a (mod b). Dokate, e plat (a, b) = (a , b), kde (a, b) je nejvt spolen dlitel sel a a b. Vyuijte tento fakt k nvrhu algoritmu pro vpoet nejvtho spolenho dlitele. (Jeden z takovch algoritm je znm jako Eukleidv algoritmus.) II 2.10 Nech) a a b jsou cel sla (alespo jedno nenulov). Dokate, e (a, b) je nejmen kladn slo tvaru ax + by , kde x, y ∈ Z. I 2.11 Formulujte algoritmus na nalezen koe#cient x a y v rovnosti ax + by = (a, b). (Uijte Eukleidv algoritmus nebo vlastn algoritmus ze cvien 2.9.) I 2.12 Jak je mon ut algoritmus ze cvien 2.11 k nalezen inverznho prvku a−1 k prvku a ∈ Zp ? I 2.13 Dokate, e pokud x ≡ y (mod m), pak xn ≡ yn (mod m) pro libovoln pirozen n. I 2.14 Dokate, e pokud x ≡ y (mod m), cel slo d dl x a y, a plat (d, m) = 1, pak y x ≡ (mod m). d d Je mon pedpoklad (d, m) = 1 vynechat? I 2.15 Odvo*te pravidla pro dlitelnost sly 3, 8, 9 a 11.
Kapitola 3 Uspodn a svazy Pojem uspodn, kter je tmatem tto kapitoly, pedstavuje (vedle zobrazen a ekvivalence) dal zajmav a dleit speciln ppad pojmu relace.
3.1 Uspodn
Denice 3.1 Uspodn na mnoin X je libovoln relace na X , kter je re0exvn, (slab) antisymetrick a tranzitivn.
Oproti de#nici ekvivalence jsme tedy `pouze' zamnili symetrinost za antisymetrinost. (inky tto zmny jsou vak znan. Je-li R uspodn na mnoin X , pak dvojice (X, R) se nazv uspodan mnoina. Jsou-li prvky x, y v relaci R (tedy x R y ), interpretujeme to slovy `prvek x je men nebo roven prvku y '. To je v souladu se vemi temi zkladnmi vlastnostmi uspodn. Uspodnm z na de#nice se tak k neostr uspodn, protoe pro kad x plat x R x. (U ostrho uspodn bychom poadavek re0exivity nahradili antire exivitou : pro dn x neplat x R x. Nepjde ovem o uspodn ve smyslu de#nice 3.1.) Neostr uspodn asto zname symboly ≤ nebo . Snadno se ov, e vlastnosti uspodn m napklad `standardn' uspodn ≤ mnoiny relnch sel. Ponkud zajmavj je mon fakt, e uspodnm je i relace d litelnosti de#novan vztahem `x dl y ' na libovoln mnoin pirozench sel (viz cvien 1.35). Tyto dva pklady se li v jednom dleitm ohledu, kter podrobn rozebereme. Nech) x, y jsou dva prvky uspodan mnoiny (X, ). Plat-li x y nebo y x, jsou prvky x, y porovnateln, v opanm ppad jsou neporovnateln. Uspodn se asto oznauje jako sten, protoe de#nice 3.1 pipout existenci dvojic neporovnatelnch prvk. Podobn o mnoin (X, ) mluvme jako o sten uspodan mnoin 1. 1
V anglitin se vil termn poset, kter vznikl jako zkratka z vrazu partially ordered set.
27
28
Kapitola 3. Uspodn a svazy
Pi standardnm uspodn ≤ na mnoin R jsou kad dva prvky porovnateln. Takovm uspodnm se k linern nebo pln. Dvodem pro prvn oznaen je fakt, e linern uspodn ad prvky dan mnoiny do jedn linie, `od nejmenho k nejvtmu'. Lpe to uvidme, a budeme mluvit o Hasseovch diagramech. N druh pklad, relace dlitelnosti na pirozench slech, linern nen, jak ukazuje napklad neporovnateln dvojice {2, 3}. Zdraznme ovem, e oba zmnn pklady spadaj do obecnj kategorie stench uspodn. Pidejme jet tet pklad uspodn. Pro libovolnou mnoinu A meme uvit njak soubor B jejch podmnoin. Na souboru B je pak pirozen de#novno uspodn inkluz ⊂: podmnoiny B, B ∈ B budou v relaci (tedy B ⊂ B ), pokud B je podmnoinou mnoiny B . Ani uspodn ⊂ obecn nen linern. Cvien
I 3.1 Jsou nsledujc relace uspodn? Pokud ano, vypite dvojice neporovnatelnch prvk. (a) R = {(1, 2), (2, 3), (3, 4)}, (b) S = {(1, 3), (2, 3), (3, 4), (3, 5), (1, 4), (2, 4), (1, 5), (2, 5)}.
I 3.2 Nech) ≤ (resp. <) je bn neostr (resp. ostr) uspodn mnoiny pirozench sel N. De#nujme relace 1 a 2 na N × N pedpisem: (s, t) 1 (u, v), pokud s ≤ u a t ≤ v, (s, t) 2 (u, v), pokud bu*to s < u, nebo s = u a y ≤ v. Dokate, e 1 a 2 jsou sten uspodn a e 2 je linern uspodn. Poznamenejme, e 2 je znm lexikograck uspodn (bn ve slovncch). Pokuste se rozit jeho de#nici na mnoinu slov nad njakou konenou abecedou.
3.2 Hassev diagram Libovoln uspodn samozejm meme, stejn jako kadou jinou relaci, znzornit v podob orientovanho grafu. Obrzek 3.1 je znzornnm uspodn dlitelnost na mnoin {2, 3, 4, 6, 8, 12}. Jako prostedek pro znzornn uspodn ovem obrzek 3.1 nen pli vhodn, ada ipek je v nm toti zbytench. Smyky u vrchol by napklad nebylo nutn kreslit, protoe kad uspodn je z de#nice re0exvn. Podobn jsou-li v relaci dvojice (2, 4) a (4, 12), mus z tranzitivity bt 2 v relaci s 12 a tuto ipku by rovn nebylo poteba kreslit. Efektivn znzornn uspodn pedstavuje tzv. Hassev diagram. De#nujme nejprve jeden pomocn pojem. Nech) x, y jsou prvky uspodan mnoiny (X, ). Prvek x je bezprostednm pedchdcem prvku y (psno x C y ),
3.2. Hassev diagram
29 6
8 12
4
2
3
Obrzek 3.1: Uspodn dlitelnost na mnoin {2, 3, 4, 6, 8, 12}. pokud x y a neexistuje dn z ∈ X −{x, y}, pro kter by platilo x z y . Na vztah C se meme dvat jako na relaci na mnoin X (tzv. relace bezprostednho pedchzen ). Tato relace obecn nen re0exvn ani tranzitivn. Hassev2 diagram uspodan mnoiny (X, ) je znzornn, ve kterm pro kadou dvojici prvk x, y ∈ X plat x C y , prv kdy x, y jsou spojeny arou a prvek y je nakreslen ve ne x. Spojnice nen nutn opatovat ipkou, protoe smr je jednoznan dn. Na obr. 3.2 vidme, e Hasseovm diagramem lze uspodanou mnoinu z obr. 3.1 znzornit mnohem pehlednji. 8
12
4
6
2
3
Obrzek 3.2: Hassev diagram uspodn z obr. 3.1. Hassev diagram linern uspodan mnoiny vypad podobn, jako na obr. 3.3a, kter zachycuje standardn uspodn na mnoin pirozench sel {1, 2, 3, 4, 5, 6}. Jin uspodn na stejn mnoin, kter linern nen, je ureno dlitelnost. Jeho Hassev diagram je na obr. 3.3b. Jak je vidt, jednu mnoinu lze uspodat mnoha rznmi zpsoby. Jako dal pklad uvame uspodn inkluz na mnoin vech podmnoin mnoiny {1, 2, 3}. Bn zobrazen a nepomrn pehlednj Hassev diagram tohoto uspodn ukazuje obr. 3.4. Podmnoiny jsou popsny zkrcen, napklad msto {1, 3} peme prost 13. 2 Helmut
Hasse (1898{1979).
30
Kapitola 3. Uspodn a svazy
6 5 4
4
6
3 2
2 1
3
5
1
(a)
(b)
Obrzek 3.3: (a) Obvykl linern uspodn na mnoin {1, . . . , 6}. (b) Uspodn dlitelnost na te mnoin.
13
123
12
23
3
123
2 ∅
1
(a)
12
13
23
1
2
3
∅
(b)
Obrzek 3.4: Dv znzornn uspodn inkluz na souboru vech podmnoin mnoiny {1, 2, 3}: (a) orientovan graf (s vynechanmi smykami), (b) Hassev diagram.
3.3. Zkladn pojmy v uspodanch mnoinch
31
Cvien
I 3.3 Jak vypad relace bezprostednho pedchzen na uspodan mnoin (R, ≤)? I 3.4 Nakreslete Hassev diagram uspodn dlitelnost na mnoin X ⊂ N. Zjistte, zda tato uspodan mnoina m nejmen resp. nejvt prvek. (a) X = {2, 3, 4, 12, 15, 60}, (b) X = {2, 4, 8, 12, 20, 28, 56}, (c) X = {2, 3, 4, 6, 8, 12, 24, 36, 60}. I 3.5 Ve cvien 1.40 byl de#novn tranzitivn uzvr R+ relace R na mnoin X . Pidme-li k relaci R+ vechny dvojice tvaru (x, x), kde x ∈ X , dostaneme re exvn -tranzitivn uzv r (nebo prost uzv r ) relace R, oznaovan symbolem R∗ . (a) Ukate, e kad uspodn na konen mnoin X je uzvrem sv relace bezprostednho pedchzen. (b) Najdte pklad nekonen uspodan mnoiny, pro kterou tomu tak nen.
3.3 Zkladn pojmy v uspodanch mnoinch Zave*me nkolik pojm oznaujcch vznan prvky uspodan mnoiny. Mjme uspodanou mnoinu (X, ). Prvek a ∈ X je nejv tm prvkem mnoiny X , pokud pro kad x ∈ X plat x a. Podobn nejmen prvek mnoiny X je prvek a takov, e a x pro kad x ∈ X . Nejvt prvek obecn nemus existovat, ale existuje-li, pak je uren jednoznan. Napklad na obr. 3.5a{d existuje pouze v ppadech (a) a (d). Nejmen prvek existuje pouze v ppadech (b) a (d). Prvky 8 a 18 na obr. 3.5b sice nejsou nejvt, ale maj alespo tu vlastnost, e dn prvek nen vt. Jedn se o tzv. maximln prvky. Prvek a ∈ X je maximlnm prvkem, pokud pro dn x ∈ X nen a x. Symetricky: minimln prvek je takov prvek a ∈ X , e pro dn x ∈ X nen x a. Je jasn, e ppadn nejvt prvek mus bt maximln, a tak, e obrcen implikace neplat. Nsledujc tabulka uvd maximln a minimln prvky v jednotlivch pkladech na obr. 3.5. pklad maximln minimln (a) 12 2, 3 8, 18 2 (b) (c) 3, 5, 7, 11 3, 5, 7, 11 (d) 72 2
32
Kapitola 3. Uspodn a svazy 72 12 4
6
2
3
(a)
8
18
24
36
4
6
4
6
2
(b)
3
5
(c)
7
11
2
(d)
Obrzek 3.5: Hassev diagram dlitelnosti na mnoin X , kde (a) X = {2, 3, 4, 6, 12}, (b) X = {2, 4, 6, 8, 18}, (c) X = {3, 5, 7, 11}, (d) X = {2, 4, 6, 24, 36, 72}. Vra)me se k uspodn inkluz na podmnoinch dan mnoiny. Pklad Hasseova diagramu takovho uspodn je na obr. 3.4b. D se z tohoto diagramu vyst vce, ne jenom kter podmnoiny jsou ve vztahu inkluze | napklad jak je prnik i sjednocen dvou mnoin? Jinmi slovy, je mon de#novat sjednocen dvou mnoin pouze s pouitm uspodn inkluz? Sjednocen mnoin A,B je mnoina, kter obsahuje jak mnoinu A, tak mnoinu B (jako podmnoiny), ale `neobsahuje nic navc'. Pesnji eeno, je to nejmen ze vech mnoin, kter jsou vt ne A i ne B . Slova `nejmen' a `vt' se tu samozejm vztahuj k uspodn inkluz. Ne de#novan pojem suprema tak lze chpat jako (dalekoshl) zobecnn pojmu sjednocen. Prvek z je horn zvorou dvojice prvk x, y uspodan mnoiny (X, ), pokud plat x z a y z. Supremum (jinak t spojen ) prvk x, y je nejmen ze vech jejich hornch zvor, tedy takov prvek s, kter je horn zvorou dvojice x, y , piem neexistuje jin horn zvora z = s, pro kterou by bylo z s. Dvojice prvk obecn dn supremum mt nemus: pedn nemus mt ani dnou horn zvoru (jako prvky 8, 18 na obr. 3.5b), nebo naopak me mnoina hornch zvor mt vce minimlnch prvk, ze kterch pak, jak vme, dn nebude nejmen. Tento ppad nastv u prvk 4, 6 na obr. 3.5d, kter maj horn zvory 24, 36 a 72, piem 24 a 36 jsou minimln prvky v tto mnoin hornch zvor. Podobn jako supremum je de#novno in#mum dvou prvk. Doln zvora prvk x, y je prvek z, pro kter je z x a z y , a inmum (prsek ) prvk x, y je nejvt z jejich dolnch zvor. K pojmu in#ma se symetrickm zpsobem vztahuje ve, co bylo eeno o supremu. Cvien
I 3.6 Dokate, e v konen uspodan mnoin existuje nejmen prvek, prv
kdy v n existuje pesn jeden minimln prvek. Najdte nekonenou uspodanou mnoinu, ve kter tato ekvivalence neplat.
3.4. Svazy
33
I 3.7 Na mnoin X = {a, b, c, d, e, f} je dna relace R. Zjistte, zda se jedn o
uspodn a ppadn urete minimln a maximln prvky, pokud (a) R = {(d, c), (b, a), (c, a), (d, b)} ∪ 4, (b) R = {(b, a), (c, a), (f, d), (b, d), (e, c), (e, a), (b, c), (b, f )} ∪ 4, kde 4 = {(x, x) : x ∈ X}.
I 3.8 Najdte uspodanou mnoinu, ve kter mnoina hornch zvor njakch dvou prvk m pesn pt minimlnch prvk.
I 3.9 Uvame mnoinu vech pirozench sel, uspodanou relac dlitelnosti. Existuj v tto uspodan mnoin suprema a in#ma? Jak je jejich vznam?
I 3.10 Dokate, e kad uspodn na konen mnoin X se d rozit do linernho. Jinmi slovy: pro libovoln uspodn R na X existuje linern uspodn R na X tak, e R ⊂ R. I 3.11 Dokate, e konen uspodan mnoina (L, ≤) m minimln prvek x a maximln prvek y tak, e x ≤ y .
I 3.12 Bu* Un mnoina vech stench uspodn na n-prvkov mnoin X .
Uvame Un jako uspodanou mnoinu s uspodnm danm inkluz (uspodn jsou v relaci, pokud T roziuje S , tedy S ⊂ T ). Charakterizujte minimln a maximln prvky uspodan mnoiny Un . S, T
3.4 Svazy Svaz je uspodan mnoina (X, ), ve kter existuje supremum i in#mum pro libovolnou dvojici prvk. Ve svazu meme na supremum a in#mum pohlet jako na binrn operace (protoe je zarueno, e jejich hodnoty jsou de#novny pro kadou dvojici). Supremum prvk x, y zde zname x ∨ y , in#mum jako x ∧ y . Pkladem svazu, na kter jsme ji narazili, je mnoina vech podmnoin libovoln mnoiny (uspodan inkluz). Supremum dvou mnoin zde odpovd jejich sjednocen, in#mum odpovd jejich prniku. Pojmy suprema a in#ma jsme de#novali pomoc uspodn. Je mon postupovat v opanm smru a z pouh znalosti binrnch operac suprema a in#ma na mnoin X rekonstruovat pvodn uspodn? Nsledujc jednoduch tvrzen ukazuje, e to mon je (a dokonce sta znt jenom suprema).
Tvrzen 3.2 Pro libovoln dva prvky a, b svazu (X, ) plat ab
prv kdy
a∨b=b
prv kdy
a ∧ b = a.
34
Kapitola 3. Uspodn a svazy
Dkaz. Nech) a b. Pak b je zjevn horn zvorou dvojice a, b. Dejme tomu,
e pro njakou horn zvoru z = b tto dvojice plat z b. Z faktu, e z je horn zvora, plyne b z. Dky antisymetrinosti mme z = b, co je spor. Takov zvora z tedy neme existovat, take z de#nice suprema je a ∨ b = b. Tvrzen o in#mu se dokazuje symetricky. 2 Jednu polovinu minulho dkazu jsme si uetili poukazem na symetrii mezi pojmy supremum a in#mum. Jde o speciln ppad tzv. principu duality, kter ukeme dle. Inverzn relace −1 k uspodn je opt uspodn (cvien 3.13). Nen tk si vimnout, e jeho Hassev diagram zskme, kdy otome Hassev diagram uspodn vzhru nohama. Pi tto zmn se suprema mn na in#ma a naopak. (Pesnji, supremum prvk a,b vzhledem k uspodn je jejich in#mem vzhledem k uspodn −1 .) Z toho snadno dostvme nsledujc princip duality : Pokud v njakm tvrzen, kter plat ve vech svazech, dsledn zamnme symboly ∨ a ∧ a otome smr vech nerovnost, dostaneme opt tvrzen platn ve vech svazech.
Vta 3.3 Pro operaci ∨ v libovolnm svazu (X, ) plat: (i) je asociativn, (ii) je komutativn, (iii)
a∨a=a
(iv)
a ∨ (b ∧ a) = a
pro a ∈ X , pro a, b ∈ X .
Dkaz. $st (ii) (komutativita operace ∨) plyne pmo z de#nice suprema.
$st (iii) plyne z faktu, e a a (re0exivita) a z tvrzen 3.2. V sti (iv) vme, e b ∧ a a (protoe b ∧ a je doln zvora dvojice a, b), take z tvrzen 3.2 plyne, e a ∨ (b ∧ a) = a. Zbv st (i), tedy asociativita operace ∨. Mjme prvky a, b, c ∈ X . Chceme ukzat, e a ∨ (b ∨ c) = (a ∨ b) ∨ c. Ozname levou stranu tto rovnice jako . Z de#nice vme, e je horn zvorou pro prvky a, b ∨ c, piem druh z tchto prvk je zase horn zvorou pro prvky b, c. Odtud urit a, b, c . Vzhledem k tomu, e a ∨ b je nejmen horn zvorou prvk a, b, mus bt a ∨ b . Pak ovem je horn zvorou dvojice (a∨b), c, take pro supremum tto dvojice mme (a ∨ b) ∨ c = a ∨ (b ∨ c). Zcela obdobn lze ukzat opanou nerovnost a ∨ (b ∨ c) (a ∨ b) ∨ c. Z antisymetrinosti pak dostaneme poadovanou rovnost. 2
3.4. Svazy
35
Podobn vlastnosti jako operace ∨ m dky principu duality samozejm i operace ∧ (speciln je asociativn a komutativn). Vlastnosti (i) a (ii) ve vt 3.3 jsou stejn, jako m operace stn a nsoben v tlese. Me ns napadnout otzka, zda tato analogie jde jet dl, napklad zda plat distributivita mezi operacemi ∧ a ∨, tedy a ∧ (b ∨ c) = (a ∧ b) ∨ (a ∧ c)
pro libovoln prvky a, b, c.
(3.1)
Kad svaz, ve kterm plat (3.1), se nazv distributivn. Pkladem takovho svazu je svaz podmnoin libovoln mnoiny. Jsou-li toti A, B, C njak mnoiny, pak z obr. 3.6 je vidt, e A ∩ (B ∪ C ) = (A ∩ B ) ∪ (A ∩ C ). C
A
B
Obrzek 3.6: Distributivita u mnoin: A ∩ (B ∪ C ) = (A ∩ B ) ∪ (A ∩ C ). Na druhou stranu obr. 3.7 ukazuje dva pklady svaz, kter distributivn nejsou (viz cvien 3.14).
(a) M5 :
(b) N5 :
Obrzek 3.7: Nedistributivn svazy. D se dokonce ukzat, e svazy M5 a N5 z obr. 3.7 jsou v jistm smyslu obsaeny v kadm nedistributivnm svazu. Abychom mohli tento fakt precizn vyjdit, potebujeme jet jednu de#nici. Podsvazem svazu (X, ) je libovoln svaz (Y, ≤) takov, e (1)
a uspodn ≤ je zenm uspodn na mnoinu Y (jinmi slovy plat a ≤ b, prv kdy a b a prvky a, b le v mnoin Y ), Y ⊂ X
(2) suprema (in#ma) ve svazu (Y, ≤) se shoduj se supremy (in#my) ve svazu (X, ).
36
Kapitola 3. Uspodn a svazy
P klad 3.4 Uvame znovu svaz X vech podmnoin mnoiny {1, 2, 3} s uspo-
dnm inkluz, jeho Hassev diagram znme z obr. 3.4b. Na obr. 3.8a je zvraznna mnoina Y ⊂ X . Svaz (Y, ⊂) na obr. 3.8b nen podsvazem svazu (X, ⊂) (i kdy se tak pi zbnm ten de#nice me jevit). Prvky {1} a {3} toti ve svazu (X, ⊂) maj supremum {1, 3}, zatmco ve svazu (Y, ⊂) je jejich supremem prvek {1, 2, 3}. Pidme-li vak k mnoin Y prvek {1, 3} a ozname vslednou mnoinu Y , pak svaz (Y , ⊂) ji je podsvazem svazu (X, ⊂). Pouen z uvedenho pkladu je, e ne kad mnoina prvk svazu uruje podsvaz. 123
123
12
13
23
12
1
2
3
1
∅
(a)
3 ∅
(b)
Obrzek 3.8: (a) Svaz (X, ⊂) se zvraznnou mnoinou prvk Y . (b) Svaz (Y, ⊂). Nyn meme vyslovit zajmavou charakterizaci distributivnch svaz, tzv. Birkho%ovo3 kritrium distributivity, jeho dkaz lze nalzt v 5]. Vimnme si, e jedna z implikac je triviln.
Vta 3.5 (Birkhoovo kritrium distributivity) Svaz je distributivn, prv kdy neobsahuje ani jeden ze svaz M5 , N5 jako podsvaz. 2
Vimnme si, e svaz (Y, ⊂) z pkladu 3.4 je toton se svazem M5 . Nen vak podsvazem distributivnho svazu (X, ⊂) (a nedostvme tak spor s vtou 3.5). Fakt, e `zakzan podsvazy' z vty 3.5 jsou symetrick podle vodorovn osy, naznauje, e pi otoen distributivnho svazu `vzhru nohama' bychom mohli opt dostat distributivn svaz. V trochu jin formulaci to potvrzuje nsledujc vta.
Vta 3.6 V libovolnm distributivnm svazu (X, ) plat tak duln forma distributivity:
x ∨ (y ∧ z ) = (x ∨ y ) ∧ (x ∨ z )
pro libovoln x, y, z ∈ X . 3 George
David Birkhoff (1884{1944).
3.4. Svazy
37
Dkaz. Polome v de#nici (normln) distributivity a = x ∨ y, b = x, c = z.
Dostaneme, e p := (x ∨ y ) ∧ (x ∨ z) = a ∧ (b ∧ c) = (a ∧ b) ∨ (a ∧ c) = (x∨y ) ∧x] ∨ (x∨y ) ∧z]. Podle duln verze vty 3.3d upravme levou z hranatch zvorek na (x ∨ y ) ∧ x = x. V prav zvorce jet jednou uplatnme distributivitu a dostaneme p = x ∨ (x ∧ z) ∨ (y ∧ z)]. To lze s pouitm asociativity upravit na x ∨ (x ∧ z)] ∨ (y ∧ z) a z vty 3.3d je konen p = x ∨ (y ∧ z). 2 Mus ve svazu vdy existovat nejvt prvek? Pklad mnoiny relnch sel s bnm uspodnm ukazuje, e nikoli. Plat vak nsledujc vta:
Vta 3.7 V konenm svazu vdy existuje nejv t a nejmen prvek. Dkaz. Oslujme prvky uvaovanho svazu (X, ) jako X = {a1, . . . , an} a
de#nujme posloupnost s1, . . . , sn induktivn pedpisem si = si−1 ∨ ai pro i = 2, . . . , n, piem s1 = a1. Tato posloupnost `roste', pesnji si si+1 pro kad i = 1, . . . , n − 1. Navc je z de#nice ai si pro kad i = 1, . . . , n (si je toti horn zvorou pro ai a si−1). Pro prvek sn mus tm pdem bt ai sn , kde i = 1, . . . , n, a je tedy nejvtm prvkem mnoiny X . Nejmen prvek najdeme podobn. 2 Implikaci v pedchzejc vt nen mon obrtit: uspodan mnoina s nejvtm a nejmenm prvkem jet zdaleka nemus bt svaz. Pkladem je mnoina z obr. 3.5d. Nejvt prvek svazu (existuje-li) se obvykle zna jako 1, nejmen prvek jako 0. Nsledujc tvrzen ukazuje, e se jedn o neutrln prvky operac ∧ resp. ∨.
Tvrzen 3.8 M-li svaz (X, ) prvky 0 a 1, pak pro kad x ∈ X plat x∧1=x
a
x ∨ 0 = x.
Dkaz. Prvek 1 je nejvt, take pro libovoln x ∈ X mme x 1. Podle
tvrzen 3.2 je x ∧ 1 = x. Podobn pro operaci ∨ a prvek 0. 2 Svaz podmnoin libovoln mnoiny A nejvt a nejmen prvek m. Nejvtm prvkem je cel mnoina A, nejmenm pak przdn mnoina ∅. Cvien
I 3.13 Dokate, e inverzn relace
uspodn.
−1
k libovolnmu uspodn
je opt
I 3.14 Ovte, e uspodan mnoiny M5 , N5 na obr. 3.7 jsou svazy, a ukate, e v nich neplat rovnost (3.1).
I 3.15 Dokate, e svaz (X, ) je distributivn, prv kdy pro kad a, b, c ∈ X
s vlastnost a ∧ b = a ∧ c a a ∨ b = a ∨ c plat b = c. (Mete pout vtu 3.5.) Naleznte pklad nedistributivnho svazu, kde uveden ekvivalence neplat.
38
Kapitola 3. Uspodn a svazy
I 3.16 Nech) R je linern uspodn na mnoin X . Mus (X, R) bt svaz? I 3.17 Ukate, e mnoina vech pirozench sel N uspodan dlitelnost je svaz. Rozhodnte, zda je tento svaz distributivn. Jak je nejvt a nejmen prvek?
I 3.18 (a) Nech) D(n) je mnoina dlitel pirozenho sla n, uspodan
relac dlitelnosti. Dokate, e D(n) je svaz (tzv. svaz d litel sla n). (b) Nech) X je konen mnoina pirozench sel, kter pi uspodn relac dlitelnosti tvo svaz. Mus tento svaz bt distributivn?
I 3.19 Mnoina X je uspodna relac dlitelnosti. Rozhodnte: •
kter jsou maximln a minimln prvky mnoiny X ,
zda existuje nejvt a nejmen prvek mnoiny X , • zda X je svaz, • zda X je distributivn svaz. Mnoina X sestv z tchto prvk: (a) X = {2, 4, 6, 14, 42}, (b) X = {2, 3, 7, 14, 42}, (c) X = {1, 2, 3, 5, 30}, (d) X = {1, 2, 3, 12, 18, 36}, (e) X = {1, 2, 3, 4, 12, 20, 60}, (f) X = {1, 2, 3, 5, 6, 10, 15, 30}. •
I 3.20 Urete vechny podmnoiny X svazu dlitel D(12) sla 12 s vlastnost, e mnoina X (uspodan relac dlitelnosti) je svaz, ale nen to podsvaz svazu D (12).
I 3.21 Navrhnte algoritmus, kter zjist, zda je dan uspodan mnoina svazem. Soust nvrhu je reprezentace vstupn uspodan mnoiny.
I 3.22 Pevn bod zobrazen f :
(kde X je njak mnoina) je kad x ∈ X , pro kter je f (x) = x. Dokate, e v konenm svazu L m mnoina pevnch bod kadho zobrazen f : L → L zachovvajcho uspodn nejvt a nejmen prvek. X →X
3.4. Svazy
39
I 3.23 Ukate, e v libovolnm svazu (X, ) pro libovolnou trojici prvk x, y,
z
plat
(x ∧ y ) ∨ (x ∧ z) x ∧ (y ∨ z).
II 3.24 Plat-li pro prvky a, b, c svazu L rovnost (a ∧ b) ∨ (a ∧ c) ∨ (b ∧ c) = (a ∨ b) ∧ (a ∨ c) ∧ (b ∨ c), pak se hodnot na kad stran tto rovnice k medin prvk a, b, c. Dokate, e L je distributivn svaz, prv kdy kad trojice jeho prvk m medin.
I 3.25 Mjme svaz (X, ). Obdrme opt svaz, pidme-li k (X, ) nov nejvt prvek 1 a nejmen prvek 0?
40
Kapitola 3. Uspodn a svazy
Kapitola 4 Booleovy algebry Z minul kapitoly vme, e soubor podmnoin libovoln mnoiny m strukturu distributivnho svazu. Jeho struktura je ale bohat o operaci, kter kad podmnoin piazuje jej doplnk. Distributivnm svazm s podobnou operac se k Booleovy algebry.
4.1 Denice
Denice 4.1 Nech) (X, ) je svaz s nejmenm prvkem1 0 a nejvtm prvkem
1. Komplement prvku x ∈ X je kad prvek y , pro kter plat x∨y
= 1,
x∧y
= 0.
Jak jsme naznaili ve, pedstavu o pojmu komplement poskytuje svaz podmnoin libovoln mnoiny A, kde komplementem mnoiny B ⊂ A je prost mnoinov doplnk A−B . (Je toti jasn, e sjednocenm mnoiny B a jejho doplku je cel mnoina A, zatmco jejich prnik je przdn.) V tomto ppad je komplement uren jednoznan. Obecn tomu tak bt nemus, ale v ppadech, o kter se budeme zajmat, plat, e komplement libovolnho prvku je nejve jeden:
Tvrzen 4.2 Je-li (X, ) distributivn svaz s 0 a 1, potom kad prvek x ∈ X m nejve jeden komplement.
Dkaz. Nech) x ∈ X m komplementy y a y. Podvejme se na prvek p := y ∧ (x ∨ y ).
Podle vty 3.7 m kad konen svaz nejmen a nejvt prvek. Protoe v kapitole 4 budeme pleitostn hovoit i o nekonench svazech, zahrnujeme poadavek existence nejmen ho a nejvt ho prvku do tto a dal ch de nic. 1
41
42
Kapitola 4. Booleovy algebry
Na jednu stranu je x ∨ y = 1, a tedy p = y . Na druhou stranu z distributivity mme p = (y ∧ x) ∨ (y ∧ y ) = 0 ∨ (y ∧ y ) = y ∧ y . Zkrtka a dobe y = y ∧ y , co podle tvrzen 3.2 znamen, e y y . Zcela symetrickm zpsobem ale dostaneme y y , take y = y a dkaz je u konce. 2 Svazm s 0 a 1, kde kad prvek m njak komplement, se k komplementrn svazy.
Denice 4.3 Booleova2 algebra je distributivn komplementrn svaz s prvky 0 a 1. Pouv se tak pojmu Boolev svaz.
V Booleov algebe m tedy kad prvek x prv jeden komplement, kter se zna x5. U Booleovch algeber je rovn asto pijmna konvence, kter se pidrme i my, toti znait operaci suprema jako + a operaci in#ma jako · (piem teka se stejn jako u bnho souinu obvykle vynechv). Pepeme-li tedy napklad de#nici komplementu v tomto novm znaen, dostaneme x + x5 = 1 a xx5 = 0. Zkony distributivity v novm hvu vypadaj takto: • x(y + z ) = (x · y ) + (x · z ), • x + (y · z ) = (x + y ) · (x + z ).
Prvn z nich vypad jako `star znm' distributivita u selnch operac, prost roznsoben zvorky. Druh rovnost, kter neplat o nic mn, ale u sel dnou obdobu nem. Cvien
I 4.1 Rozhodnte, zda mnoina X ⊂ N spolu s uspodnm danm dlitelnost
je (1) svaz, (2) distributivn svaz, (3) komplementrn svaz, (4) Booleova algebra. (a)
X
= {1, 2, 3, 12, 18, 30, 180},
(b)
X
= {1, 2, 4, 6, 7, 10, 60, 420},
(c)
X
= {1, 2, 3, 7, 6, 14, 21, 42},
(d) mnoina vech dlitel sla 90 uspodan dlitelnost.
II 4.2 Ozname mnoinu vech dlitel sla n, uspodanou relac dlitelnosti, symbolem D(n). Dokate, e D(n) je pro libovoln n distributivnm svazem (viz tak cvien 3.18). Urete, pro kter n je D(n) Booleovou algebrou. 2 George
Boole (1815{1864).
4.2. Booleovsk potn
43
I 4.3 Nech) u, v jsou prvky linernho prostoru Zn2 nad Z2 . De#nujme min(u, v) jako vektor, jeho i-t souadnice je rovna minimu z i-tch souadnic vektor u a v. Dokate, e Zn2 je Booleova algebra vzhledem k operacm u∧v u∨v
= min(u, v), = u + v + min(u, v).
4.2 Booleovsk po tn
Vta 4.4 (De Morganovy zkony) V Booleov algebe
dvojici prvk x, y ∈ A:
A
plat pro kadou
(a) x + y = x5 · y5, (b)
xy
= x5 + y5.
Dkaz. Dokame st (a), tedy e prvek x5 · y5 je komplementem prvku x + y.
Nejprve je teba ukzat, e (x + y )+(5x · y5) = 1. K tomu pouijeme distributivitu. Ta nm k, e p := (x + y ) + (5x · y5) = (x + y + x5) · (x + y + y5). Z de#nice komplementu ale je x + x5 = 1, a tedy i x + x5 + y = 1. Podobn i druh zvorka je rovna jedn, take p = 1 · 1 = 1. Ve druh polovin dkazu sti (a) musme ukzat, e prvek q := (x + y ) · (5x · y5) je roven nule. Argument je podobn: z distributivity q = x · (5x · y5)] + y · (5x · y5)], a protoe xx5 = y y5 = 0, jsou ob hranat zvorky nulov a q = 0 + 0 = 0. $st (b) se dokazuje symetricky. 2 Pravidla potn v Booleovch algebrch shrnuje nsledujc vta:
Vta 4.5 Pro libovoln prvky a, b, c Booleovy algebry B plat: (1)
a + a = a,
(2)
a+b=b+a
(3)
a + (b + c) = (a + b) + c
(4)
a + (ab) = a,
(5)
a(b + c) = (ab) + (ac)
(6)
a + 0 = a,
(7)
a · 0 = 0,
(8)
51 = 0, a+a 5 = 1,
(9)
(komutativita), (asociativita), (distributivita),
44
Kapitola 4. Booleovy algebry
(10)
a 5 = a,
(11)
a+b=a 5 · 5b
(De Morganovy zkony),
a rovn duln formy vech t chto tvrzen (ve kterch zam nme symboly + a · a symboly 0 a 1).
Dkaz. Vtinu tchto tvrzen jsme ji dokzali nebo plynou pmo z de#nic.
$st (10) plyne z toho, e de#nice komplementu je symetrick: je-li x5 komplementem prvku x, je tak x komplementem prvku x5, a tedy x = x5. 2 Cvien
I 4.4 Ukate, e bod (1) vty 4.5 plyne z bod (2), (3) a (4).
4.3 Booleovy algebry podmnoin Dleitm pkladem Booleovch algeber jsou ji zmnn svazy podmnoin. Vme, e soubor vech podmnoin mnoiny X (spolu s uspodnm inkluz) tvo svaz. Je to dokonce svaz distributivn (pro?), a na zatku kapitoly jsme zjistili, e je i komplementrn. Jedn se tedy o Booleovu algebru. Budeme ji oznaovat symbolem 2X . (Pro jistotu upozornme, e se zde nejedn o umocovn sla 2.) Nulovm prvkem v tto Booleov algebe je przdn mnoina ∅, prvek 1 je cel mnoina X . Podvejme se pro mal n podrobnji na Booleovu algebru tvoenou vemi podmnoinami njak zvolen n-prvkov mnoiny. Tato algebra m 2n prvk. Obr. 4.1 ukazuje Hasseovy diagramy Booleovch algeber 2X , kde X probh mnoiny {a}, {a, b}, {a, b, c} a {a, b, c, d}. Pro vt pehlednost u obrzk 4.1c a 4.1d vynechvme mnoinov zvorky. Napklad zpis bcd tak pedstavuje podmnoinu {b, c, d}, nikoli souin b · c · d (ten je ostatn nulov). Je-li mnoina X jednoprvkov, pak Booleova algebra 2X m pouze dva prvky, toti 0 a 1. Pozdji uvidme, e tato algebra, kterou budeme znait symbolem B2 , pes svou jednoduchost hraje mezi Booleovmi algebrami prominentn lohu. Operace soutu, souinu a komplementu v libovoln Booleov algebe meme zapsat tabulkou, podobn jako nap. u operac v tlese. Ve zmnn algebe B2 je vsledkem tab. 4.1. + 0 1 · 0 1 x x5 0 0 1 0 0 0 0 1 1 1 1 1 0 1 1 0 Tabulka 4.1: Operace v Booleov algebe B2 : stn, nsoben a komplement.
4.3. Booleovy algebry podmnoin
45 abc
{a}
{a, b} {a}
∅ (a) 2fag
{b}
ab
ac
bc
a
b
c
∅ (b) 2fabg
∅ (c) 2fabcg
abcd abc ab
ac
a
b ∅
abd
acd
bcd
ad
bd
cd
bc c
d
(d) 2f
g
abcd
Obrzek 4.1: $tyi Booleovy algebry tvaru 2X . Operace ve typrvkov Booleov algebe 2{a,b} zachycuje tab. 4.2, kde msto {a, b} peme 1, msto ∅ peme 0 a u mnoin {a}, {b} vynechvme mnoinov zvorky. + 0 0 0
1 1 a a 1 1 b b 1 b 1 1 1 1 1 1 a a a
b b
0 a b 1 0 0 0 0 0 a 0 a 0 a b 0 0 b b 1 0 a b 1 ·
x x5
0 1
a b
b a
1 0
Tabulka 4.2: Operace v Booleov algebe 2{a,b}. Cvien
I 4.5 Rozhodnte, zda relace S na mnoin 2{a,b,c} je (1) re0exvn, (2) symetrick, (3) antisymetrick, (4) tranzitivn, (5) ekvivalence, (6) uspodn: (a) x S y ⇐⇒ x & y (tedy x ⊂ y a x = y ), (b) x S y ⇐⇒ x ∩ y = ∅, (c) x S y ⇐⇒ x ∪ y = {a, b, c}.
46
Kapitola 4. Booleovy algebry
I 4.6 Pro mnoina {0, a, b, 1} spolu s operacemi + a · v tab. 4.2 netvo tleso? I 4.7 Napite tabulky operac v Booleov algebe 2{a,b,c}. I 4.8 Bu* B mnoina vech podmnoin mnoiny pirozench sel N, kter jsou konen nebo maj konen doplnk v N. Uspodn na B je de#novno mnoinovou inkluz. Ukate, e B je Booleova algebra.
4.4 Dva pohledy na Booleovu algebru De#novali jsme Booleovu algebru jako speciln ppad svazu, obecnji uspodan mnoiny. Z danho uspodn na tto mnoin jsme teprve dodaten odvodili operace soutu, souinu a komplementu (pomoc pojm supremum a in#mum). Znalost samotnho uspodn nm poskytuje plnou informaci o tchto operacch. K vci bychom ale mohli pistoupit i z druh strany a de#novat Booleovu algebru pmo jako mnoinu M s binrnmi operacemi + a · a unrn operac komplement, kter spluj urit pravidla. Inspirovni tvrzenm 3.3.2 bychom pak mohli denovat uspodn na mnoin M pedpisem a b,
prv kdy a · b = a.
(4.1)
Pokud byly podmnky kladen na nae operace vhodn zvoleny, bude mnoina M s tmto uspodnm distributivn komplementrn svaz | jinmi slovy Booleova algebra podle na star de#nice. Cvien 4.9 ukazuje, e vhodnmi pedpoklady jsou napklad podmnky ve vt 4.5. Cvien
I 4.9 Nech) B je mnoina s binrnmi operacemi + a ·, s unrn operac kom-
plement (kter prvku x piazuje prvek x5) a s urenmi prvky 0 a 1. Dokate, e pokud pro tyto operace a prvky plat podmnky (1) a (11) vty 4.5, pak mnoina M spolu s uspodnm danm pedpisem (4.1) je Booleova algebra podle na dosavadn de#nice.
4.5 Atomy Denice 4.6 Atom Booleovy algebry (A, ) je libovoln prvek a ∈ A takov,
e jedinm prvkem z ∈ A, pro kter plat z ≺ a, je prvek z = 0. Mnoinu vech atom Booleovy algebry A zname At(A).
4.5. Atomy
47
Vimnme si, e ekvivalentn by lo atomy de#novat jako prvky, jejich bezprostednm pedchdcem je prvek 0. Napklad Booleova algebra 2{a,b} m atomy {a} a {b}. Snadno se nahldne, e kad konen Booleova algebra obsahuje aspo jeden atom: plat dokonce nsledujc silnj tvrzen. Pozorovn 4.7 Pro kad prvek x = 0 konen Booleovy algebry A existuje atom a ∈ At(A) takov, e a x. Dkaz. Nen-li x atom, zvolme njakho jeho bezprostednho pedchdce x1 = 0. Nen-li ani x1 atom, zvolme jeho bezprostednho pedchdce x2 = 0. Iterac tohoto postupu musme po konenm potu krok narazit na njak atom a, a pro ten jist plat a x. 2 Na druhou stranu existuj nekonen Booleovy algebry, kter neobsahuj ani jeden atom (viz cvien 4.12). Cvien
I 4.10 Kter prvky jsou atomy v nsledujcch Booleovch algebrch:
(a) v Booleov algebe podmnoin 2{a,b,c}, (b) obecnji v algebe 2X , kde X je njak mnoina, (c) ve svazu dlitel sla 30? I 4.11 Urete atomy Booleovy algebry ze cvien 4.8. II 4.12 Uvaujme nsledujc relaci ∼ na mnoin P (N) vech podmnoin mnoiny pirozench sel N: A ∼ B, prv kdy symetrick rozdl A B je konen mnoina. (a) Dokate, e ∼ je ekvivalence. (b) Ozname tdu ekvivalence ∼ obsahujc prvek A symbolem A]. De#nujme na tchto tdch relaci pedpisem A] B ], prv kdy A − B je konen mnoina. Ukate, e tato de#nice je korektn, tj. e nezle na vbru reprezentant td A] a B ]. (c) Dokate, e relace je uspodn. (d) Dokate, e mnoina td ekvivalence ∼ s uspodnm je Booleova algebra, kter nem dn atomy. Popite spojen, prsek a komplement v tto Booleov algebe.
48
Kapitola 4. Booleovy algebry
4.6 Stoneova vta o reprezentaci De#nujme nejprve pojem isomor#smu mezi uspodanmi mnoinami. Obecn eeno je isomor#smus bijekce, kter zachovv `ve podstatn'. U uspodanch mnoin mus zachovvat uspodn, zatmco napklad u grup jde o jednotkov prvek a grupovou operaci (viz cvien 2.2).
Denice 4.8 Isomorsmus uspodanch mnoin (X, ) a (Y, ) je bijekce f :
takov, e pro kad a, b ∈ X plat a b prv kdy f (a) f (b). Tyto uspodan mnoiny jsou isomorfn (psno (X, ) (Y, )), pokud mezi nimi existuje isomor#smus. X→Y
Jak ukazuje cvien 4.13, isomor#smus dvou Booleovch algeber jakoto uspodanch mnoin zachovv i vechny dosud uvaovan operace (nap. supremum).
Denice 4.9 Nech) B = {a1, . . . , ak } je konen mnoina prvk svazu (X, ) s nejmenm prvkem 0. Je-li k > 1, de#nujme supremum mnoiny B jako sup B =
. . . ((a1 ∨ a2 ) ∨ a3 ) ∨ . . . ∨ ak .
(4.2)
Dle de#nujme sup ∅ = 0, sup {a} = a.
Tvrzen 4.10 Nech (X, ) je svaz s nejmenm prvkem 0 a B = {a1 , . . . , ak } ⊂
X.
Potom:
(1) sup B je nejmen horn zvora mnoiny B , tj. nejmen prvek s vlastnost ai x pro kad i,
x ∈ X
(2) ve vzorci (4.2) nezle na poad prvk a1 , . . . , ak ani na jejich uzvorkovn (a m tak smysl pst sup B = a1 ∨ · · · ∨ ak ).
Dkaz. Cvien 4.15. 2
Stoneova3 vta o reprezentaci charakterizuje vechny konen Booleovy algebry.
Vta 4.11 (Stoneova vta) Kad konen Booleova algebra (A, ) je isomorfn s Booleovou algebrou (2At(A) , ⊂). Dkaz. Zkonstruujeme isomor#smus mezi uspodanmi mnoinami (A, ) a (2At(A) , ⊂). Konkrtn pro x ∈ A nech) x∗ 3 Marshall
= {a ∈ At(A) : a x}.
Harvey Stone (1903{1989).
4.6. Stoneova vta o reprezentaci
49
Zobrazen x → x∗ piazuje kadmu prvku x ∈ A mnoinu atom algebry A. Potebujeme ukzat, e se jedn o bijekci mezi A a 2At(A) a e plat x y , prv kdy x∗ ⊂ y ∗. Dkaz rozdlme do ty st. (1) Pokud x y , pak x∗ ⊂ y ∗. Toto je nejleh st dkazu. Pro kad a ∈ x∗ plat a x y a z tranzitivity je a ∈ y ∗. Jinak eeno, x∗ ⊂ y ∗. (2) Pokud x∗ ⊂ y ∗, pak x y . Nech) naopak x y . Podle tvrzen 3.2 mus bt xy = x. Vimnme si, e x = x · 1 = x(y + y5) = xy + xy5,
z eho plyne, e xy5 = 0. Najdme podle pozorovn 4.7 atom a xy5. Z de#nice in#ma je a x a tedy a ∈ x∗ . Dle je a y5 a tm pdem neme bt a y , protoe bychom dostali a y y5 = 0 a je vak atom. Take a ∈/ y ∗. Atom a tedy dosvduje, e x∗ nen podmnoinou y ∗. Tm je poadovan implikace dokzna. (3) Zobrazen x → x∗ je prost. Vezmme x = y ∈ A. Z antisymetrie mus bt bu* x y nebo y x nech) plat prvn varianta. Podle obmny implikace v bodu (2) dostvme, e x∗ nen podmnoinou y ∗. Speciln x∗ = y ∗ a tvrzen je dokzno. (4) Zobrazen x → x∗ je na. Hledme vzor libovoln mnoiny atom B = {a1 , . . . , ak } ⊂ At(A), tedy takov b ∈ A, e b∗ = B . Dokeme, e tuto vlastnost m prvek b = sup B . Pro kad atom ai ∈ B jist plat, e ai b. Otzkou je, zda tato nerovnost me platit i pro njak atom c ∈/ B . Dejme tomu, e ano, tedy c b. Rozepime sup B s pouitm symbolu + a zjitn, e na zvorkch nezle a meme je vynechat: c · b = c · (a1 + · · · + ak ) = ca1 + · · · + cak
= 0 + · · · + 0 = 0,
piem pedposledn rovnost vychz z faktu, e in#mum dvou rznch atom je nutn 0. Dokzali jsme, e c · b = c, a tedy c ∈/ b∗ . Z toho ji plyne, e b∗ = B . Dkaz vty je proveden. 2
Dsledek 4.12 Poet prvk konen Booleovy algebry A je vdy mocnina sla 2, konkrtn 2m, kde m = |At(A)|. 2
Dsledek 4.13 Dv konen Booleovy algebry se stejnm potem prvk jsou isomorfn.
Dkaz. Nech) A, B jsou Booleovy algebry (s uspodnm, kter nebudeme vslovn zmiovat) a |A| = |B| = n. Vme, e A 2At(A) a B 2At(B) , kde uvaovan algebry podmnoin jsou uspodny inkluz. Ovem mnoiny At(A) a At(B) jsou stejn velk (jejich velikost je log2 n), take meme zvolit njakou
50
Kapitola 4. Booleovy algebry
bijekci g : At(A) → At(B). Tato bijekce podle cvien 4.16 indukuje isomor#smus 2g mezi Booleovmi algebrami 2At(A) a 2At(B) . Celkem vzato dostvme A 2At(A) 2At(B) B
a sloenm tchto t isomor#sm je isomor#smus mezi A a B. 2 Cvien
I 4.13 Ukate, e jsou-li dv Booleovy algebry isomorfn (jako uspodan mno-
iny), pak pslun isomor#smus zachovv i operace suprema, in#ma a komplementu, tedy napklad f (x + y ) = f (x) + f (y ) (kde se ovem symbol + na kad stran rovnice vztahuje k jin Booleov algebe!)
I 4.14 Nech) B a C jsou Booleovy algebry. Ukate, e bijekce f : B → C splujc
f (x + y )
= f (x) + f (y ) a f (5x) = f (x) pro vechna Booleovch algeber.
x, y ∈ B
je isomor#smus
I 4.15 Dokate tvrzen 4.10. I 4.16 Nech) g :
je bijekce mezi konenmi mnoinami. Zobrazen indukuje zobrazen 2 : 2 → 2Z , dan pedpisem Y → Z g
g
Y
2g (A) = {g(a) : a ∈ A} pro libovoln A ⊂ Y . Ukate, e 2g je isomor#smus Booleovch algeber (2Y , ⊂) a (2Z , ⊂).
I 4.17 Ukate, e jsou-li g : X1 → X2 a h : X2 → X3 isomor#smy uspodanch mnoin (X1, 1 ) a (X2, 2 ), resp. (X2 , 2) a (X3, 3 ), potom sloen g ◦ h : X1 → X3 je isomor#smem uspodanch mnoin (X1 , 1 ) a (X3 , 3 ). I 4.18 (a) Najdte vechny navzjem neisomorfn uspodan mnoiny o 3 prvcch.
(b) Dokate, e stejn velk konen linern uspodan mnoiny jsou isomorfn. (c) Najdte dv neisomorfn linern uspodn mnoiny vech pirozench sel.
4.7. Direktn souin
51
4.7 Direktn souin Dsledkem Stoneovy vty je, e Booleovy algebry podmnoin jsou vlastn (a na isomor#smus) jedinmi pedstaviteli konench Booleovch algeber. Uvidme, e s pomoc nsledujcho pojmu lze tento fakt vyjdit v jet minimalistitj podob. Denice 4.14 Direktn souin Booleovch algeber (A1, 1 ) a (A2, 2 ) je kartzsk souin A1 × A2 s uspodnm ≤ de#novanm `po slokch': (b1 , b2 ) ≤ (c1, c2), pokud b1 1 c1 a b2 2 c2, kde (b1 , b2 ) a (c1 , c2) jsou prvky souinu A1 × A2. Je-li A1 = A2, mluvme tak o direktn mocnin Booleovy algebry A1 . Direktn souin Booleovch algeber je sm Booleovou algebrou. Abychom toto tvrzen dokzali, musme z de#nic ovit, e je to komplementrn distributivn svaz. Pedevm je snadn si vimnout, e v souinu A1 × A2 existuj suprema: supremem dvojic (b1 , b2 ) a (c1 , c2) je dvojice (b1 ∨ c1 , b2 ∨ c2 ). (Dokate.) Podobn je tomu s in#my, take A1 ×A2 je svaz. M prvek 0, jeho sloky jsou nulov prvky v A1 resp. A2, a podobn de#novan prvek 1. Distributivita a komplementrnost plynou z faktu, e tyto vlastnosti maj algebry A1 resp. A2. Podrobn dkaz nechvme na cvien 4.19. P klad 4.15 Uvame dvouprvkovou Booleovu algebru B2 = {0, 1} z obr. 4.1(a). Direktn mocnina B22 sestv ze vech dvojic prvk 0 a 1. M tedy 4 prvky, kter lze pst jako 00, 01, 10 a 11. Obecn n-tou direktn mocninu B2n Booleovy algebry B2 lze ztotonit s mnoinou vech slov, tvoench n-tic symbol 0 a 1. Tato slova jsou uspodna `po slokch', tj. (a1 a2 . . . an ) ≤ (b1b2 . . . bn ), pokud ai bi pro kad i. Tvrzen 4.16 Je-li X n-prvkov mnoina, pak 2X B2n. Dkaz. Bez jmy na obecnosti (dky cvien 4.16) meme pedpokldat, e X = {1, . . . , n}. Pro i ∈ X uvame `slovo' wi = (0 . . . 010 . . . 0) s jednikou prv na i-tm mst. Isomor#smus f : 2X → B2n je pak dn pedpisem f (Y ) =
X
wi ,
i∈Y
P
kde Y ∈ 2X a symbol oznauje stn v Booleov algebe B2n . Je snadn nahldnout, e f je opravdu isomor#smus. 2 Dsledek 4.17 Kad konen Booleova algebra je isomorfn s Booleovou algebrou B2n pro n jak n. Dkaz. Plyne pmo ze Stoneovy vty a tvrzen 4.16. 2
52
Kapitola 4. Booleovy algebry
Cvien
I 4.19 Ukate podrobn, e direktn souin Booleovch algeber je Booleova algebra. Jak jsou jej atomy?
I 4.20 Urete hodnoty operac +, · a komplement v Booleov algebe B22 . V-
sledek porovnejte s tabulkou 4.2.
4.8 Booleovsk funkce
Denice 4.18 Booleovsk funkce n prom nnch je libovoln funkce f : B2n →
B2 .
Pkladem booleovsk funkce 2 promnnch je funkce +, kterou u znme. Jej hodnoty ukazuje prvn st tab. 4.1. Obvyklej tvar tabulky m jeden dek pro kadou kombinaci hodnot promnnch, jako v tab. 4.3, kter ukazuje krom funkce + i funkce · a komplement. Jedn se o tzv. pravdivostn tabulky. x y
0 0 1 1
0 1 0 1
x+y
x y
0 1 1 1
0 0 1 1
0 1 0 1
x·y
0 0 0 1
x x5
0 1 1 0
Tabulka 4.3: Hodnoty booleovskch funkc +, · a komplement.
Tvrzen 4.19 Mnoina Fn vech booleovskch funkc n prom nnch s uspod-
nm ≤ danm pedpisem f ≤ g,
pokud pro kad x ∈ B2n plat f (x) g (x),
je Booleova algebra.
Dkaz. Cvien 4.23. 2
Zkladn booleovsk funkce je mon kombinovat do funkc sloitjch (teba xy5 + x5y ). To je idea booleovskch polynom, de#novanch nsledujcm rekurentnm zpsobem.
Denice 4.20 (1) Vrazy 0, 1 a xi (pro libovoln i = 1, . . . , n) jsou booleovsk polynomy v promnnch x1 , . . . , xn .
4.8. Booleovsk funkce
53
(2) Jsou-li f a g booleovsk polynomy v promnnch (f + g ), (f · g ) a g5 rovn. (3) Dva booleovsk polynomy v promnnch uruj stejnou booleovskou funkci.
x1 , . . . , xn ,
x1 , . . . , xn
pak vrazy
jsou si rovny, pokud
P klad 4.21 Vraz x⊕y := x5y + xy5 (tzv. symetrick rozdl x a y) je booleovsk
polynom v promnnch x, y . Plat ovem tak x ⊕ y = (x + y )(5x + y5). Meme se o tom pesvdit pravdivostn tabulkou (tab. 4.4). Dal monost je pm vpoet podle booleovskch zsad. Z distributivity toti mme (x + y )(5x + y5) = xx5 + xy5 + y x5 + y y5 = 0 + xy5 + y x5 + 0 = x5y + xy5. 2 Dalm dleitm pkladem booleovskho polynomu je implikace de#novan vztahem x → y := x5 + y . x y
0 0 1 1
0 1 0 1
x⊕y
0 1 1 0
x → y,
(x + y )(5x + y5) 0 1 1 0
Tabulka 4.4: Booleovsk polynomy se stejnou pravdivostn tabulkou. Cvien
I 4.21 Sestrojte pravdivostn tabulky booleovskch funkc, kter jsou ureny nsledujcmi polynomy v promnnch x a y : (a)
x → y,
(b) y + xy5.
I 4.22 Je vraz x2 + x2 + x2 booleovskm polynomem v promnnch x1 , . . . , x5 ? Je roven booleovskmu polynomu x2 ? I 4.23 Dokate tvrzen 4.19. Popite suprema, in#ma a komplementy v Booleov algebe Fn .
54
Kapitola 4. Booleovy algebry
I 4.24 Kolik prvk m mnoina F2 vech Booleovskch funkc dvou promn-
nch? Kolik mnoina Fn ?
I 4.25 Nech) | je Sheerova4 funkce B22 → B2 de#novan tabulkou x y
x|y
0 0 1 0 1 1 1 0 1 1 1 0 Ukate, e pomoc She%erovy funkce je mon vyjdit komplement, spojen a prsek.
4.9 Soutov a souinov tvar
Denice 4.22 Literl v promnnch x1 , . . . , xn je libovoln booleovsk polynom ve tvaru xi nebo x5i , kde i = 1, . . . , n. Souinov klauzule je booleovsk polynom, kter je souinem konen mnoha literl. Booleovsk polynom p je v soutovm tvaru5 , je-li soutem souinovch klauzul. Duln pojmy (soutov klauzule, souinov tvar) jsou de#novny nsledujcm pirozenm zpsobem. Soutov klauzule je booleovsk polynom, kter je soutem konen mnoha literl. Polynom p je v souinovm tvaru, pokud souinem soutovch klauzul. P klad 4.23 Polynom x1 x2 + x1 x53 je zapsn v soutovm, nikoli vak soui-
novm tvaru. Polynom x1(x2 + x53 ), kter je mu roven, je zapsn v souinovm tvaru. Polynom x1 (x2 + x53 ) + x1 x2 nen ani v jednom z tchto tvar.
Naskt se otzka, zda kadou booleovskou funkci je mon vyjdit booleovskm polynomem v soutovm tvaru. Uvidme, e plat mnohem vc.
Denice 4.24 Booleovsk polynom p v promnnch
je v plnm soutovm tvaru, jestlie je v soutovm tvaru a kad ze stanc (souinovch klauzul) obsahuje pro kad i = 1, . . . , n bu*to literl xi nebo literl x5i (ne vak oba). Symetricky: p je v plnm souinovm tvaru, jestlie je v souinovm tvaru a kad z initel (soutovch klauzul) obsahuje pro kad i = 1, . . . , n literl xi nebo x5i. x1 , . . . , xn
P klad 4.25 Polynom x5y +xy5 v promnnch x, y je zapsn v plnm soutovm tvaru. Jeho alternativn zpis, (x + y )(5x + y5), je v plnm souinovm tvaru.
Maurice Sheffer (1882{1964). Msto `soutov tvar' se tak pouv o nco odtaitj termn disjunktivn normln forma (DNF) msto `souinov tvar' pak konjunktivn normln forma (KNF). 4 Henry 5
4.9. Soutov a souinov tvar
55
Vta 4.26 Kadou nekonstantn booleovskou funkci booleovskm polynomem vm) tvaru.
n
prom nnch lze zapsat prom nnch v plnm soutovm (plnm souinon
Dkaz. Dokeme nejprve st o plnm soutovm tvaru. Uvame libovoln
= (a1 , . . . , an ) ∈ B2n . De#nujme souinovou klauzuli pa jako souin literl xi pes vechna i takov, e ai = 1, a literl x5i pes vechna i takov, e ai = 0. Kad pa je tedy booleovsk polynom v plnm soutovm tvaru, kter je navc nenulov jen pro jedin z ∈ B2n (toti z = a). Mjme nyn booleovskou funkci f , kterou chceme reprezentovat booleovskm polynomem v plnm soutovm tvaru, a nech) A ⊂ B2n je mnoina vech z ∈ B2n , pro n je f (z) = 1. Polome-li a
pf
=
X
pa ,
a∈A
pak pf je booleovsk polynom v plnm soutovm tvaru a oividn nabv stejnch hodnot jako funkce f . Vzhledem k tomu, e f nen konstantn nulov funkce, nen souet v de#nici polynomu pf przdn. Pokud jde o vyjden v plnm souinovm tvaru, sta vyjdit (nekonstantn) funkci f5 polynomem pf v plnm soutovm tvaru a upravit komplement pf podle de Morganova pravidla do souinovho tvaru. 2 Jednoduchm dsledkem vty 4.26 je odpov* na ve poloenou otzku: kad booleovsk funkce m vyjden ve tvaru polynomu v soutovm tvaru (nepoadujeme-li pln soutov tvar, plat toto tvrzen i pro konstantn funkce).
P klad 4.27 Vyjdme v plnm soutovm a souinovm tvaru booleovskou funkci f v promnnch x, y , z, zadanou pravdivostn tabulkou 4.5. x
y
z
0 0 0 0 0 1
f (x, y, z )
0 0
0 1 0 0 1 1
1 1
1 1 0
1
1 0 0 1 0 1 1 1 1
0 0 0
Tabulka 4.5: Pravdivostn tabulka funkce f . 'dky tabulky, kter v dkazu vty 4.26 odpovdaj mnoin A, jsou znzornny tun. Prvn z nich nap. odpovd prvku (010) ∈ B23 , take pslun
56
Kapitola 4. Booleovy algebry
klauzule p(010) je x5y z5. (Ovte, e x5y z5 nabv nenulov hodnoty prv pro tento jedin prvek.) Podobnmi leny pispj i zbyl dva tun dky, take vyjden funkce f v plnm soutovm tvaru je pf
= x5y z5 + x5yz + xy z5.
Vyjdme f jet v plnm souinovm tvaru. Funkce f5 m hodnotu 1 vude tam, kde f m hodnotu 0. Snadno tedy vidme, e pf = x5y5z5 + x5y5z + xy5z5 + xy5z + xyz.
(Kad z pti klauzul zde odpovd jednomu netunmu dku.) Ns ale zajm souinov tvar pro funkci f . Vezmeme tedy komplement pf : pf = x5y5z5 + x5y5z + xy5z5 + xy5z + xyz = x5y5z5 · x5y5z · xy5z5 · xy5z · xyz = (x + y + z)(x + y + z5)(5x + y + z)(5x + y + z5)(5x + y5 + z5).
P klad 4.28 Upravme do plnho soutovho tvaru polynom f (x, y ) = ((5 xy ) · x5) + y.
Mohli bychom sestrojit tabulku a postupovat stejn jako v minulm pkladu, ale ukeme een s vyuitm booleovskho potn. Nejprve se zbavme komplementu v prvn zvorce: f (x, y ) = ((5 x + y5) · x5) + y = (x + y5)5 x+y = xx5 + y5x5 + y = x5y5 + y.
Vsledn polynom je sice v soutovm tvaru, ne vak v plnm soutovm tvaru, protoe druh klauzule neobsahuje dn literl promnn x. Pouijeme trik: vynsobme tuto klauzuli vrazem x + x5 = 1 a upravme. Hodnoty funkce se tm nezmn. f (x, y ) = x5y5 + y
= x5y5 + y (x + x5) = x5y5 + xy + x5y, a to je tak hledan vyjden polynomu f v plnm soutovm tvaru. Cvien
I 4.26 Rozhodnte, zda jsou nsledujc booleovsk polynomy v soutovm resp. souinovm tvaru: (a) x1 x2 + x3 x4 , (b) x1 (x1 + x51 ),
4.9. Soutov a souinov tvar (c) (d)
57
x1 + x2 , x1 x2 x3 x4 .
I 4.27 Vyjdete booleovsk funkce f (x, y, z) a g(x, y, z) polynomem (a) v pl-
nm soutovm a (b) v plnm souinovm tvaru. x
0 0 0 0 1 1 1 1
y
0 0 1 1 0 0 1 1
z
0 1 0 1 0 1 0 1
f (x, y, z )
x
y
z
g (x, y, z )
0 0 0 0 1 0 0 0 1 0 1 1 0 1 0 0 1 1 0 1 1 1 0 0 0 1 1 1 0 1 1 1 0 0 0 1 1 1 1 1 I 4.28 Najdte 2 rzn vyjden v soutovm tvaru pro booleovsk polynom x(y + z ).
I 4.29 Plat vta 4.26 i pro konstantn booleovsk funkce? Lze funkci s kon-
stantn hodnotou 1 (v n promnnch) zapsat v plnm soutovm tvaru?
I 4.30 Peve*te do plnho soutovho a plnho souinovho tvaru nsledujc booleovsk polynomy v promnnch x, y, z: (a) x → (y → x), (b) x ⊕ (y → z), (c) y (x + y5z), (d) ((5xy ) ⊕ z)((xz) → y ).
I 4.31 Peve*te booleovsk polynomy do plnho souinovho tvaru, a to (i) pomoc booleovskho kalkulu, (ii) pomoc tabulky: (a) x → ((y + x5z) ⊕ z5), (b) ((xy5) ⊕ (y z5)) ⊕ (zx5).
I 4.32 Kolik je Booleovskch funkc n promnnch, jejich pln souinov tvar je zrove tvarem soutovm?
II 4.33 Dokate, e pro kadou Booleovskou funkci je zpis v plnm soutovm tvaru jednoznan.
58
Kapitola 4. Booleovy algebry
Kapitola 5 Grafy Touto kapitolou zan druh st naeho textu, kter je vnovna teorii graf. Seznmme se v n s nktermi zkladnmi grafovmi pojmy.
5.1 Denice Denice 5.1 Graf ;V , piem
2
G
je dvojice G = (V, E ), kde V je konen mnoina a E ⊂
V
y} 2 = {{x, y} : x, y ∈ V a x = je mnoina vech dvouprvkovch mnoin (neuspodanch dvojic ) prvk mnoiny V . Prvky mnoiny1 V nazvme vrcholy (asto tak uzly ), prvky mnoiny E pak hrany grafu G. Vrcholy x, y ∈ V jsou sousedn, pokud {x, y} ∈ E .
V obvyklm znzornn grafu jsou vrcholy zastoupeny body v rovin a kad hrana {x, y} arou spojujc pslunou dvojici bod jako na obr. 5.1. Potebujeme-li se odkzat na mnoinu vrchol resp. hran njakho grafu G, pouijeme zpis V (G) resp. E (G). Vimnme si, e nae de#nice grafu neumouje, aby mezi dvma vrcholy vedla vce ne jedna hrana (tzv. nsobn hrany ). Nepovoluje tak tzv. smyky, tj. hrany, kter spojuj vrchol se sebou samm. V nkterch situacch je vhodnj uvaovat grafy, kter nsobn hrany nebo smyky maj. My se vak zatm pidrme na jednoduch de#nice. Dal dleit zjitn je, e nae grafy jsou neorientovan, jejich hrany nemaj smr, protoe jsou de#novny jako neuspodan dvojice vrchol. Nkdy budeme pro jednoduchost zapisovat hranu {x, y} prost jako xy je ale teba mt na pamti, e v neorientovanm grafu nen rozdl mezi hranami xy a yx. Ustlen oznaen V , E pochz z anglick terminologie: anglick termn pro vrchol je vertex, pro hranu edge. 1
59
60
Kapitola 5. Grafy 4
4
3 8
7
5
6
1
5
2
(a)
3
1
(b)
2
Obrzek 5.1: Pklady graf. Budeme tak uvaovat pedevm o konench grafech, tedy takovch, jejich mnoina vrchol je konen. (Mus pak bt konen i mnoina hran?) Pojem neorientovanho grafu je velice blzko pojmu symetrick relace. Je-li R antire0exvn2 symetrick relace na mnoin X , pak j lze piadit neorientovan graf G s mnoinou vrchol V (G) = X , ve kterm prvky x, y ∈ X jsou spojeny hranou (tedy {x, y} ∈ E (G)), pokud x R y . Tato korespondence plat i opan. Lze dokonce i odstranit poadavek antire0exivity, pokud ovem v grafu G povolme smyky.
5.2 Nkter zkladn grafy Ukeme si pklady graf, kter jsou natolik dleit, e si zaslouily vlastn jmna a oznaen. Nech) n je pirozen slo a ozname n] = {1, . . . , n}. Vechny dle de#novan grafy maj mnoinu vrchol n]. pln graf na n vrcholech (zna se Kn ) obsahuje jako hrany vechny neuspodan dvojice prvk n], take V (Kn ) = n], n] . E (Kn ) =
2
Diskrtn graf
Dn
na n vrcholech nem dn hrany:
V (Dn ) = n], E (Dn ) = ∅. 2
K6
D6
Relace R je antireexvn, pokud pro dn x neplat x R x.
5.3. Isomorsmus a podgrafy Cesta
Pn
61
na n vrcholech je de#novna takto:
V (Pn ) = n], E (Pn ) = {{i, i + 1} : 1 ≤ i < n}.
6 P6
Krunice
Cn
1
na n ≥ 3 vrcholech vznikne pidnm jedn hrany:
V (Cn ) = n], E (Cn ) = E (Pn ) ∪ {{1, n}}.
C6
5.3 Isomorsmus a podgrafy Podvejme se na dvojici graf G, H , znzornnch na obr. 5.2. Jsou to rozhodn rzn grafy. Nejde ani tak o to, e se li zpsob nakreslen | kad graf lze nakreslit mnoha zpsoby, a nezle na tom, zda jsou ry pedstavujc hrany rovn i zda se teba k. Grafy G, H jsou nicmn rzn u proto, e maj rzn mnoiny vrchol V (G) = {1, 2, 3, 4, 5}
a
V (H ) = {a, b, c, d, e}.
Neme tedy jt o toton grafy. Je to ale jedin rozdl? Jinmi slovy, bylo by mon vrcholy grafu H `peznait' tak, abychom dostali pesn graf G? Tato otzka smuje k pojmu isomor#smu graf. $tene, kter zn de#nici isomor#smu grup (kap. 2) nebo uspodanch mnoin (kap. 4) by de#nice pro grafy nemla pekvapit.
Denice 5.2 Isomorsmus graf G a H je bijekce f : V (G) → V (H ), pro kterou
plat, e dvojice {x, y} je hranou grafu G, prv kdy dvojice {f (x), f (y )} je hranou grafu H . Grafy G, H , mezi ktermi existuje isomor#smus, jsou isomorfn (psno G H ). Grafy na obr. 5.2 isomorfn jsou: sta uvit bijekci, kter prvky 1, 2, 3, 4, 5 zobraz po ad na prvky a, b, c, d, e. (Ovte podmnku v de#nici isomor#smu.) Tyto grafy ovem nejsou isomorfn s dnm z graf na obr. 5.1. Nsledujc de#nice popisuje situaci, kdy je jeden graf `obsaen' v grafu jinm.
Denice 5.3 Graf H je podgrafem grafu G (psno H
V (G )
a E (H ) ⊂ E (G).
⊂ G),
pokud V (H )
⊂
62
Kapitola 5. Grafy 4
b
5
d
3
e a
1
(a)
2
c
(b)
Obrzek 5.2: Rzn, ale isomorfn grafy. Silnj variantou pojmu podgrafu je pojem indukovanho podgrafu, u kterho vyadujeme, aby obsahoval vechny hrany, kter ve `vtm' grafu na dan mnoin vrchol existuj:
Denice 5.4 Graf ;HV (jeH )indukovanm podgrafem grafu G, pokud V (H ) ⊂ V (G)
a E (H ) = E (G) ∩ 2 . Kad mnoina X ⊂ V (G) tedy uruje prv jeden indukovan podgraf H grafu G takov, e V (H ) = X . Tomuto podgrafu kme indukovan podgraf na mnoin X . Graf na obr. 5.2a je napklad podgrafem grafu na obr. 5.1b, ale nen jeho indukovanm podgrafem. Cvien
I 5.1 Dokate, e konen grafy s rznm potem vrchol nemohou bt isomorfn.
I 5.2 Dokate, e relace `bti isomorfn' na mnoin vech konench graf je ekvivalence.
I 5.3 Najdte isomor#smus mezi grafy na obr. 5.3. (Poznamenejme, e graf,
kter je s nimi isomorfn, se obvykle oznauje symbolem K3,3 .)
I 5.4 Kolik hran maj grafy Kn, Dn, Pn a Cn? II 5.5 Bu* G neorientovan graf (bez smyek a nsobnch hran) na 6 vrcholech.
Dokate, e G obsahuje mnoinu U t vrchol takovou, e indukovan podgraf na U je diskrtn nebo pln graf. (Jde o velmi speciln ppad slavn Ramseyovy v ty.)
5.4. Stupn
63 5
1
6
3
b
2
4
c
f
a
e d
Obrzek 5.3: Dva isomorfn grafy.
5.4 Stupn
Denice 5.5 Stupe! vrcholu v grafu G je poet hran grafu G, kter obsahuj vrchol v. Zna se dG(v).
V grafu G1 na obr. 5.1a je napklad dG1 (v) = 3 pro kad vrchol v.
Pozorovn 5.6 V grafu o n vrcholech je stupe! kadho vrcholu nejve n − 1. Nsledujc zajmav vta k, e dn graf neme mt lich poet vrchol lichho stupn. V anglitin se j nkdy k Handshaking lemma, lemma o podn ruky, protoe ji meme parafrzovat nsledovn. Dejme tomu, e na njak oslav se host navzjem vtaj podnm ruky, ne vak nutn kad s kadm (teba proto, e se vichni neznaj). Pak poet lid, kte si potesou rukou s lichm potem osob, bude za vech okolnost sud.
Vta 5.7 Poet vrchol lichho stupn je v kadm grafu sud. Dkaz. Nech) S je souet stup vech vrchol v grafu G: S
=
X
v∈V (G)
dG (v ).
Kad dvojice (v, e), kde e je hrana obsahujc vrchol v, k slu S pispje jednikou. Kad hrana m ovem dva konce a pispv tak prv dvakrt. Jinak eeno, S = 2m, kde m je poet hran grafu G. $slo S je tedy sud a z toho u plyne tvrzen vty.
2
Cvien
I 5.6 Urete stupn vrchol v grafech Kn, Dn, Pn a Cn.
64
Kapitola 5. Grafy
5.5 Soubor stup Nech) G je graf (i nadle bez smyek a nsobnch hran). Soubor stup! nebo tak sk"re grafu G je posloupnost sel, kterou zskme, kdy seadme stupn vech vrchol v grafu G od nejvtho k nejmenmu. Napklad sk&re grafu na obr. 7.1(a) je (3, 1, 1, 1) a graf na obr. 7.1(b) m sk&re (2, 2, 2, 1, 1). Budeme se zabvat pedevm otzkou, kter nerostouc posloupnosti sel jsou grafov, tj. maj tu vlastnost, e jsou souborem stup njakho grafu. Je toti jasn, e nkter nerostouc posloupnosti sel grafov nejsou, teba (6, 6, 6) nebo (2, 3). Na druhou stranu, jak ukazuje cvien 5.8, jedn grafov posloupnosti me obecn odpovdat nkolik neisomorfnch graf. Pi letmm pohledu na cvien 5.10 se ukazuje, e zodpovzen tto otzky metodou pokusu a omylu me bt nron kol (zkuste to!). (innm nstrojem je vak nsledujc vta.
Vta 5.8 Nech d = (d1, . . . , dn) je nerostouc posloupnost a n ≥ 2. Posloupnost d je grafov, prv kdy je grafov posloupnost d = (d2 − 1, d3 − 1, . . . , dd +1 − 1, dd +2 , . . . , dn). Dkaz. `⇐': Nech) je dna posloupnost d a nech) d je sk&re grafu G . Pidejme 1
1
ke grafu G nov vrchol v a spojme jej hranami s d1 vrcholy nevych stup. Vsledn graf m sk&re d. `⇒': Dejme tomu, e d je sk&re grafu G. Pmoarm odstrannm vrcholu w s nejvym stupnm bohuel nemusme dostat graf se sk&re d | k tomu bychom potebovali, aby sousedy vrcholu w bylo d1 vrchol, jejich stupn jsou nejvy hned po w. Na strategi proto bude upravit G na graf se stejnm sk&re, kter tuto vlastnost m. Nech) H je libovoln graf se sk&re d. Sea*me jeho vrcholy do posloupnosti (v1 , . . . , vn ) tak, e stupe vrcholu vi je di (jinak na vbru seazen nezle). De#nujme kvalitu q(H ) grafu H jako nejvt i, pro kter plat, e vrchol v1 soused se vemi vrcholy v2 , . . . , vi. (Pokud jsou nesousedn ji vrcholy v1 , v2, polome q(H ) = 1.) Nech) H0 je graf s nejvy monou kvalitou mezi vemi grafy se sk&re d. Pedpokldejme nejprve, e q(H0) je nejve d1. Mezi d1 vrcholy v2, . . . , vd1 +1 je tedy vrchol vj , kter nesoused s vrcholem v1 . Protoe stupe vrcholu v1 je d1, mus nutn existovat njak jeho soused vk , kde k > d1 + 1. Tvrdme, e existuje vrchol v s vlastnost vj v ∈ E (H ),
ale
vk v ∈ / E (H ).
(5.1)
Jinak by toti kad soused vrcholu vj byl i sousedem vrcholu vk , a s ohledem na vrchol v1 bychom dostali dj < dk . To je nemon, protoe j < k a posloupnost d je nerostouc. Vrchol v s vlastnost (5.1) tedy existuje.
5.5. Soubor stup
65 v1
vj
v1 vk
v
vj
vk v
Obrzek 5.4: Zven kvality grafu v dkazu vty 5.8. Hrany jsou znzornny pln, `nehrany' rkovan. Vrcholy v1, vj , vk a v tvo `kon#guraci' na lev stran obr. 5.4. Pokud hrany v1 vk a vj v nahradme v grafu H0 hranami v1 vj a vk v , stupn vrchol (a tedy ani sk&re) se nezmn, ale kvalita vslednho grafu bude vy. To je spor s maximalitou q(H0). Dokzali jsme, e q(H0) > d1, take vrchol v1 soused s vrcholy v2 , . . . , vd1 +1. Nyn ovem graf vznikl odstrannm vrcholu v1 z grafu H0 m sk&re d . Posloupnost d je tedy grafov, co jsme chtli dokzat. 2 Cvien
I 5.7 Zjistte sk&re graf:
(a) pln bipartitn graf Kp,q (p ervench a q modrch vrchol, kad dva rznobarevn jsou spojeny hranou), (b) Hassev diagram Booleovy algebry 2X , kde X = {1, . . . , k}. I 5.8 Najdte dvojici neisomorfnch graf se stejnm sk&re. I 5.9 Pro kter n existuje graf se sk&re (n, n − 1, . . . , 1)? I 5.10 Rozhodnte, zda nsledujc posloupnost je souborem stup njakho grafu, a ppadn takov graf najdte: (a) (5, 5, 4, 4, 3, 3), (b) (5, 5, 5, 4, 4, 3, 2). (c) (7, 6, 6, 5, 4, 4, 4, 3, 3, 3, 2), II 5.11 Graf je k-regulrn, pokud vechny jeho vrcholy maj stupe k. (a) Dokate, e na n vrcholech existuje 3-regulrn graf, prv kdy n je sud. (b) Charakterizujte dvojice (n, k) s vlastnost, e existuje njak k-regulrn graf na n vrcholech.
66
Kapitola 5. Grafy
Kapitola 6 Cesty v grafu Tmatem tto kapitoly jsou cesty v grafech a rzn jejich modi#kace. Pomoc cest zavedeme souvisl grafy a odvodme nkter jejich vlastnosti. Pedstavme rovn eulerovsk a hamiltonovsk grafy a prozkoumme pekvapiv rozdl v obtnosti algoritmickho rozpoznvn graf z tchto dvou td.
6.1 Sled, cesta a tah Denice 6.1 Sled (z vrcholu u do vrcholu v) v grafu G je libovoln posloupnost
(u = v0, v1 , . . . , vk = v), kde vi jsou vrcholy grafu G a pro kad i = 1, . . . , k je vi−1 vi hranou grafu G. $slo k je dlka tohoto sledu. 'kme, e sled prochz vrcholy v0 , . . . , vk nebo e na nm tyto vrcholy le. Sled je tedy jaksi prochzka po grafu, pi kter v kadm kroku pechzme po hran mezi sousednmi vrcholy. V rmci tto prochzky meme libovoln vrchol navtvit vcekrt, meme dokonce i projt vcekrt po te hran.
Denice 6.2 Cesta z u do v v grafu G je sled (u = v0 , v1, . . . , vk = v), ve kterm se kad vrchol vi objevuje pouze jednou.
Za zmnku stoj triviln ppad uvedench de#nic, toti sled (u), kde u ∈ V . Jedn se o sled nulov dlky z u do u, kter je zrove i cestou. Cvien
I 6.1 Uvame libovolnou cestu (v0 , . . . , vk ) v grafu G. Nech) V = {v0 , . . . , vk }
je mnoina vrchol, ktermi tato cesta prochz, a E = {vi−1 vi : i = 1, . . . , k} je mnoina hran, kter pouv. Dokate, e podgraf (V , E ) grafu G je isomorfn s grafem Pk+1 de#novanm v oddlu 5.2. 67
68
Kapitola 6. Cesty v grafu
6.2 Homomorsmy Alternativn de#nice sledu a cesty je zaloena na pojmu homomor#smus. Denice 6.3 Homomorsmus grafu G do grafu H je zobrazen f : V (G) → V (H ) s vlastnost, e pro kadou hranu xy grafu G je f (x)f (y ) hranou grafu H . Vimnme si, e oproti pojmu isomor#smus z oddlu 5.3 nemus f bt bijekce, a e namsto ekvivalence je zde vyadovna jedin implikace. Nyn ji meme podat alternativn de#nici sledu v grafu G: je to libovoln homomor#smus njak cesty Pk (viz oddl 5.2) do G. Rozdl oproti de#nici 6.1 je jen formln: posloupnost vrchol a hran je tu nahrazena zobrazenm. Kad homomor#smus f grafu G do grafu H indukuje zobrazen f ∗ : E (G) → E (H ) pedpisem f ∗ (xy ) = f (x)f (y ) ∈ E (H ). Denice 6.4 Nech) f je homomor#smus grafu G do grafu H . 'ekneme, e f je • vrcholov monomorsmus, pokud f : V (G) → V (H ) je prost zobrazen, • vrcholov epimorsmus, pokud f je zobrazen na, • hranov monomorsmus, pokud f ∗ je prost, • hranov epimorsmus, pokud f ∗ je na. Cestu v grafu G nyn meme ekvivalentn de#novat jako vrcholov monomor#smus z njak cesty Pk do grafu G. Pozdji, nap. v oddlu 6.5, se seznmme s dalmi pojmy, kter se daj de#novat pomoc homomor#sm. Cvien
I 6.2 Najdte pklad homomor#smu mezi dvma grafy, kter je vrcholovm monomor#smem a hranovm epimor#smem, ale nen isomor#smem.
6.3 Souvisl grafy Denice 6.5 Graf
je souvisl, pokud pro kad dva vrcholy v grafu G cesta z x do y . V opanm ppad je graf G nesouvisl. G
x, y
existuje
Nech) G je graf s mnoinou vrchol V . De#nujme na V relaci ∼ pedpisem x ∼ y,
pokud v G existuje cesta z x do y .
Jedn se o ekvivalenci? Urit je to relace re0exvn (dky existenci cesty dlky 0) a symetrick (protoe peteme-li cestu pozptku, bude to podle de#nice zase
6.3. Souvisl grafy
69
cesta). Pokud jde o tranzitivitu, mme-li cestu z x do y a cestu z y do z, zd se jako pirozen idea `sloenm' tchto cest zskat cestu z x do z. Pot je ovem v tom, e vsledkem sloen nemus bt cesta, protoe pvodn dv cesty se mohou libovoln protnat. Pome nm vak nsledujc tvrzen. Tvrzen 6.6 Existuje-li v grafu G sled z vrcholu x do vrcholu y, potom x ∼ y. Dkaz. Chceme ukzat, e existuje-li sled z x do y, pak existuje tak cesta z x do y . Nech) tedy (x = v0, v1 . . . , vk−1, vk = y ) je sled z x do y , a zvolme jej tak, aby k bylo nejmen mon (tj. aby dn sled z x do y neml men dlku). Tvrdme, e takovto minimln sled (ozname jej S ) ji mus bt cestou. Dejme tomu, e nen. Pak se v nm mus njak vrchol opakovat, tj. pro njak i= j mus bt vi = vj . Pokud z naeho sledu (x = v0, . . . , vi−1 , vi, vi+1, . . . , vj−1, vj , vj +1, . . . , vk = y ) vypustme st od vi+1 do vj vetn, dostaneme posloupnost (x = v0, . . . , vi−1, vi, vj +1, . . . , vk = y ), kter je podle de#nice rovn sledem (vrcholy vi a vj +1 jsou toti sousedn). Navc jde o sled z x do y , kter je krat ne S . To je spor. 2 Dsledek 6.7 Relace ∼ na mnoin V je ekvivalence. Dkaz. Povimli jsme si, e re0exivita a symetrinost plat z jednoduchch dvod. Dokame tranzitivitu. Pedpokldejme x ∼ y a y ∼ z. Nech) (x = v0 , . . . , vk = y ) je cesta z x do y a (y = w0 , . . . , w = z ) je cesta z y do z . Potom posloupnost (x = v0, v1 , . . . , vk−1, vk = w0, w1, . . . , w−1, w = z) je sled z x do z (tebae to nemus bt cesta) a podle tvrzen 6.6 je x ∼ z. 2 Denice 6.8 Komponenty grafu G jsou vechny indukovan podgrafy grafu G na jednotlivch tdch ekvivalence ∼. Je-li tedy K komponenta grafu G, pak V (K ) je jednou ze td ekvivalence ∼. Je jasn, e K je souvisl graf, protoe prvky te tdy libovoln ekvivalence jsou kad s kadm v relaci. Na druhou stranu je K maximln souvisl podgraf grafu G: nejde jej rozit o dal vrchol, nem-li ztratit souvislost. Ze dnho vrcholu komponenty K toti nevede hrana do dnho vrcholu mimo ni (cvien 6.3). Mohlo by se zdt, e komponenty grafu lze snadno urit `na prvn pohled', ale u vtch nebo nepehledn zadanch graf to tak triviln bt nemus (viz cvien 6.5). Pesto je pravda, e z algoritmickho hlediska je uren komponent a testovn souvislosti grafu snadnm problmem. K obma elm lze pout nap. Dijkstrv algoritmus, kter popeme v oddlu 12.2 (viz ale tak cvien 6.7).
70
Kapitola 6. Cesty v grafu
(a)
(b)
Obrzek 6.1: Urete poet komponent. Cvien
I 6.3 Dokate, e je-li K komponenta grafu G, u ∈ V (K ) a v ∈/ V (K ), pak mezi u
a v nen hrana.
I 6.4 Dokate, e graf je souvisl prv tehdy, kdy m jedinou komponentu. I 6.5 Urete poet komponent graf na obr. 6.1. II 6.6 Cesta P v grafu G je nejdel, pokud G neobsahuje cestu s vce vrcholy.
Ukate, e dv nejdel cesty v souvislm neorientovanm grafu G maj spolen alespo jeden vrchol.
I 6.7 Formulujte algoritmus, kter zjist, zda je zadan graf souvisl, a ppadn ur jeho komponenty. Vstupem algoritmu je seznam vrchol a hran grafu.
6.4 Vlastnosti souvislch graf Denice 6.9 Nech) v je vrchol grafu G. Graf G−v, vznikl odstran nm vrcholu
v,
je de#novn jako indukovan podgraf grafu G na mnoin V (G) − {v}.
Nsledujc vta ukazuje, e souvisl graf vdy obsahuje vrchol, jeho odstrannm neztrat souvislost. Jej dkaz vtipn pouv pedpoklad maximality.
Vta 6.10 Kad souvisl graf souvisl graf.
G
obsahuje vrchol
v
s vlastnost, e
G−v
je
6.4. Vlastnosti souvislch graf
Dkaz. Nech)
71
= (v0, . . . , vk ) je cesta maximln mon dlky v grafu G. Tvrdme, e vrchol v0 m poadovanou vlastnost. Dejme tomu, e G − v0 je nesouvisl graf. Cesta P −v0 mus zjevn cel leet v jedn komponent grafu G− v0 . Krom tto komponenty existuje alespo jedna dal komponenta C . Z vrcholu v0 mus vst do komponenty C njak hrana, co nm umouje prodlouit cestu P . Tm dostvme spor s maximalitou. 2 Vimnme si, e msto vrcholu v0 jsme stejn tak mohli zvolit druh konec cesty P , vrchol vk . Pokud m tedy graf G vce ne jeden vrchol, pak existuj dokonce alespo dva vrcholy splujc podmnku vty 6.10. Zave*me nyn nsledujc konvenci: bude-li z kontextu jasn, o kterm grafu se hovo, bude n oznaovat poet jeho vrchol a m poet jeho hran. P
Vta 6.11 V souvislm grafu je m ≥ n − 1. Dkaz. Vtu dokeme indukc. Pro n = 1 se jedn o graf na jednom vrcholu,
a ten je souvisl. Pedpokldejme, e vta plat pro vechny grafy s mn ne n vrcholy, kde n > 1, a dokame ji pro libovoln graf G s n vrcholy. Nech) G m m hran. Podle vty 6.10 v grafu G existuje vrchol v, kter lze odstranit bez poruen souvislosti. Graf G − v m n = n − 1 vrchol a poet m jeho hran je nejve m − 1 (do vrcholu v vedla alespo jedna hrana). Z induknho pedpokladu je m ≥ n − 1, a tedy m ≥ m + 1 ≥ (n − 1) + 1 = n − 1, co jsme chtli dokzat. 2 Jak je vztah souvislosti grafu a potu jeho hran? Intuitivn je zejm, e se zvyujcm se potem hran roste ance, e graf bude souvisl. Na druhou stranu: pidme-li k plnmu grafu na n − 1 vrcholech jeden izolovan vrchol, zskme nesouvisl graf s velmi vysokm potem hran. Tomuto pkladu bychom se vyhnuli, kdybychom poadovali, aby kad vrchol ml dostaten velk stupe. Zde je extrmnm (v teorii graf se k tak extremlnm) pkladem disjunktn sjednocen dvou plnch graf na n/22 vrcholech to je nesouvisl a kad vrchol m stupe n/2 − 1. Tento pklad ukazuje, e nsledujc vtu nen mon zlepit:
Vta 6.12 Jsou-li stupn vech vrchol v grafu G alespo! n/2, pak je G souvisl graf.
Dkaz. Dejme tomu, e vta neplat a G je nesouvisl. M tedy aspo dv neprzdn komponenty A,B . Alespo jedna z tchto komponent (dejme tomu A) m nejve n/2 vrchol, jinak by poet vrchol v celm grafu nemohl bt n. Z libovolnho vrcholu v komponenty A vedou hrany jen do ostatnch vrchol tto komponenty, kterch je nejve n/2 − 1. Stupe vrcholu v tedy mus bt men ne n/2, co je spor s nam pedpokladem. 2
72
Kapitola 6. Cesty v grafu
Cvien
I 6.8 Dokate, e v grafu s k komponentami plat m ≥ n − k. II 6.9 Dokate, e graf, ve kterm jsou stupn vech vrchol alespo δ, m mn ne n/δ komponent.
6.5 Krunice
Denice 6.13 Uzaven sled v grafu G je sled (v0, . . . , vk ), ve kterm plat v0 =
vk .
Krunice v grafu G je uzaven sled dlky alespo 3, ve kterm se vrchol v0 objevuje prv dvakrt a kad ostatn vrchol nejve jednou. $slo k je dlka dan krunice.
Krunici a uzaven sled v grafu G meme ekvivalentn de#novat pomoc pojm z oddlu 6.2: uzaven sled v grafu G nen nic jinho ne homomor#smus njak krunice Ck (viz oddl 5.2) do G. Takov homomor#smus je krunic v grafu G, prv kdy je to vrcholov monomor#smus. Ve cvien 6.1 jsme vidli, e cesty dlky k v grafu G lze ztotonit s podgrafy isomorfnmi s grafem Pk+1. Podobn ztotonme krunice dlky k v grafu G s podgrafy isomorfnmi s grafem Ck . Meme tak mluvit o mnoin hran njak krunice v grafu G a podobn. V minulm oddlu jsme de#novali operaci odstrann vrcholu z grafu. Jej pirozenou obdobou je operace odstrann hrany. Jedn se o pouh smazn hrany se zachovnm jejch koncovch vrchol. Denice 6.14 Je-li e hrana grafu G = (V, E ), potom graf G − e vznikl odstran nm hrany e je de#novn jako graf (V, E − {e}). Vta 6.15 Je-li e hrana souvislho grafu G, kter le na n jak krunici, potom G − e je souvisl graf. Dkaz. Nech) e = xy je hranou krunice C . V krunici C existuj dv cesty z vrcholu x do vrcholu y tu z nich, kter m dlku vt ne 1, ozname P . Dokazujeme, e G−e je souvisl graf. K tomu sta najt sled mezi libovolnmi dvma vrcholy u, v. Nech) S je cesta z u do v v (souvislm) grafu G. Pokud S nepouv hranu e, je cestou i v grafu G−e. Pokud ji pouv, meme tuto hranu nahradit cestou P . Pesnji eeno, pokud S = (u = s0, s1, . . . , si = x, si+1 = y, . . . , sk = v ) a P = (x = p0 , p1 , . . . , p = y ), vezmeme S = (u = s0 , s1 , . . . , si−1 , x = p0 , p1 , . . . , p = y, si+2 , . . . , sk = v ), co je sled v grafu G − e. (V ppad, e S hranu e pouv v opanm smru, tedy si = y , si+1 = x, vlome i cestu P obrcen.) Dkaz je hotov. 2 Implikace ve vt 6.15 se dokonce d zeslit na ekvivalenci (viz cvien 6.10).
6.6. Eulerovsk a hamiltonovsk grafy
73
Cvien
I 6.10 Dokate, e je-li G − e souvisl graf, pak hrana e grafu G le na njak krunici.
6.6 Eulerovsk a hamiltonovsk grafy Ji v 18. stolet zkoumal Leonhard Euler (1707{1803) nsledujc problm1: za jakch podmnek existuje sled, kter pouv kadou hranu danho grafu prv jednou? Touto otzkou se dostvme k pojmu tah.
Denice 6.16 Tah z u do v v grafu G je sled (u = v0, v1 , . . . , vk = v), ve kterm
se mohou opakovat vrcholy, ale hrany vi−1vi jsou pro rzn i rzn. Uzaven tah je tah, kter je uzavenm sledem. Uzaven tah je eulerovsk, pokud pouv kadou hranu grafu G. Podobn jako sledy, cesty a krunice v grafu, i tah se d snadno ekvivalentn de#novat pomoc pojmu homomor#smus (viz cvien 6.11). V dalm textu se nm bude hodit nsledujc pozorovn.
Lemma 6.17 Nech T je tah z vrcholu x do vrcholu y v grafu G. Ozname poet hran tahu T , obsahujcch vrchol z ∈ V (G), symbolem dT (z). Pak plat, e dT (z) je sud, prv kdy T je uzaven tah nebo z ∈/ {x, y}.
Dkaz. Nech) T = (v0, . . . , vk ), kde x = v0 a y = vk . Opateme kadou hranu vi vi+1 tahu T ipkou z a kolik ven?
z vrcholu vi do vrcholu vi+1 . Kolik ipek smuje do vrcholu
Kadmu vskytu vrcholu z v tahu T odpovd njak index i s vlastnost z = vi . Ozname vskyt jako vnitn, je-li 0 < i < k . Kad vnitn vskyt pispv jednu ipku smrem do z (na hran vi−1 vi) a jednu ipku ven (hrana vi vi+1 ). Vnitn vskyty zachovvaj rovnovhu mezi poty ipek v obou smrech a je pi nich tedy pouit sud poet hran. Tyto hrany nemaj na paritu sla dT (z) vliv a meme je tedy ignorovat ostatn hrany ozname jako podstatn (pro z). Pokud z ∈/ {x, y}, pak vrchol z nen obsaen v dn podstatn hran, take dT (z ) je sud. Meme tedy pedpokldat, e z = x (ppad z = y je symetrick a nemusme jej uvaovat zvl)). Je-li tah T uzaven, pak podstatn hrany obsahujc vrchol z jsou v0 v1 a vk v0, take i v tomto ppad je dT (z) sud slo. Konen pokud tah T nen uzaven, pak jedinou podstatnou hranou obsahujc vrchol z je hrana v0 v1 , take dT (z) je lich. Sloenm vech t ppad dostaneme poadovanou ekvivalenci. 2 Euler ilustroval sv vsledky na slavnm pkladu: ukzal, e nen mon pejt bhem jedin prochzky prv jednou pes kad z most ve mst Krlovci (K"nigsberg, dne n Kaliningrad) a vrtit se na stejn msto. 1
74
Kapitola 6. Cesty v grafu
Eulerova odpov* na otzku, kter grafy maj eulerovsk tah, je obsaena v nsledujc vt.
Vta 6.18 Souvisl graf G m eulerovsk tah, prv kdy vechny jeho vrcholy maj sud stupe!. Dkaz. `⇒': Eulerovsk tah je uzaven, take tvrzen plyne z lemmatu 6.17.
`⇐': Nech) M je uzaven tah maximln mon dlky. Dokeme, e M obsahuje kadou hranu grafu G. Pro dkaz sporem pedpokldejme, e neobsahuje hranu e = xy . Nejprve najdeme hranu e0 , kter rovn nen obsaena v tahu M , ale tento tah prochz alespo jednm z jejch koncovch vrchol. Jak ji najt? Meme pedpokldat, e tah M neprochz vrcholem x, jinak sta vzt e = e. Ze souvislosti grafu G existuje cesta z x do njakho vrcholu, kterm prochz tah M . Nejkrat takov cesta (ozname ji P ) jist neobsahuje dnou hranu tahu M , jinak bychom ji mohli zkrtit. Na druhou stranu je dlka cesty P alespo 1 (protoe tah M neobsahuje vrchol x). Zvolme tedy za hranu e0 posledn hranu cesty P . Ta m poadovan vlastnosti: nele na tahu M , ale ten prochz jednm z jejch koncovch vrchol. Najdeme nyn uzaven tah T , kter neobsahuje dnou hranu tahu M . Zkonstruujeme jej postupnm pidvnm hran. Nech) z0 je koncov vrchol hrany e0 , kter le na tahu M . Ozname druh koncov vrchol symbolem z1 a de#nujme vchoz (neuzaven) tah T1 = (z0 , z1 ). Podle lemmatu 6.17 je poet hran tahu M , obsahujcch vrchol z1 , sud. Celkov stupe tohoto vrcholu je rovn sud, take krom hrany e0 = z0z1 mus existovat jet njak hrana e1 obsahujc vrchol z1 , kterou tah M neprochz. Polome T2 = (z0 , z1, z2 ), kde z2 je druh koncov vrchol hrany e1. V i-tm kroku konstrukce mme zkonstruovn tah Ti, kter kon ve vrcholu zi . Je-li zi = z0 , jsme hotovi, protoe Ti je uzaven tah s poadovanou vlastnost. Jinak podle lemmatu 6.17 je z hran obsahujcch vrchol zi sud poet obsaen v tahu M a lich poet v tahu Ti. Protoe stupe vrcholu zi je sud, existuje hrana ei+1 , kter z nj vychz a nen obsaena z dnm z tah M a Ti . Pidnm druhho koncovho vrcholu zi+1 hrany ei+1 k tahu Ti zskme del tah Ti+1 . Graf G obsahuje konen poet hran, a tak po konenm potu krok mus nastat situace zi = z0 . Tm je existence tahu T dokzna. Zbv si vimnout, e tah T lze pout k prodlouen tahu M . Sta prochzet po tahu M a k njakmu vskytu vrcholu z0 , projt cel uzaven tah T , a pot projt zbvajc st tahu M . Vsledn uzaven tah M m vt dlku ne M (vme toti, e dlka tahu T je nenulov!) a to je spor. 2 Graf, kter m njak eulerovsk tah, se nazv eulerovsk graf. Podle vty 6.18 je snadn poznat, zda je dan graf eulerovsk: sta zkontrolovat, zda je souvisl a zda vechny stupn jsou sud. Nen tedy poteba nap. zkouet vechny mon tahy a zji)ovat, zda nkter nhodou nen eulerovsk.
6.6. Eulerovsk a hamiltonovsk grafy
75
Nabz se mal modi#kace uvaovanho pojmu. Eulerovsk tah je uzaven sled, pouvajc kadou hranu prv jednou. Co se zmn, budeme-li poadovat, aby dan uzaven sled obsahoval kad vrchol prv jednou? Takov sled mus bt krunic. Krunice, kter prochz vemi vrcholy grafu, se nazv hamiltonovsk, a graf obsahujc njakou takovou krunici je hamiltonovsk graf. Nzev je odvozen od jmna irskho matematika Williama Rowana Hamiltona (1805{1865). Ten v roce 1857 vynalezl hlavolam, jeho zadnm bylo najt `cestu' po hranch tzv. dvanctistnu (trojrozmrnho mnohostnu o 20 vrcholech), kter navtv kad vrchol prv jednou a vrt se na vchoz msto. (loha je ekvivalentn s nalezenm hamiltonovsk krunice v grafu na obr. 6.2, ktermu se rovn k dvanctistn.
Obrzek 6.2: Dvanctistn s vyznaenou hamiltonovskou krunic. Existuje njak kritrium ve stylu vty 6.18, kter by nm umoovalo snadno a rychle poznat hamiltonovsk grafy? Vzhledem k podobnosti pojm eulerovsk tah a hamiltonovsk krunice by se to mohlo zdt pravdpodobn. Odpov* na tuto otzku vak ponkud pekvapiv nen znma a ve nasvduje tomu, e takov kritrium neexistuje. Na druhou stranu je znma cel ada postaujcch podmnek pro existenci hamiltonovsk krunice. Lze napklad ukzat, e hamiltonovsk je kad graf, pro kter je splnn pedpoklad vty 6.12 (toto zeslen vty 6.12, tzv. Diracova v ta, pat ke klasickm vsledkm teorie graf). Abychom mohli pesnji popsat rozdl mezi problmy rozpoznvn hamiltonovskch a eulerovskch graf, potebujeme se strun zmnit o vpoetn sloitosti. Cvien
I 6.11 De#nujte tah a uzaven tah pomoc pojm z oddlu 6.2. I 6.12 Najdte eulerovsk tah v grafu na obr. 6.3.
76
Kapitola 6. Cesty v grafu
I 6.13 Dokate, e souvisl graf G m (uzaven nebo neuzaven) tah obsa-
hujc kadou hranu pesn jednou, prv kdy G m nejve dva vrcholy lichho stupn. 6
5 3 1
2
4
Obrzek 6.3: Graf ve cvien 6.12.
6.7 asov sloitost algoritmu Pedstavme si njak algoritmus A, kter pro libovoln graf G (vstupn graf ) rozhodne, zda m G uritou vlastnost (teba zda je eulerovsk). Takov algoritmus sestv z mnostv elementrnch operac jako je seten dvou sel nebo zjitn, zda mezi uritmi dvma vrcholy grafu G vede hrana.2 Poet elementrnch operac, kter si proveden algoritmu vyd, samozejm zvis na vstupnm grafu G ozname tento poet f (G). #asov sloitost algoritmu A je funkce f : N → N, de#novan vztahem f (n) = max f (G), G
kde G probh vechny grafy na n vrcholech. Jde tedy o poet elementrnch operac, nutnch `v nejhorm ppad' pro zpracovn grafu na n vrcholech. $asov sloitost me bt vyjdena i pomoc jinch parametr vstupnho grafu, ne je poet vrchol, a lze ji analogicky de#novat i pro algoritmy, kter pracuj s jinmi strukturami ne s grafy. Vra)me se k rozpoznvn eulerovskch graf. Navren algoritmus prochz jeden vrchol po druhm a testuje, zda jeho stupe je sud. Pokud jde o vstupn graf G, pedpokldejme, e pro kad vrchol grafu G je zadn seznam jeho soused. Jak je asov nronost tohoto algoritmu? Pro kad z n vrchol je teba spotat stupe, a to obn zjistit existenci nebo neexistenci kad z n − 1 potencilnch hran vedoucch z tohoto vrcholu. $asov sloitost je tedy n(n − 1). Je to tedy kvadratick funkce promnn n pokud nm sta odhadnout `dovou' Pesn vymezen elementrnch operac, tvaru vstupnch dat atd. je obecn velmi dleit, nm v ak bude stait tento intuitivn pohled na vc. 2
6.7. asov sloitost algoritmu
77
zvislost asov sloitosti na n, ekneme, e asov sloitost je O(n2). (Obecn pro dv funkce g, h : N → N peme g = O(h), pokud existuje konstanta c tak, e pro dost velk n plat g (n) < c · h(n).) N algoritmus je tedy polynomiln, jeho asov sloitost je urena polynomem. Jak testovat, zda je dan graf hamiltonovsk? Nejsou k dispozici o mnoho lep metody ne `hrub sla', nap. zkouet hamiltonovskou krunici vybudovat postupnm prodluovnm cesty, v ppad ne spchu se vracet zpt a probrat dal monosti (tzv. backtracking ). Pklad podobnho postupu uvidme v oddlu 12.5. V kadm vrcholu mme obvykle nkolik monost, jak postupovat dle, take poet vech situac, kter je teba probrat, se s kadm dalm vrcholem alespo zdvojnsobuje. $asov sloitost takovho algoritmu je katastrofln: je vy ne libovoln polynom, je to exponenciln funkce n, jako je nap. funkce 2n (nebo jet hor). Zde z teoretickho hlediska vede dlic ra mezi rychlmi a pomalmi algoritmy: `rychl' (neboli efektivn ) je algoritmus s polynomiln asovou sloitost, `pomal' jsou ty ostatn3. Rozdl mezi polynomiln a exponenciln asovou sloitost ilustruje tabulka 6.1, ve kter je uvedena doba provdn algoritmu s asovou sloitost n3 resp. 2n pro rzn velikosti vstupnch dat n a za pedpokladu, e proveden jedn operace trv 1 mikrosekundu. 10 20 50 100 200 1 ms 8 ms 125 ms 1s 8s 2n 1 ms 1 s 36 let 4 · 1016 let 5 · 1046 let Tabulka 6.1: Polynomiln a exponenciln asov sloitost. n3
Pestoe se ob lohy popsan v oddlu 6.6 (rozhodovn, zda je graf eulerovsk resp. hamiltonovsk) zdaj velmi podobn, nronost jejich algoritmickho een je dramaticky rozdln. Problm zji)ovn hamiltonovskosti toti pat do velk tdy tzv. NP-plnch problm. Jde o velmi obtn problmy, pro kter nen znm efektivn algoritmus, ale zrove nen dokzna jeho neexistence. Otzka, zda takov algoritmus existuje, pat k nejvtm otevenm problmm souasn matematiky. O asov sloitosti algoritm se lze dozvdt vce nap. v pednce 8] nebo v knize 2]. My se k tomuto tmatu vrtme pedevm v oddlu 12.2, kde budeme analyzovat asovou sloitost tzv. Dijkstrova algoritmu. S dalm NP- plnm problmem, tzv. problmem obchodnho cestujcho, se seznmme v oddlu 12.5.
Me se samozejm stt, e je exponenciln algoritmus pro `rozumn' hodnoty n rychlej ne teba polynomiln algoritmus se sloitost 1000000n8. Na druhou stranu praxe ukazuje, e se pro #lohy e iteln efektivnm algoritmem zpravidla da postupn snit asovou sloitost algoritmu do `rozumnch' mez. Ke vzcnm vjimkm zatm pat tzv. problm!linernho programovn. 3
78
Kapitola 6. Cesty v grafu
Kapitola 7 Stromy Stromy jsou jednou z nejdleitjch td graf. O tom svd i mnostv vt, kter je z rznch pohled charakterizuj. Nkolik z nich dokeme v tto kapitole. Pedstavme tak dv praktick aplikace strom: prvn se tk vyhledvn v linern uspodan mnoin, druh optimlnho k&dovn symbol z njak abecedy.
7.1 Denice
Denice 7.1 Strom je souvisl graf, kter neobsahuje dnou krunici. List stromu T je libovoln vrchol, jeho stupe v T je 1.
(a)
(b)
(c)
Obrzek 7.1: Stromy. Nkolik pklad strom ukazuje obr. 7.1. Tyto stromy maj (zleva doprava) 3, 2 a 12 list.
Tvrzen 7.2 Kad strom m alespo! dva listy. Dkaz. Vezmme cestu P maximln mon dlky ve stromu T . Nech) x je
koncov vrchol cesty P . Kad soused vrcholu x mus leet na cest P , jinak by bylo mon ji prodlouit. Dejme tomu, e x nen list a m tedy alespo dva 79
80
Kapitola 7. Stromy
sousedy y1, y2. Sled, kter dostaneme, pokud vyjdeme z vrcholu x do vrcholu y1, dle po cest P do y2 a zpt do x, je krunic v grafu T . Ten je ale stromem a dnou krunici neobsahuje, take x je skuten list. Dalm listem je druh koncov vrchol cesty P . 2 V tomto oddlu si ukeme ti dleit vty, z nich kad charakterizuje stromy z jinho hlediska: vta 7.3 podle potu cest mezi dvma vrcholy, vta 7.4 podle potu hran a konen vta 7.6 podle nesouvislosti jistch podgraf (tzv. faktor). Z de#nice je graf souvisl, obsahuje-li alespo jednu cestu mezi kadou dvojic vrchol. Pokud podmnku zeslme a budeme poadovat existenci prv jedn cesty, pak podle nsledujc vty budou tto podmnce vyhovovat prv vechny stromy.
Vta 7.3 Graf G je strom, prv kdy pro kad dva vrcholy u, v ∈ V (G) existuje
v grafu G prv jedna cesta z u do v.
Dkaz. `⇒': Strom G je z de#nice souvisl, take alespo jedna cesta mezi kadmi dvma vrcholy existuje. Nech) P, Q jsou dv cesty z vrcholu u do vrcholu v , piem P = (u = p0 , p1 , . . . , pk = v ), Q = (u = q0 , q1 , . . . , q = v ).
Nech) i je nejmen index takov, e pi = qi. Vzhledem k tomu, e cesty P a Q jsou rzn, ale zanaj v tme vrcholu, plat 1 ≤ i ≤ k, . Zvolme j nejmen takov, e j > i a qj le na cest P . Vme, e pinejmenm q na P le, proto takov index j jist existuje. De#nujme sled S nsledujcm zpsobem: vyjdeme z vrcholu pi−1 po cest P do pj a odtud po cest Q zpt do qi−1 = pi−1. Je jasn, e S je krunice v grafu G, co je spor s pedpokladem, e G je strom. Mezi u a v je tedy jen jedin cesta. `⇐': Graf G, ve kterm mezi kadmi dvma vrcholy existuje njak cesta, je jist souvisl. Pokud by obsahoval krunici, vedly by mezi libovolnmi dvma vrcholy tto krunice alespo dv cesty. Graf G, kter spluje n pedpoklad, je tedy stromem. 2 Podle vty 6.11 m souvisl graf na n vrcholech aspo n − 1 hran. Nsledujc vta k, e stromy lze charakterizovat jako grafy, u nich v tomto dolnm odhadu potu hran plat rovnost.
Vta 7.4 Graf G je strom, prv kdy je souvisl a m n − 1 hran. Dkaz. `⇒': Strom je z de#nice souvisl. Ukeme indukc podle potu vrchol, e m n − 1 hran. Pro strom na jednom vrcholu tvrzen jist plat. Nech) je dn strom G s n > 1 vrcholy a nech) v je nkter jeho list (existuje podle tvrzen 7.2).
7.1. Denice
81
Graf G − v je strom (jak je vidt z de#nice) a m n − 1 vrchol a m − 1 hran. Podle induknho pedpokladu je m − 1 = (n − 1) − 1 a tedy m = n − 1, co jsme chtli dokzat. `⇐': Potebujeme dokzat, e souvisl graf s n vrcholy a n − 1 hranami neobsahuje krunici. Opt pouijeme indukci podle n, piem pro n = 1 je tvrzen triviln. Nech) souvisl graf G m n − 1 hran. Kdyby stupn vech vrchol byly vt ne 1, pak jejich souet je alespo 2n a poet hran (kter je pesn polovinou z tohoto sla) by byl alespo n. Proto G mus obsahovat njak vrchol stupn nejve 1. Stupe 0 vak dky souvislosti meme vylouit. Nech) tedy v je vrchol stupn 1. Graf G − v m n − 1 vrchol, n − 2 hran a je souvisl. Podle induknho pedpokladu je to strom. Optovnm pidnm vrcholu v neme vzniknout krunice, take stromem je i cel graf G. 2 Ped uvedenm posledn charakterizace strom potebujeme jet jeden pojem. Oboj se nm bude hodit pozdji, a budeme hovoit o souvislostech mezi grafy a maticemi.
Denice 7.5 Faktor grafu G je libovoln jeho podgraf, jeho mnoina vrchol je V (G). Faktor je vlastn, je-li rzn od grafu G. Vta 7.6 Graf G je strom, prv kdy je souvisl a nem dn souvisl vlastn
faktor.
Dkaz. `⇒': Nech) strom G m souvisl vlastn faktor F . Protoe F = G,
existuje njak hrana e ∈ E (G) −E (F ). Podle vty 6.15 mus G−e bt nesouvisl graf, protoe G neobsahuje dnou krunici. Graf F je ovem faktorem grafu G−e a mus tak bt rovn nesouvisl. To je spor. `⇐': Nech) G je graf, kter nem souvisl vlastn faktor. Dejme tomu, e obsahuje krunici C . Pro e ∈ E (C ) je opt podle vty 6.15 G − e souvisl graf. Jedn se vak o vlastn faktor grafu G, a to je spor. Vzhledem k tomu, e souvislost grafu G pedpokldme, je vta dokzna. 2 Jak lze zjistit, zda je dan graf G stromem? Stejn jako u testovn souvislosti je to patrn `na prvn pohled' u malch graf nakreslench pehlednm obrzkem. Pedstavme-li si vak teba graf s destkami tisc vrchol, navc zadan matic, jak to uvidme v kapitole 9, pak s prvnm pohledem mon nevystame. Snadn postup vak nabz vta 7.4, podle n sta spotat, zda m graf n − 1 hran, a otestovat, zda je souvisl (nap. pomoc Dijkstrova algoritmu, se kterm se seznmme v oddlu 12.2, nebo algoritmu ze cvien 6.7). Nen tedy poteba zji)ovat, zda graf G obsahuje njakou krunici.
Cvien
I 7.1 Kolik existuje rznch strom na mnoin V = {1, 2, 3, 4}? Kolik existuje navzjem neisomorfnch strom na mnoin V ?
82
Kapitola 7. Stromy
7.2 Kostry
Denice 7.7 Kostrou souvislho grafu G je kad jeho faktor, kter je stromem. Jinak eeno, kostra grafu G je souvisl podgraf bez krunic, kter obsahuje vechny vrcholy grafu G. Obr. 7.2 ukazuje 3 rzn kostry tho grafu. Upozornme, e dosti astou chybou je zmna pojm kostra a strom. Rozdl je ale podstatn: konkrtn graf me nebo nemus bt stromem, ale pojem kostra se vdy ve jet k dalmu grafu, nap. v otzce `Je graf G kostrou grafu H ?'
Obrzek 7.2: Ti kostry tho grafu (znzornny tun). M kad graf kostru? Z toho, e kad faktor nesouvislho grafu je nesouvisl, vidme, e nesouvisl graf dnou kostru mt neme. Na druhou stranu plat nsledujc tvrzen.
Tvrzen 7.8 Kad souvisl graf m alespo! jednu kostru. Dkaz. Nech) G = (V, E ) je souvisl graf. Uvame mnoinu hran M , kter m vlastnost, e
faktor (V, M ) grafu G neobsahuje krunice (7.1) a je s touto vlastnost maximln vzhledem k inkluzi. (Takov mnoina existuje, protoe napklad i przdn mnoina spluje podmnku (7.1).) Tvrdme, e faktor (V, M ) je souvisl. Dejme tomu, e to tak nen a uvame komponenty A, B grafu (V, M ). V souvislm grafu G mezi A a B jist vede njak hrana e. Pidnm tto hrany k mnoin M krunice vzniknout neme, to by toti vedlo ke sporu s vtou 6.15. Proto mnoina M ∪ {e} m rovn vlastnost (7.1) a dostvme spor s maximalitou mnoiny M. 2 Stromy a kostry maj adu praktickch aplikac. S nktermi z nich se v dalm textu seznmme: • binrn a dal stromy slou jako datov struktury algoritm (oddly 7.3 a 7.4),
7.3. Binrn stromy
83
•
minimln kostra se objevuje v lohch, kde je clem najt optimln propojen jistch objekt (oddl 12.4),
•
rozhodovac strom se pouv k modelovn rozhodovacch proces (je popsn v oddlu 12.5).
Kostry graf se rovn uplatuj pi analze elektrickch obvod (tzv. metoda stavovch promnnch). Ve cviench k tomuto oddlu je zadnm spotat kostry rznch graf. K tto otzce se vrtme v kapitole 9, kde odvodme souvislost mezi potem koster grafu a determinantem jist matice. Cvien
I 7.2 Urete poet koster: (a) stromu na n vrcholech, (b) krunice Cn , (c) grafu, kter vznikne, pidme-li k C2n ttivu spojujc dva vrcholy ve vzdlenosti n.
I 7.3 Nech) M2n je graf tvoen n disjunktnmi hranami na 2n vrcholech. Urete
poet koster grafu G, kter vznikne pidnm novho vrcholu a jeho spojenm s kadm vrcholem z V (M2n ). (G je tedy n troj helnk slepench \za vrchol".)
II 7.4 Nech) G je graf na mnoin vrchol {1, . . . , n} ∪ {v, w}, v nm je kad
vrchol z {1, . . . , n} spojen hranou jak s v, tak s w, a jin hrany G nem. Urete (a) poet koster grafu G, (b) poet koster grafu G + vw, kter vznikne z G pidnm hrany vw.
7.3 Binrn stromy Stromy maj irok uplatnn jako datov struktury pro rzn algoritmy. Ukeme si dva pklady pouit tzv. binrnch strom. Nejprve jejich de#nici. Koenov strom je dvojice (T, r), kde T je strom a r jeho vrchol, ktermu budeme kat koen. Hloubka h(w) vrcholu w ∈ V (T ) je dlka cesty P (w) z koene r do w . Vrchol v je rodiem vrcholu w , pokud je jeho sousedem na cest P (w ) (pak tak ekneme, e w je potomkem vrcholu v). Binrn strom je koenov strom, v nm m kad vrchol nejve dva potomky a kad potomek je oznaen jako lev nebo prav. 1dn rodi samozejm nem dva potomky stejnho typu.
84
Kapitola 7. Stromy
(a)
(b)
Obrzek 7.3: Binrn stromy. V obvyklm znzornn binrnho stromu je koen nahoe a lev resp. prav potomek na pslun stran pod svm rodiem. Pklady binrnch strom jsou na obr. 7.3. Binrn stromy se dobe hod k reprezentaci linernch uspodn. Dejme tomu, e potebujeme implementovat algoritmus, kter pracuje s abecedn seazenm seznamem n osob, piem kad osob odpovd njak zznam. Seznam je obshl a vzhledem k astm pstupm potebujeme, aby as nutn k nalezen konkrtnho zznamu byl co nejmen. Jako ilustraci pouijme jmna z jednoho
norovho tdne v kalendi. (Kad zznam obsahuje jet dal informace, kvli kterm se vlastn vyhledvn provd. Pro n vklad vak nejsou dleit.) Apolena Boena Jiina Mojmr Slavna Valentn Vnceslav ...
...
...
...
...
...
...
Jak efektivn najt zznam odpovdajc uritmu jmnu? Jednou monost je prochzet zznamy od zatku jeden po druhm a hledat ten sprvn. Pak ovem v nejhorm ppad musme projt vech n zznam (a v prmru n/2 zznam). Tento as vak lze vrazn zkrtit s pouitm vyhledvacho stromu. Binrn vyhledvac strom pro linern uspodanou mnoinu (X, ≤) je binrn strom, jeho vrcholy jsou prvky mnoiny X a v nm pro kad vrchol v plat, e je-li lev potomek vrcholu v , pak < v , a podobn pro pravho potomka p vrcholu v je p > v . (Adjektivum binrn budeme pro strunost vynechvat.) V naem pkladu je mnoinou X mnoina zznam, uspodan podle abecedy. Pklad vyhledvacho stromu pro mnoinu X je na obr. 7.4. Ozname jmno pslun vrcholu v symbolem a(v). Jak se v naem stromu vyhled zznam pro konkrtn jmno x? Zaneme od koene r a porovnme slova x a a(r ) (v abecednm uspodn). Je-li x = a(r ), nali jsme hledan zznam. Pokud x < a(r), pejdeme k levmu potomku vrcholu r, jinak k pravmu potomku. Test se opakuje a do nalezen shody. Ve stromu na obr. 7.4 lze libovoln zznam vyhledat nejve ve tech krocch. Bez pouit vyhledvacho stromu bychom k vyhledn jmna Vnceslav potebovali 7 krok. Ne kad vyhledvac strom pro danou mnoinu nm vak nabz takov zlepen. Napklad u stromu na obr. 7.5 potebujeme v nejhorm ppad rovn 7 krok.
7.3. Binrn stromy
85
Mojm´ır
Boˇzena
Apolena
Valent´ yn
Jiˇrina
Slavˇena
Vˇenceslav
Obrzek 7.4: Vyhledvac strom pro mnoinu zznam.
Vˇenceslav Valent´ yn Slavˇena Mojm´ır Jiˇrina Boˇzena Apolena
Obrzek 7.5: Jin vyhledvac strom.
86
Kapitola 7. Stromy
Kolik krok tedy trv vyhledn zznamu v obecnm vyhledvacm stromu? De#nujme hloubku vyhledvacho stromu T jako maximln hloubku h(v) njakho jeho vrcholu (pipomeme, e hloubka vrcholu je de#novna na zatku tohoto oddlu). K vyhledn zznamu ve stromu hloubky d je pak v nejhorm ppad poteba d krok. Pro danou uspodanou mnoinu ale mme na vbr z mnoha strom. Jak nejmen hloubky lze doshnout? 'ekneme, e vyhledvac strom pro mnoinu X je optimln, m-li mezi vemi vyhledvacmi stromy pro X minimln hloubku.
Vta 7.9 Hloubka h(n) optimlnho vyhledvacho stromu pro n-prvkovou mno-
inu X je
h(n) = log2 (n + 1) − 1,
(7.2)
kde log2 (. . . ) oznauje horn celou st z dvojkovho logaritmu.
Dkaz. Nejprve dokame, e h(n) je vt nebo rovno vrazu na prav stran
nerovnosti (7.2). Nech) T je libovoln binrn strom na n vrcholech. Ozname jeho hloubku d. Pro 0 ≤ i ≤ d je poet vrchol stromu T s hloubkou rovnou i nejve 2i. Odtud n ≤ 20 + 21 + · · · + 2d = 2d+1 − 1, take d ≥ log2(n+1)−1. Protoe d je cel slo, plat dokonce d ≥ log2(n+1)−1. Spluje-li tuto nerovnost hloubka kadho stromu na n vrcholech, mus platit i (7.2). V opanm smru potebujeme zkontruovat vyhledvac strom pro mnoinu X , jeho hloubka bude rovna prav stran nerovnosti (7.2). Nejprve najdeme strom S , ve kterm kad vrchol o hloubce nejve h(S ) − 2 m oba potomky,
(7.3)
a potom ukeme, e strom S m poadovanou vlastnost. Ozname X = {x1 , . . . , xn }, kde x1 < · · · < xn . Je-li n ≤ 2, pak snadno najdeme strom pro X s hloubkou 0 nebo 1, kter triviln spluje podmnku (7.3). Pro vt n za koen stromu S zvolme medin posloupnosti x1, . . . , xn , tj. prvek xm , kde m = n/2 (medin je obecn prostedn prvek monot&nn posloupnosti). Pro uspodan mnoiny X1 = {x1 , . . . , xm−1 } a X2 = {xm+1 , . . . , xn } rekurzvnm zpsobem zkonstruujme binrn vyhledvac stromy S1 a S2 s vlastnost (7.3). Strom S zskme tak, e levm potomkem koene xm uinme koen stromu S1 a pravm potomkem koen stromu S2. Vidme, e podmnka (7.3) zstane zachovna. Zbv urit hloubku d = h(S ) stromu S . Z podmnky (7.3) plyne, e pro 0 ≤ i ≤ d − 1 obsahuje strom S pesn 2i vrchol o hloubce i. M tedy pesn 1 + 2 + 22 + · · · + 2d−1 = 2d − 1
7.4. Humanovo kdovn
87
vrchol o hloubce men ne d. Z de#nice navc mus obsahovat alespo jeden vrchol o hloubce d, take n ≥ 2d . Po piten jedniky k obma stranm a zlogaritmovn snadno zjistme, e plat d ≤ log2 (n + 1) − 1,
m je dkaz hotov. 2 Dsledkem vty 7.9 je, e s pouitm vhodnho vyhledvacho stromu lze v n-prvkov uspodan mnoin vyhledvat v potu krok, kter je omezen logaritmickou funkc n. (S pouitm formalismu z oddlu 6.7 bychom ekli, e poet krok je O(log n).) Oproti linernmu potu krok bez pouit vyhledvacho stromu jde o znan zlepen. V naem pkladu pedpokldme, e vyhledvac strom je statick : sta jej jednou zkonstruovat a ji se nemn. Existuj tak algoritmy, pomoc kterch lze do vyhledvacch strom pidvat vrcholy nebo je odebrat, a to pi zachovn efektivity danho stromu. Vce se o tchto tmatech lze dozvdt nap. v knize 2]. Cvien
II 7.5 (a) Urete souet
n X k =1
k · 2k .
(b) Vyhledvac strom T o hloubce d je pln, pokud vechny listy maj hloubku d a kad ostatn vrchol m 2 potomky. Kolik vrchol m takov strom? (c) S pouitm sti (a) spotejte prm rn poet krok potebn k vyhledn zznamu v plnm vyhledvacm stromu o hloubce d. (Prmr se pot pes vechny vrcholy stromu.)
7.4 Humanovo kdovn Dostvme se k dal aplikaci binrnch strom, k tzv. Hu%manovu1 k&dovn. Nech) je dna konen abeceda 6. Jej prvky budeme nazvat symboly. Nam clem bude zak&dovat kad symbol binrnm et zcem (posloupnost nul a jedniek, tzv. bit ), tak, aby bylo splnno nkolik podmnek, k jejich zformulovn se dostaneme za chvli. K"dovn pro abecedu 6 je prost funkce, kter piazuje kadmu symbolu a konenou posloupnost c(a) symbol 0 a 1 (k"d symbolu a). 1 David
A. Huffman (1905{1999).
88
Kapitola 7. Stromy
Nech) je pevn zvoleno k&dovn c. Pak lze de#novat i k&d posloupnosti symbol a1 . . . ak , a to jako zetzen k&d c(a1 ) . . . c(ak ).
Je z tohoto k&du mon rekonstruovat pvodn posloupnost a1 . . . ak ? Ne vdy. Uvame napklad abecedu 6 = {X, Y, Z} s nsledujcm k&dovnm: symbol X Y Z k&d 0 1 01 Pak nap. posloupnosti Z a XY maj stejn k&d 01. Tto situaci bychom se chtli vyhnout. To se nm poda napklad tehdy, kdy bude nae k&dovn prexov, tj. kdy k&d dnho symbolu nebude potenm sekem (`pre#xem') k&du dnho jinho symbolu.
Pozorovn 7.10 Prexov k"dovn piazuje rznm posloupnostem symbol rzn k"dy.
Dkaz. Cvien 7.6. 2
Pre#xov k&dovn se d najt snadno: sta symbolm piadit rzn k&dy stejn dlky . Nyn se dostvme k dalmu poadavku: chtli bychom minimalizovat prmrnou dlku k&du piazenho symbolu abecedy 6. Pedpokldme pitom, e kad symbol a m urenou vhu w(a), na kterou se meme dvat jako na pomrnou etnost symbolu a v `typickm textu' nad abecedou 6, a kter se bere v vahu pi vpotu uvedenho prmru. Jinak eeno, ozname-li dlku binrnho etzce r symbolem |r|, budeme chtt, aby ven dlka k&dovn c, vd(c) =
X a∈
w (a) · |c(a)|,
(7.4)
byla co nejmen. K&dovn c pro abecedu 6 je optimln, pokud je pre#xov a m mezi vemi pre#xovmi k&dovnmi pro 6 nejmen venou dlku. Uvame jako jednoduch pklad abecedu 6 = {A, B, C, D}. Jsou-li vechny vhy stejn, pak nelze potat s lepm eenm, ne je k&dovn s k&dy 00, 01, 10 a 11 a s venou dlkou 2 (obecn pro n-prvkovou abecedu bychom potebovali log2 n bit). Pedpokldejme ovem, e symboly maj nsledujc vhy: symbol A B C D vha 0.6 0.3 0.05 0.05
(7.5)
7.4. Humanovo kdovn
89
Pak nen vyloueno, e se nm na ven dlce poda uetit, pokud astmu symbolu A piadme nejkrat mon k&d, i za ceny prodlouen k&d mlo frekventovanch symbol C a D. Skuten, napklad k&dovn symbol A B C D k&d 0 10 110 111 je pre#xov a jeho ven dlka je pouze 1.5 = 0.6 × 1 + 0.3 × 2 + 0.05 × 3 + 0.05 × 3. S tmto k&dovnm tedy na jeden symbol potebujeme prmrn pouze 1.5 bitu! D se ukzat, e je to optimln k&dovn. Pre#xov k&dovn maj zk vztah k binrnm stromm. Nech) T je binrn strom, jeho listm jsou vzjemn jednoznan piazeny symboly z abecedy 6. Ozname list odpovdajc symbolu a ∈ 6 jako a . Strom T uruje k&dovn pro abecedu 6, a to nsledujcm zpsobem. Urme k&d c(a) symbolu a ∈ 6. Ozname vrcholy na cest P (a) v poad od koene jako r = v0 , v1, . . . , vd = a . Hledan k&d pak bude posloupnost c(a) = (b1 , . . . , bd ), kde d je hloubka listu a , vechny bi jsou z mnoiny {0, 1} a bi = 0 ⇐⇒ vrchol vi je levm potomkem vrcholu vi−1 . V opanm smru lze pro kad pre#xov k&dovn sestrojit odpovdajc binrn strom (viz cvien 7.11). Napklad naemu optimlnmu k&dovn pro abecedu {A, B, C, D} odpovd strom na obr. 7.6. Pokusme se peformulovat lohu hledn optimlnho k&dovn v ei binrnch strom. A B C
D
Obrzek 7.6: Binrn strom odpovdajc optimlnmu k&dovn pro abecedu {A, B, C, D} s vhami 7.5. Optimln strom pro abecedu 6 = {a1 , . . . , an } s vhami w(ai) je binrn strom T s listy 1, . . . , n , jeho prm rn ven hloubka vh(T ), de#novan pedpisem n X vh(T ) = w(ai) · h(i), i=1
je nejmen mon. Je jasn, e optimlnmu stromu odpovd optimln k&dovn pro abecedu 6 s danmi vhami. (Pozor na rozdl mezi pojmem `optimln strom' a termnem `optimln vyhledvac strom' z oddlu 7.3.)
90
Kapitola 7. Stromy
Ne popeme Hu%manv algoritmus pro nalezen optimlnho stromu, zave*me jet dv de#nice. Vrchol v binrnho stromu T je nsledovnkem vrcholu u, pokud u le na cest P (v ). Speciln je tedy kad vrchol svm vlastnm nsledovnkem. Lev (prav) podstrom pod vrcholem v je indukovan podgraf stromu T na mnoin vech nsledovnk levho (pravho) potomka vrcholu v. Vstupem Humanova algoritmu je abeceda 6 = {a1, . . . , an } spolu s piazenm vah w(ai) symbolm ai ∈ 6. Jeho vstupem je (nkter) optimln strom H pro abecedu 6, tzv. Humanv strom. Pslun k&dovn se oznauje jako Humanovo k"dovn. Algoritmus pracuje s posloupnost koenovch strom s venmi listy, kter se v kadm kroku mn. Vchoz posloupnost P0 = (T1, . . . , Tn ) je tvoena trivilnmi stromy Ti o jedinm vrcholu ai s vahou w(ai). Algoritmus skon, a bude nae pracovn posloupnost obsahovat jedin strom, a tm bude hledan Hu%manv strom H . Popime k-t krok algoritmu. Vha w(T ) libovolnho stromu T je de#novna jako souet vah jeho list. Najdeme v pracovn posloupnosti Pk−1 dvojici strom s minimlnm soutem vah. Takovch dvojic me bt vce abychom se vyhnuli nejednoznanosti, de#nujme mnoinu uspodanch dvojic Mk−1 = {(s, t) : s < t a souet w (Ts ) + w (Tt ) je minimln mon} a najdme v n nejmen prvek (i, j ) v lexikogra#ckm uspodn (viz cvien 3.2). Posloupnost Pk vznikne z posloupnosti Pk−1 nsledovn: (1) vypustme strom Tj , (2) nahradme strom Ti stromem, jeho koenem je nov pidan vrchol vk , levm podstromem pod koenem je Ti a pravm podstromem pod koenem je Tj (vhy na listech zstvaj beze zmny). Vidme, e poet prvk pracovn posloupnosti strom se provedenm k-tho kroku snil o 1. Algoritmus tedy skon po p − 1 krocch. Ilustrujme jeho prbh na pkladu. Nech) jsou pro abecedu 6 = {A, E, G, I, L, R} ureny tyto vhy: symbol A E G I L R (7.6) vha 0.2 0.4 0.06 0.1 0.1 0.14 Najdeme Hu%manv strom pro tuto abecedu. V nsledujcm schmatickm znzornn prbhu Hu%manova algoritmu kad dek zachycuje stav pracovn posloupnosti strom v pslunm kroku. Psmena odpovdaj stromm na jednom vrcholu. Strom S na vce vrcholech je znzornn symbolem S1 S2 , kde S1 (resp. S2) je lev (resp. prav) podstrom pod
7.4. Humanovo kdovn
91
koenem stromu S . Prvky posloupnosti jsou oddleny mezerami, sla udvaj vhu danho stromu, pro pehlednost nsobenou stem. A20 E40 G6 I10 L10 R14 A20 E40 G I 16 L10 R14 G I 16 L R 24 A20 E40 A G I 26 L R 24 E40 A GI LR
60
E40
A G I L R E 100 Vsledn Hu%manv strom (kter odpovd poslednmu dku v tomto zpisu) je na obr. 7.7. Nali jsme tedy nsledujc optimln k&d: I L R symbol A E G k&d 000 1 0010 0011 010 011
E
A
L
R
G I
Obrzek 7.7: Hu%manv strom pro abecedu s vhami (7.6). Pomoc tto tabulky nen problm zak&dovat libovoln slovo v abeced 6. Napklad k&d slova ALERGIE je 0000101011001000111. Korektnost Hu%manova algoritmu zaruuje nsledujc vta, jej dkaz ponechvme jako (t) problm na cvien 7.12.
Vta 7.11 Nech 6 = {a1 , . . . , an} je abeceda s vhami w(ai). Strom zkonstruovan Humanovm algoritmem je optimlnm stromem pro tuto abecedu. 2
Cvien
I 7.6 Dokate pozorovn 7.10. I 7.7 Urete prmrnou venou hloubku vh(T ) stromu na obr. 7.7.
92
Kapitola 7. Stromy
I 7.8 Zak&dujte pomoc Hu%manova k&dovn z naeho pkladu slova ELEGIE
a LILIE. Vyplat se pro tato slova Hu%manovo k&dovn pout? Pro?
I 7.9 Urete slovo, jeho Hu%manv k&d v k&dovn z naeho pkladu je 01000110010000.
I 7.10 Najdte Hu%manv strom pro abecedu {A, B, C, D, E} s vhami symbol A B C D E vha 0.1 0.15 0.5 0.1 0.15 a urete jeho prmrnou venou hloubku.
I 7.11 Ukate, e pre#xov k&dovn pro abecedu 6 jsou ve vzjemn jedno-
znanm vztahu s binrnmi stromy, jejich listy jsou oznaeny symboly abecedy 6.
II 7.12 Dokate vtu 7.11.
Npov da. Nech) ai, aj jsou dva symboly s minimln vahou. Ukate, e pro abecedu 6 existuje optimln strom, ve kterm symboly ai a aj maj stejnho pedchdce. Z tohoto lemmatu plyne vta 7.11 indukc pes n. ]
Kapitola 8 Orientovan grafy V tto kapitole se budeme zabvat grafy, v nich m kad hrana uren smr | tzv. orientovanmi grafy. Smr (orientace) hran se obvykle znzoruje ipkami jako na obr. 8.1. 4 5
3
1
2
Obrzek 8.1: Orientovan graf.
8.1 Denice orientovanch graf
Denice 8.1 Orientovan graf je dvojice (V, E ), kde V je mnoina vrchol a
je mnoina hran. Vimnme si, e hrany jsou nyn prvky kartzskho souinu V × V , a tedy uspodan dvojice vrchol. (Orientovan graf je tedy vlastn tot, co binrn relace na mnoin V .) Dvojici (u, v) interpretujeme jako hranu, kter zan ve vrcholu u a kon ve vrcholu v. Podle de#nice me bt hranou i dvojice (v, v). Nae orientovan grafy tedy mohou mt smyky. Nsobn hrany ve shodnm smru nadle nepovolujeme (graf ale me obsahovat dvojici `protichdnch' hran mezi dvma vrcholy). Podobn jako u neorientovanch graf budeme dvojici (u, v) zapisovat prost jako uv. Pojmy podgraf a indukovan podgraf jsou de#novny jako u neorientovanch graf. Z orientovanho grafu G meme snadno vyrobit neorientovan graf E ⊂V ×V
93
94
Kapitola 8. Orientovan grafy
(tzv. symetrizaci grafu G) tak, e `zapomeneme' orientace vech hran. Ppadn smyky odstranme a nsobn hrany nahradme jednoduchmi. (Viz obr. 8.2.) Nkter pojmy tkajc se neorientovanch graf tak lze pmo aplikovat na grafy orientovan. 'ekneme napklad, e graf G je (slab ) souvisl, je-li jeho symetrizace souvisl. Komponenty orientovanho grafu G jsou (analogicky k situaci u neorientovanch graf) maximln slab souvisl podgrafy. Pesnji eeno, komponenta je slab souvisl indukovan podgraf s vlastnost, e dn indukovan podgraf na vt mnoin vrchol nen slab souvisl. 4 5
3
1
2
Obrzek 8.2: Symetrizace grafu z obr. 8.1. V opanm smru, u pechodu od neorientovanho grafu k orientovanmu, mme adu monost, jak hrany opatit ipkami. 'ekneme, e orientovan graf G je orientac grafu H , je-li H symetrizac orientovanho grafu G. Kad neorientovan graf m tedy adu orientac. Orientovan graf na obr. 8.1 je napklad jednou z orientac grafu na obr. 8.2.
Denice 8.2 Vstupn stupe! d+G(u) vrcholu u orientovanho grafu G = (V, E ) je
poet hran, kter kon ve vrcholu u, tedy poet dvojic xu (kde x ∈ V ) v mnoin hran E . Podobn vstupn stupe! d−G(u) je poet dvojic ux v mnoin hran.
Cvien
I 8.1 Dokate, e v orientovanm grafu G = (V, E ) s m hranami plat X
d+ G (v ) =
v∈V
X
d− G (v ) = m.
v∈V
8.2 Siln souvislost Pro orientovan grafy lze snadno upravit de#nice pojm sled, cesta v grafu a krunice v grafu. Znn de#nic je vlastn tm stejn, jedin rozdl je v tom, e kad krok sledu mus nyn respektovat orientaci pslun hrany. Msto pojmu `krunice' pouvme u orientovanch graf termnu `cyklus'.
8.2. Siln souvislost
95
Denice 8.3 Orientovan sled z vrcholu x do vrcholu y v orientovanm grafu G
je posloupnost vrchol (x = v0 , v1, . . . , vk = y ), ve kter je pro kad i = 1, . . . , k dvojice vi−1 vi hranou grafu G. Orientovan cesta v G je orientovan sled, kter obsahuje kad vrchol nejve jednou. Cyklus v G je orientovan sled, ve kterm je v0 = vk , tento vrchol je v nm obsaen prv dvakrt a vechny ostatn nejve jednou. Graf G na obr. 8.1 obsahuje napklad sled (3, 1, 2, 3, 4, 4), naopak posloupnost (4, 3, 2, 1) sledem nen. Tento graf obsahuje tak cykly (1, 2, 3, 1), (4, 4) (dlka tohoto cyklu je 1) a (1, 2, 1). Slab souvislost nm nek mnoho o existenci orientovanch cest v danm grafu. U orientovanch graf je proto asto pirozenj pracovat se silnj variantou pojmu souvislost.
Denice 8.4 Orientovan graf G je siln souvisl, pokud v nm pro kadou dvojici vrchol x, y existuje orientovan cesta z x do y i orientovan cesta z y do x, Nsledujc vta charakterizuje siln souvisl grafy. Jak je asi zejm, kme, e hrana xy je obsaena v cyklu (v0, v1, . . . , vk = x0 ), pokud pro njak i je x = vi a y = vi+1.
Vta 8.5 Slab souvisl orientovan graf je siln souvisl, prv kdy kad jeho hrana je obsaena v n jakm cyklu.
Dkaz. `⇒': Uvame hranu xy orientovanho grafu G. Ze siln souvislosti plyne
existence cesty P z y do x. Pipojenm hrany xy za tuto cestu vznikne cyklus, kter hranu xy obsahuje. `⇐': Nech) x, y je libovoln dvojice vrchol, a nech) Q je cesta z x do y v symetrizaci slab souvislho orientovanho grafu G. Cesta Q je tedy posloupnost vrchol (x = q0, q1 , . . . , qk = y ), kde pro i = 1, . . . , k je bu* qi−1qi ∈ E (G) (a ekneme, e jde o dobe orientovanou hranu cesty Q) nebo qi−1 qi ∈/ E (G) a qi qi−1 ∈ E (G) (patn orientovan hrana). Kad patn orientovan hrana qi qi−1 je obsaena v cyklu speciln existuje orientovan cesta Ri z qi−1 do qi . Nahradme-li v cest Q kadou patn orientovanou hranu pslunou cestou Ri , zskme orientovan sled z x do y . Podle cvien 8.3 tedy existuje orientovan cesta z x do y . Vzhledem k tomu, e dvojice x, y byla libovoln, graf je siln souvisl. 2 De#nujme na vrcholech orientovanho grafu G relaci oboustrann dosaitelnosti ∼: pro vrcholy x, y plat x ∼ y , pokud v G existuje orientovan cesta z x do y i naopak. S pouitm cvien 8.3 je snadn dokzat, e tato relace je ekvivalenc. Tento fakt meme pout v de#nici tzv. kvazikomponent, kter jsou obdobou komponent pro silnou souvislost. K jejmu pochopen me pomoci vrtit se k de#nici pojmu komponenta v kapitole 5.
96
Kapitola 8. Orientovan grafy
Denice 8.6 Kvazikomponenta orientovanho grafu G je kad jeho indukovan podgraf na mnoin vrchol, kter tvo nkterou z td ekvivalence ∼.
De#nici ilustruje graf na obr. 8.3(a) s 2 komponentami a celkem 5 kvazikomponentami, znzornnmi na obr. 8.3(b). Podobn orientovan graf na obr. 8.1 m ti kvazikomponenty, jejich mnoiny vrchol jsou {1, 2, 3}, {4} a {5}. C4 C3
C5
(a)
C1
C2
(b)
Obrzek 8.3: Orientovan graf a jeho kvazikomponenty. Cvien
I 8.2 Najdte pklad slab souvislho orientovanho grafu na 6 vrcholech, kter
m 3 kvazikomponenty.
I 8.3 Dokate, e v orientovanm grafu existuje orientovan cesta z vrcholu x
do vrcholu y , prv kdy v nm existuje orientovan sled z x do y .
I 8.4 Dokate, e kvazikomponenty orientovanho grafu G jsou prv jeho ma-
ximln siln souvisl podgrafy | jinmi slovy, jsou to prv ty podgrafy H , pro kter plat, e je-li H vlastnm podgrafem jinho grafu K ⊂ G, pak K nen siln souvisl.
I 8.5 Formulujte algoritmus na nalezen kvazikomponent orientovanho grafu.
8.3 Acyklick orientovan grafy
Denice 8.7 Orientovan graf je acyklick, pokud neobsahuje dn cyklus. Slab souvisl acyklick orientovan grafy jsou tedy z jistho hlediska obdobou strom, tj. souvislch graf, kter neobsahuj dnou krunici.
8.3. Acyklick orientovan grafy
97
Denice 8.8 Vstupn vrchol orientovanho grafu G je vrchol, jeho vstupn stu-
pe d+G(v) je nulov. Podobn vstupn vrchol je vrchol, pro kter je d−G(v) = 0.
Acyklick grafy lze charakterizovat z hlediska existence vstupnch vrchol v jejich podgrafech.
Vta 8.9 Orientovan graf G s konenou mnoinou vrchol je acyklick, prv
kdy kad jeho neprzdn podgraf H ⊂ G obsahuje vstupn vrchol.
Dkaz. `⇒': Zvolme vrchol v0. Nen-li vstupn, vede do nj njak hrana, dejme tomu z vrcholu v1. Opakovnm tto vahy zskme nejve po n + 1 krocch (kde n je poet vrchol) bu*to vstupn vrchol. nebo posloupnost n + 1 vrchol (v0 , v1, . . . , vn), ve kter se mus nkter vrchol vyskytovat dvakrt, eknme vi = vj a i < j . Ve druhm ppad by ale podposloupnost vj , vj−1 , . . . , vi byla cyklem v acyklickm grafu G. `⇐': Pedpokldejme existenci vstupnch vrchol a dokame, e orientovan graf G je acyklick. Nech) obsahuje cyklus C . Tento cyklus uruje podgraf H grafu G, sestvajc z hran a vrchol, ktermi C prochz. Vechny vstupn i vstupn stupn v podgrafu H jsou rovny jedn. To je spor. 2 Lze oekvat, e podobn vsledek plat i pro vstupn vrcholy. Dsledek 8.10 Orientovan graf G je acyklick, prv kdy v kadm jeho ne-
przdnm podgrafu H ⊂ G existuje vstupn vrchol.
Dkaz. Otome-li smr kad hrany grafu G, acyklinost zstane zachovna a
vstupn vrcholy pechzej na vstupn a naopak. 2 Nsledujc vta charakterizuje acyklick grafy jako takov, na nich existuje uspodn vrchol konzistentn se smry vech hran.
Vta 8.11 Orientovan graf G je acyklick, prv kdy jeho vrcholy lze seadit
do posloupnosti (v1 , . . . , vn ) tak, e pro kadou hranu vi vj grafu G plat i < j .
Dkaz. `⇒': Polome G1 = G. Podle vty 8.9 existuje vstupn vrchol v1 acyklickho orientovanho grafu G1. Nech) G2 = G1 − v1 je orientovan graf vznikl odstrannm vrcholu v1 (a vech hran, kter ho obsahuj). To je podgraf grafu G, a m tedy vstupn vrchol v2. Opakovnm tohoto postupu dostaneme posloupnost vrchol (v1, . . . , vn ). Dejme tomu, e vivj ∈ E (G), ale pitom i > j . Pak ale vi ∈ V (Gj ) a kvli hran vi vj neme vj bt vstupnm vrcholem grafu Gj , co je spor. `⇐': Mjme vrcholy seazeny do posloupnosti s uvedenou vlastnost a pedpokldejme, e G obsahuje cyklus (vi0 , vi1 , . . . , vi ;1 , vi = vi0 ). Pak plat, e vi0 vi1 ∈ E (G) a tedy i0 < i1 . Obecnji dostvme k
i0 < i1 < i2 < · · · < ik−1 < i0 ,
k
98
Kapitola 8. Orientovan grafy
co nen mon. Tm je dkaz hotov. 2 V dkazu vty 8.11 se vlastn skrv efektivn algoritmus pro test acyklinosti orientovanho grafu G = G1 . V jeho i-tm kroku postupujeme nsledovn: (1) Je-li Gi graf na jedinm vrcholu, algoritmus kon. Graf G je acyklick. (2) Pokud graf Gi obsahuje njak vstupn vrchol vi, polome Gi+1 = Gi − vi a pokraujeme krokem i + 1. (3) V opanm ppad graf G nen acyklick a algoritmus kon. V kadm z O(n) krok tohoto algoritmu je poteba najt vstupn vrchol v grafu o nejve n vrcholech. Pi pouit postupu, kter plyne z dkazu vty 8.9, lze vstupn vrchol najt v ase O(n). Celkov asov sloitost popsanho algoritmu je tedy O(n2). Cvien
I 8.6 Najdte pro acyklick orientovan graf na obr. 8.4 posloupnost vrchol
splujcch podmnku vty 8.11. I 8.7 Najdte (nekonen) acyklick orientovan graf, kter neobsahuje vstupn vrchol. 5
4
6
3
1
2
Obrzek 8.4: Acyklick orientovan graf.
8.4 Tranzitivn uzvr Vme ji, e orientovan grafy s mnoinou vrchol V jednoznan odpovdaj binrnm relacm na mnoin V (viz cvien 8.8). Denice 8.12 Tranzitivn uzv r orientovanho grafu G je orientovan graf G+ takov, e V (G+) = V (G) a x = y a v G existuje orientovan cesta z x do y , + xy ∈ E (G ), pokud x = y a vrchol x le na njakm cyklu v G.
8.5. Kondenzace
99
Vimnme si, e graf G je podgrafem grafu G+ a e G je acyklick, prv kdy neobsahuje dnou smyku. Nsledujc vta charakterizuje acyklick grafy jako grafy, jejich (mrn rozen) tranzitivn uzvr je grafem uspodn na V (G). G+
Vta 8.13 Orientovan graf
= (V, E ) bez smyek je acyklick, prv kdy graf G , vznikl pidnm vech smyek k tranzitivnmu uzv ru G+, je grafem uspodn (tj. E (G∗) je relace uspodn na V (G∗) = V (G)). G
∗
Dkaz. `⇒': Nech) G je acyklick. Dky pidanm smykm je E (G∗) re0exvn
relace. Je tak slab antisymetrick, nebo) xy ∈ E (G∗) a yx ∈ E (G∗) by pro rzn x, y znamenalo, e G obsahuje orientovan sled z x do y i naopak. Uvame podgraf H sloen z vrchol a hran obou tchto sled v tomto podgrafu je vstupn stupe kadho vrcholu aspo 1. Neobsahuje tedy vstupn vrchol, co je ve sporu s vtou 8.9. `⇐': Nech) E (G∗ ) je uspodn. Pro nzornost zapisujme xy ∈ E (G∗) jako x ≤ y . Pedpokldejme, e G obsahuje cyklus C = (x0 , x1 , . . . , xk = x0 ). Pak pro kad i = 0, . . . , k − 1 plat xi xi+1 ∈ E (G), jinak eeno xi ≤ xi+1 . Z tranzitivity je tedy x0 ≤ xk−1. Vme vak, e tak xk−1 x0 ∈ E (G), take xk−1 ≤ x0 . Z antisymetrinosti relace E (G∗) mus bt x0 = xk−1 . Cyklus C m tedy dlku 1 a mus to bt smyka. To je spor s pedpokladem, e G je bez smyek. 2 Cvien
I 8.8 Nech) G = G(R) je orientovan graf binrn relace R na mnoin V . Jak z grafu G poznme, zda je relace R: (a) re0exvn, (b) symetrick, (c) antisymetrick?
I 8.9 Formulujte algoritmus pro nalezen tranzitivnho uzvru orientovanho grafu.
8.5 Kondenzace
Denice 8.14 Kondenzace orientovanho grafu G je orientovan graf Gc, jeho
vrcholy jsou kvazikomponenty grafu G, a pro rzn kvazikomponenty Q1 , Q2 ∈ plat
V (G c )
Q1 Q2 ∈ E (Gc ),
pokud pro njak x1 ∈ V (Q1 ), x2 ∈ V (Q2) je x1x2 ∈ E (G).
100
Kapitola 8. Orientovan grafy
Kondenzaci si lze pedstavit tak tak, e kadou kvazikomponentu grafu G `sthneme' do jedinho vrcholu hrany, kter vedly mezi rznmi kvazikomponentami, nyn povedou mezi tmito novmi vrcholy. Vynechme ovem smyky. V ppad, e mezi dvma vrcholy povede vce hran v tme smru, nahradme je jedinou hranou. Vezmme jako pklad opt graf na obr. 8.3. Vme, e m pt kvazikomponent C1 , . . . , C5 . Jeho kondenzac je orientovan graf na obr. 8.5a. Kondenzace grafu G z obr. 8.1 je znzornna na obr. 8.5b. U kadho vrcholu je zde uvedena mnoina vrchol pslun kvazikomponenty grafu G. C5
C4
C1
C2
(a)
{5}
C3
{1, 2, 3}
{4}
(b)
Obrzek 8.5: Kondenzace (a) grafu z obr. 8.3, (b) grafu z obr. 8.1.
Vta 8.15 (Vta o kondenzaci) Pro orientovan graf G plat:
je acyklick orientovan graf. G je siln souvisl, prv kdy Gc m jedin vrchol. G je acyklick, prv kdy G = Gc . Dkaz. (i) Nech) L je cyklus v Gc, prochzejc po ad vrcholy C1 , C2, . . . , Ck , Ck+1 = C1 grafu Gc (viz obr. 8.6). Pro 1 ≤ i ≤ k uvame hranu Ci Ci+1 cyklu L. Vrcholy Ci, Ci+1 odpovdaj kvazikomponentm grafu G. Z de#nice kondenzace existuj vrcholy xi ∈ V (Ci) a yi+1 ∈ V (Ci+1 ) tak, e xi yi+1 je hrana grafu G. Polome pro jednoduchost y1 := yk+1. Mme tedy k-tici hran, kter vedou postupn z kvazikomponenty C1 do C2, z C2 do C3 atd., a nakonec z Ck do C1. Tyto hrany na sebe nemus navazovat, ale v kad kvazikomponent Ci jist existuje cesta Pi z vrcholu yi do xi. Nsledujc posloupnost hran a cest tedy tvo cyklus L v grafu G: (i) (ii) (iii)
Gc
x1 y2 , P2 , x2 y3 , P3 , . . . , Pk , xk y1 , P1 .
Vimnme si, e po cyklu L lze v grafu G dojt z vrcholu y2 do vrcholu x1 . V opanm smru pitom mezi tmito vrcholy vede hrana. Oboustrann dosaitelnost tchto vrchol je ve sporu s tm, e vrcholy le v rznch kvazikomponentch. (ii) a (iii): Snadn dkaz pmo z de#nic ponechvme jako cvien 8.10. 2
8.5. Kondenzace
101 C3
x3
y3
x2
y1 x1 C1
y2 C2
Obrzek 8.6: Konstrukce cyklu L v grafu G. $rkovan oblasti jsou kvazikomponenty C1, C2, C3 grafu G (vrcholy cyklu L v Gc ). Cvien
I 8.10 Dokate body (ii) a (iii) vty 8.15. I 8.11 Najdte kondenzaci graf na obr. 8.7.
(a)
(b)
Obrzek 8.7: Grafy ke cvien 8.11.
102
Kapitola 8. Orientovan grafy
Kapitola 9 Matice a poet koster Graf (orientovan i neorientovan) lze popsat matic, a to hned nkolika rznmi zpsoby. Tmatem tto kapitoly jsou incidenn matice orientovanch graf a to, jak algebraick vlastnosti tchto matic zachycuj vlastnosti pslunch graf. Ukeme si pedevm pozoruhodnou, a spektakulrn aplikaci incidennch matic, pi kter spotme vechny kostry libovolnho neorientovanho grafu pomoc determinantu jist jednodue de#novan matice. Mimo jin dostaneme odpov* na nsledujc otzku: Kolik existuje rznch strom na pevn dan n-prvkov mnoin vrchol? Zdraznme, e se jedn o rzn, nikoli neisomorfn stromy. Na tprvkov mnoin vrchol napklad existuj 3 rzn stromy, ale vechny jsou navzjem isomorfn. (Viz tak cvien 7.1.)
9.1 Incidenn matice Nech) G je v celm tomto oddlu orientovan graf s vrcholy V = {v1 , . . . , vn } a hranami E = {e1 , . . . , em}. Budeme tak pedpokldat, e graf G neobsahuje smyky.
Denice 9.1 Incidenn matice M (G) orientovanho grafu G je reln matice o rozmrech n × m, de#novan vztahem M (G) = (mij ), kde 8 <
mij
=:
+1 pokud hrana ej vychz z vrcholu vi, −1 pokud hrana ej vchz do vrcholu vi , 0 jinak. 103
104
Kapitola 9. Matice a poet koster v4 e4 v1
e3 e5
e1
v3 e2 v2
Obrzek 9.1: Orientovan graf. Graf na obr. 9.1 m tedy nsledujc incidenn matici: 2 3 1 0 0 −1 1 6−1 1 0 0 0 77 , 6 4 0 −1 1 0 −15 0 0 −1 1 0 v n dky odpovdaj po ad vrcholm v1, . . . , v4 a sloupce hranm e1, . . . , e5. Vimnme si, e kdyby graf G obsahoval smyky, nebyla by jeho incidenn matice dobe de#novna | smyka toti z pslunho vrcholu vchz, ale zrove z nj vychz. Proto n pedpoklad, e G je bez smyek. Zdraznme jet jednu dleitou vlastnost incidennch matic, jejm dsledkem jsou rzn jejich speciln vlastnosti, kter uvidme v nsledujcch oddlech (nap. Vta 9.6). V kadm sloupci matice M (G) jsou prv dva nenulov prvky, z nich jeden je +1 a druh je −1. Dvodem je samozejm fakt, e kad hrana obsahuje prv dva vrcholy, piem v prvnm zan a ve druhm kon. Cvien
I 9.1 Urete incidenn matice graf na obr. 9.2 (s danm oznaenm vrchol a hran).
I 9.2 V jakm vztahu jsou matice M (G) a M (H ), jsou-li grafy G a H isomorfn?
9.2 dky jako vektory Incidenn matice M (G) m n dk a m sloupc. Na kad dek se tak meme dvat jako na vektor o m slokch, pesnji prvek vektorovho prostoru Rm. 'dky odpovdaj vrcholm grafu G, a my budeme dek odpovdajc vrcholu vi oznaovat jako vi. (Sloupec odpovdajc hran ej budeme znait jako ej .)
9.2. dky jako vektory e3
v4
105 v3
v6
e5
v5
e4
v4
e6 e4 v1
e5 e1
e2
e7
v2
v1
(a)
e8 e1
e9 v2
e3 e2
v3
(b)
Obrzek 9.2: Urete incidenn matice. Jako v kadm vektorovm prostoru, i v prostoru Rm je de#novn pojem linern zvislosti. Pro pipomenut: Mnoina vektor w1 , . . . , wk z vektorovho prostoru W (nad tlesem relnch sel) je linern zvisl, pokud existuj reln koe#cienty α1, . . . ,αk tak, e k X i=1
αi wi
=0
a pitom ne vechny koe#cienty αi v tto linern kombinaci vektor wi jsou rovny nule. Jak m vznam, je-li urit mnoina dk matice M (G) linern zvisl? Co to k o odpovdajc mnoin vrchol grafu G? Klem k odpovdm na tyto otzky je nsledujc nenpadn tvrzen.
Tvrzen 9.2 Nech K je komponenta orientovanho grafu G, a nech
n X i=1
αi vi
=0
je nulov linern kombinace vektor vi . Potom pro vechny vrcholy vk z komponenty K jsou si koecienty αk navzjem rovny.
Dkaz. Nejsou-li na komponent K vechny koe#cienty αk shodn, pak (dky
slab souvislosti) mus existovat hrana ej ∈ E (K ) takov, e jej poten vrchol vp a koncov vrchol vq maj rzn koe#cienty αp = αq . Vzpomeme si, e M (G) obsahuje v j -tm sloupci (ve sloupci hrany ej ) jen dva nenulov prvky:P+1 v p-tm dku a −1 v q-tm dku. Odtud plyne, e j -t sloka vektoru ni=1 αi vi je rovna rozdlu αp − αq . O zmnnm vektoru ale pedpokldme, e je nulov, take i αp = αq . To je spor. 2
106
Kapitola 9. Matice a poet koster
Cvien
I 9.3 Jsou reln vektory (0, 1, −2), (1, −1, 1) a (2, −1, 0) linern zvisl? Jak to lze poznat pomoc determinantu matice?
9.3 Hodnost incidenn matice Hodnost h(M ) matice M je maximln velikost linern nezvisl mnoiny jejch dk. Lze hodnost incidenn matice M (G) urit z vlastnost grafu G? Pedevm si vimnme, e matice M (G) nikdy neme mt plnou hodnost n. Seteme-li toti vechny dky, dva nenulov prvky v kadm sloupci se vzjemn vyru a vyjde nulov vektor. Jedn se tedy o nulovou linern kombinaci dk matice M (G) (v n jsou vechny koe#cienty rovny jedn). Mnoina vech dk matice M (G) je linern zvisl.
Vta 9.3 Pro slab souvisl graf G m matice M (G) hodnost n − 1. Plat dokonce, e kad mnoina n − 1 dk matice M (G) je linern nezvisl.
Dkaz. Nech) G je slab souvisl a S je mnoina n P − 1 dk matice M (G). Ukeme, e S je linern nezvisl. Dejme tomu, e v ∈S αivi = 0 je nulov i
linern kombinace dk z S a rozime tuto kombinaci na vechny dky M (G) tm, e pro (jedin) dek vk ∈/ S polome αk = 0. Dostaneme linern kombinaci n X i=1
αi vi
=0
a podle tvrzen 9.2 mus bt vechny koe#cienty αi shodn (protoe slab souvisl graf G m jedinou komponentu). Kvli koe#cientu αk jsou tedy vechny nulov. Dokzali jsme, e mnoina S je linern nezvisl, a speciln tak h(M (G)) = n − 1. 2 Toto tvrzen lze zobecnit i na grafy, kter nejsou slab souvisl:
Vta 9.4 Orientovan graf G m pesn k komponent, prv kdy h(M (G)) = n − k.
Dkaz. `⇒': Nech) G m k komponent C1, . . . , Ck . Nejprve dokeme, e hod-
nost matice M (G) je nejve n − k. Nech) S je mnoina alespo n − k + 1 dk. Mus existovat komponenta Cp s vlastnost, e S obsahuje vechny dky odpovdajc vrcholm Cp, protoe kdyby S z kad komponenty aspo jeden dek vynechala, obsahovala by jich nejve n − k. Seteme-li nyn vechny dky vi pro vi ∈ V (Cp ), dostaneme nulov vektor: kad hrana ej m v Cp bu* oba konce (a pslun souet je 1 + (−1)), nebo ani jeden (a pak stme sam nuly). Tato nulov linern kombinace dk z S ukazuje, e mnoina S je linern zvisl. Proto h(M (G)) ≤ n − k.
9.4. Faktory jako mnoiny sloupc
107
Vyberme nyn njakou mnoinu dk S o velikosti n − k, kter pro kadou komponentu Li obsahuje vechny dky odpovdajc vrcholm Li krom jedinho. Tvrdme,Pe S je linern nezvisl. Kdyby tomu tak nebylo, rozime linern zvislost v ∈S αivi = 0 na vechny dky matice M (G) poloenm αi = 0 pro vechny vi ∈/ S : n X αi vi = 0. i
i=1
Podle tvrzen 9.2 jsou vechny koe#cienty na kad komponent Li shodn. Protoe pro kadou komponentu existuje vrchol s nulovm koe#cientem, mus bt αi = 0 pro kad i, take S je vskutku linern nezvisl. Hodnost matice M (G) je tedy prv n − k. `⇐': Nech) h(M (G)) = n − k. Podle dokzan implikace je hodnost incidenn matice grafu s i komponentami rovna n − i. Graf G tedy mus mt pesn k komponent. 2 Cvien
I 9.4 Urete hodnost incidenn matice orientovanho grafu na 3k vrcholech,
tvoenho k disjunktnmi cykly dlky 3. Jak vypadaj linern nezvisl mnoiny dk o maximln velikosti?
9.4 Faktory jako mnoiny sloupc Vme, e setenm vech dk matice M (G) dostaneme nulov vektor. Lze ji tedy rekonstruovat z matice MR (G), vznikl vyputnm poslednho dku matice M (G). Jinak eeno, matice MR (G) (kterou nazvme redukovan incidenn matice grafu G) poskytuje o orientovanm grafu G plnou informaci. Sloupce incidenn matice M (G) odpovdaj hranm grafu G. Pro ns bude dleit, e mnoiny sloupc tto matice odpovdaj uritm podgrafm grafu G. Pipomeme z de#nice 7.5, e faktor grafu G je libovoln podgraf H ⊂ G, pro kter je V (H ) = V (G). Kad faktor grafu G je tedy jednoznan uren svou mnoinou hran. Tm je tak dn vzjemn jednoznan vztah mezi tmito faktory a mnoinami sloupc matice MR (G): faktor FS , piazen mnoin sloupc S , obsahuje prv ty hrany ej , jejich sloupec ej pat do S . V nsledujc vt #guruj tvercov podmatice matice MR (G) du n − 1. Vzhledem k tomu, e MR (G) m prv n − 1 dk, je kad takov podmatice urena n − 1-prvkovou mnoinou sloupc. Pro mnoinu sloupc S ozname pslunou podmatici jako AS . Pro neorientovan grafy jsme de#novali pojem kostry. Do oblasti orientovanch graf jej peneseme takto: podgraf H orientovanho grafu G je jeho kostrou, pokud symetrizace grafu H je kostrou symetrizace grafu G, a navc H neobsahuje smyky ani protichdn hrany.
108
Kapitola 9. Matice a poet koster
Vta 9.5 Nech G je slab souvisl orientovan graf bez smyek. Potom tver-
cov podmatice AS matice MR (G) du n− 1 je regulrn, prv kdy odpovdajc faktor FS je kostrou grafu G. Dkaz. `⇒': Nech) matice AS je regulrn. Z de#nice plyne, e AS je redukovanou matic incidence faktoru FS , tedy AS = MR (FS ). Protoe h(AS ) = n − 1, mus mt (neredukovan) matice M (FS ) maximln monou hodnost n − 1. Podle vty 9.4 je FS slab souvisl. Navc urit neobsahuje protichdn hrany, protoe pslun sloupce by byly a na znamnko shodn a AS by nebyla regulrn matice. Symetrizace faktoru FS je tedy souvisl graf s n − 1 hranami. Podle vty 7.4 se mus jednat o strom. Odtud dostvme tvrzen vty. `⇐': Nech) faktor FS je kostrou grafu G. Je tedy slab souvisl a podle vty 9.3 tvo prvnch n − 1 dk matice M (FS ) linern nezvislou mnoinu. Proto h(MR (FS )) = n − 1 a matice AS = MR (FS ) je regulrn. 2 Cvien
I 9.5 Kolik faktor m graf o n vrcholech a m hranch?
9.5 Po tn koster $tvercov podmatice matice incidence maj zajmavou vlastnost, kter se k totln unimodularita : Vta 9.6 Je-li M (G) incidenn matice orientovanho grafu G (bez smyek) a je-li B jej tvercov podmatice du r (kde 1 ≤ r ≤ n), potom determinant matice B je 0 nebo ±1. Dkaz. Indukc podle r. Pro r = 1 je tvrzen jasn z de#nice incidenn matice. Pedpokldejme, e r > 1. Pokud matice B obsahuje nulov sloupec, je det B = 0. Pokud obsahuje sloupec s jedinou nenulovou hodnotou bij , pak z rozvoje podle tohoto sloupce dostvme det B = ± det B , kde B vznikne z B odstrannm i-tho dku a j -tho sloupce. Podle induknho pedpokladu je det B ∈ {0, 1, −1}, take tot mus platit pro matici B . Meme tedy pedpokldat, e kad sloupec matice B obsahuje prv dv nenulov hodnoty (tj. 1 a −1). Setenm vech dk nutn dostaneme nulov vektor to znamen, e matice B je singulrn a det B = 0. I v tomto poslednm ppad tvrzen plat. 2 Pi potn koster grafu se neobejdeme bez Cauchy{Binetovy1 vty, kterou nebudeme dokazovat. Jej zhruba dvoustrnkov dkaz lze najt nap. v knize 4]. 1
Augustin-Louis Cauchy (1789{1857) a Jacques Philippe Marie Binet (1786{1856).
9.5. Potn koster
109
Vta 9.7 (Cauchy{Binetova vta) Nech B je matice o rozm rech r × s, kde r ≤ s.
Potom plat, e
X
det(B · B T ) =
(det BI )2,
I
kde I probh vechny r-prvkov mnoiny sloupc a matice B , uren sloupci z mnoiny I . 2
BI
je tvercov podmatice
Nyn ji meme vyslovit vtu, kter dv do souvislosti determinanty a poet koster.
Vta 9.8 Nech G je slab souvisl orientovan graf bez smyek a A = MR (G). Potom poet koster grafu G je roven determinantu matice A · AT .
Dkaz. Podle Cauchy{Binetovy vty je det(A · AT ) =
X
(det AS )2 ,
(9.1)
S
kde S probh (n − 1)-tice sloupc matice A. Podle vty 9.5 (ve kter m symbol AS stejn vznam jako zde) je det AS = 0 pesn pro ty mnoiny S , pro n je faktor FS kostrou. Ostatn mnoiny S souet v (9.1) neovlivn. Je-li FS kostra, pak podle vty 9.6 je det AS = ±1, take (det AS )2 = 1. Kad kostra tedy v soutu (9.1) pispje jednikou a vidme, e det(A · AT ) skuten pot kostry grafu G. 2
P klad 9.9 Jako aplikaci vty 9.8 spotejme kostry grafu G, kter je de#novn jako cyklus dlky 3. Jeho redukovan incidenn matice je
1 0 −1 MR (G) = −1 1 0 take
,
det MR (G) · (MR (G)) = det −21 −21 = 3. Graf G m tedy 3 kostry (co ns asi pli nepekvap). T
Cvien
I 9.6 Spotejte pomoc vty 9.8 kostry grafu na obr. 9.1.
110
Kapitola 9. Matice a poet koster
9.6 Po tn koster: neorientovan grafy Nech) je dn neorientovan graf G. Chceme-li `v praxi' potat jeho kostry pomoc determinant, lze to zadit snadnji ne pomoc vty 9.8. K jejmu pouit bychom nejprve museli graf G libovoln zorientovat a zskat tak orientovan graf , dle spotat souin MR (G ) · (MR (G ))T a konen zjistit jeho determinant. G Uveden souin vak (jak uvidme) zvis pouze na grafu G, nikoli na zvolen orientaci, a lze jej navc snadno odvodit pmo z grafu G. Tm se vyhneme nutnosti nsoben matic.
Vta 9.10 Nech G je neorientovan graf s vrcholy V = {v1, . . . , vn} a G n jak
jeho orientace bez smyek a nsobnch hran. Dle polome ) · (M (G ))T L = M (G
(tzv. Laplaceova matice grafu G).
Potom pro prvky tvercov matice L = (ij ) du n plat: 8 < dG (vi )
ij
=:
Navc plat, e matici L = dku a sloupce z matice L.
pokud i = j , −1 pokud vi vj ∈ E (G), 0 jinak.
) · (MR (G ))T MR (G
zskme vyput nm poslednho
Dkaz. Poloku ij matice L zskme jako skalrn souin vi · vj , tedy souin
i-tho
a j -tho dku matice M (G ). Pokud i = j , pak kad hrana obsahujc vrchol vi (nezvisle na smru) pispje k tomuto skalrnmu souinu 1, take vi · vi = dG(vi ). Pro i = j jsou vrcholy vi, vj spojeny nejve jednou hranou, tj. vektory vi, vj jsou nejve v jedn souadnici oba nenulov. Snadno vidme, e souin vi · vj je −1 resp. 0 podle toho, zda vivj je hranou nebo ne. Druh st vty pmo plyne z de#nice nsoben matic. 2 Rychlej postup potn koster neorientovanho grafu, zaloen na tto vt, si ukeme na nsledujcm pkladu.
P klad 9.11 Uvame neorientovan graf G na obr. 9.3. Napime pmo jeho Laplaceovu2 matici:
2
3
2 −1 0 0 −1 6−1 2 −1 0 0 77 6 7 L=6 6 0 −1 3 −1 −17 . 4 0 0 −1 2 −15 −1 0 −1 −1 3 2 Pierre-Simon
Laplace (1749{1827).
9.6. Potn koster: neorientovan grafy
111
v4 v5
v3
v1
v2
Obrzek 9.3: Graf z pkladu 9.11. Podle vt 9.10 a 9.8 sta z matice L vynechat posledn dek a sloupec, a determinant vsledn matice L je poet koster grafu G. Pmm vpotem zjistme, e 2 3 2 −1 0 0 6 7 det L = det 64−01 −21 −31 −0175 = 11. 0 0 −1 2 Graf G m tedy 11 koster. Vra)me se k otzce, kterou jsme tuto kapitolu zahjili: kolik existuje rznch strom na n-prvkov mnoin vrchol? Lze ji formulovat tak takto: kolik rznch koster m pln graf na n vrcholech? Vta 9.12 pln graf na n ≥ 2 vrcholech m nn−2 rznch koster. Dkaz. Laplaceova matice Ln grafu Kn je tvercov matice du n a vypad takto: 2 3 n − 1 −1 −1 . . . −1 6 −1 n − 1 −1 . . . −1 7 6 7 6 −1 7 − 1 n − 1 . . . − 1 Ln = 6 7. 6 .. ... ... . . . ... 75 4 . −1 −1 −1 . . . n − 1 Determinant matice Ln , kter vznikne odstrannm poslednho dku a sloupce, je hledan poet koster. Pitme k prvnmu dku matice Ln vechny ostatn dky, a nsledn pitme tento nov prvn dek ke vem ostatnm. Determinant se nezmn, take 3 2 1 1 1 ... 1 60 n 0 . . . 0 7 7 6 60 0 n . . . 0 7 det Ln = det 66 7. . . . .7 4 .. .. .. . . . .. 5 0 0 0 ... n Matice na prav stran m n − 1 dk, take rozvojem podle prvnho sloupce dostvme det Ln = nn−2. 2
112
Kapitola 9. Matice a poet koster
Cvien
I 9.7 Urete poet koster graf na obr. 9.4.
(a)
(b)
(c)
(d)
Obrzek 9.4: Urete poet koster.
I 9.8 Osvte si potebn pojmy z linern algebry a ukate, e pro Laplaceovu
matici L(G) neorientovanho grafu G plat: (a) L(G) je pozitivn semide#nitn, (b) vlastn vektor pslun vlastnmu slu 0 je vektor s jednotkovmi slokami, (c) je-li G souvisl, pak vlastn slo 0 m nsobnost 1.
Kapitola 10 Linern prostory grafu Metoda potn koster pomoc determinant nen jedinm pojtkem mezi teori graf a linern algebrou. V tto kapitole uvidme, jak lze kadmu neorientovanmu grafu pirozenm zpsobem piadit dva linern prostory nad tlesem Z2 (prostor krunic a prostor ez) a prozkoumme vlastnosti tchto prostor.
10.1 Incidenn matice neorientovanho grafu Podobn, jako jsme de#novali incidenn matici pro orientovan grafy, lze ji zavst i pro grafy neorientovan. Vzhledem k tomu, e hrany tchto graf nemaj smr, vystame zde s hodnotami 0 a 1. Je-li tedy G neorientovan graf s n vrcholy v1 , . . . , vn a m hranami e1 , . . . , em , pak jeho incidenn matice M (G) je de#novna pedpisem M (G) = (mij ), kde mij
=
1 pokud vi ∈ ej , 0 jinak
pro i = 1, . . . , n a j = 1, . . . , m. v4 e4 v1
e3 e5
e1
v3 e2 v2
Obrzek 10.1: Neorientovan graf H . Graf na obr. 10.1 m napklad nsledujc incidenn matici (i-t dek od113
114
Kapitola 10. Linern prostory grafu
povd vrcholu vi, j -t sloupec hran ej ): 2 3 1 0 0 1 1 61 1 0 0 07 7 M (H ) = 6 40 1 1 0 15 . 0 0 1 1 0 Vimnme si, e kad sloupec incidenn matice nyn obsahuje prv dva prvky, kter jsou rovny jedn. Stejn jako u orientovanch graf tak dokeme jednoznan zrekonstruovat posledn dek z dk pedchzejcch. Asi bychom proto ekali, e dky takovto matice jsou opt linern zvisl. Ve uveden matice M (H ) m vak pekvapiv hodnost 4, tedy maximln monou! Zhada m jednoduch een: S incidenn matic neorientovanho grafu je teba pracovat nad t lesem Z2 . Co to pesn obn, uvidme v nsledujcm oddlu.
10.2 Hodnost nad Z2 'dky matice M (G) jsou vektory sloen z m nul a jedniek. Meme je tedy interpretovat jako prvky vektorovho prostoru Zm2 dimenze m nad tlesem Z2 . Veker aritmetika v tomto prostoru je provdna `po slokch' a modulo 2. Pipomeme, e mnoina vektor {w1, . . . , wk } ⊂ Zm2 je linern zvisl nad Z2 , pokud existuj koe#cienty α1 , . . . , αk ∈ Z2 (ne vechny nulov), pro n je k X i=1
αi wi
= 0,
piem samozejm stle potme nad tlesem Z2 . Vzhledem k tomu, e koe#cienty mohou bt pouze 0 nebo 1, a nulov koe#cienty souet neovlivn, je vidt, e mnoina vektor je linern zvisl nad Z2 , prv kdy obsahuje neprzdnou podmnoinu s nulovm soutem. Hodnost matice M nad Z2 (budeme ji znait h2(M )) je de#novna jako maximln velikost mnoiny dk, kter je linern nezvisl nad Z2 . Tebae matice M (H ) m hodnost (nad tlesem relnch sel) rovnou 4, nad Z2 je soutem jejch dk nulov vektor a podle oekvn plat h2 (M (H )) = 3. Pro hodnost matice M (G) nad Z2 plat obdobn vztahy jako pro obyejnou hodnost v orientovanm ppad, a tak se velmi podobn dokazuj. Shrneme je v nsledujc vt, jej dkaz ponechme jako cvien.
Vta 10.1 Pro neorientovan graf G plat: (i) Hodnost h2(M (G)) je rovna n − k, prv kdy G m k komponent.
10.3. Vektory a faktory
115
(ii) Je-li G souvisl, pak dokonce kadch n − 1 dk tvo linern nezvislou mnoinu nad Z2 . 2 Cvien
I 10.1 Dokate vtu 10.1.
10.3 Vektory a faktory
Kad vektor z prostoru Zm2 odpovd njak mnoin hran grafu G, a ta zase jednoznan uruje faktor grafu G. Pro jednoduchost proto obvykle nebudeme rozliovat mezi vektory ze Zm2 , faktory grafu G a mnoinami jeho hran. V ppad poteby budeme o vektoru, kter odpovd njak mnoin hran M , hovoit jako o jejm charakteristickm vektoru. V prostoru Zm2 je de#novno stn, kter budeme znait symbolem ⊕. Co znamen toto stn v ei faktor? Jsou-li F, F ∈ Zm2 , pak na i-tm mst v soutu F ⊕ F bude 0, prv kdy F a F maj na tomto mst oba 0 nebo oba 1. Odtud snadno vidme, e faktor F ⊕ F je symetrick rozdl faktor F a F , tj. je de#novn pedpisem F ⊕ F
= F ∪ F −
F ∩ F .
Pklad `stn' faktor grafu H na obr. 10.1 ukazuje obr. 10.2. ⊕
=
Obrzek 10.2: Stn faktor. 'ekneme, e faktor F ⊂ G je sud, m-li v nm kad vrchol sud stupe. Tento pojem zce souvis s pojmem eulerovskho grafu, studovanm v oddlu 6.6: kad komponenta sudho faktoru je toti eulerovsk graf. Bude ns zajmat mimo jin nsledujc otzka: Kolik m graf G sudch faktor?
Alespo jeden sud faktor existuje vdy: faktor s przdnou mnoinou hran. Je-li ovem graf G napklad stromem, pak u dn dal sud faktory nem. Kad jeho faktor je toti sjednocenm disjunktnch strom, a my vme, e strom na alespo dvou vrcholech obsahuje njak list, tj. vrchol stupn 1. Jedin sud faktor stromu je tedy ten, ve kterm jsou vechny komponenty jednobodov.
116
Kapitola 10. Linern prostory grafu
Oproti tomu kad krunice C v grafu G uruje sud faktor s mnoinou hran E (C ) (vrcholy na C maj stupe 2, ostatn 0). Zd se tedy, e m vce krunic, tm vce sudch faktor. Zsadn pozorovn pedstavuje nsledujc vta.
Vta 10.2 Sud faktory tvo podprostor vektorovho prostoru Zm2 . Dkaz. Vzhledem k tomu, e pracujeme nad tlesem Z2 , sta ovit, e souet (=symetrick rozdl) sudch faktor F1 , F2 je sudm faktorem, tj. e stupe kadho vrcholu v ∈ V (G) ve faktoru F1 ⊕ F2 je sud. Nech) Ai je mnoina hran obsahujcch v ve faktoru Fi (i = 1, 2). Vme, e ve faktoru F1 ⊕ F2 je vrchol v obsaen prv ve hranch ze symetrickho rozdlu A1 ⊕ A2. Jeho stupe je tak dF1 ⊕F2 (v ) = |A1 ⊕ A2 | = |A1 ∪ A2 − (A1 ∩ A2 )| = |A1| + |A2| − 2|A1 ∩ A2 |,
a protoe Ai jsou mnoiny sud velikosti, je i tento stupe sud. Vrchol v byl libovoln, take F1 ⊕ F2 je sud faktor. 2 Podprostoru z vty 10.2 se k prostor krunic nebo prostor cykl grafu G. Oznauje se C (G). Nzev `prostor krunic' me bt zavdjc, nebo) tento prostor obecn obsahuje i sud faktory, kter nejsou krunicemi (viz cvien 10.2). Tuto terminologii ospravedluje nsledujc pojem, kter tak umouje alternativn, mon intuitivnj pohled na prostor C (G). Matice krunic C (G) sestv z dk, kter vzjemn jednoznan odpovdaj krunicm v grafu G. 'dek pslun krunici C je charakteristick vektor jej mnoiny hran E (C ). Matice C (G) m tedy m sloupc a tolik dk, kolik je krunic v grafu G. Je urena jednoznan a na poad dk a sloupc.
Tvrzen 10.3 %dky matice C (G) generuj prostor krunic C (G). Dkaz. Sta ukzat, e libovoln sud faktor F je soutem krunic. Pouijeme
indukci podle potu hran faktoru F . Meme pedpokldat, e F obsahuje njak hrany, jinak je toti soutem przdn mnoiny dk matice C (G). Zvolme komponentu F0 faktoru F , kter obsahuje aspo jednu hranu. Potom F0 je souvisl graf, ve kterm vechny vrcholy maj sud stupe, take podle vty 6.18 m graf F0 eulerovsk tah T = (v0 , . . . , vk = v0 ). Pro nejmen index i > 0 s vlastnost vi = v0 je poten sek K = (v0 , . . . , vi ) tahu T nutn krunic. Ozname mnoinu hran tto krunice symbolem E (K ). Faktor F = E (F ) ⊕ E (K ) zskme `odetenm' krunice K z faktoru F . Je to tedy sud faktor a m mn hran ne F . Z indukce plyne, e F je soutem krunic (eknme) C1 , . . . , C . Proto tak faktor F = C1 ⊕ · · · ⊕ C ⊕ K je soutem krunic, co jsme chtli dokzat. 2
10.4. Hvzdy, separace a ezy
117
Cvien
I 10.2 Najdte pklad grafu, jeho prostor krunic obsahuje i sud faktory, kter nejsou krunicemi.
I 10.3 Urete matici krunic graf na obr. 10.3.
(a)
(b)
Obrzek 10.3: Grafy k cvien 10.3.
10.4 Hvzdy, separace a ezy Od tohoto oddlu dle budeme pedpokldat, e graf G je souvisl. K nesouvislm grafm se vrtme na konci kapitoly. Jak vypadaj faktory uren dky incidenn matice grafu G? Pokud se jedn o dek, kter pslu vrcholu vi , pak do danho faktoru nle pouze hrany obsahujc vrchol vi. Tomuto faktoru kme hv zda vrcholu vi a oznaujeme jej Hi . Vechny hvzdy grafu na obr. 10.1 jsou znzornny na obr. 10.4.
Obrzek 10.4: Hvzdy v grafu na obr. 10.1. Vimnme si, e hvzdy typicky obsahuj izolovan vrcholy (vrcholy stupn 0) | konkrtn ve hvzd vrcholu vi bude izolovan kad vrchol, kter s nm nesoused. Vechny tyto vrcholy vak do hvzdy pat (je to faktor)! Pojem hvzda lze zobecnit nsledujcm zpsobem. Pro mnoinu vrchol X ⊂ V (G) nech) ∂X oznauje faktor sloen ze vech hran, kter maj v mnoin X prv jeden koncov vrchol (tj. z hran, kter vedou `mezi' X a V (G) − X ). Kad faktor tohoto tvaru ozname termnem separace. Napklad kad hvzda je separace, protoe plat ∂{vi} = Hi. Separac je i faktor bez hran.
118
Kapitola 10. Linern prostory grafu
Vta 10.4 Mnoina vech separac je podprostorem prostoru Zm2 . Dkaz. Sta ovit uzavenost na souty. Dokazujeme, e pro kad X, Y
⊂ V (G) je faktor ∂X ⊕ ∂Y separac. Vimnme si, e hrana e pat do faktoru ∂X ⊕ ∂Y , prv kdy e ∈ ∂X a e ∈ / ∂Y nebo naopak. To zase plat prv tehdy, kdy e m v jedn z mnoin X, Y jeden konec a v t druh bu* dn nebo oba konce. Jak lze snadno ovit, ekvivalentn podmnkou je, e e m prv jeden konec v mnoin X ⊕ Y . Dokzali jsme tedy, e ∂ (X ⊕ Y ) = ∂X ⊕ ∂Y
a z toho plyne tvrzen vty. 2 Nech) S je separace, dejme tomu S = ∂X . Odstrannm hran faktoru S z grafu G dostaneme jist nesouvisl graf, protoe z dnho vrcholu v mnoin X v grafu G − E (S ) nevede hrana do dnho vrcholu mimo X . Specilnm ppadem separace je ez, kter je de#novn nsledovn. %ezem v souvislm grafu G je mnoina hran A s vlastnost, e graf G − A (vznikl odstrannm hran v A z grafu G) je nesouvisl, ale pitom dn vlastn podmnoina mnoiny A tuto vlastnost nem. Podprostor z vty 10.4 se nazv prostor ez grafu G a oznauje se R(G). Vme, e kad hvzda je jeho prvkem. Plat dokonce nsledujc: Tvrzen 10.5 Hv zdy generuj cel prostor ez. Dkaz. Musme ukzat, e kadou separaci ∂X lze vyjdit jako souet hvzd. Tvrdme, e plat X Hi = ∂X. vi ∈X
Tato rovnost plyne z faktu, e m-li hrana ej v mnoin X oba koncov vrcholy, zapotali jsme ji v soutu na lev stran dvakrt nem-li v X ani jeden vrchol, nezapotali jsme ji vbec. V obou ppadech vyjde na j -tm mst vslednho vektoru 0. Hodnota 1 tedy na tomto mst vyjde prv tehdy, kdy ej je hranou faktoru ∂X . 2 Vta 10.6 Dimenze prostoru ez je prv n − 1. Dkaz. Podle pedchozho tvrzen je prostor ez generovn hvzdami. Podle vty 10.1(ii) je dimenze tohoto prostoru pesn n − 1. 2 Stejn jako vtina prvk prostoru krunic nejsou krunice (ale sud faktory), tak prostor ez je z vt sti tvoen faktory, kter nejsou ezy (ale separacemi, viz cvien 10.4). Podobn jako u prostoru krunic meme de#novat matici ez R(G) grafu G, jej kad dek je charakteristick vektor mnoiny hran nkterho ezu v grafu G (a kadmu ezu odpovd jeden dek). Nsledujc fakt je analogi tvrzen 10.3.
10.5. Ortogonalita
119
Tvrzen 10.7 %dky matice R(G) generuj cel prostor R(G). Dkaz. Podle tvrzen 10.5 vme, e prostor R(G) je generovn hvzdami. Te-
bae ne kad hvzda je ez, nen tk nahldnout, e rzn ezy obsaen v jedn hvzd H jsou navzjem disjunktn a H je tedy jejich soutem. Vechny hvzdy tak le v linernm obalu mnoiny dk matice R(G) a z toho plyne dokazovan tvrzen. 2 Cvien
I 10.4 Najdte pklad separace v njakm grafu, kter nen ezem. Najdte pklad hvzdy s touto vlastnost.
I 10.5 Dokate, e je-li A ez v souvislm grafu G, pak graf G − A m prv
dv komponenty. Rozhodnte, zda plat opan implikace.
I 10.6 Dokate, e graf, kter obsahuje njak ez o velikosti 1, neme bt eulerovsk ani hamiltonovsk.
10.5 Ortogonalita
Pipomeme, e ve vektorovm prostoru Rn je pro kadou dvojici vektor u, v de#novn skalrn souin. Od nj se odvozuje pojem ortogonality vektor. Podobn pojmy maj smysl i v prostoru Zm2 . Jsou-li u = (u1 . . . um) a v = (v1 . . . vm ) prvky prostoru Zm2 , pak jejich skalrn souin 1 u · v je de#novn pedpisem u·v
=
m X i=1
ui vi ,
kde stn provdme v tlese Z2 (vsledek je tedy 0 nebo 1). Vektory u, v jsou ortogonln nebo kolm (zname u ⊥ v), pokud u·v = 0. Tento pojem lze rozit na mnoiny vektor: mnoiny U, V ⊂ Zm2 jsou ortogonln (U ⊥ V ), pokud u ⊥ v pro kad u ∈ U , v ∈ V . Jak vznam m skalrn souin pi naem ztotonn vektor a faktor? Kdy jsou dva faktory navzjem kolm? Pmo z de#nice plyne jednoduch odpov*: jsou kolm, prv kdy se shoduj v sudm potu hran (tj. jejich prnik m sudou velikost). Je-li W podprostor prostoru Zm2 , de#nujeme jeho ortogonln dopln k W ⊥ jako mnoinu vech vektor, kter jsou kolm na kad prvek podprostoru W . Pro pesnost upozornme, e na e de nice je v mrnm rozporu s obecnou de nic skalrnho souinu ve vektorovch prostorech. Ta toti mj. poaduje, aby vztah x · x = 0 platil pouze pro nulov vektor. V na em ppad ale bude platit pro kad vektor se sudm potem jedniek. 1
120
Kapitola 10. Linern prostory grafu
Z bilinearity skalrnho souinu snadno plyne, e W ⊥ je opt podprostorem (viz cvien 10.7). Pro ns bude velmi dleit nsledujc vta.
Vta 10.8 Je-li W podprostor prostoru Zm2 , pak plat dim W + dim W ⊥ = m.
Dkaz. Ozname dim W = k. Nech) M je matice o rozmrech k ×m, jej dky jsou prvky njak pevn bze podprostoru W . K tomu, aby vektor x ∈ Zm2 byl kolm na kad vektor z W , sta, aby byl kolm na kad prvek zvolen bze. Jinmi slovy, x ∈ W ⊥ , prv kdy x je eenm soustavy Mx = 0. Standardn eliminac (a ppadnm peskupenm sloupc) upravme M na matici M , ve kter prvnch k sloupc tvo jednotkovou matici, tedy M
=
h
i
Ik B ,
kde B je njak matice o rozmrech k× (m−k). Je jasn, e libovoln zvolen sla xk+1 , xk+2 , . . . , xm , lze jednoznan doplnit na een x = (x1 . . . xm ) soustavy Mx = 0. Dimenze prostoru, tvoenho eenmi tto soustavy (kterm je shodou okolnost prostor W ⊥ ), je tedy m − k. Vta je dokzna. 2 Dokonme nyn vpoet dimenz prostoru krunic a prostoru ez. Nech) F je njak faktor grafu G. Podle toho, co bylo eeno o ortogonalit faktor, je stupe vrcholu vi ve faktoru F sud, prv kdy je F kolm na hvzdu Hi. To znamen, e F je sud faktor, prv kdy je kolm na vechny hvzdy. Jinak eeno:
Vta 10.9 Prostor krunic C (G) je ortogonlnm dopl!kem prostoru ez R(G). Dkaz. Prvky prostoru C (G) jsou prv sud faktory. Vme, e F ∈ C (G), prv
kdy F je kolm na kadou hvzdu. Protoe prostor ez R(G) je hvzdami generovn, plat, e F ∈ C (G), prv kdy F ⊥ S pro kadou separaci S ∈ R(G). Jinmi slovy C (G) = R(G)⊥ . 2 Podle vty 10.6 je dim R(G) = n − 1. Podle vty 10.8 plat dim C (G) + dim R(G) = m. V dsledku dostvme:
Vta 10.10 Dimenze prostoru krunic je m − n + 1. 2 Dsledek 10.11 Souvisl graf G m 2m−n+1 sudch faktor. 2 Cvien
I 10.7 Dokate, e ortogonln doplnk W ⊥ podprostoru W podprostorem.
⊂
Zm2 je rovn
10.6. Fundamentln soustavy krunic a ez
121
10.6 Fundamentln soustavy krunic a ez Urili jsme pesn dimenzi prostoru krunic a prostoru ez. V tomto odstavci ukeme zpsob, jak snadno najt bze tchto prostor, navc v pknm specilnm tvaru. Nech) G je souvisl graf. Zvolme pevn njakou jeho kostru T . Hrany e ∈ E (G) − E (T ) se nazvaj t tivy kostry T . Je jich m − n + 1, protoe kad strom na n vrcholech m n − 1 hran, piem poet vech hran grafu G je m. Vme, e stromy jsou charakterizovny vlastnost, e kad dva jejich vrcholy jsou spojenu prv jednou cestou. Odtud plyne, e pidme-li ke koste T ttivu ej , vsledn graf T + ej bude obsahovat prv jednu krunici. Ozname tuto krunici Cj . Soubor vech krunic Cj , kde ej probh ttivy kostry T , se nazv fundamentln soustava krunic grafu G vzhledem ke koste T . Pklad takov soustavy je na obr. 10.5.
(a)
(b)
(c)
(d)
(e)
Obrzek 10.5: (a) Graf s pln vyznaenou kostrou, (b){(e) jeho fundamentln soustava krunic (krunice tun).
Tvrzen 10.12 Fundamentln soustava krunic vzhledem ke koste T tvo bzi prostoru krunic C (G).
Dkaz. Nech) F je fundamentln soustava krunic vzhledem ke koste T . Vim-
nme si, e kad ttiva ej kostry T je obsaena v jedinm prvku systmu F (toti F tedy mus bt linern nezvisl, protoe pro kad ve faktoru Cj ). Mnoina P len Ck v soutu j Cj (kde ej probh nkter ttivy) je k-t sloka vslednho vektoru nenulov. Nali jsme tedy m − n +1 linern nezvislch prvk prostoru C (G), a protoe vme, e dimenze tohoto prostoru je m − n + 1, mus jt o bzi. 2 Podobn postup lze aplikovat v ppad prostoru ez. Nech) ej je nkter z hran kostry T . Odstranme-li ji, vsledn graf T −ej bude nesouvisl (to snadno plyne z vlastnost strom) a bude mt prv 2 komponenty. De#nujme Rj jako faktor sestvajc ze vech hran grafu G, kter vedou mezi komponentami grafu T − ej . Snadno se nahldne, e jeho mnoina hran je ez. Kostra T m n − 1
122
Kapitola 10. Linern prostory grafu
hran, take tmto zpsobem dostaneme n − 1 faktor, kter dohromady tvo fundamentln soustavu ez vzhledem ke koste T . Kad hrana ej ∈ E (T ) je hranou jedinho faktoru z tto fundamentln soustavy ez, toti faktoru Rj (cvien 10.9). Odtud opt plyne, e fundamentln soustava ez je linern nezvisl, a protoe dim R(G) = n − 1, dostvme:
Tvrzen 10.13 Fundamentln soustava ez vzhledem ke koste prostoru ez R(G).
T
tvo bzi
Cvien
I 10.8 Urete fundamentln soustavu krunic a fundamentln soustavu ez
grafu na obr. 10.6 vzhledem k vyznaen koste.
Obrzek 10.6: Graf ke cvien 10.8 s tun vyznaenou kostrou.
I 10.9 Dokate, e kad hrana kostry T je obsaena v prv jednom faktoru z pslun fundamentln soustavy ez.
10.7 Nesouvisl grafy Doposud jsme se zabvali souvislmi grafy. Nae vahy lze uplatnit i na grafy nesouvisl. Nech) graf G m k komponent C1, . . . , Ck . Zvolme v kad z nich njakou jej kostru Ti (i = 1, . . . , k). Graf G tak bude obsahovat n − k hran, kter pat do njakho Ti, a m − n + k hran, kter do dn ze zvolench `koster' nepat. Stejn jako dve obdrme fundamentln soustavu krunic o m − n + k prvcch a fundamentln soustavu ez o n − k prvcch. (Ta ji nen tvoena ezy, kter jsme de#novali jen v souvislch grafech, ale obecnji separacemi.) Protoe vta 10.9 plat beze zmny, dostvme, e nae fundamentln soustavy jsou i zde bzemi pslunch prostor.
Vta 10.14 M-li graf G k komponent, pak dim C (G) = m−n + k a dim R(G) =
n − k.
2
10.7. Nesouvisl grafy Cvien
I 10.10 Prove*te podrobn dkaz vty 10.14.
123
124
Kapitola 10. Linern prostory grafu
Kapitola 11 Vzdlenost v grafech V kadm grafu lze pirozenm zpsobem de#novat vzdlenost libovoln dvojice vrchol. Hlavnm vsledkem tto kapitoly je pekvapiv tvrzen, podle kterho lze vzdlenosti v grafu zjistit z mocnin jeho matice sousednosti.
11.1 Matice sousednosti a poty sled
Denice 11.1 Nech) G je orientovan graf na vrcholech {v1 , . . . , vn}. Matice sousednosti grafu G je reln matice o rozmrech n × n, de#novan pedpisem S (G) = (σij ), kde 1 pokud vivj ∈ E (G), σij = 0 jinak
pro i, j = 1, . . . , n.
v4
v3
v2
v1
Obrzek 11.1: Orientovan graf. Napklad graf na obr. 11.1 m matici sousednosti 2 3 1 1 0 0 60 0 0 17 7 S (G) = 6 40 1 0 15 . 0 0 1 0 125
126
Kapitola 11. Vzdlenost v grafech
Matice sousednosti neorientovanho grafu je de#novna jako matice sousednosti jeho symetrick orientace. (Pipomeme, e symetrick orientace je orientovan graf, kter vznikne, pokud kadou hranu nahradme dvojic protichdnch orientovanch hran.) Pi potn matice sousednosti napklad pro neorientovan cyklus C4 o dlce 4 musme tedy pejt k orientovanmu grafu na obr. 11.2 a zjistme, e matice sousednosti je 2 3 0 1 0 1 61 0 1 07 7 S (C 4 ) = 6 40 1 0 15 . 1 0 1 0 v4
v1
v3
v2
Obrzek 11.2: Symetrick orientace cyklu dlky 4. Z matice S (G) lze pomrn jednodue zjistit poet vech sled se zadanm zatkem, koncem a dlkou v orientovanm grafu G. Pro k > 0 budeme symbolem (k) σij oznaovat prvek na pozici (i, j ) v k -t mocnin matice S (G). Nult mocnina tto matice je de#novna jako identick matice En . Pro vrcholy x, y ∈ V (G) budeme pojmem xy -sled rozumt sled z x do y v grafu G.
Vta 11.2 Nech G je orientovan graf a k ≥ 0. Prvek σij(k) matice (S (G))k je roven potu vi vj -sled dlky pesn k v grafu G.
Dkaz. Ozname poet vivj -sled dlky k jako Pijk . Dokazujeme tedy, e Pijk = (k) .
Pro strunost budeme pst E = E (G). Dkaz provedeme indukc podle k. Pro k = 0 je matice (S (G))k rovna identick matici, take σij(0) = 1, prv kdy i = j . Na druhou stranu sled dlky 0 z vi do vj existuje, prv kdy i = j , a pak je prv jeden. Odtud Pij0 = σij(0) . Ppad k = 0 je tedy probrn. Nech) je tvrzen dokzno pro k < k. Uvame libovoln vi vj -sled σij
(z0 , z1, . . . , zk−1, zk ) dlky
(take z0 = vi a zk = vj ). Vynechme-li posledn vrchol, dostaneme vi zk−1 -sled dlky k − 1, z jeho poslednho vrcholu vede hrana do vj . Naopak kad sled dlky k − 1, kter zan ve vrcholu vi a kon ve vrcholu, ze kterho k
11.1. Matice sousednosti a poty sled
127
vede hrana do vj , uruje vivj -sled dlky k. Jak lze snadno ovit, jedn se o bijektivn vztah mezi sledy tchto dvou typ. Poet vi vj -sled dlky k je tedy roven celkovmu potu vi v -sled dlky k − 1, kde v probh vechny vrcholy s vlastnost v vj ∈ E . Proto plat Pijk
= =
X
v` : v` vj ∈E n X
Pik−1
X
v` : v` vj ∈E
(k−1)
σi
(k−1) · σ (1)
σi
=1 (k) σij ,
=
j
= kde druh rovnost plyne z induknho pedpokladu a posledn z de#nice nsoben matic (S (G))k−1 a S (G). 2 Uvame jako pklad sledy dlky 3 v orientovanm grafu G na obr. 11.3. Jeho matice sousednosti a tet mocnina tto matice vypadaj takto: 2 3 2 3 0 1 0 0 2 1 S (G) = 41 0 15 , (S (G))3 = 42 1 35 . 0 1 1 1 3 3 v1
v2
v3
Obrzek 11.3: Orientovan graf na 3 vrcholech. Z matice (S (G))3 lze napklad vyst, e v grafu G existuje jeden v3 v1-sled dlky 3 (toti v3v3 v2 v1) nebo ti v2v3 -sledy dlky 3: jsou to v2 v1v2 v3, v2v3 v2v3 a v2 v3 v3 v3 .
P klad 11.3 Uvame neorientovanou krunici C4 dlky 4 s vrcholy oslova-
nmi proti smru hodinovch ruiek. Ureme poty sled dlky 4 mezi rznmi dvojicemi vrchol v tomto grafu. Matici sousednosti grafu C4 jsme nali na zatku kapitoly (pechodem k symetrick orientaci). Snadno spotme, e 2 3 8 0 8 0 6 7 (S (C4))4 = 6408 80 08 8075 . 0 8 0 8 Vidme, e pro sousedn vrcholy vi, vj neexistuje dn vivj -sled dlky 4, zatmco pokud i = j nebo vi a vj jsou protilehl, pak poet takovch sled je 8. Napklad (uzaven) sledy z v1 do v1 dlky 4 jsou: v1 v2v1 v2 v1, v1v4 v1v4 v1 , v1 v2v3 v4v1 , v1 v4 v3 v2 v1 , v1 v2 v3 v2 v1 , v1 v4 v3 v4 v1 , v1 v2 v1 v4 v1 a v1 v4 v1 v2 v1 .
128
Kapitola 11. Vzdlenost v grafech
Cvien
I 11.1 Nech) L(G) je Laplaceova matice neorientovanho grafu tola 9). Urete souet L(G) + S (G).
G
(viz kapi-
I 11.2 Kolik sled dlky 4 z v2 do v2 existuje v grafu na obr. 11.3? Najdte je. II 11.3 Nech) Fk je poet xy-sled dlky k v grafu na obr. 11.4. Urete reku-
rentn vztah pro posloupnost (F1, F2, . . . ). Npov da: Tato posloupnost se nazv Fibonacciho posloupnost, podrobnosti viz 7]. x
y
Obrzek 11.4: Urete poet xy -sled.
11.2 Vzdlenost
Denice 11.4 Vzdlenost d(x, y) vrchol x, y orientovanho grafu G je dlka nejkrat cesty z x do y . Pokud takov cesta neexistuje, polome d(x, y ) = ∞.
Pojem vzdlenosti je zde de#novn pro orientovan grafy. Pro grafy neorientovan jej meme de#novat prostednictvm symetrick orientace. Vzdlenost vrchol v neorientovanm grafu G je tak jejich vzdlenost v symetrick orientaci tohoto grafu. (Podobn je tomu i u dalch pojm v tomto oddlu, kter nebudeme explicitn de#novat pro neorientovan grafy.) Vzdlenost v neorientovanch grafech m vlastnosti metriky. Tvrzen 11.5 Nech G je souvisl neorientovan graf. Pak funkce d(x, y) je metrikou na mnoin V (G), tj. m nsledujc vlastnosti: (1) d(x, y ) ≥ 0, piem d(x, y ) = 0, prv kdy x = y , (2) d(x, y ) = d(y, x), (3) d(x, y ) + d(y, z) ≥ d(x, z) (`trojhelnkov nerovnost'). Dkaz. Cvien 11.4. 2
Denice 11.6 Distann matice orientovanho grafu G s vrcholy v1 , . . . , vn je
matice
o rozmrech n × n.
n
D (G) = d(vi , vj )
i,j =1
11.2. Vzdlenost
129
Napklad distann matice grafu G na obr. 11.1 je 3 2 0 1 3 2 6 ∞ 0 2 17 7 D (G ) = 6 4 ∞ 1 0 15 . ∞ 2 1 0 Distann matice neorientovanho grafu je de#novna jako distann matice jeho symetrick orientace. Vidli jsme, e matice sousednosti a jej mocniny umouj zjistit poet sled dan dlky mezi dvma vrcholy. Snadno odvodme nsledujc tvrzen, ve kterm symbol σij(k) nadle pedstavuje prvek na pozici (i, j ) v k-t mocnin matice sousednosti S (G). Tvrzen 11.7 Prvek d(vi, vj ) distann matice D(G) je roven nejmenmu k, pro kter σij(k) = 0 (ppadn ∞, pokud takov k neexistuje). Dkaz. Nech) M je mnoina vech k, pro kter σij(k) = 0. Cesta z vi do vj existuje prv tehdy, kdy existuje njak sled z vi do vj . 'eeno obrcen, d(vi, vj ) = ∞, prv kdy M = ∅. Jsou-li splnny tyto podmnky, tvrzen plat. Nech) tedy dlka nejkratho sledu z vi do vj je k0. Je jasn, e k0 je nejmen prvek mnoiny M . Z cvien 8.3 vme, e nejkrat sled z vi do vj je nutn cestou, take tak d(vi, vj ) = k0. Dkaz je hotov. 2 Z uvedenho tvrzen dostvme horn odhad asov sloitosti nalezen distann matice (pipomeme, e o asov sloitosti jsme hovoili v oddlu 6.7). Vzhledem k tomu, e vzdlenost libovolnch dvou vrchol je bu* men ne n, nebo nekonen (graf na n vrcholech neobsahuje dnou cestu dlky ≥ n), sta pro zjitn matice D(G) spotat n − 1 mocnin matice sousednosti S (G). Vpoet kad mocniny spov ve vynsoben dvou matic o rozmrech n × n, kter vyaduje O(n3) aritmetickch operac. Celkov doba vpotu tak bude O(n4). Ukame si aplikaci tvrzen 11.7 na grafu G z obr. 11.1. Jeho distann matici jsme sice odvodili i pmo z de#nice, u vtch graf je vak mnohem jednodu pout nsledujc obecn postup. Spotme prvn tyi mocniny matice sousednosti (vetn nult). Jednotliv prvky jsou zvraznny v nejni mocnin, kde jsou nenulov: 2
1 6 (S (G))0 = 6400 0 2 1 6 (S (G))2 = 6400 0
0 1 0 0 1 0 0 1
0 0 1 0 0 1 1 0
3
0 077 , 05 1 3 1 077 , 15 1
2
1 6 (S (G))1 = 6400 0 2 1 6 (S (G))3 = 6400 0
1 0 1 0 1 1 1 0
0 0 0 1 1 0 1 1
3
0 177 , 15 0 3 1 177 . 15 1
130
Kapitola 11. Vzdlenost v grafech
Pro kad prvek nyn zapeme, ve kter mocnin je zvraznn dostaneme distann matici D(G). Vimnme si, e u prvk, kter jsou nulov ve vech (S (G))k pro k < n, meme pst ∞. 2
0 1 6∞ 0 D (G ) = 6 4∞ 1 ∞ 2
3 2 0 1
3
2 177 . 15 0
Z mocnin matice sousednosti lze algebraickm zpsobem urit, zda je dan graf acyklick. Tvrzen 11.8 Orientovan graf G je acyklick, prv kdy n jak mocnina jeho matice sousednosti je nulov. Dkaz. `⇒': V acyklickm grafu je kad sled cestou. M-li graf n vrchol, pak v nm neexistuje cesta na n + 1 vrcholech (cesta dlky n), a tedy ani dn sled dlky n. Podle vty 11.2 je (S (G))n = 0. `⇐': Nech) (S (G))k = 0. Podle vty 11.2 v grafu G neexistuje dn sled dlky k. Pokud ovem G obsahuje njak cyklus C , obsahuje tak sledy vech dlek (sta obchzet C kolem dokola). Graf G tedy mus bt acyklick. 2 $asov sloitost testovn acyklinosti grafu s vyuitm tvrzen 11.8 je zhruba n4 (kad z n nsoben matic vyaduje piblin n3 operac), take tento postup je pomalej ne algoritmus popsan v oddlu 8.3. Tvrzen je zajmav spe z opanho hlediska: umouje pout grafy ke zjitn, zda matice s prvky 0 a 1 m njakou nulovou mocninu, a to rychleji ne pomoc nsoben matic. Cvien
I 11.4 Dokate tvrzen 11.5. I 11.5 Urete distann matici neorientovan krunice Cn a orientovanho cyklu
n C
na n vrcholech.
I 11.6 Dokate, e le-li vrcholy vi, vj v rznch kvazikomponentch orientovanho grafu G, pak d(vi, vj ) = ∞ nebo d(vj , vi) = ∞. I 11.7 Jak lze z distann matice orientovanho grafu poznat, zda je graf siln souvisl?
Kapitola 12 Ohodnocen grafy V praktickch aplikacch teorie graf zpravidla graf slou jako nstroj k popisu njak struktury. Jednotliv prvky tto struktury maj asto piazeny njak hodnoty (me jt nap. o parametry soustek v elektrickm obvodu, dlky elezninch trat, ceny za pepravu jednotky zbo nebo propustnosti datovch spoj). Zadnm pak je realizovat njak cl (teba pepravit zbo) optimlnm zpsobem. (lohy tohoto typu se nazvaj optimalizan lohy a my se v tto kapitole s nkolika z nich seznmme. Popeme pitom nkolik dleitch algoritm, zejmna Dijkstrv algoritmus pro hledn minimln cesty a hladov algoritmus pro hledn minimln kostry.
12.1 Denice ohodnocench graf Uvame graf, jeho vrcholy jsou evropsk msta a hrany jsou eleznin trat, kter je spojuj. Chceme-li najt nejkrat cestu vlakem dejme tomu z Budapeti do Pae, nen ani tak dleit, kolik hran naeho grafu bude tato cesta obsahovat | zajm ns spe, kolik kilometr bude mit. Bude tedy nutn pidat do grafu dodatenou informaci o `dlce' jednotlivch hran. Dostaneme tzv. ohodnocen graf.
Denice 12.1 Ohodnocen orientovan graf (G, w) je orientovan graf G spolu s relnou funkc w : E (G) → (0, ∞). Je-li e hrana grafu G, slo w(e) se nazv jej ohodnocen nebo vha.
Podobn je de#novna neorientovan verze ohodnocenho grafu. I v tomto oddlu budeme hovoit pedevm o orientovanch grafech, s tm, e k neorientovanmu ppadu lze vdy pejt pes symetrickou orientaci. Ohodnocen hran symetrick orientace grafu (G, w) je pirozen odvozeno z pvodnho ohodnocen (ob protichdn hrany vznikl z neorientovan hrany e dostanou ohodnocen w (e)). 131
132
Kapitola 12. Ohodnocen grafy
$asto je vhodn uvaovat grafy bez ohodnocen jako speciln ppady ohodnocench graf, v nich je vha kad hrany rovna jedn. V rmci tto pedstavy meme de#novat nsledujc zobecnn matice sousednosti. Denice 12.2 Ven matice sousednosti ohodnocenho orientovanho grafu (G, w) s vrcholy v1, . . . , vn je matice W (G) = (wij ), kde w (vivj ) pokud vi vj ∈ E (G), wij = 0 jinak, pro i, j = 1, . . . , n. Vimnme si jedn dleit vci: nezporn tvercov matice jednoznan odpovdaj ohodnocenm orientovanm grafm. Napklad matici 2 3 3 0.1 0 0 60 0 2 67 7 W =6 40 0 0 15 0 2.5 0 0 odpovd graf na obr. 12.1. v4 25 3
v1
01
6
v2
1
2
v3
Obrzek 12.1: Ohodnocen orientovan graf G popsan matic W . Pirozenm zobecnnm dlky cesty v neohodnocenm grafu je jej vha. Denice 12.3 Nech) M je mnoina hran ohodnocenho orientovanho grafu (G, w). Vha w(M ) mnoiny M je souet vah jednotlivch hran e ∈ M . Pro strunost de#nujeme vhu w(P ) cesty P jako vhu jej mnoiny hran. Jsou-li u, v vrcholy grafu G, pak minimln cesta z u do v je kad cesta, jej vha je minimln (tj. dn cesta z u do v nem men vhu). Ven vzdlenost dw (u, v ) vrchol u, v je vha minimln cesty z u do v . Poznamenejme, e podle tto de#nice je speciln dw (u, u) = 0. Dle si vimnme, e minimln cesta z u do v zdaleka nemus bt nejkrat, pokud jde o poet hran. Pkladem je graf na obr. 12.2. Cvien
I 12.1 Kter matice odpovdaj ohodnocenm neorientovanm grafm?
12.2. Dijkstrv algoritmus
133 1
1
1
1
u
v
10
Obrzek 12.2: Minimln cesta z u do v nemus bt nejkrat.
12.2 Dijkstrv algoritmus Jak lze najt venou vzdlenost vrchol v ohodnocenm grafu? Asi nejznmjm postupem je Dijkstrv1 algoritmus, kter si ukeme v tomto oddlu. Vstupem algoritmu je ohodnocen orientovan graf (G, w) a vrchol v ∈ V (G). Jeho vstupem je pro kad vrchol x: (1) ven vzdlenost dw (v, x) vrchol v a x, (2) (njak) minimln cesta Px z v do x. `Pot' tedy mnohem vc ne jen venou vzdlenost dan dvojice vrchol. Algoritmus probhne v nejve n krocch. V celm jeho prbhu bude de#novn strom T , jeho vrcholy tvo podmnoinu V (G) (na potku to bude jedin vrchol v, postupn se T roz a na kostru grafu G). Pro kad vrchol x ∈ V (G) bude dle uren odhad vzdlenosti c(x). I toto slo se typicky bude mnit a po dokonen algoritmu bude rovno ven vzdlenosti dw (v, x). Pro vechny vrcholy z s konenou nenulovou hodnotou c(z ) bude de#novn jejich pedchdce z5. I. P prava: T budi strom na jedinm vrcholu v. Polome c(v) := 0. Pro sousedy z vrcholu v polome c(z ) = w (vz )
a z5 = v.
Pro vechny ostatn vrcholy x ∈ V (G) de#nujeme c(x) := ∞. Pedchdce nen uren pro dn z tchto vrchol x ani pro vrchol v. II. Jeden krok algoritmu: Pokud T je kostra grafu G nebo kad vrchol z ∈ / V (T ) m c(z ) = ∞, pejdeme na bod III. Jinak mezi vrcholy z ∈ / V (T ) vybereme vrchol x, kter m minimln hodnotu c(x). Je-li jich vc, zvolme mezi nimi libovoln. Pidme do stromu T vrchol x a hranu x5x (pedchdce vrcholu x je jist de#novn, protoe c(x) je konen). Dle pro vechny vrcholy z ∈/ V (T ), pro n je xz hranou grafu G, pepotme odhad vzdlenosti: je-li c(x) + w(xz) < c(z), polome c(z) := c(x) + w(xz) a rovn z5 = x. Opakujeme bod II. 1 Edsger
W. Dijkstra (1930{2002).
134
Kapitola 12. Ohodnocen grafy
III. Konec: Pro kad vrchol x ∈ V (T ) je hledanou minimln cestou Px
cesta z v do x ve stromu T (kter je jednoznan urena). Jej vha uruje venou vzdlenost dw (v, x). Pro ostatn vrcholy x dn cesta z v do x neexistuje a dw (v, x) = ∞. Odhadnme nyn pro Dijkstrv algoritmus jeho asovou sloitost, jak jsme ji de#novali v oddlu 6.7. Ppravn fze bude pro graf na n vrcholech vyadovat as O(n) (pro kad z n vrchol potebujeme nastavit odhad vzdlenosti a pedchdce). Krok II. bude proveden maximln n-krt, protoe pro kad vrchol se provd nejve jednou. Jakou asovou sloitost m jedno jeho proveden? Nejprve vybrme vrchol x ∈ V (G) − V (T ) s minimlnm konenm odhadem vzdlenosti. K tomu sta n operac. Dalch O(n) operac nm zabere pepotn odhad vzdlenosti a prava pedchdc u soused vrcholu x. Na jeden krok II. tak sta O(n) operac. Zji)ujeme tedy, e asov nronost Dijkstrova algoritmu je O(n2). Dijkstrv algoritmus lze pout i pro testovn souvislosti neohodnocenho grafu G. Sta kadou hranu symetrick orientace ohodnotit vahou 1 a libovoln zvolit vrchol v. Strom T , nalezen Dijkstrovm algoritmem, je kostrou grafu G, prv kdy G je souvisl graf. (Plat dokonce, e vrcholy stromu T tvo komponentu obsahujc vrchol v.) Podobnm postupem lze testovat i silnou souvislost. Cvien
I 12.2 Najdte Dijkstrovm algoritmem minimln cestu z vrcholu u do vrcholu
v
v grafech na obr. 12.3.
I 12.3 Najdte Dijkstrovm algoritmem minimln cestu z vrcholu u do vrcholu
v
v grafech na obr. 12.4.
12.3 Matice vench vzdlenost K zachycen vench vzdlenost vech dvojic vrchol v ohodnocenm orientovanm grafu slou nsledujc matice.
Denice 12.4 Matice vench vzdlenost (t w-distann matice ) ohodnoce-
nho orientovanho grafu (G, w) s vrcholy v1 , . . . , vn je matice Dw (G) o rozmrech n × n, kde D w (G) = (dw (vi , vj ))ni,j =1 .
Jednou monost, jak ji sestrojit, je pout Dijkstrv algoritmus. Ten nm libovoln jej dek najde v ase O(n2), take celkov as vpotu je O(n3).
12.3. Matice vench vzdlenost
135
v 6
7 14
6 1
20
u 6
4
1 13
14
8
15
8
11
5
16 3
v
12 7
3
12
u
5
1
1
(a)
(b) 8 1 3
u 5
7
4
1
3
8
1
11
17 7
8
5
1
10 4
v 12
4
(c)
Obrzek 12.3: Najdte minimln cestu z u do v.
15
u
1
6
5
20
20
8
11
6
2
20
10
5
6
10
25
25
4
v
3
v
(a) 3
u
5
6
4 38
2
7
15
2
12
15
15
12
9
1
13
1
10
3
20
10
20
10
20
(b)
Obrzek 12.4: Najdte minimln cestu z u do v.
136
Kapitola 12. Ohodnocen grafy
Ukeme si jinou jednoduchou metodu, kter pracuje v o nco horm ase O (n4 ). Nejprve pomocn de#nice. Nech) je dno k ≥ 1. Cesta z vi do vj je k minimln, pokud jej dlka je nejve k a pokud dn jin cesta z vi do vj o dlce nejve k nem men vhu. Ozname jako Dk matici, jej prvek dkij na pozici (i, j ) je roven vze kminimln cesty z vi do vj (ppadn m hodnotu ∞, pokud takov cesta neexistuje). Vzhledem k tomu, e kad cesta m dlku nejve n − 1, mus bt matice Dn−1 rovna hledan w-distann matici Dw (G). Otzkou tedy je, jak matice Dk sestrojit. Pro k = 1 je to snadn | pro prvky d1ij zjevn plat: 8 <
0 pro i = j , w (vi vj ) pro ij ∈ E (G), ij = : ∞ jinak.
d1
Matice D1 tedy bude tm shodn s vhovou matic W (G), a na to, e nuly mimo hlavn diagonlu jsou v matici D1 nahrazeny hodnotami ∞. Dejme tomu, e ji znme matici Dk a chceme sestrojit matici Dk+1. Zanme pozorovnm. Nech) P je k-minimln cesta z vi do vj . Odebrnm poslednho vrcholu vznikne cesta P z vi eknme do vp . Tato cesta mus bt (k−1)-minimln, jinak bychom dostali spor s k-minimalitou cesty P . Odtud vidme, e pro dlku dkij k -minimln cesty z vi do vj plat dkij
1 = dk− ip + w (vp vj )
pro njak vrchol vp s vlastnost vpvj ∈ E (G). Pestoe pedem nevme, o kter vrchol vp se jedn, meme pst dkij
n
= min =1
1 + d1 , dk− j i
(12.1)
piem vyuvme fakt, e pokud v vj ∈/ E (G), pak d1j = ∞, take v minimu bude dan souet zanedbn. Vimnme si, e vzorec (12.1) npadn pipomn de#nici nsoben matic | pouze obsahuje minimum na mst sumy a souet na mst souinu. Skuten, pokud na relnch slech `pede#nujeme' stn a nsoben pedpisem xy x;y
= min(x, y ), = x + y,
pak plat, e matice Dk+1 je souinem matic Dk a D1 vzhledem k operacm a ;. Indukc snadno dostaneme nsledujc vtu.
Vta 12.5 Matice Dk je k-tou mocninou matice D1 vzhledem k operacm a ;. 2
12.3. Matice vench vzdlenost
137
Vidme, e ke spotn matice Dw (G) sta provst n − 2 `vynsoben' matic D1 . Nsledujc tvrzen k, e tento proces lze navc peruit ji v okamiku, kdy se `vynsobenm' matice poprv nezmnila.
Tvrzen 12.6 Pokud pro n jak q
matic Dw (G).
1 plat
≥
Dq+1
=
Dq ,
pak
Dq
je hledanou
Dkaz. Dokeme indukc, e za danho pedpokladu pro vechna k > q plat Dk
= Dq .
(*)
Pro k = q + 1 je tvrzen pravdiv. Dejme tomu, e je chceme dokzat pro dan k ≥ q + 1 za pedpokladu, e pro k − 1 tvrzen (*) plat. 1 ve vzorci (12.1) nahradit Podle induknho pedpokladu meme len dk− i hodnotou dqi. Dostvme tak rovnost dkij = dqij+1. Proto Dk = Dq+1 a tm pdem Dk = Dq . Tvrzen (*) je tak dokzno pro vechna k > q . Dkaz je u konce, jakmile si vimneme, e pro kad k ≥ n− 1 je Dk = Dw (G).
2
Cvien
I 12.4 Najdte matici vench vzdlenost nho grafu (a)
(b)
(c)
, G
ohodnocenho orientovakter je dn nsledujc matic sousednosti: 2
0 61 ) = 6 W (G 48 0 2
0 69 6 ) = 64 W (G 6 40 6 2
0 64 6 ) = 63 W (G 6 42 1
) D w (G
3 0 2 7
0 0 7 5 6 1 0 4 3 2
3
1 0 0 6
0 377 , 25 0 3
1 10 0 2 0
9 3 4 0 1
7 3 77 1177 , 05 0
2 1 0 4 3
3 2 1 0 4
4 377 277 . 15 0
3
138 (d)
Kapitola 12. Ohodnocen grafy 2
0 66 6 ) = 69 W (G 6 40 8
2 0 2 3 5
4 1 0 4 8
0 6 3 0 2
3
6 1477 6 77 . 15 0
12.4 Minimln kostra Tma tohoto oddlu zce souvis s pojmem minimln cesta. Omezme se na ohodnocen neorientovan grafy. Dejme tomu, e potebujeme propojit n mst rozvodem elektrick energie. Pro kad dv sdla znme nklady na pm spojen a chceme, aby celkov cena byla co nejni. Situaci lze modelovat grafem G, jeho vrcholy odpovdaj mstm a vhy hran cenm spojen. Uvaovan rozvody energie odpovdaj souvislm faktorm grafu G (mus toti bt tak `souvisl' a pokrvat vechna msta). Faktor, kter obsahuje njakou krunici, neme urovat nejlevnj een, nebo) odstrannm libovoln hrany tto krunice snme cenu a faktor zstane souvisl. Hledan faktor F je tedy kostrou grafu G, a to kostrou, kter m nejmen monou vhu. Denice 12.7 Kostra T ohodnocenho neorientovanho grafu G je minimln, pokud m mezi vemi kostrami minimln vhu w(T ) = w(E (T )) (viz de#nice 12.3). Uvedeme tzv. hladov algoritmus pro hledn minimln kostry souvislho grafu G, kter jako prvn formuloval esk matematik Otakar Borvka (1899{ 1995). Zave*me nsledujc oznaen: je-li H graf a e hrana s koncovmi vrcholy z V (H ), pak H + e je graf, kter vznikne pidnm hrany e ke grafu H . Algoritmus pracuje v n − 1 krocch. V i-tm kroku je de#novn faktor Li , kter neobsahuje krunice. (Protoe graf bez krunic je disjunktnm sjednocenm strom, oznaujeme ho jako les.) Vsledn faktor Ln−1 je, jak uvidme, minimln kostrou. Vchoz les L0 sestv z izolovanch vrchol, tj. E (L0 ) = ∅. Uvame i-t krok algoritmu. Na snahou je rozit faktor Li−1 pidnm jedn hrany na faktor Li . Nkter hrany ale pidat nememe, protoe bychom vytvoili krunici. Z hran, kter pidat lze, vyberme hranu ei s nejmen vahou2 a polome Li = Li−1 + ei . Musme jet ukzat, e hrana ei s poadovanou vlastnost vbec existuje. To je snadn: graf Li−1 m n vrchol a mn ne n − 1 hran. Podle vty 6.11 je Algoritmus bere v kadm kroku `nejleh' hranu, kter pichz v #vahu | odtud nzev hladov. 2
12.4. Minimln kostra
139
tedy nesouvisl. Graf G je ovem souvisl, take mezi nktermi dvma komponentami grafu Li−1 vede alespo jedna hrana. Pidnm tto hrany krunici jist nevytvome. Popsali jsme zpsob nalezen kostry Ln−1 . Dokame nyn, e tato kostra je minimln.
Vta 12.8 Nech G je ohodnocen neorientovan graf. Kostra Ln−1 , nalezen
hladovm algoritmem, je minimln kostrou grafu G.
Dkaz. Nech) L = Ln−1 je kostra grafu G, zskan hladovm algoritmem. Pro
dkaz sporem pedpokldejme, e nen minimln kostrou, a ze vech minimlnch koster zvolme takovou kostru M , kter m s kostrou L spolen nejvt poet hran. Vezmme nejmen i, pro kter plat, e ei ∈/ E (M ) (pipomeme, e ei je hrana pidvan v i-tm kroku algoritmu). Pak jist E (Li−1 ) ⊂ E (M ). Protoe koncov vrcholy x, y hrany ei jsou ve stromu M spojeny prv jednou cestou (vta 7.3), graf M + ei obsahuje prv jednu krunici C . Nech) f je libovoln hrana krunice C , kter nen obsaena ve stromu L. Graf Li−1 + f je podgrafem kostry M , a neobsahuje tedy krunice. Pidn hrany f tak pichz v vahu v i-tm kroku hladovho algoritmu. Protoe byla msto n pidna hrana ei, mus bt w (ei) ≤ w (f ).
(12.2)
Odstrannm hrany f z grafu M + ei zanikne jedin jeho krunice. Vsledn graf M je tedy stromem, a tm pdem kostrou grafu G. Dky nerovnosti (12.2) nen jeho vha vt ne vha minimln kostry M . Pitom plat |E (M ) ∩ E (L)| > |E (M ) ∩ E (L)|,
co je ve sporu s vbrem kostry M . Tento spor ukazuje, e kostra L je minimln.
2
Jak je asov sloitost hladovho algoritmu? Ukeme, e pi vhodn implementaci jm lze minimln kostru najt v ase O(mn), kde m je poet hran a n poet vrchol vstupnho grafu G. (Sloitost je v tomto ppad vyjdena jako funkce dvou promnnch, ne jenom potu vrchol n.) Poet krok algoritmu je n − 1, protoe v kadm kroku pidme jednu z hran kostry L. V kadm kroku musme pro kadou z O(m) zbvajcch hran zjistit, zda jejm pidnm vznikne krunice. To by pi neikovn implementaci vyadovalo as O(n), take celkov sloitost tto implementace by byla O(mn2). Lze vak uetit pomoc nsledujcho vylepen, znmho jako Kruskalv algoritmus. Seadme vrcholy do posloupnosti v1, . . . , vn . Pro kad vrchol vj budeme udrovat slo m(vj ), kter udv minimum z index vech vrchol, kter le ve stejn komponent jako vj . V rmci ppravn fze algoritmu pro kad j polome
140
Kapitola 12. Ohodnocen grafy
m(vj ) := j . Po
kadm provedenm kroku algoritmu pepotme hodnoty m(vj ) (pidnm hrany se spoj dv komponenty faktoru Li , take v jedn z nich je teba hodnoty upravit). Ke zjitn, zda pidnm hrany vj vk vznikne krunice, nyn sta porovnat hodnoty m(vj ) a m(vk ): krunice vznikne prv tehdy, kdy jsou shodn. Analyzujme sloitost vylepen verze algoritmu. Ppravn fze zabere O(n) operac na inicializaci hodnot m(vj ). Nsleduje O(n) krok algoritmu. V rmci kadho z nich je teba pro kadou z O(m) hran provst konstantn poet3 operac (porovnn hodnot m(vj )). Z hran, kter lze pidat, vybereme tu s minimln vahou, a pot v ase O(n) pepotme hodnoty m(vj ). Dostvme tedy celkov odhad O(mn). Cvien
I 12.5 Je pravda, e je-li T minimln kostra ohodnocenho neorientovanho
grafu G a u, v ∈ V (G), pak cesta z u do v v koste T je minimln cestou z u do v G? Dokate nebo najdte protipklad.
v
I 12.6 Pomoc hladovho algoritmu najdte minimln kostry graf na obrzku 12.5.
5
1 2
2
1
3 3
2
1
1
1 1
(a)
2
1
2
2 6
2
2 1
1
7
4 4
(b)
Obrzek 12.5: Najdte minimln kostry.
12.5 Problm obchodn ho cestuj c ho Vechny lohy, kter jsme zatm v kapitole 12 zkoumali, byly eiteln efektivnmi algoritmy. Nyn strun popeme problmu, u kterho se situace zd bt odlin. Jedn se o tzv. lohu obchodnho cestujcho. Konstantn zde znamen `nezvisl na m a n'. Konstantn veliinu lze v rmci pouvanho formalismu znait symbolem O(1). 3
12.5. Problm obchodnho cestujcho
141
Obchodn cestujc m za kol objet vechna msta v danm kraji, a to po nejkrat mon trase (meno potem ujetch kilometr). Kad msto mus navtvit prv jednou a m skonit ve vchozm bod. Reformulace problmu v jazyce teorie graf je nasnad: zadnm je ohodnocen neorientovan graf, jeho vrcholy odpovdaj mstm, hrany dvojicm mst s pmm silninm spojenm, a vha kad hrany je vzdlenost pslun dvojice mst. Hledanm eenm je hamiltonovsk krunice s nejmen monou vahou (optimln hamiltonovsk krunice). Pro grafy mal velikosti lze een pomrn rychle najt `hrubou silou' jako v nsledujcm pkladu. Nech) G je ohodnocen graf na obr. 12.6. Budeme prochzet vechny hamiltonovsk krunice v grafu G a hledat mezi nimi optimln een. Zaneme-li ve vrcholu A, meme pokraovat do libovolnho z jeho 3 soused. Z kadho souseda pak lze pejt do dvou dosud nenavtvench vrchol atd. Nem-li ji aktuln vrchol x dnho nenavtvenho souseda, jsou dv monosti. Bu*to je mon pejt z x do A a uzavt tm hamiltonovskou krunici (pak je nutn porovnat jej vhu se stvajcm minimem a ppadn jej aktualizovat), nebo to mon nen a dan vtev prohledvn skonila ne spchem. V kadm ppad se vrtme k posledn uinn volb a zvolme dal z variant. Jsou-li vechny monosti probrny, algoritmus kon. Postup lze pehledn znzornit koenovm stromem na obr. 12.7 (tzv. rozhodovac strom ). Koenu je piazen vchoz vrchol A, potomci kadho vrcholu odpovdaj variantm dalho prohledvn. Zvraznn listy tohoto stromu pedstavuj hamiltonovsk krunice (sla u list jsou vhy tchto krunic), ostatn listy pedstavuj cesty, kter se na hamiltonovsk krunice nedaj rozit. (loha m dv een o vze 21. I na tomto malm pkladu je vidt, e se rozhodovac strom naeho algoritmu me rychle rozrst. $asov sloitost je zhruba dna funkc n! (roste tedy jet mnohem rychleji ne 2n ). Nap. u plnho grafu toti probrme vech (n − 1)! hamiltonovskch krunic (viz cvien 12.7). F 5
C 2
4 4
5
D
A
1 3 6
B
5
E
Obrzek 12.6: Zadn lohy obchodnho cestujcho.
142
Kapitola 12. Ohodnocen grafy A B C
E
F D E
C
D E F D
C
24
25
B F
C
F
E
D D F
D
D F E D
B
21
25
E E
B
D
F
B
F C
E
C
C B
B
F
B
E
24
C 21
Obrzek 12.7: Rozhodovac strom pro lohu obchodnho cestujcho. Pro lohu obchodnho cestujcho nen znm dn efektivn algoritmus. Stejn jako problm rozpoznvn hamiltonovskch graf, o kterm jsme hovoili v oddlu 6.6, pat i tato loha k tzv. NP- plnm problmm. Cvien
I 12.7 Ukate, e pln graf na n vrcholech m (n − 1)! hamiltonovskch krunic.
I 12.8 Pomoc rozhodovacho stromu najdte een lohy obchodnho cestuj-
cho pro ohodnocen graf na obr. 12.8.
12.6 Toky v s t ch V tto kapitole jsme uvedli jen nkolik aplikac ohodnocench graf. Oblast velmi bohatou na tyto aplikace je tak teorie tok v stch, kter se zabv nsledujc situac. S je orientovan graf obsahujc dva vznan vrcholy z (zdroj) a s (stok). Kad hrana m urenou propustnost (budeme-li si hrany pedstavovat jako potrub, jde o mnostv kapaliny, kter me hranou za jednotkov as protct). Tok v tto sti je ohodnocen hran s vlastnost, e souet ohodnocen hran vstupujcch do libovolnho vrcholu x ∈/ {z, s} je shodn se soutem ohodnocen hran, kter z x vystupuj (z x tedy odtk tolik kapaliny, kolik do nj piteklo). Clem je najt maximln tok, tj. tok, pro kter ze zdroje vytk maximln mnostv kapaliny. Existuje vta (tzv. vta o maximlnm toku), kter toto mnostv
12.6. Toky v stch
143 D 2
7
E
C 8 1
9 5
3
A
3
2
5
B
Obrzek 12.8: Graf ke cvien 12.8. jistm elegantnm zpsobem charakterizuje. Pro nalezen maximlnho toku jsou k dispozici efektivn algoritmy. Podrobnj informace k tomuto tmatu lze zskat mj. v pednkch 8].
144
Kapitola 12. Ohodnocen grafy
Vsledky cvien Kapitola 1 1.1.
X ∪Y X ∩Y X −Y
= {z : x ∈ X nebo z ∈ Y }, = {z : x ∈ X a z ∈ Y }, = {z : x ∈ X a z ∈/ Y }.
1.3. A m 2n podmnoin, z toho 2n−1 sudch. 1.4. (a)
n k
= k!(nn−! k)! ,
6 = 20, 10 = 210, 10 = 1, 0 = 1. 3 6 0 0
1.5. (a) 2n. (b) 0. 1.8. V obou ppadech tvrzen plat. 1.9. L(R) = P (R) = {3, 4}. 1.10. R∪T R∩T R−T R T
= {(1, a), (1, b), (1, c), (2, b), (3, a), (3, b), (4, a), (4, b), (4, c), (4, d)}, = {(1, c), (3, a)}, = {(1, a), (2, b), (3, b), (4, b), (4, c), (4, d)}, = {(1, a), (1, b), (2, b), (3, b), (4, a), (4, b), (4, c), (4, d)}. 145
146
Vsledky cvien
1.11. 2mn. 1.12. R implikuje S , prv kdy R ⊂ S . 1.13. Obr. 1.1a: nap. prvky L(R) odpovdaj sloupcm obsahujcm alespo
jeden vyznaen prvek. Na obr. 1.1b odpovdaj bodm z mnoiny X , ze kterch vede alespo jedna spojnice.
1.14. Viz obr. 12.9. Y 6
4
6
5
3
5
4
2
4
1
3
3 1
2
3
4
X
(a)
X
(b)
Y
Obrzek 12.9: 'een cvien 1.14.
1.15. Nap. pro X = {1, 2, 3, 4} viz obr. 12.10. Y 4
4
4
3
3
3
2
2
2
1
1
1 1
2
3
4
(a)
X
X
(b)
Y
Obrzek 12.10: 'een cvien 1.15.
1.16. Ob sloen jsou rovna R. 1.17. (a) Napklad relace R = {(1, 2), (1, 3), (2, 3)} na mnoin {1, 2, 3}. (b) Relace EX na libovoln mnoin X .
147
1.18. Jedno je zrcadlovm obrazem druhho podle diagonly. 1.19. Napklad: (a) przdn relace na neprzdn mnoin, (b) relace R = {(1, 1), (1, 2), (2, 1), (2, 2)}
na X = {1, 2}.
1.20. Ne, nap. pro R = {(1, 1), (1, 2), (2, 2)} a S = {(1, 2), (2, 1)} na X = {1, 2}. 1.21. Vztah (b) v platnosti nezstane, viz nap. relace R = {(2, 2)}, S = {(2, 1)} a T = {(1, 1), (1, 2), (2, 1), (2, 2)} na X = {1, 2}.
1.24. (a) mn. (b) m(m − 1) . . . (m − n + 1) = 0.
;m n
· n!.
(c) n! pokud m = n, jinak
1.25. (a) Napklad f (n) = 2n. (b) Napklad f (0) = 0, f (n) = n − 1 pro n ≥ 1. 1.26. (a) Je-li f ◦ g na, pak g je na, f ne nutn. (b) Je-li f ◦ g prost, pak f je prost, g ne nutn.
1.27. `Analogick fakt' je f ◦ p = g ◦ p ⇒ f = g. 1.31. Napklad: (a) n → n/2. (b) n → 2n pro n > 0 a n → −2n + 1 pro n ≤ 0. 1.33. Slab antisymetrick zobrazen jsou charakterizovna nap. podmnkou pokud f (f (x)) = x, pak f (x) = x.
1.35. Uvdme zkratky vlastnost danch relac (R = re0exvn, A = slab antisymetrick atd.): (a) RAT, (b) AT, (c) RS, (d) RST, (e) S, (f) RAT, (g) RT, (h) SAT (plat toti S = {(0, 0)}!), (i) T, (j) RT, (k) nic, (l) RST.
1.36. Ne, viz napklad przdn relace. 1.37. Jde prv o podmnoiny identick relace. 1.38. Matice re0exvn relace m na diagonle sam jedniky, matice symetrick
relace je symetrick.
1.41. Ano. 1.42. Relace ∼ nen ekvivalence, protoe p ∼ −p, ale nen −p ∼ p.
148
Vsledky cvien 4
3
6
5
2
1
Obrzek 12.11: 'een cvien 1.48.
1.44. (a) Ne, viz relace R = {(1, 2), (2, 1)} ∪ 4 a S = {(2, 3), (3, 2)} ∪ 4 na mnoin {1, 2, 3}, kde 4 = {(1, 1), (2, 2), (3, 3)}. (b) Ne, nen re0exvn. (c) Ne, viz cvien 1.45.
1.46. (a) Ano, pmky rovnobn s y = x. (b) Ano, pmky rovnobn s y = kx. (c) Ano, soustedn elipsy. 1.47. Ekvivalence ≈ m n + 1 td, ekvivalence nekonen mnoho. 1.48. Viz obr. 12.11. 1.49. Matice M je v `blokovm tvaru', pokud 2
B1
M
=
6 6 6 4
0 ... 0
0
3
0 0 77 . . . 0 75 ,
... B2 . . .
... 0
. . . Bk
kde `bloky' Bi jsou tvercov matice sloen ze samch jedniek, jejich diagonly le na diagonle matice M . V matici M (R) v blokovm tvaru bloky odpovdaj tdm ekvivalence R.
Kapitola 2
2.1. Grupa na mnoin {0, a, b, c} s operac : 0 0 0
a a
a b c
c b
a b c
0
b b c
0 a
c c b a
0.
2.3. Nejmen pklad tvo grupa ze cvien 2.1 spolu s grupou urenou tabulkou
149 0 0 0
a b c
a b c
a a b c
0
b b c
0
c c
0
a a b,
co je v podstat grupa Z4 , de#novan v oddlu 2.2.
2.4. Kdy se x a y v i-t souadnici shoduj. 2.5. 25. 2.6. Mnoina een je {(4t + 2, 2, t + 1, t) : t ∈ Z5 }.
2.7. Tleso Z2 : 0 1 0 0 1 1 1 0
⊕
1 1 1
⊗
Tleso Z7 : ⊕
0 1 2 3 4 5 6
0 0 1 2 3 4 5 6
1 1 2 3 4 5 6 0
2 2 3 4 5 6 0 1
3 3 4 5 6 0 1 2
4 4 5 6 0 1 2 3
5 5 6 0 1 2 3 4
6 6 0 1 2 3 4 5
⊗
1 2 3 4 5 6
1 1 2 3 4 5 6
2 2 4 6 1 3 5
3 3 6 2 5 1 4
4 4 1 5 2 6 3
5 5 3 1 6 4 2
6 6 5 4 3 2 1
2.12. Nech) z je reprezentant tdy a. Pokud p dl z, pak a = 0 a inverzn
prvek neexistuje. Jinak (z, p) = 1, protoe p je prvoslo, a sta najt koe#cient x v rovnosti zx + py = (z, p). Tda x]p je inverzn ke td a.
2.15. Jde o kritria: (a) x je dliteln 3 (resp. 9), prv kdy m souet cifer
dliteln 3 (resp. 9). (b) $slo x je dliteln 8, prv kdy m posledn trojsl dliteln 8. (c) $slo x je dliteln 11, prv kdy je rozdl soutu cifer na lichch pozicch a soutu cifer na sudch pozicch dliteln 11.
150
Vsledky cvien
Kapitola 3
3.1. (a) ne, (b) ano, neporovnateln dvojice jsou {1, 2} a {4, 5}. 3.2. Nech) X je abeceda (mnoina symbol) s linernm uspodnm ≤. Pro
slova a = a1 . . . am a b = b1 . . . bn (kde symboly ai , bj jsou z X ) polome a b, prv kdy existuje k ≤ min(m, n) s vlastnostmi: (1) pro kad j ≤ k je aj ≤ bj , a dle (2) bu* k < min(m, n) a ak+1 ≤ bk+1, nebo k = m. Relace je tzv. lexikograck uspodn na mnoin slov nad abecedou X .
3.3. Je to przdn relace. 3.4. Viz obr. 12.12. V pkladu (a) existuje jen nejvt prvek (60), v pkladu (b) nejvt (56) i nejmen (2), v pkladu (c) ani jeden. 56
60 12
12
15
4 2
(a)
8
24 36 60 28 20
4 3
8
12 4
2
(b)
6 2
(c)
3
Obrzek 12.12: 'een cvien 3.4.
3.5. (b) Napklad mnoina relnch sel se standardnm uspodnm (viz cvien 3.3).
3.6. Napklad mnoina vech celch sel se standardnm uspodnm a s pidanm prvkem ∗, kter je men ne 0 a neporovnateln se vemi zpornmi sly. Prvek ∗ je jedin minimln prvek, ale nejmen prvek neexistuje.
3.7. (a) Ne, protoe (d, a) ∈/ R. (b) Ano, minimln prvky jsou b, e, maximln a, d.
3.8. Napklad mnoina {1, . . . , 7} s uspodnm R = {(i, j ) : i ≤ 2, j ≥ 3} ∪ {(i, i) : i = 1, . . . , 7}.
151
3.9. Existuj, in#mum odpovd nejvtmu spolenmu dliteli, supremum nejmenmu spolenmu nsobku.
3.12. Jedin minimln prvek je przdn uspodn, maximln prvky jsou linern uspodn.
3.14. Dokeme jen neplatnost vztahu (3.1) ve svazu
M5 . Nech) x, y, z jsou vechny ti prvky svazu M5 rzn od 0, 1, piem y ≤ z. Potom z ∧ (x ∨ y ) = z ∧ 1 = z , zatmco (z ∧ x) ∨ (z ∧ y ) = 0 ∨ x = x, take distributivita neplat. U svazu N5 je rovn teba uvit ti prvky rzn od 0, 1.
3.15. Vlastnost neplat nap. pro prvky svazu N5 rzn od 0, 1. 3.16. Ano. 3.17. Nejmen prvek je 1, nejvt 0. Svaz je distributivn: podle cvien 3.9
in#mum sel a, b odpovd nejmenmu spolenmu dliteli nsd(a, b), supremum nejmenmu spolenmu nsobku nsn(a, b). Protoe plat a · b = nsd(a, b) · nsn(a, b),
podle cvien 3.15 snadno dostvme distributivitu danho svazu.
3.18. (b) Ne, napklad pro X = {1, 2, 3, 5, 30} jde o svaz N5. 3.19. ppad minimln maximln nejmen nejvt svaz distributivn (a) 2 4, 42 2 | ne | (b) 2,3,7 42 | 42 ne | 1 30 1 30 ano ne (c) (d) 1 36 1 36 ne | 1 60 1 60 ano ne (e) 1 30 1 30 ano ano (f)
3.20. Jsou to mnoiny {1, 2, 3, 12}, {1, 2, 3, 4, 12}, {1, 4, 6, 12}, {1, 3, 4, 6, 12}. 3.25. Ano.
152
Vsledky cvien
Kapitola 4 4.1.
ppad svaz distributivn komplementrn Booleova algebra (a) ne | | | (b) ano ne ano ne ano ano ano (c) ano (d) ano ano ne ne 4.2. Uspodan mnoina D(n) je Booleova algebra, prv kdy n nen dliteln druhou mocninou dnho prvosla. (Pokud toti p2 dl n, pak p nem komplement.) 4.5. Zkratky: R = re0exvn, S = symetrick, A = slab antisymetrick, T = tranzitivn ppad R S A T ekvivalence uspodn (a) ne ne ano ano ne ne (b) ne ano ne ne ne ne ne ne (c) ne ano ne ne 4.6. Nap. prvek a nem inverzn prvek vzhledem k nsoben. 4.7. Uvedeme pouze tabulku operace + (v obvyklm zpisu, take nap. mnoinu {b, c} oznaujeme bc). + 0 a b c ab ac bc 1 0 0 a b c ab ac bc 1 a a a ab ac ab ac bc 1 b b ab b bc ab 1 bc 1 c c ac bc c 1 ac bc 1 ab ab ab ab 1 ab 1 1 1 ac ac ac 1 ac 1 ac 1 1 bc bc 1 bc bc 1 1 bc 1 1 1 1 1 1 1 1 1 1 4.10. Atomy jsou: (a) mnoiny {a}, {b}, {c}, (b) jednoprvkov podmnoiny mnoiny X , (c) prvky 2, 3 a 5. 4.11. Atomy jsou jednoprvkov podmnoiny mnoiny pirozench sel. 4.12. (d) Spojen, prsek a komplement lze popsat nsledovn: A] ∧ B ] = A ∩ B ], A] ∨ B ] = A ∪ B ], A] = N − A].
153
4.18. (a) Hasseovy diagramy tchto uspodanch mnoin jsou na obr. 12.13.
(c) Nap. nsledujc uspodn S , T : uspodn S je standardn uspodn pirozench sel, uspodn T se s nm shoduje na mnoin {1, 2, . . .}, ale slo 0 je v nm vt ne vechna ostatn sla.
Obrzek 12.13: Pt neisomorfnch tprvkovch uspodanch mnoin.
4.19. Mnoinou atom direktnho souinu A1 × A2 je kartzsk souin At(A1) ×
At(A2).
4.20. Hodnoty zskme, pokud v tabulce 4.2 provedeme nsledujc nahrazen: 0 → 00,
a → 10,
b → 01,
1 → 11.
4.21. Vsledkem jsou tyto pravdivostn tabulky: x y
0 0 1 1
0 1 0 1
x→y
1 1 0 1
y + xy5
0 1 1 1
4.22. Je to booleovsk polynom rovn polynomu x2 . 4.23. Supremum funkc f, g je funkce, jej hodnota v kad n-tici (a1, . . . , an) ∈
je supremem hodnot f (a1, . . . , an ) a g (a1, . . . , an ). Podobn in#mum a komplement.
B2n
4.24. |F2| = 16, |Fn| = 22 . 4.25. Plat n
x5 = x | x, x + y = x5 | y5 = (x | x) | (y | y ), x·y
= x | y = (x | y ) | (x | y ).
154
Vsledky cvien
4.26. (a) Ani v jednom, (b) jen v souinovm, (c) v obou, (d) v obou. 4.27. f (x, y, z ) = x5y z5 + xy5z5 + xy5z + xyz = (x + y + z)(x + y + z5)(x + y5 + z5)(5x + y5 + z), g (x, y, z ) = x5y5z5 + x5y z5 + x5yz + xy5z + xyz = (x + y + z5)(5x + y + z)(5x + y5 + z).
4.28. Napklad xy5z5 a xy5z5 + xx5. 4.29. Vta neplat, konstantn 1 m vyjden v plnm soutovm, ale nikoli v plnm souinovm tvaru.
4.30. x → (y → x) = xyz + xy z5 + xy5z + xy5z5 + x5yz + x5y z5 + x5y5z + x5y5z5
(vyjden v plnm souinovm tvaru neexistuje), x ⊕ (y → z ) = xy z5 + x5yz + x5y5z + x5y5z5 = (x + y5 + z)(5x + y + z)(5x + y + z5)(5x + y5 + z5), y (x + y5z ) = xy5z + xy5z5 + x5yz + x5y z5 + x5y5z5 = (x + y + z)(x + y + z5)(5x + y5 + z), ((5xy ) ⊕ z)((xz) → y ) = xyz + x5y z5 + x5y5z = (x + y + z)(x + y5 + z5)(5x + y + z)(5x + y + z5)(5x + y5 + z).
4.31. x → ((y + x5z ) ⊕ z5) = xyz + xy5z5 + x5yz + x5y z5 + x5y5z + x5y5z5 = (5x + y5 + z)(5x + y + z5), ((xy5) ⊕ (y z5)) ⊕ (zx5) = xy z5 + xy5z + xy z5 + xy5z5 + x5yz + x5y z5 + x5y5z = (x + y + z)(5x + y5 + z5).
4.32. 2n.
155
Kapitola 5
5.3. Jeden z isomor#sm napklad piazuje vrcholm 1, 2, . . . , 6 po ad vrcholy b, e, f, c, a, d.
;
5.4. Po ad n2 , 0, n − 1 a n. 5.6. Vechny vrcholy grafu Kn maj stupe n− 1, v grafu Dn jsou vechny stupn
0. V grafu Pn jsou pro n ≥ 2 dva vrcholy stupn 1, ostatn maj stupe 2. Graf m jeden vrchol stupn 0. Vechny stupn v grafu Cn jsou 2. 5.7. (a) Pro p ≥ q je sk&re (p, p, . . . , p, q, q, . . . , q), piem p se opakuje q-krt a q se opakuje p-krt. (b) (k, k, . . . , k ), kde k se opakuje 2k -krt. 5.8. Napklad krunice C6 a disjunktn sjednocen dvou krunic C3 . 5.9. Pro dn. Graf s n vrcholy neme mt vrchol stupn n. 5.10. (a) Viz obr. 12.14a. (b) Viz obr. 12.14b. (c) Neexistuje (souet stup je lich). 5.11. (b) Jde o nsledujc charakterizaci: k-regulrn graf na n vrcholech existuje prv tehdy, kdy k − 1 dl n. P1
(a)
(b)
Obrzek 12.14: Pklady een cvien 5.10.
Kapitola 6
6.2. Nap. kad prost zobrazen mnoiny X do mnoiny Y je homomor#smus
diskrtnho grafu s mnoinou vrchol X do diskrtnho grafu s mnoinou vrchol Y a m poadovan vlastnosti. 6.5. (a) 3, (b) 4. 6.11. Tah je hranov monomor#smus z cesty Pk do grafu G, uzaven tah je hranov monomor#smus z krunice Ck do G. 6.12. Nap. (1, 2, 3, 1, 4, 2, 5, 3, 6, 4, 5, 6, 1).
156
Vsledky cvien
Kapitola 7
7.1. Poet rznch strom je 16, poet neisomorfnch 2. 7.2. (a) 1, (b) n, (c) n2 + 2n. 7.3. 3n. 7.4. (a) n · 2n−1, (b) 2n−1(n + 2). 7.7. Prmrn ven hloubka je 2.36. 7.8. ELEGIE: 10101001000111, LILIE: 010001101000111. Hu%manv k&d se `vy-
plat' u prvnho slova (m dlku 14, zatmco pi zak&dovn kadho symbolu trojic bit bychom potebovali 18 bit. U druhho slova je dlka v obou ppadech stejn. 7.9. LIGA. 7.10. Hu%manv strom je na obr. 12.15. Jeho prmrn ven hloubka je 2.6. C A
D
B
E
Obrzek 12.15: Hu%manv strom ve cvien 7.10.
Kapitola 8
8.2. Napklad sjednocen orientovanho cyklu na vrcholech a, b, c, d a orientovan
cesty na vrcholech d, e, f . 8.6. Napklad (5, 2, 3, 1, 6, 4) nebo (5, 2, 1, 3, 6, 4). 8.7. Napklad graf G, jeho mnoinou vrchol je mnoina vech celch sel, a hrany jsou vechny dvojice (k, k + 1), kde k ∈ Z. 8.8. (a) R je re0exvn, prv kdy u kadho vrcholu je smyka. (b) R je symetrick, prv kdy ke kad hran mezi rznmi vrcholy existuje protichdn hrana. (c) R je antisymetrick, prv kdy graf G neobsahuje dnou dvojici protichdnch hran. 8.11. V obou ppadech jde o orientovan graf se dvma vrcholy spojenmi jednou hranou.
157
Kapitola 9 9.1. (a) 3
2
1 0 0 −1 1 6−1 1 0 0 0 77 , 6 4 0 −1 −1 0 05 0 0 1 1 −1 (b) 2
1 6−1 6 6 0 6 6 0 6 4 0 0
0 1 −1 0 0 0
0 0 −1 1 0 0
0 0 0 1 −1 0
0 0 0 0 1 −1
0 0 0 0 −1 1
−1
0 0 0 0 −1
0 −1 0 0 1 0
3
0 1 77 0 77 . 0 77 −15 0
9.2. Li se jen poadm dk a sloupc. 9.3. Ano. Vektory v1 , . . . , vn ∈ Rn jsou linern zvisl, prv kdy matice s dky v1 , . . . ,vn
m nulov determinant.
9.4. Hodnost je 2k, hledan mnoiny obsahuj pro kadou komponentu prv dva dky odpovdajc jejich vrcholm.
9.5. Poet faktor je 2m. 9.6. Je jich 8 (viz tak cvien 7.2c). 9.7. (a) 12. (b) 21. (c) 75. (d) 384.
Kapitola 10 10.2. Napklad sjednocen dvou troj helnk se spolenm vrcholem. Faktor
obsahujc vechny hrany je sud, ale nen to krunice.
158
Vsledky cvien
10.3. Pi oslovn hran jako na obr. 12.16 dostaneme matice, kter se od nsledujcch li jen poadm dk: 2
1 60 6 60 6 61 6 60 6 6 (a) 6611 6 60 6 61 6 61 6 40 0
1 1 0 0 0 1 0 1 1 0 0 1
0 1 1 0 1 1 1 0 0 0 0 0
0 0 1 1 0 1 0 1 1 0 1 0
1 0 1 0 0 0 1 1 0 1 1 0
0 1 0 1 0 0 1 1 0 1 0 1 e8
0 0 0 0 1 0 0 0 1 1 1 1
e3
e4
3
0 077 077 077 177 077 , 077 077 177 177 15 1
2
1 60 6 60 6 (b) 66 1 60 6 41 1
e7 e2
e5 e6 e1
(a)
1 0 0 1 0 1 1
0 1 0 1 1 0 1
0 1 0 1 1 0 1
0 0 1 0 1 1 1
0 0 1 0 1 1 1
1 0 1 1 1 0 0
1 1 0 0 1 1 0
0 1 1 1 0 1 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
3
0 0 77 0 77 0 77 . 0 77 05 0
e5 e4 e12 e9 e11 e6 e7 e8 e3 e1
e2 e10
(b)
Obrzek 12.16: Oznaen hran graf z cvien 10.3.
10.4. Nap. hvzda vrcholu stupn 3 v grafu na obr. 7.1a nen ez. 10.5. Opan implikace neplat, nap. tun oznaen mnoina hran A na obrz-
ku 12.17 nen ezem.
Obrzek 12.17: Pklad k cvien 10.5.
10.8. 'een je na obr. 12.18 a 12.19.
159
Kapitola 11
11.1. Na diagonle jsou stupn vrchol, jinde 0. 11.2. Pt: v2 v1 v2v1 v2, v2 v3v2 v1v2 , v2v1 v2v3 v2 , v2 v3v2 v3 v2, v2v3 v3 v3v2 . 11.3. Jde o vztah = F2 = 1, Fi+2 = Fi + Fi+1 , F1
kde i ≥ 1.
11.5. Pro sud n je 2
0 61 6 6 .. 6. D (Cn ) = 6 n 62 6. 4 .. 1
1 0 ...
2 1 ...
... ...
...
n n 1 ... 2 −1 n 2 2− n n ... 2 −2 2 −1 2 n
n 2 −1 2 −2 ...
n
... 2
... 3
...
...
... 1 ... n
2
... 0 ...
... 1 ...
...
...
...
n 2 −1 2 − 2 ...
n
2 3 ...
2 −2
n
... 1
1 2 ...
3
7 7 7 7 7 n − 1 7 2 ... 75
0
(pro lich n jsou nutn mal zmny). Dle je 2
0
1 6n − 1 0 6 D (Cn ) = 6 .. ... 4 . 1 2
2 ... 1 ... ... . . . 3 ...
3
n−2 n−1 n − 3 n − 27 7
...
n−1
... 0
7. 5
11.7. Graf je siln souvisl, prv kdy jeho distann matice neobsahuje poloky ∞.
12.1. $tvercov symetrick nezporn reln matice.
Obrzek 12.18: Fundamentln soustava krunic ve cvien 10.8 (tun).
160
Vsledky cvien
Obrzek 12.19: Fundamentln soustava ez ve cvien 10.8 (tun). v u u
v u
(a)
v
(b)
(c)
Obrzek 12.20: (Nkter) minimln cesty v pkladu 12.2.
12.2. Pklady een jsou na obr. 12.20. Vhy minimlnch cest jsou: (a) 22, (b)
21, (c) 21.
12.3. Ozname vrcholy zleva doprava u, x1, x2 , . . . , x6, v. Potom minimln cesta
je: (a) (u, x3, x2 , x5, v), vha 29, (b) (u, x2, x1, x4 , x3 , x6, v), vha 28.
12.4. Matice vench vzdlenost jsou: 2
0 3 0 (a) 2 8 7
1 2 0 6
3 377 , 25 0
0 64 6 (c) 663 42 1
2 1 0 4 3
3 2 1 0 4
61 6 43
2
1 0 4 3 2
2
3
3
4 377 277 , 15 0
0 69 6 (b) 664 46 6
2
8 0 7 5 6
0 2 0 2 (d) 3 8 5 66 6 68 6 49
1 5 0 2 3
3 1 0 4 6
5 3 4 0 1
3
7 3 77 1077 , 85 0 3 6 6 4 577 3 477 . 0 15 2 0
161
Kapitola 12
12.5. Tvrzen neplat, sta uvit troj helnk s hranami ohodnocenmi 2, 2, 3, piem u a v jsou koncov vrcholy hrany o vze 3.
12.6. Minimln kostry maj vhu (a) 8, (b) 11. Jejich pklady jsou na obrzku 12.21.
(a)
(b)
Obrzek 12.21: Minimln kostry v cvien 12.6.
12.8. Optimln krunice je (A, D, E, B, C, A) a m vhu 16.
162
Vsledky cvien
Literatura 1] J. Holenda a Z. Ryjek, Linern algebra II. Skripta, Zpadoesk univerzita v Plzni, 1997. 2] L. Kuera, Kombinatorick algoritmy. SNTL, Praha, 1983. 3] L. Lovsz, Combinatorial Problems and Exercises. Akadmiai Kiad&, Budapest, 1979. 4] J. Matouek a J. Neetil, Kapitoly z diskrtn matematiky. Matfyzpress, Praha, 1996. 5] L. Prochzka, Algebra. Academia, Praha, 1990. 6] E.R. Scheinerman, Mathematics: A Discrete Introduction. Brooks/Cole, Paci#c Grove, 2000. 7] N.J.A.S. Sloane, The On-Line Encyclopedia of Integer Sequences, http://www.research.att.com/~njas/sequences. 8] Teorie graf a diskrtn optimalizace I., II. Pednky na Zpadoesk univerzit v Plzni.
163
164
Literatura
Rejstk Dijkstra, E. W., 133 direktn mocnina, 51 souin, 51 distributivita, 21, 35, 43 dvanctistn, 75
Abel, N. H., 20 algebraick struktura, 19 algoritmus Dijkstrv, 69, 77, 133 efektivn, 77 hladov, 138 Hu%manv, 90 polynomiln, 77 antire0exivita, 27 aritmetika modulo p, 22 asociativita, 7, 43 atom, 46
ekvivalence, 14 elementrn operace, 76 epimor#smus hranov, 68 vrcholov, 68 Euler, L., 73
backtracking, 77 bezprostedn pedchdce, 28, 47 bijekce, 9 Binet, J. P. M., 108 Birkho%, G. D., 36 bit, 87 Boole, G., 42 Booleova algebra, 42 booleovsk funkce, 52 booleovsk polynom, 52 Borvka, O., 138
faktor, 81, 107 sud, 115 fundamentln soustava krunic, 121 ez, 122 funkce, viz zobrazen She%erova, 54 graf, 5, 59 acyklick, 96 diskrtn, 60 eulerovsk, 74 hamiltonovsk, 75 k -regulrn, 65 neorientovan, 59 ohodnocen, 131 orientovan, 93 siln souvisl, 95 slab souvisl, 94 souvisl, 68
pln, 60 grupa, 20
Cauchy, A.-L., 108 cesta, 61, 67, 68 minimln, 132 nejdel, 70 orientovan, 95 cyklus, 95 asov sloitost, 76 de Morgan, A., 2 de Morganovy zkony, 2, 43, 44 dlitelnost, 13 165
166 abelovsk, 20 komutativn, 20 Hamilton, W. R., 75 Hasse, H., 29 Hassev diagram, 29 hloubka prmrn ven, 89 stromu, 86 vrcholu, 83 hodnost, 17, 106, 114 hodnota zobrazen, 9 homomor#smus, 68 hrana, 59 hrany nsobn, 59 Hu%man, D. A., 87 hvzda, 117 implikace, 4, 53 incidenn matice redukovan, 107 in#mum, 32 inkluze, 28, 29, 32, 33 inverzn relace, 6 isomor#smus graf, 61 grup, 21 uspodanch mnoin, 48 kartzsk souin, 2 klauzule souinov, 54 soutov, 54 kolm vektory, viz ortogonln vektory kombinan slo, 2 komplement, 41 komponenta, 69, 94 komutativita, 43 kondenzace, 99 kongruence modulo p, 15, 21 koen, 83
Rejstk kostra, 82, 107 minimln, 83, 138 k&d symbolu, 87 k&dovn, 87 Hu%manovo, 90 optimln, 88 pre#xov, 88 kritrium distributivity, 36 krunice, 61, 72 hamiltonovsk, 75 kvazikomponenta, 96 Laplace, P.-S., 110 lemma o podn ruky, 63 linern zvisl mnoina, 105, 114 linern programovn, 77 list, 79 literl, 54 matice distann, 128 incidenn, 103, 113 krunic, 116 Laplaceova, 110 ez, 118 vench vzdlenost, 134 w -distann, 134 matice sousednosti, 125 ven, 132 medin, 39 metoda stavovch promnnch, 83 metrika, 128 mnoina, 1 konen, 1 nekonen, 1 przdn, 2 monomor#smus hranov, 68 vrcholov, 68 nsledovnk, 90 normln forma
Rejstk disjunktivn, 54 konjunktivn, 54 NP- plnost, 77, 142 obchodn cestujc, 140 obor relace lev, 4 prav, 4 odstrann hrany, 72 vrcholu, 70 operace, 19 asociativn, 19 komutativn, 19 ortogonln doplnk, 119 ortogonln vektory, 119 pevn bod, 38 podgraf, 61 indukovan, 62 podmnoina, 1 vlastn, 2 podobn matice, 17 podstrom, 90 podsvaz, 35 porovnateln prvky, 27 poset, 27 posloupnost grafov, 64 potomek, 83 pravdivostn tabulka, 52 princip duality, 34 problm NP- pln, 77, 142 obchodnho cestujcho, 77, 140 optimalizan, 131 prostor cykl, viz prostor krunic krunic, 116 ez, 118 prmrn ven hloubka, 89 prnik mnoin, 2 prsek, 32
167 prvek, 1 inverzn, 20 maximln, 31 minimln, 31 nejmen, 31 nejvt, 31 neutrln, 19 relace, 3 antire0exvn, 60 bezprostednho pedchzen, 29 binrn, 4 dlitelnosti, 27 inverzn, 6 n-rn, 4 na mnoin, 7 oboustrann dosaitelnosti, 95 re0exvn, 12 slab antisymetrick, 12 symetrick, 12 tranzitivn, 12, 13 rodi, 83 rovnost mnoin, 2 rozdl mnoin, 2 symetrick, 3 rozklad, 15 ez, 118 separace, 117 s), 142 sjednocen mnoin, 2 skldn relac, 5 sk&re, 64 sled, 67, 68 dlka, 67 orientovan, 95 uzaven, 72 sloen relac, 5 sloitost asov, 76 smyka, 59 soubor stup, viz sk&re
168 souin direktn, 51 skalrn, 119 souinov tvar, 54
pln, 54 soutov tvar, 54
pln, 54 spojen, 32 Stone, M. H., 48 strom, 79 binrn, 82, 83 Hu%manv, 90 koenov, 83 optimln, 89 optimln vyhledvac, 86 rozhodovac, 83, 141 vyhledvac, 84 stupe, 63 vstupn, 94 vstupn, 94 supremum, 32 svaz, 33 dlitel, 38 distributivn, 35 komplementrn, 42 symetrick rozdl, 3, 53, 115 symetrizace, 94 tah, 73 eulerovsk, 73 uzaven, 73 teorie mnoin, 1 tleso, 21 ttiva, 121 tok v sti, 142 tolerance, 15 tranzitivn uzvr, 14 tda ekvivalence, 16 uspodn, 27 sten, 27 inkluz, viz inkluze lexikogra#ck, 28
Rejstk linern, 28 neostr, 27 ostr, 27
pln, 28 uspodan mnoina sten, 27 uzvr re0exivn-tranzitivn, 31 tranzitivn, 98 uzel, 59
loha, viz problm
pln soustava zbytk, 23 vha cesty, 132 mnoiny hran, 132 symbolu, 88 ven dlka, 88 vta Cauchy{Binetova, 108 Diracova, 75 Ramseyova, 62 Stoneova o reprezentaci, 48 vrchol, 59 vstupn, 97 vstupn, 97 vzdlenost, 128 ven, 132 zvora doln, 32 horn, 32 zbytkov tda, 22 znzornn relace grafov, 5 kartzsk, 5 maticov, 11 orientovanm grafem, 11 zobrazen, 9 inverzn, 10 na, 9 prost, 9 vzjemn jednoznan, 9