Kapitola 11. Vzdálenost v grafech. 11.1 Matice sousednosti a počty sledů



Podobné dokumenty
zejména Dijkstrův algoritmus pro hledání minimální cesty a hladový algoritmus pro hledání minimální kostry.

Regulární matice. Věnujeme dále pozornost zejména čtvercovým maticím.

GRAFY A GRAFOVÉ ALGORITMY

Kolik existuje různých stromů na pevně dané n-prvkové množině vrcholů?

0. Lineární rekurence Martin Mareš,

Součin matice A a čísla α definujeme jako matici αa = (d ij ) typu m n, kde d ij = αa ij pro libovolné indexy i, j.

Jan Březina. 7. března 2017

A0M15EZS Elektrické zdroje a soustavy ZS 2011/2012 cvičení 1. Jednotková matice na hlavní diagonále jsou jedničky, všude jinde nuly

Často potřebujeme hledat mezi dvěma vrcholy grafu cestu, která je v nějakém

Funkce zadané implicitně

Vzdálenost uzlů v neorientovaném grafu

a jiné elektronické přístroje včetně mobilů. Pracujte samostatně. Povolen je 1 list A4 vlastnoručně psaných poznámek k předmětu...

Skalární součin je nástroj, jak měřit velikost vektorů a úhly mezi vektory v reálných a komplexních vektorových prostorech.

H {{u, v} : u,v U u v }

Euklidovský prostor Stručnější verze

3. Matice a determinanty

2. RBF neuronové sítě

a jiné elektronické přístroje včetně mobilů. Pracujte samostatně. Povolen je 1 list A4 vlastnoručně psaných poznámek k předmětu...

4. Lineární nerovnice a jejich soustavy

Jarníkův algoritmus. Obsah. Popis

Teorie grafů a diskrétní optimalizace 1

4. Kombinatorika a matice

12. Aproximační algoritmy

STROMOVE ALGORITMY Prohledavani do sirky (level-order) Po vodorovnejch carach fronta

Matice lineárních zobrazení

KATEDRA INFORMATIKY UNIVERZITA PALACKÉHO LINEÁRNÍ ALGEBRA 1 OLGA KRUPKOVÁ VÝVOJ TOHOTO UČEBNÍHO TEXTU JE SPOLUFINANCOVÁN

6. T e s t o v á n í h y p o t é z

Edita Kolářová ÚSTAV MATEMATIKY

8 Přednáška z

TEORIE GRAFŮ TEORIE GRAFŮ 1

Matice. Přednáška MATEMATIKA č. 2. Jiří Neubauer. Katedra ekonometrie FEM UO Brno kancelář 69a, tel

Grafy. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 13.

10 Podgrafy, isomorfismus grafů

Jazyk matematiky Matematická logika Množinové operace Zobrazení Rozšířená číslená osa

Problém obchodního cestujícího(tsp) Vstup: Množina n měst a vzdálenosti mezi nimi. Výstup: Nejkratší okružní cesta procházející všemi městy.

Základní pojmy teorie grafů [Graph theory]

Jak pracovat s absolutními hodnotami

1. Nakreslete všechny kostry následujících grafů: nemá žádnou kostru, roven. roven n,

1. Alternativní rozdělení A(p) (Bernoulli) je diskrétní rozdělení, kdy. p(0) = P (X = 0) = 1 p, p(1) = P (X = 1) = p, 0 < p < 1.

Stromové rozklady. Definice 1. Stromový rozklad grafu G je dvojice (T, β) taková, že T je strom,

10 Přednáška ze

13. Třídící algoritmy a násobení matic

Gymnázium, Brno. Matice. Závěrečná maturitní práce. Jakub Juránek 4.A Školní rok 2010/11

Úvod do teorie grafů

TGH02 - teorie grafů, základní pojmy

Přijímací zkouška - matematika

Definice 5.1 Graf G = (V, E) je tvořen množinou vrcholů V a množinou hran, kde

4 Stromy a les. Definice a základní vlastnosti stromů. Kostry grafů a jejich počet.

Finanční. matematika pro každého. f inance. 8. rozšířené vydání. věcné a matematické vysvětlení základních finančních pojmů

Operační výzkum. Síťová analýza. Metoda CPM.

Západočeská univerzita v Plzni. Fakulta aplikovaných věd Katedra matematiky. Geometrie pro FST 1. Pomocný učební text

