Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
1
Diskrétní matematika Opakování - příklady
2
Nalezněte kostru následujícího grafu Kruskalovým algoritmem.
Příklad 1 Nalezněte kostru následujícího grafu Kruskalovým algoritmem. 6 10 3 10 1 4 5 7 12 1 6 7 10 9 13 5 10 10 9 8 7 9 10 14 5 1 5 7 3 2 3 6 11
3
Kruskalův algoritmus:
Opakuj následující kroky, dokud je to možné: Z hran grafu G, které dosud nebyly vybrány, vyber nejkratší hranu, která nevytváří žádnou kružnici s hranami již vybranými. Množina vybraných hran je kostrou grafu G, která je navíc minimální 6 10 3 10 1 4 5 7 12 1 6 7 10 9 13 5 10 10 9 8 7 9 10 14 5 1 5 7 3 2 3 6 11
4
Kruskalův algoritmus:
Opakuj následující kroky, dokud je to možné: Z hran grafu G, které dosud nebyly vybrány, vyber nejkratší hranu, která nevytváří žádnou kružnici s hranami již vybranými. Množina vybraných hran je kostrou grafu G, která je navíc minimální 6 10 3 10 1 4 5 7 12 1 6 7 10 9 13 5 10 10 9 8 7 9 10 14 5 1 5 7 3 2 3 6 11
5
Kruskalův algoritmus:
Opakuj následující kroky, dokud je to možné: Z hran grafu G, které dosud nebyly vybrány, vyber nejkratší hranu, která nevytváří žádnou kružnici s hranami již vybranými. Množina vybraných hran je kostrou grafu G, která je navíc minimální 6 10 3 10 1 4 5 7 12 1 6 7 10 9 13 5 10 10 9 8 7 9 10 14 5 1 5 7 3 2 3 6 11
6
Kruskalův algoritmus:
Opakuj následující kroky, dokud je to možné: Z hran grafu G, které dosud nebyly vybrány, vyber nejkratší hranu, která nevytváří žádnou kružnici s hranami již vybranými. Množina vybraných hran je kostrou grafu G, která je navíc minimální 6 10 3 10 1 4 5 7 12 1 6 7 10 9 13 5 10 10 9 8 7 9 10 14 5 1 5 7 3 2 3 6 11
7
Kruskalův algoritmus:
Opakuj následující kroky, dokud je to možné: Z hran grafu G, které dosud nebyly vybrány, vyber nejkratší hranu, která nevytváří žádnou kružnici s hranami již vybranými. Množina vybraných hran je kostrou grafu G, která je navíc minimální 6 10 3 10 1 4 5 7 12 1 6 7 10 9 13 5 10 10 9 8 7 9 10 14 5 1 5 7 3 2 3 6 11
8
Kruskalův algoritmus:
Opakuj následující kroky, dokud je to možné: Z hran grafu G, které dosud nebyly vybrány, vyber nejkratší hranu, která nevytváří žádnou kružnici s hranami již vybranými. Množina vybraných hran je kostrou grafu G, která je navíc minimální 6 10 3 10 1 4 5 7 12 1 6 7 10 9 13 5 10 10 9 8 7 9 10 14 5 1 5 7 3 2 3 6 11
9
Kruskalův algoritmus:
Opakuj následující kroky, dokud je to možné: Z hran grafu G, které dosud nebyly vybrány, vyber nejkratší hranu, která nevytváří žádnou kružnici s hranami již vybranými. Množina vybraných hran je kostrou grafu G, která je navíc minimální 6 10 3 10 1 4 5 7 12 1 6 7 10 9 13 5 10 10 9 8 7 9 10 14 5 1 5 7 3 2 3 6 11
10
Kruskalův algoritmus:
Opakuj následující kroky, dokud je to možné: Z hran grafu G, které dosud nebyly vybrány, vyber nejkratší hranu, která nevytváří žádnou kružnici s hranami již vybranými. Množina vybraných hran je kostrou grafu G, která je navíc minimální 6 10 3 10 1 4 5 7 12 1 6 7 10 9 13 5 10 10 9 8 7 9 10 14 5 1 5 7 3 2 3 6 11
11
Kruskalův algoritmus:
Opakuj následující kroky, dokud je to možné: Z hran grafu G, které dosud nebyly vybrány, vyber nejkratší hranu, která nevytváří žádnou kružnici s hranami již vybranými. Množina vybraných hran je kostrou grafu G, která je navíc minimální 6 10 3 10 1 4 5 7 12 1 6 7 10 9 13 5 10 10 9 8 7 9 10 14 5 1 5 7 3 2 3 6 11
12
Kruskalův algoritmus:
Opakuj následující kroky, dokud je to možné: Z hran grafu G, které dosud nebyly vybrány, vyber nejkratší hranu, která nevytváří žádnou kružnici s hranami již vybranými. Množina vybraných hran je kostrou grafu G, která je navíc minimální 6 10 3 10 1 4 5 7 12 1 6 7 10 9 13 5 10 10 9 8 7 9 10 14 5 1 5 7 3 2 3 6 11
13
Kruskalův algoritmus:
Opakuj následující kroky, dokud je to možné: Z hran grafu G, které dosud nebyly vybrány, vyber nejkratší hranu, která nevytváří žádnou kružnici s hranami již vybranými. Množina vybraných hran je kostrou grafu G, která je navíc minimální 6 10 3 10 1 4 5 7 12 1 6 7 10 9 13 5 10 10 9 8 7 9 10 14 5 1 5 7 3 2 3 6 11
14
Kruskalův algoritmus:
Opakuj následující kroky, dokud je to možné: Z hran grafu G, které dosud nebyly vybrány, vyber nejkratší hranu, která nevytváří žádnou kružnici s hranami již vybranými. Množina vybraných hran je kostrou grafu G, která je navíc minimální 6 10 3 10 1 4 5 7 12 1 6 7 10 9 13 5 10 10 9 8 7 9 10 14 5 1 5 7 3 2 3 6 11
15
Kruskalův algoritmus:
Opakuj následující kroky, dokud je to možné: Z hran grafu G, které dosud nebyly vybrány, vyber nejkratší hranu, která nevytváří žádnou kružnici s hranami již vybranými. Množina vybraných hran je kostrou grafu G, která je navíc minimální 6 10 3 10 1 4 5 7 12 1 6 7 10 9 13 5 10 10 9 8 7 9 10 14 5 1 5 7 3 2 3 6 11
16
Kruskalův algoritmus:
Opakuj následující kroky, dokud je to možné: Z hran grafu G, které dosud nebyly vybrány, vyber nejkratší hranu, která nevytváří žádnou kružnici s hranami již vybranými. Množina vybraných hran je kostrou grafu G, která je navíc minimální 6 3 1 4 5 7 12 1 6 7 10 9 13 5 8 7 10 14 5 1 5 7 3 2 3 6 11
17
Nalezněte nejkratší cestu v grafu z bodu
Příklad 2 Nalezněte nejkratší cestu v grafu z bodu 1 do bodu 14 Dijkstrovým algoritmem 6 10 3 10 1 4 5 7 12 1 6 7 10 9 13 5 10 10 9 8 7 9 10 14 5 1 5 7 3 2 3 6 11
18
Dijkstrův algoritmus Výchozí vrchol označíme hodnotou 0 a ostatní
vrcholy označíme hodnotou 6 10 3 10 1 4 5 7 12 1 6 7 10 9 13 5 10 10 9 8 7 9 10 14 5 1 5 7 3 2 3 6 11
19
Z vrcholu 1 se můžeme dostat do vrcholů 2 a 4
a to: do vrcholu 2 za 5 jednotek a do vrcholu 4 za 6 jednotek. Zapíšeme to do grafu. 6 6 10 3 10 1 4 5 7 12 1 6 7 10 9 13 5 10 10 9 8 7 9 10 14 5 1 5 7 3 2 3 6 11 5
20
Nyní vezmeme nejmenší vrchol, který jsme ještě neměli a změníme vzdálenosti do jeho sousedů
6 6 10 3 10 1 4 5 7 12 1 6 7 10 9 13 5 10 10 9 8 7 9 10 14 5 1 5 7 3 2 3 6 11 5 10
21
Vezmeme další nejmenší vrchol, který jsme ještě neměli a změníme vzdálenosti do jeho sousedů
6 16 6 10 3 10 1 4 5 7 12 1 6 7 10 9 13 5 10 10 9 8 7 9 10 14 5 1 5 7 3 2 3 6 11 5 10
22
Vezmeme další nejmenší vrchol, který jsme ještě neměli a změníme vzdálenosti do jeho sousedů
6 16 6 10 3 10 1 4 5 7 12 1 6 7 10 9 13 5 10 10 9 8 7 9 10 14 5 1 5 7 3 2 3 6 11 5 10 17
23
Vezmeme další nejmenší vrchol, který jsme ještě neměli a změníme vzdálenosti do jeho sousedů
6 16 19 6 10 3 10 1 4 5 7 12 1 6 7 10 9 13 5 10 10 9 8 7 9 10 14 5 1 5 7 3 2 3 6 11 5 10 17
24
Vezmeme další nejmenší vrchol, který jsme ještě neměli a změníme vzdálenosti do jeho sousedů
6 16 19 6 10 3 10 1 4 5 7 12 1 6 7 10 9 13 5 10 10 9 8 7 9 10 14 5 1 5 7 3 2 3 6 11 5 10 17 20
25
Vezmeme další nejmenší vrchol, který jsme ještě neměli a změníme vzdálenosti do jeho sousedů
6 16 19 3 29 6 10 10 1 4 5 7 12 1 6 20 7 10 9 13 26 5 10 10 9 8 7 9 10 14 5 1 5 7 3 2 3 6 11 5 10 17 20
26
Vezmeme další nejmenší vrchol, který jsme ještě neměli a změníme vzdálenosti do jeho sousedů. Pokud máme 2 nejmenší vrcholy – vybereme libovolný z nich 6 16 19 26 6 10 3 10 1 4 5 7 12 1 6 20 30 7 10 9 13 26 5 10 10 9 8 7 29 9 10 14 5 1 5 7 3 2 3 6 11 5 10 17 20
27
Další nejnižší hodnota je hodnota 21 v cílovém vrcholu, algoritmus tedy můžeme ukončit.
6 16 19 26 6 10 3 10 1 4 5 7 12 1 6 20 30 7 10 9 13 26 5 10 10 9 8 7 25 21 9 10 14 5 1 5 7 3 2 3 6 11 5 10 17 20
28
Nalezení nejkratší cesty:
Postupujeme od cíle a hledáme cestu tím, že od hodnoty posledního vrcholu odčítáme vzdálenosti mezi ním a jeho sousedy. Tam kde se výsledek rovná hodnotě sousedního vrcholu vede nejkratší cesta 6 16 19 26 6 10 3 10 1 4 5 7 12 1 6 20 30 7 10 9 13 26 5 10 10 9 8 7 25 21 9 10 14 5 1 5 7 3 2 3 6 11 5 10 17 20
29
Nalezení nejkratší cesty:
21 – 9 = 25 21 – 1 = 20 6 16 19 26 6 10 3 10 1 4 5 7 12 1 6 20 30 7 10 9 13 26 5 10 10 9 8 7 25 21 9 10 14 5 1 5 7 3 2 3 6 11 5 10 17 20
30
Nalezení nejkratší cesty:
20 – 5 = 25 20 – 3 = 17 6 16 19 26 6 10 3 10 1 4 5 7 12 1 6 20 30 7 10 9 13 26 5 10 10 9 8 7 25 21 9 10 14 5 1 5 7 3 2 3 6 11 5 10 17 20
31
Nalezení nejkratší cesty:
17 –10 = 16 17 – 7 = 10 6 16 19 26 6 10 3 10 1 4 5 7 12 1 6 20 30 7 10 9 13 26 5 10 10 9 8 7 25 21 9 10 14 5 1 5 7 3 2 3 6 11 5 10 17 20
32
Nalezení nejkratší cesty:
10 – 10 = 6 10 – 5 = 5 6 16 19 26 6 10 3 10 1 4 5 7 12 1 6 20 30 7 10 9 13 26 5 10 10 9 8 7 25 21 9 10 14 5 1 5 7 3 2 3 6 11 5 10 17 20
33
Nalezli jsme nejkratší cestu v grafu z vrcholu 1
Nalezení nejkratší cesty: 5 – 5 = 0 Nalezli jsme nejkratší cestu v grafu z vrcholu 1 do vrcholu 14 6 16 19 26 6 10 3 10 1 4 5 7 12 1 6 20 30 7 10 9 13 26 5 10 10 9 8 7 25 21 9 10 14 5 1 5 7 3 2 3 6 11 5 10 17 20
34
Obarvěte následující graf metodou nezávislých množin
Příklad 3 Obarvěte následující graf metodou nezávislých množin 1 2 3 4 5 6 7 8 9 10
35
Metoda nezávislých množin:
do grafu zapíšeme stupně jednotlivých vrcholů vrcholy můžeme seřadit: a) náhodně b) seřadit vzestupně podle stupně c) volíme vrchol s aktuálně nejmenším stupněm 2 3 4 4 3 2 1 2 3 4 5 6 2 7 4 4 8 9 10 4
36
Metoda nezávislých množin:
Zvolíme řazení vrcholů možností : b) seřadit vzestupně podle stupně tedy: 2 3 4 4 3 2 1 2 3 4 5 6 2 7 4 4 8 9 10 4
37
Metoda nezávislých množin:
Zvolíme řazení vrcholů možností : b) seřadit vzestupně podle stupně Mějme barvy: 2 3 4 4 3 2 1 2 3 4 5 6 2 7 4 4 8 9 10 4
38
1 6 7 2 5 3 4 8 9 10 Hledáme první nezávislou množinu.
Do první nezávislé množiny začleníme vrchol 1. 2 3 4 4 3 2 1 2 3 4 5 6 2 7 4 4 8 9 10 4
39
Vrcholy 2 a 8 nemůžeme přiřadit do první nezávislé množiny
Vrcholy 2 a 8 nemůžeme přiřadit do první nezávislé množiny. Další vrchol, který lze přiřadit do první nezávislé množiny je vrchol 6. 2 3 4 4 3 2 1 2 3 4 5 6 2 7 4 4 8 9 10 4
40
Vrcholy 5 a 10 nemůžeme přiřadit do první nezávislé množiny
Vrcholy 5 a 10 nemůžeme přiřadit do první nezávislé množiny. Další vrchol, který lze přiřadit do první nezávislé množiny je vrchol 7. 2 3 4 4 3 2 1 2 3 4 5 6 2 7 4 4 8 9 10 4
41
Vrcholy 3 a 4 nemůžeme přiřadit do první nezávislé množiny
Vrcholy 3 a 4 nemůžeme přiřadit do první nezávislé množiny. Další vrchol, který lze přiřadit do první nezávislé množiny je vrchol 9. 2 3 4 4 3 2 1 2 3 4 5 6 2 7 4 4 8 9 10 4
42
Dostali jsem první nezávislou množinu, kterou nyní můžeme obarvit první barvou a to barvou modrou.
2 3 4 4 3 2 1 2 3 4 5 6 2 7 4 4 8 9 10 4
43
2 5 3 4 8 10 Nyní hledáme druhou nezávislou množinu.
Do druhé nezávislé množiny začleníme vrchol 2. 2 3 4 4 3 2 1 2 3 4 5 6 2 7 4 4 8 9 10 4
44
Vrcholy 3 a 8 nemůžeme přiřadit do druhé nezávislé množiny.
2 3 4 4 3 2 1 2 3 4 5 6 2 7 4 4 8 9 10 4
45
Další vrchol, který lze přiřadit do druhé nezávislé množiny je vrchol 5. Vrcholy 4 a 10 nemůžeme přiřadit do druhé nezávislé množiny. 2 3 4 4 3 2 1 2 3 4 5 6 2 7 4 4 8 9 10 4
46
Dostali jsem druhou nezávislou množinu, kterou nyní můžeme obarvit druhou barvou a to barvou červenou. 2 3 4 4 3 2 1 2 3 4 5 6 2 7 4 4 8 9 10 4
47
Nyní hledáme třetí nezávislou množinu.
Do třetí nezávislé množiny začleníme vrchol 3. Vrchol 8 nemůžeme přiřadit do třetí nezávislé množiny. 2 3 4 4 3 2 1 2 3 4 5 6 2 7 4 4 8 9 10 4
48
Do třetí nezávislé množiny začleníme vrchol 4
Do třetí nezávislé množiny začleníme vrchol 4. Vrchol 10 nemůžeme přiřadit do třetí nezávislé množiny. 2 3 4 4 3 2 1 2 3 4 5 6 2 7 4 4 8 9 10 4
49
Dostali jsem třetí nezávislou množinu, kterou nyní můžeme obarvit třetí barvou a to barvou černou.
2 3 4 4 3 2 1 2 3 4 5 6 2 7 4 4 8 9 10 4
50
8 10 Nyní hledáme čtvrtou nezávislou množinu.
Do čtvrté nezávislé množiny začleníme vrchol 8. 8 10 2 3 4 4 3 2 1 2 3 4 5 6 2 7 4 4 8 9 10 4
51
Do čtvrté nezávislé množiny začleníme vrchol 10.
8 10 2 3 4 4 3 2 1 2 3 4 5 6 2 7 4 4 8 9 10 4
52
Nyní máme graf obarvený.
Dostali jsem čtvrtou nezávislou množinu, kterou nyní můžeme obarvit čtvrtou barvou a to barvou zelenou. Nyní máme graf obarvený. 8 10 2 3 4 4 3 2 1 2 3 4 5 6 2 7 4 4 8 9 10 4
53
K následujícímu grafu nalezněte duální graf
Příklad 4 K následujícímu grafu nalezněte duální graf 1 2 3 4 5 6 7 8 9 10
54
Duální graf je takový graf, jehož vrcholy odpovídají stěnám původního grafu a hrany vedou mezi každou dvojicí stěn, které sdílejí společnou hranu. 1 2 3 4 5 6 7 8 9 10
55
Duální graf
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.