CATEGORII DOCUMENTE |
Bulgara | Ceha slovaca | Croata | Engleza | Estona | Finlandeza | Franceza |
Germana | Italiana | Letona | Lituaniana | Maghiara | Olandeza | Poloneza |
Sarba | Slovena | Spaniola | Suedeza | Turca | Ucraineana |
DOCUMENTE SIMILARE |
|
TERMENI importanti pentru acest document |
|
TEORIE GRAFÙ
ZÁKLADNÍ POJMY
Def
Øíkáme, že je dán prostý graf, jestliže je dána:
Množina X (uzlù, vrcholù); X = . Nech P(X) je množina všech podmnožin množiny X.
Zobrazení : X
P(X), tj. množina hran U = .
Oznaèení: G = (X,
U), G = (X, ) - viz dále.
Orientovaná hrana - uspoøádaná
dvojice uzlù (x0, x1), kde x0 je poèáteèní uzel a x1
(x0) je koncový
uzel.
je množina
orientovaných hran.
Neorientovaná hrana - neuspoøádaná dvojice uzlù (x0, x1). U je množina neorientovaných hran.
Funkce G tedy pøiøazuje každému uzlu
z grafu G množinu uzlù
z G, se kterými je tento uzel
spojen hranami. Množina všech orientovaných hran grafu G je
napø. Obr. 1: x0 X,
(x0) =
V prostém grafu je mezi dvìma uzly maximálnì 1 hrana (orientovaná nebo neorientovaná.)
Def
Multigraf - jedné dvojici uzlù je možno pøiøadit víc hran (orientovaných nebo neorientovaných) - narozdíl od prostého grafu.
Neorientovaný graf - G = (X, ) = (X,U).
Orientovaný graf - G = (X, ) = (X,
). Hrany jsou orientované; každé je pøiøazena
urèitá orientace (smìr).
Ohodnocený graf
(orientovaný, pøíp. neorientovaný) - G = (X,
), kde
je reálná funkce
definovaná na U a
pøiøazující každé hranì nìjakou hodnotu (napø.
vzdálenost, doba jízdy, ).
Úplný graf -graf bez smyèek (tj. hran, jejichž oba koncové uzly jsou shodné), ve kterém jsou každé dva uzly spojeny hranou
Rovinný graf - uzly grafu jsou body roviny a hrany lze reprezentovat spojitými orientovanými køivkami, ležícími v rovinì, pøièemž mají spoleèné body pouze v koncových bodech. Koncové body køivek jsou uzly grafu.
Graf, který není rovinný nazýváme prostorový graf .
Pozn. Na obr. 2 je tedy orientovaný ohodnocený rovinný úplný multigraf.
Def
Graf G1=(X1,U1) je podgrafem grafu G = (X,U) tehdy, jestliže je to graf a obsahuje nìkteré jeho uzly a hrany.
X X
U1
U
G1
G tj. (X1,U1)
(X,U)
Def
Orientovaný sled - z jednoho
uzlu (a) do jiného (b) je taková posloupnost uzlù
orientovaného grafu, kde u0
= a, un = b a h1 = (a, u1), hi = (ui-1, ui)
pro i = 2, 3, , n-1,
hn
= (un-1, b) jsou orientované hrany grafu.
Dráha - orientovaný sled, ve kterém se žádný uzel nevyskytuje dvakrát.
Neorientovaný sled - z jednoho uzlu (a) do jiného (b) je taková posloupnost vrcholù neorientovaného grafu, kde u0 = a, un = b a h1 = (a, u1), hi = (ui-1, ui) pro i = 2, 3, , n-1, hn = (un-1, b) jsou hrany grafu.
Cesta- neorientovaný sled, ve kterém se žádný uzel nevyskytuje dvakrát.
Tah orientovaný (neorientovaný) - orientovaný (neorientovaný) sled, ve kterém se žádná hrana dvakrát neopakuje.
Silná souvislost grafu - z každého uzlu orientovaného grafu se lze dostat po orientovaných drahách do jakéhokoliv jiného uzlu.
Slabá souvislost grafu - z každého uzlu neorientovaného grafu se lze dostat po cestách do jakéhokoliv jiného uzlu.
Komponenty grafu - nejvìtší slabì souvislé podgrafy tohoto grafu (napø. graf G na obr. 1 má dvì komponenty G' a G'': X' = a X'' = .)
GRAFY A MATICE
Øíkáme, že matice A je rozpadlá (reducibilní), jestliže
lze pøeèíslovat rovnice a neznámé tak, že soustava rovnic má tvar:
kde M, P jsou ètvercové matice, O je nulová matice.
Potom platí P
, M
- N
a tedy øešení pùvodní soustavy je pøevedeno
na posloupnost øešení dvou soustav menšího øádu.
Jestliže takové pøerovnání rovnic a pøeèíslování neznámých není možné, øíkáme že matice je
nerozpadlá (irreducibilní)
Vìta
Nech A je typu (n,n).
Pøiøadíme matici A graf G = (X,) takto:
G má n uzlù (u1, u2, , un) = X.
definujeme takto: (ui, uj)
aij
0, kde aij je prvek matice A.
Matice je irreducibilní právì tehdy, jestliže graf G je silnì souvislý.
EULERÙV TAH
Def
Stupeò uzlu v orientovaném grafu: d(x+) poèet hran vystupujících z uzlu x; d(x-) poèet hran vstupujících do uzlu x.
Stupeò uzlu v neorientovaném grafu: d(x) poèet hran vystupujících (= vstupujících) z uzlu x.
Pravidelný graf - všechny uzly grafu jsou stejného stupnì.
Def
Eulerùv tah -tah, který prochází všemi hranami grafu (právì jednou).
- otevøený - konèí v jiném uzlu, než ve kterém zaèal.
- uzavøený - konèí v uzlu, ve kterém zaèal.
Lze-li provést Eulerùv tah, pak se jedná o Eulerùv graf.
3 vìty (platné pro souvislý graf)
V grafu jsou více než 2 uzly lichého stupnì Eulerùv tah neexistuje.
V grafu jsou právì 2 uzly lichého stupnì Eulerùv tah existuje, je otevøený. (Zaèíná v prvním (druhém) uzlu lichého stupnì a konèí v druhém (prvním) uzlu lichého stupnì.)
V grafu jsou všechny uzly sudého stupnì Eulerùv tah existuje, je uzavøený. (Zaèíná a konèí v libovolném uzlu grafu.)
Sedm mostù v mìstì Královci
Ve mìstì Královci jsou na øece Pregel dva ostrovy, které jsou se zbytkem mìsta spojeny sedmi mosty jako na obr. 3 vlevo. Lze si udìlat procházku, pøi které bychom prošli po každém mostì právì jednou?
Nelze. V grafu jsou všechny ètyøi uzly lichého stupnì (obr. 3 vpravo), takže podle vìty 1) Eulerùv tah neexistuje.
Domeèek
Lze nakreslit jedním tahem domeèek?
Ano, domeèek jedním tahem nakreslit lze (napø. obr. 4), protože obsahuje právì dva uzly lichého stupnì (a a f). Podle vìty 2) tedy existuje otevøený Eulerùv tah. Lze najít mnoho zpùsobù, jak domeèek nakreslit, ale pokaždé bude tah zaèínat a konèit v uzlech a a f.
STROM A KOSTRA GRAFU
Def
Nech
G = (X,U) neorientovaný multigraf,
X = n poèet uzlù,
U = m poèet hran,
k poèet komponent grafu G.
Potom èíslo (G) = m - n
+ k se nazývá cyklomatické èíslo grafu.
Èíslo (G) vyjadøuje
poèet nezávislých kružnic v grafu a napø. v elektrotechnice je to minimální poèet lineárnì
nezávislých rovnic pøi použití 2. Kirchhoffova zákona.
Def
Vytvoøíme matici A tak, že v zadaném grafu G hledáme všechny uzavøené kružnice. V matici A má každá hrana svùj sloupec. Každé kružnici pøísluší jeden øádek matice A tak, že jednotlivé prvky tohoto øádku udávají, kolikrát daná kružnice prošla zvoleným smìrem dané hrany (pokud kružnice prochází opaèným smìrem než zvoleným, poèítáme tento prùchod zápornì.)
Hodnost takto vytvoøené matice A je cyklomatické
èíslo grafu (G) a její
lineárnì nezávislé vektory urèují nezávislé
kružnice grafu G.
Strom - souvislý graf, který neobsahuje žádnou kružnici.
Vìta
Strom má tyto ekvivalentní vlastnosti:
G je souvislý, (G) = 0.
(G) = 0, m = n
- 1
G je souvislý a má n - 1 hran.
(G) = 0 a je-li
hrana h
U, potom graf G1
= (X, U1), kde U1
= U
,
má
(G1) =
1.
Nech G je souvislý a h U, potom graf G1
= (X, U1), kde U1
= U - , je graf nesouvislý.
Def
Kostra grafu - podgraf, který je stromem.
Minimální kostra grafu - taková kostra G' ohodnoceného
grafu G = (X,U,), že
(h) je minimální
ze všech existujících koster grafu G.
HLEDÁNÍ MINIMÁLNÍ KOSTRY GRAFU
Níže popsané metody vycházejí z pøedpokladu, že zkoumaný graf je prostý, ohodnocený a souvislý. Pokud prostý není, tak pro každé dva uzly nalezneme nejkratší hranu, která je spojuje, a ostatní hrany, které tyto dva uzly spojují, z grafu odstraníme.
Borùvkova metoda
algoritmus
1. V libovolné kružnici v grafu škrtnìte nejdelší hranu.
2. Opakujte krok 1. tak dlouho, dokud lze v grafu nìjakou kružnici najít.
Z grafu zbyla jeho minimální kostra.
Vìta
Nech K je kružnice
v grafu U a nech h1 je nejdelší hrana na
kružnici K, tj. h
K:
(h1)
(h).
Potom existuje minimální kostra, která neobsahuje hranu h1.
Pozn. Kdyby byla
nerovnost ostrá, potom žádná
minimální kostra neobsahuje hranu h1.
Neostrá nerovnost je zde pro pøípad, že by na kružnici bylo víc hran se
stejným nejmenším . Potom by bylo více
rùzných minimálních koster grafu.
Vìta
H je množina všech
hran, které leží aspoò na jedné kružnici. Nech h
H0 ‑ :
(h1)
(h).
Potom existuje minimální kostra, která obsahuje hranu h1.
Pozn. Kdyby byla nerovnost ostrá, potom každá minimální kostra obsahuje hranu h1.
Vìta
Nech G = (X,U,). Nech Gi
= (Xi,Ui,
i), jsou
disjunktní podgrafy grafu G (tj.
žádné dva grafy Gi nemají
spoleènou ani jednu hranu ani uzel.)
Nech Ai je množina takových hran, které jsou incidentní s Xi pouze jedním uzlem a jejich druhý uzel leží v jiné množinì než Xi.
Potom každá minimální hrana z Ai leží na minimální kostøe grafu G.
Pozn. Pro graf na obr. 5 jsou tedy v množinì A1 právì èárkované hrany.
Jarníkova metoda
algoritmus
1. Vyberte libovolný uzel x1
X a dejte ho do množiny F.
2. Vyberte nejkratší hranu vedoucí z uzlù v množinì F do ostatních uzlù (tj. X-F) a pøíslušný koncový bod dejte do F. Vybraná hrana je již hrana kostry.
3. Opakujte od kroku 2, dokud nejsou všechny uzly grafu v množinì F.
Hrany, které jsme vybrali v bodì 2 potom tvoøí minimální kostru grafu.
Dijkstrova metoda hledání minimální kostry
množiny hran
- Obsahuje hrany, které jsou již vybrány.
- Hrany, z nichž právì jedna bude v pøíštím kroku pøidána do mn. 1.
- Ostatní hrany.
množiny uzlù
A - Uzly pøíslušné k hranám z mn. 1.
B - Ostatní uzly.
algoritmus
1. krok: Libovolný uzel x1 dejte do mn. A. Všechny hrany s ním incidentní do mn. 2.
2. krok: Vyberte z mn. 2 nejkratší hranu a pøidejte ji do 1. Její druhý uzel (xi) dejte do mn. A (první už tam je.)
3. krok: Nech xi je uzel, který byl naposledy pøidán do mn. A. Nech H je množina hran, jejichž jeden uzel je xi a druhý je v mn. B. Do množiny 2 potom pøidejte ty hrany z H, které buï nejsou incidentní s hranami z mn. 2, anebo s nimi incidentní jsou, ale jsou kratší. Pokud jsou kratší, pøesuòte ty delší z mn. 2 do mn. 3. Opakujte od kroku 2, dokud nejsou všechny uzly v mn. A.
Hrany v mn. 1 tvoøí potom kostru grafu.
Pozn. V mn. 1 2 se nevyskytuje kružnice.
HLEDÁNÍ MINIMÁLNÍ DRÁHY V GRAFU
Def
Minimální dráha z uzlu a
do uzlu b je taková dráha H, pro
kterou (h) je
minimální.
Dijkstrova metoda hledání minimální dráhy
Tato metoda je urèena pro orientovaný graf. Pro graf neorientovaný staèí každou jeho hranu pøevést na dvì opaènì orientované.
množiny hran
- Obsahuje hrany, které jsou již vybrány.
- Hrany, z nichž právì jedna bude v pøíštím kroku pøidána do mn. 1.
- Ostatní hrany.
množiny uzlù
A - Uzly pøíslušné k hranám z mn. 1. (Pro každý uzel z mn. A registrujeme jeho minimální doposud známou vzdálenost od startu a.)
B - Uzly pøíslušné k hranám z mn. 2.
C - Ostatní uzly.
algoritmus pro nalezení minimální dráhy ze startu do cíle
1. krok: Start dejte do mn. A. Všechny hrany vycházející ze startu dejte do mn. 2 a koncové uzly tìchto hran dejte do B.
- Proveï následují krok tolikrát, až v A bude cíl:
2. krok: Každý uzel z B je incidentní s právì jednou hranou z 2, jejíž poèáteèní uzel je v množinì A. Tím je definovaná jistá dráha ze startu do každého uzlu v B. Uzel xi z B, do kterého jde nejkratší taková dráha ze startu odstraníme z B a pøidáme do A. Odpovídající hranu z 2 odstraníme a pøidáme ji do mn. 1.Všechny orientované hrany, které vycházejí z xi a jejichž koncové uzly leží v C odstraníme z mn. 3 a pøidáme do množiny 2. Koncové uzly tìchto hran pøidáme k množinì B.Nyní uvažujme všechny orientované hrany h, které vycházejí z xi a jejichž koncové uzly leží v B, a zkoumáme, zda-li užitím nìkteré hrany h nezkrátíme již známou dráhu ze startu do uzlù v B. Je-li tomu tak, pak hranu h odstraníme z mn. 3 a pøidáme k množinì 2 a odpovídající hranu odstraníme z množiny dva a pøidáme do množiny 3.
Využití matic pøi hledání minimální dráhy v grafu
Def
Matice sousednosti aij
= 1 (xi,xj)
, aij =
0
(xi,xj)
Vìta
Nech G je orientovaný graf a A je jeho matice sousednosti. Nech = Ak.
Potom pij je poèet rùzných drah délky k jdoucích z i-tého do j-tého uzlu.
dùk. Indukcí podle k:
I. k = 1 platí z definice matice sousednosti
II. = Ak-1,
pij = qil plj
C.B.D (= tím je to dokázáno)
Def
Matice ohodnocení A: =
((xi,xj)).
Vìta
Nech G je orientovaný graf a A je jeho matice ohodnocení. Nech = Ak.
Potom pij je délka miniální dráhy jdoucí z i-tého do j-tého uzlu.
dùk. Indukcí podle k.
TOKY V SÍTÍCH
Tok v síti je napø. proud v elektrickém obvodu, zboží v železnièní síti, voda v potrbní síti ap.
Def
Sí S = (G, z,
s, c), kde G je orientovaný
graf, z je zdroj, s je spotøebiè, c je kapacita (propustnost hrany)
defiovaná na množinì hran h
Def
Tok t(h) je funkce defiovaná na množinì hran h . Platí:
t(h)
c(h) ( Tok je
nezáporný a menší nebo roven kapacitì hrany.)
t(u,v)
=
t(u,w);
(u,v)
U, (u,w)
U ( Souèet
tokù, které vcházejí do uzlu, z nìj také vychází - platí pro všechny
uzly v síti, kromì zdroje a spotøebièe.)
Def
Velikost toku |t| = t(z,u),
(z,u)
U. ( Celková velikost toku je rovna souètu všech tokù
na hranách vedoucích ze zdroje do uzlù, které se zdrojem sousedí.)
Vìta
|t| = t(w,s),
(w,s)
U. ( Celková velikost toku je rovna souètu všech tokù
na hranách vedoucích do spotøebièe z uzlù, které se
spotøebièem sousedí.)
Hledání maximálního toku v síti
1. krok (Inicializaèní): h
G: t(h) = 0
2. krok (Nalezení zlepšující
cesty): Hledejte posloupnost vrcholù vi
pro i = 1, 2, , k takovou, že buï (vi,vi+1) , t(vi,vi+1)
c(vi,vi+1),
nebo (vi,vi-1)
, t(vi,vi-1)
0 pro (vi,vi‑1)
. Pokud žádnou takovou zlepšující cestu nelze najít, jdìte
na krok 5.
3. krok (Urèení pøírùstku toku): Pro i = 1, 2, , k je pøírùstek toku di = (c(vi‑1,vi) ‑ c(vi,vi‑1)) + t(vi,vi-1). Pøírùstek toku pro vybranou cestu je d = min (nejmenší pøírùstek pøidìlený v tomto kroku této cestì.)
4. krok: d'i = min ; d''i = d - d'i. Je-li (vi‑1, vi) t(vi‑1, vi) = (vi‑1, vi) + d'i. Je-li (vi, vi-1)
t(vi‑1, vi) = (vi‑1, vi) - d''i. Opakuj krok 2.
5. krok: Konec. Výsledkem jsou toky pøidìlené jednotlivým hranám.
Komentáø ke kroku 2: Zlepšující cesta tedy vede orientovanými hranami grafu tak, že 1)jde buï stejným smìrem jako je orientace dané hrany a kapacita této hrany je menší než tok, který jí již byl pøidìlen, 2)anebo jde opaèným smìrem než je orientace dané hrany a tok, který této hranì již byl pøidìlen, je vìtší než 0.
Stejná zlepšující cesta mùže a zpravidla i musí být zvolena víckrát.
Výhoda algoritmu: Pro celá èísla vede koneèný poèet krokù k cíli. (Pro reálná po pøevodu na celá také.)
Nevýhoda: Velmi pomalé díky nedokonalosti kroku 2. Další algoritmy jsou takovými modifikacemi tohoto algoritmu že se liší jen krokem 2.
Dinicùv algoritus
V kroku 2 bereme v úvahu jenom hrany na nejkratších drahách ze zdroje.
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 824
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2025 . All rights reserved