5 Orientované grafy, Toky v sítích

(4x) 5 + 7y = 14, (2y) 5 (3x) 7 = 74,

Zdůvodněte, proč funkce n lg(n) roste alespoň stejně rychle nebo rychleji než než funkce lg(n!). Symbolem lg značíme logaritmus o základu 2.

Zdrojem většiny příkladů je sbírka úloh 1. cvičení ( ) 2. cvičení ( )

Základní škola Moravský Beroun, okres Olomouc

PQ-stromy a rozpoznávání intervalových grafů v lineárním čase

Učební texty k státní bakalářské zkoušce Matematika Teorie grafů. študenti MFF 15. augusta 2008

TGH02 - teorie grafů, základní pojmy

Základy matematické analýzy

Tento text je stručným shrnutím těch tvrzení Ramseyovy teorie, která zazněla

Matice. a m1 a m2... a mn

Matematika III. Miroslava Dubcová, Daniel Turzík, Drahoslava Janovská. Ústav matematiky

Determinant. Definice determinantu. Permutace. Permutace, vlastnosti. Definice: Necht A = (a i,j ) R n,n je čtvercová matice.

ORIENTOVANÉ GRAFY, REPREZENTACE GRAFŮ

ALGORITMY A DATOVÉ STRUKTURY

matice([[1,1,0,0,0],[1,1,1,0,0],[0,1,1,0,0],[0,0,0,1,1],[0,0,0,1,1]],1). matice([[1,1,1],[1,1,0],[1,0,1]],2).

Návody k domácí části I. kola kategorie A

které je z různých pohledů charakterizují. Několik z nich dokážeme v této kapitole.

Matematika pro studenty ekonomie

Univerzita Karlova v Praze Matematicko-fyzikální fakulta. Vedoucí práce: RNDr. Martin Pergel, Ph.D.

Regresní a korelační analýza

Grafy. RNDr. Petra Surynková, Ph.D. Univerzita Karlova v Praze Matematicko-fyzikální fakulta.

5. Maticová algebra, typy matic, inverzní matice, determinant.

1. Minimální kostry Od mìsteèka ke kostøe

TGH02 - teorie grafů, základní pojmy

Dijkstrův algoritmus

P 1 = P 1 1 = P 1, P 1 2 =

Nejprve si připomeňme z geometrie pojem orientovaného úhlu a jeho velikosti.

Obsah prezentace. Základní pojmy v teorii o grafech Úlohy a prohledávání grafů Hledání nejkratších cest

FAKULTA STAVEBNÍ MATEMATIKA II MODUL 2 STUDIJNÍ OPORY PRO STUDIJNÍ PROGRAMY S KOMBINOVANOU FORMOU STUDIA

1 Predikátová logika. 1.1 Syntax. jaký mohou mít formule význam (sémantiku). 1. Logických symbolů: 2. Speciálních (mimologických) symbolů:

O teleskopických součtech a součinech

Modely teorie grafů, min.kostra, max.tok, CPM, MPM, PERT

6 Skalární součin. u v = (u 1 v 1 ) 2 +(u 2 v 2 ) 2 +(u 3 v 3 ) 2

ROTAČNÍ KVADRIKY. Definice, základní vlastnosti, tečné roviny a řezy, průsečíky přímky s rotační kvadrikou

(Auto)korelační funkce Statistické vyhodnocování exp. dat M. Čada ~ cada

Průvodce studiem. do bodu B se snažíme najít nejkratší cestu. Ve firmách je snaha minimalizovat

MATEMATIKA IV - PARCIÁLNÍ DIFERENCIÁLNÍ ROVNICE - ZÁPISKY Z. Obsah. 1. Parciální diferenciální rovnice obecně. 2. Kvaazilineární rovnice prvního řádu

TGH06 - Hledání nejkratší cesty

Definice 13.1 Kvadratická forma v n proměnných s koeficienty z tělesa T je výraz tvaru. Kvadratická forma v n proměnných je tak polynom n proměnných s

Diskrétní matematika DISKRÉTNÍ MATEMATIKA. RNDr. Ivan Havlíček, CSc., ::

Algoritmus pro hledání nejkratší cesty orientovaným grafem

TEORIE GRAFŮ. Petr Kovář

Maticí typu (m, n), kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru:

Funkce, elementární funkce.

