Procvičování: Grafy

Pokud jsi ještě nečetl kapitolu Grafy, teď je vhodný čas, jinak budou cvičení níže zbytečně těžká.

Většina příkladů v této kapitole obsahuje i řešení (zobrazí se ti po kliknutí). Více než v jiných kapitolách a cvičeních i zde platí, že prezentované správné výsledky nemusí být jediné správné. Pokud vymyslíš jiné (správné) řešení, tím lépe pro tebe.

Základní pojmy: cesta, podgraf, souvislost, kostra

1) Spočítej v následujících grafech délku všech nejkratších cest mezi vrcholy.

Graf s vrcholy A, B, C, D, E, F a hranami AF, BE, CE, CF, DE, EF
ABCDEF
A032321
B302212
C220211
D322012
E211101
F121210
Ohodnocený graf s vrcholy A, B, C, D, E, F a hranami AF (2), BE (1), CE (1), CF (5), DE (4), EF (3)
ABCDEF
A066952
B606514
C620514
D955047
E511403
F244730
Ohodnocený graf s vrcholy A, B, C, D, E, F a hranami AB (3), AC (3), AE (21), AF (1), BC (5), BD (1), BE (12), BF (8), CE (4), CF (7), DF (2), EF (18)
ABCDEF
A033371
B305193
C350644
D3160102
E7941008
F144280

2) Vyber v následujích grafech podgraf, který splňuje dané podmínky.

Souvislý podgraf o alespoň třech vrcholech.
Podgraf o čtyřech vrcholech s hranami tak, aby mezi dvěma libovolnými vrcholy vedla cesta (podmínka souvislosti).
Podgraf s alespoň jednou hranou takový, že obsahuje 3 vrcholy, mezi kterými nevede žádná cesta.
Podgraf obsahuje hranu AF a mezi jeho vrcholy A, E, C nevede žádná cesta.
Podgraf, který obsahuje právě ty vrcholy, které leží na nejkratší cestě mezi C a F se všemi hranami.
Nejkratší cesta z F do C vede přes vrcholy A, B, E. Vynechali jsme tedy vrchol D se všemi hranami, které do něj vedou.

3) Odpověz na otázky ke kostrám následujících grafů.

Je vyznačený podgraf minimální kostrou grafu?
Vyznačený podgraf není kostrou, protože mezi vrcholy A-B-E-C-F existuje cyklus, takže můžeme jednu z hran odebrat bez toho, aniž by graf přestal být souvislý. Odebráním libovolné z těchto hran dostaneme kostru.
Má graf níže kostru? Pokud ano, vyznač ji. Pokud ne, dokáže přidáním nebo odebráním hrany nebo vrcholu vytvořit graf, který má minimální kostru?
Původní graf neměl kostru, přidáním hrany mezi DE jsme vytvořili graf, který kostru má.
Je vyznačená kostra minimální kostrou?
Není. Kostra obsahující hranu DF místo hrany AB je menší (součet hodnot hran je nižší).

Neohodnocené a ohodnocené grafy

1) Převeď následující neohodnocené grafy na ohodnocené tak, aby podmínky u každého grafu byly zachovány.

Všechny nejkratší cesty v novém ohodnoceném grafu musí vést přes stejné vrcholy ve stejném pořadí.
Stačí všem hranám přiřadit stejnou cenu.
Ohodnoť následující graf tak, aby hrana EF byla nejdražší v celém grafu a nejkratší cesta z D do F vedla přes A.
Je potřeba dát si pozor, aby hrany CE a EF nebyly příliš levné.
Ohodnoť následující graf tak, aby hrana BD byla nejdražší v celém grafu a tato cena odpovídala součtu ohodnocení hran BE a CD. Nejkratší cesta z C do A musí vést přes vrchol F.
Hraně BD jsme určili cenu 66, hranám BE a CD jsme přiřadili polovinu.

2) Zatím jsme převáděli grafy z neohodnocených na ohodnocené. Převeď následující ohodnocené grafy na neohodnocené tak, aby délka nejkratších cest zůstala zachována (např. pokud je cesta mezi vrcholy X a Y dvakrát tak dlouhá jako cesta mezi vrcholy V a W, pak v neohodnoceném grafu musí být tento vztah zachován).

Nápověda: Možná ti pomůže, když do nových (neohodnocených) grafů přidáš nějaké vrcholy nebo hrany, případně když nějaké odebereš.

Všechny hrany měly stejné ohodnocení, takže při délce cest rozhodovala struktura grafu. Zapomeneme na ohodnocení a máme odpovídající neohodnocený graf.
Univerzálním řešením je přidat nové pomocné vrcholy, které odpovídajícím způsobem prodlouží dané cesty.
V tomto případě jsme si dovolili dvě hrany smazat a vrcholem jsme nafoukli pouze hranu mezi BF. Alternativně jsme mohli zvolit stejný přístup jako v předchozím grafu.

Vyhledej si

1) S pomocí online map vytvoř graf v okolí školy nebo domova s vyznačenou cestou na zastávku městské hromadné dopravy nebo obchodu.