(Cramerovo pravidlo, determinanty, inverzní matice)

Úvod do mobilní robotiky AIL028

1. Základy logiky a teorie množin

Ohodnocené orientované grafy

Transkript:

Kapitola 11 Vzdálenost v grafech V každém grafu lze přirozeným způsobem definovat vzdálenost libovolné dvojice vrcholů. Hlavním výsledkem této kapitoly je překvapivé tvrzení, podle kterého lze vzdálenosti v grafu zjistit z mocnin jeho matice sousednosti. 11.1 Matice sousednosti a počty sledů Definice 11.1 Nechť G je orientovaný graf na vrcholech {v 1,..., v n }. Matice sousednosti grafu G je reálná matice o rozměrech n n, definovaná předpisem S(G) = (σ ij ), kde { 1 pokud vi v σ ij = j E(G), 0 jinak pro i, j = 1,..., n. v 4 v 3 v 1 v 2 Obrázek 11.1: Orientovaný graf. Například graf na obr. 11.1 má matici sousednosti 1 1 0 0 S(G) = 0 0 0 1 0 1 0 1. 0 0 1 0 123

124 Kapitola 11. Vzdálenost v grafech Matice sousednosti neorientovaného grafu je definována jako matice sousednosti jeho symetrické orientace. (Připomeňme, že symetrická orientace je orientovaný graf, který vznikne, pokud každou hranu nahradíme dvojicí protichůdných orientovaných hran.) Při počítání matice sousednosti například pro neorientovaný cyklus C 4 o délce 4 musíme tedy přejít k orientovanému grafu na obr. 11.2 a zjistíme, že matice sousednosti je 0 1 0 1 S(C 4 ) = 1 0 1 0 0 1 0 1. 1 0 1 0 v 4 v 3 v 1 v 2 Obrázek 11.2: Symetrická orientace cyklu délky 4. Z matice S(G) lze poměrně jednoduše zjistit počet všech sledů se zadaným začátkem, koncem a délkou v orientovaném grafu G. Pro k > 0 budeme symbolem σ (k) ij označovat prvek na pozici (i, j) v k-té mocnině matice S(G). Nultá mocnina této matice je definována jako jednotková matice E n. Pro vrcholy x, y V (G) budeme pojmem xy-sled rozumět sled z x do y v grafu G. Věta 11.2 Nechť G je orientovaný graf a k 0. Prvek σ (k) ij roven počtu v i v j -sledů délky přesně k v grafu G. matice (S(G)) k je Důkaz. Označme počet v i v j -sledů délky k jako Pij. k Dokazujeme tedy, že P k. Pro stručnost budeme psát E = E(G). Důkaz provedeme indukcí podle k. σ (k) ij Pro k = 0 je matice (S(G)) k rovna jednotkové matici, takže σ (0) ij = 1, právě když i = j. Na druhou stranu sled délky 0 z v i do v j existuje, právě když i = j, a pak je právě jeden. Odtud Pij 0 = σ (0) ij. Případ k = 0 je tedy probrán. Nechť je tvrzení dokázáno pro k < k. Uvažme libovolný v i v j -sled (z 0, z 1,..., z k 1, z k ) délky k (takže z 0 = v i a z k = v j ). Vynecháme-li poslední vrchol, dostaneme v i z k 1 -sled délky k 1, z jehož posledního vrcholu vede hrana do v j. Naopak každý sled délky k 1, který začíná ve vrcholu v i a končí ve vrcholu, ze kterého ij =

11.1. Matice sousednosti a počty sledů 125 vede hrana do v j, určuje v i v j -sled délky k. Jak lze snadno ověřit, jedná se o bijektivní vztah mezi sledy těchto dvou typů. Počet v i v j -sledů délky k je tedy roven celkovému počtu v i v l -sledů délky k 1, kde v l probíhá všechny vrcholy s vlastností v l v j E. Proto platí P k ij = = v l : v l v j E n l=1 = σ (k) ij, P k 1 il = σ (k 1) il σ (1) lj v l : v l v j E σ (k 1) il kde druhá rovnost plyne z indukčního předpokladu a poslední z definice násobení matic (S(G)) k 1 a S(G). Uvažme jako příklad sledy délky 3 v orientovaném grafu G na obr. 11.3. Jeho matice sousednosti a třetí mocnina této matice vypadají takto: 0 1 0 0 2 1 S(G) = 1 0 1, (S(G)) 3 = 2 1 3. 0 1 1 1 3 3 v 1 v 2 v 3 Obrázek 11.3: Orientovaný graf na 3 vrcholech. Z matice (S(G)) 3 lze například vyčíst, že v grafu G existuje jeden v 3 v 1 -sled délky 3 (totiž v 3 v 3 v 2 v 1 ) nebo tři v 2 v 3 -sledy délky 3: jsou to v 2 v 1 v 2 v 3, v 2 v 3 v 2 v 3 a v 2 v 3 v 3 v 3. Příklad 11.3 Uvažme neorientovanou kružnici C 4 délky 4 s vrcholy očíslovanými proti směru hodinových ručiček. Určeme počty sledů délky 4 mezi různými dvojicemi vrcholů v tomto grafu. Matici sousednosti grafu C 4 jsme našli na začátku kapitoly (přechodem k symetrické orientaci). Snadno spočítáme, že 8 0 8 0 (S(C 4 )) 4 = 0 8 0 8 8 0 8 0. 0 8 0 8 Vidíme, že pro sousední vrcholy v i, v j neexistuje žádný v i v j -sled délky 4, zatímco pokud i = j nebo v i a v j jsou protilehlé, pak počet takových sledů je 8. Například (uzavřené) sledy z v 1 do v 1 délky 4 jsou: v 1 v 2 v 1 v 2 v 1, v 1 v 4 v 1 v 4 v 1, v 1 v 2 v 3 v 4 v 1, v 1 v 4 v 3 v 2 v 1, v 1 v 2 v 3 v 2 v 1, v 1 v 4 v 3 v 4 v 1, v 1 v 2 v 1 v 4 v 1 a v 1 v 4 v 1 v 2 v 1.

126 Kapitola 11. Vzdálenost v grafech Cvičení 11.1 Nechť L(G) je Laplaceova matice neorientovaného grafu G (viz kapitola 9). Určete součet L(G) + S(G). 11.2 Kolik sledů délky 4 z v 2 do v 2 existuje v grafu na obr. 11.3? Najděte je. 11.3 Nechť F k je počet xy-sledů délky k v grafu na obr. 11.4. Určete rekurentní vztah pro posloupnost (F 1, F 2,... ). Nápověda: Tato posloupnost se nazývá Fibonacciho posloupnost, podrobnosti viz [8]. x y Obrázek 11.4: Určete počet xy-sledů. 11.2 Vzdálenost Definice 11.4 Vzdálenost d(x, y) vrcholů x, y orientovaného grafu G je délka nejkratší cesty z x do y. Pokud taková cesta neexistuje, položíme d(x, y) =. Pojem vzdálenosti je zde definován pro orientované grafy. Pro grafy neorientované jej můžeme definovat prostřednictvím symetrické orientace. Vzdálenost vrcholů v neorientovaném grafu G je tak jejich vzdálenost v symetrické orientaci tohoto grafu. (Podobně je tomu i u dalších pojmů v tomto oddílu, které nebudeme explicitně definovat pro neorientované grafy.) Vzdálenost v neorientovaných grafech má vlastnosti metriky. Tvrzení 11.5 Nechť G je souvislý neorientovaný graf. Pak funkce d(x, y) je metrikou na množině V (G), tj. má následující vlastnosti: (1) d(x, y) 0, přičemž d(x, y) = 0, právě když x = y, (2) d(x, y) = d(y, x), (3) d(x, y) + d(y, z) d(x, z) ( trojúhelníková nerovnost ). Důkaz. Cvičení 11.4. Definice 11.6 Distanční matice orientovaného grafu G s vrcholy v 1,..., v n je matice ( ) n D(G) = d(v i, v j ) o rozměrech n n. i,j=1

11.2. Vzdálenost 127 Například distanční matice grafu G na obr. 11.1 je 0 1 3 2 D(G) = 0 2 1 1 0 1. 2 1 0 Distanční matice neorientovaného grafu je definována jako distanční matice jeho symetrické orientace. Viděli jsme, že matice sousednosti a její mocniny umožňují zjistit počet sledů dané délky mezi dvěma vrcholy. Snadno odvodíme následující tvrzení, ve kterém symbol σ (k) ij nadále představuje prvek na pozici (i, j) v k-té mocnině matice sousednosti S(G). Tvrzení 11.7 Prvek d(v i, v j ) distanční matice D(G) je roven nejmenšímu k, pro které σ (k) ij 0 (případně, pokud takové k neexistuje). Důkaz. Nechť M je množina všech k, pro které σ (k) ij 0. Cesta z v i do v j existuje právě tehdy, když existuje nějaký sled z v i do v j. Řečeno obráceně, d(v i, v j ) =, právě když M =. Jsou-li splněny tyto podmínky, tvrzení platí. Nechť tedy délka nejkratšího sledu z v i do v j je k 0. Je jasné, že k 0 je nejmenší prvek množiny M. Z cvičení 8.3 víme, že nejkratší sled z v i do v j je nutně cestou, takže také d(v i, v j ) = k 0. Důkaz je hotov. Z uvedeného tvrzení dostáváme horní odhad časové složitosti nalezení distanční matice (připomeňme, že o časové složitosti jsme hovořili v oddílu 6.7). Vzhledem k tomu, že vzdálenost libovolných dvou vrcholů je buď menší než n, nebo nekonečná (graf na n vrcholech neobsahuje žádnou cestu délky n), stačí pro zjištění matice D(G) spočítat n 1 mocnin matice sousednosti S(G). Výpočet každé mocniny spočívá ve vynásobení dvou matic o rozměrech n n, které vyžaduje O(n 3 ) aritmetických operací. Celková doba výpočtu tak bude O(n 4 ). Ukažme si aplikaci tvrzení 11.7 na grafu G z obr. 11.1. Jeho distanční matici jsme sice odvodili i přímo z definice, u větších grafů je však mnohem jednodušší použít následující obecný postup. Spočítáme první čtyři mocniny matice sousednosti (včetně nulté). Jednotlivé prvky jsou zvýrazněny v nejnižší mocnině, kde jsou nenulové: 1 0 0 0 1 1 0 0 (S(G)) 0 = 0 1 0 0 0 0 1 0, (S(G))1 = 0 0 0 1 0 1 0 1, 0 0 0 1 0 0 1 0 1 1 0 1 1 1 1 1 (S(G)) 2 = 0 0 1 0 0 0 1 1, (S(G))3 = 0 1 0 1 0 1 1 1. 0 1 0 1 0 0 1 1

128 Kapitola 11. Vzdálenost v grafech Pro každý prvek nyní zapíšeme, ve které mocnině je zvýrazněn; dostaneme distanční matici D(G). Všimněme si, že u prvků, které jsou nulové ve všech (S(G)) k pro k < n, můžeme psát. 0 1 3 2 D(G) = 0 2 1 1 0 1. 2 1 0 Z mocnin matice sousednosti lze algebraickým způsobem určit, zda je daný graf acyklický. Tvrzení 11.8 Orientovaný graf G je acyklický, právě když nějaká mocnina jeho matice sousednosti je nulová. Důkaz. : V acyklickém grafu je každý sled cestou. Má-li graf n vrcholů, pak v něm neexistuje cesta na n + 1 vrcholech (cesta délky n), a tedy ani žádný sled délky n. Podle věty 11.2 je (S(G)) n = 0. : Nechť (S(G)) k = 0. Podle věty 11.2 v grafu G neexistuje žádný sled délky k. Pokud ovšem G obsahuje nějaký cyklus C, obsahuje také sledy všech délek (stačí obcházet C kolem dokola). Graf G tedy musí být acyklický. Časová složitost testování acykličnosti grafu s využitím tvrzení 11.8 je zhruba n 4 (každé z n násobení matic vyžaduje přibližně n 3 operací), takže tento postup je pomalejší než algoritmus popsaný v oddílu 8.3. Tvrzení je zajímavé spíše z opačného hlediska: umožňuje použít grafy ke zjištění, zda matice s prvky 0 a 1 má nějakou nulovou mocninu, a to rychleji než pomocí násobení matic. Cvičení 11.4 Dokažte tvrzení 11.5. 11.5 Určete distanční matici neorientované kružnice C n a orientovaného cyklu C n na n vrcholech. 11.6 Dokažte, že leží-li vrcholy v i, v j v různých kvazikomponentách orientovaného grafu G, pak d(v i, v j ) = nebo d(v j, v i ) =. 11.7 Jak lze z distanční matice orientovaného grafu poznat, zda je graf silně souvislý?