CW – 05 TEORIE ROZHODOVACÍCH PROCESŮ Ústav technologie, mechanizace a řízení staveb Fakulta stavební VUT v Brně CW – 05 TEORIE ROZHODOVACÍCH PROCESŮ 16. PŘEDNÁŠKA Teorie grafů © Ing. Václav Rada, CSc. Březen 2013
další ….... POKRAČOVÁNÍ informací --- z oblasti TEORIE GRAFŮ ☺ CW05 POKRAČOVÁNÍ další ….... POKRAČOVÁNÍ informací --- z oblasti TEORIE GRAFŮ ☺ Březen 2013
CW05 Teorie grafů - pojmy Základní pojmy - přehled orientovaný a neorientovaný graf uzel --- hrana (orientovaná, neorientovaná) sled hran – sled uzlů cesta --- cyklus – uzavřená cesta strom tok (maximální – minimální) …… Březen 2013
CW05 Teorie grafů - Algoritmus čínského pošťáka Příklad 0 - klasika Poštovní doručovatel musí při roznášce pošty alespoň jedenkrát projít každou ulicí svého rajónu. Znamená to, aby postupoval tak, že, ujde co nejméně kilometrů ………. POZN.: Problému „čínského listonoše“ a „obchod-ního cestujícího“ je věnován podrobný speciální výklad ! Březen 2011
CW05 Teorie grafů – NÁSTIN POSTUPU Zjistit, zda jsou všechny uzly sudého stupně. Není-li tomu tak, musíme přidat hrany, aby-chom tuto podmínku splnili a to provedeme tak, že spojíme uzly s lichým stupněm nejkratší cestou. Provedeme kontrolu, zda cesta pošťáka je opravdu nejkratší. Březen 2011
CW05 Teorie grafů – Jiný příklad … Příklad 1 Máme město, které se rozkládá na dvou os-trovech a dvou březích, které jsou spojeny sedmi mosty. Úkolem je určit, zda je možno projít přes každý ze sedmi mostů přesně pouze jednou, aniž bychom přeplavali řeku (viz obrázek)? Březen 2011
Teorie grafů – město Krílovec (Koenigsberg) … CW05 Teorie grafů – město Krílovec (Koenigsberg) … 2 ostrovy + 2 nábřeží + 7 mostů …… Březen 2013
. Sedm mostů a dva břehy daného města a odpovídající graf CW05 Teorie grafů . Sedm mostů a dva břehy daného města a odpovídající graf … projděte si to!!! Březen 2009
CW05 Teorie grafů Teoréma: Není možno projít přes každý most právě jednou bez přeplavání řeky, protože všechny uzly mají lichý stupeň. Březen 2013
Příklad 2 Řešíme dřívější úlohu čínského pošťáka pro graf na obrázku. CW05 Teorie grafů – Další jiný příklad … Příklad 2 Řešíme dřívější úlohu čínského pošťáka pro graf na obrázku. 4 3 a f 2 5 e 8 d b c Březen 2011
Překresleno z hlediska hran = vyznačení vztahů (vazeb). CW05 Teorie grafů 5 8 7 e d c b a f 6 Překresleno z hlediska hran = vyznačení vztahů (vazeb). Pro 6 uzlů je to 6-ti úhelnik…. Březen 2013
CW05 Teorie grafů - Algoritmus čínského pošťáka Řešení: Hrany tvořící nejlevnější perfektní párování jsou označeny tučně – viz následující obr. Stupně všech jeho uzlů jsou sudé, nečiní tedy potíže nalézt v tomto grafu uzavřený Eulerovský tah. Březen 2013
Hrany tvořící nejlevnější perfektní párování – tučné hrany CW05 Teorie grafů 5 8 7 e d c b a f 6 Hrany tvořící nejlevnější perfektní párování – tučné hrany Březen 2011
Hodnoty hran pro jednotlivé (přímé) cesty CW05 Teorie grafů Hodnoty hran pro jednotlivé (přímé) cesty a-b = 5 a-c = 10 , 9 , 7 b-c = 4 , 5 a-d = 9 , 7 , 14 b-d = 4 c-d = 4 , 5 a-e = 6 b-e = 12 , 7 , 11 c-e = 13 , 7 , 12 a-f = 6 nebo 7 b-f = 9 , 7 , 14 c-f = 8 d-e = 6 d-f = 6 nebo 7 e-f = 7 Březen 2011
CW05 Teorie grafů Úloha hledání maxima toku Základem je orientovaný graf, tzv. digraf G = V , E , kde V je množina uzlů a platí, že V = 1 , 2 , 3 , … , n (přitom……… Březen 2013
CW05 Teorie grafů přitom V = 1 označuje zdroj V = n označuje místo určení (konec) toku V = 2, 3, 4, … ostatní uzly označují, kudy tok prochází) E je množina orientovaných hran (např. produktovod, el. vedení, silnici, apod.) majících určitou přepravní kapacitu kij. Březen 2010
CW05 Teorie grafů Celý produkt je vždy hranou přepraven od jednoho uzlu k druhému – nic nepřibude a nic se neztrácí. Pokud by se nejednalo o digraf, který má hrany orientovány pouze jediným směrem, musely by být obousměrné hrany nahrazeny proti sobě jdoucími dvěma (jednosměrně) orientovanými hranami. Březen 2009
CW05 Teorie grafů Přepravní problém Cíl: Splnit požadavky odběratelů a nepřekročit kapacity dodavatelů při minimálních nákla-dech spojených s tokem. Směrodatným je tedy i-tý uzel a jeho přepravní (transitní) kapacita. Březen 2013
CW05 Teorie grafů Pro uzel i: ai > 0 dodavatel (zdroj), ai < 0 odběratel (místo určení, koncový uzel), ai = 0 průběžný uzel (překladiště), kij – kapacita hrany (i,j), cij – náklady spojené s jednotkou toku hranou (i,j) bude….. Březen 2013
bude nezbytné minimalizovat hodnotu sumy: CW05 Teorie grafů bude nezbytné minimalizovat hodnotu sumy: při … Březen 2013
CW05 Teorie grafů při splnění podmínek: odtok přítok při Březen 2013
Maximální tok sítí znamená hledat maximum pro vztah: CW05 Teorie grafů Maximální tok sítí znamená hledat maximum pro vztah: Připomenutí – existují vztahy pro více-produktové toky a pro zapojení ekono-mických (nákladových) ukazatelů. Březen 2013
CW05 Teorie grafů Za podmínky, že: pro kde kij – kapacita (maximální propustnost) hrany (i, j), uzel 1 – zdroj, uzel n – místo určení. Březen 2013
Omezení – kapacita uzlu: má vztah: CW05 Teorie grafů Omezení – kapacita uzlu: má vztah: kij – kapacita (maximální propustnost) hrany (i, j), dj – maximální možný tok uzlem j. Březen 2013
CW05 Teorie grafů Úloha hledání minimální kostry grafu Jedná se o úlohu, kde je graf neorientovaný, ale každá hrana je ohodnocena (například náklady na její zřízení v reálu). Je potřeba najít minimální počet hran, které graf musí mít. Vychází se z grafu, který má plný počet hran, čili spojení mezi jednotlivými uzly. Březen 2013
CW05 Teorie grafů Minimalizace proběhne na základě vypuštění určitých hran, jejichž úlohu převezmou jiné hrany mající dostatečnou kapacitu. Přitom bývá ještě omezení, že je omezen ná-růst ceny i prodloužení cesty a času potřeb-ného k projetí cesty. Březen 2013
Pro graf bude KOSTRA grafu při CW05 Teorie grafů Pro graf bude KOSTRA grafu při Minimální kostra grafu – kostra grafu s mini-málním součtem ohodnocení hran…… Březen 2013
ohodnocení hran: Pokračuje se převodem na PŘEPRAVNÍ PROBLEM CW05 Teorie grafů ohodnocení hran: 1 hrana (i,j) bude vybrána 0 jinak Pokračuje se převodem na PŘEPRAVNÍ PROBLEM tok hranou (i,j) se bude ….. Březen 2013
se bude minimalizovat: CW05 Teorie grafů se bude minimalizovat: s podmínkami: Březen 2013
CW05 Teorie grafů pak bude ….. tok hranou (i,j) Březen 2013
limitovaný počet připojení. CW05 Teorie grafů Modifikace úlohy limitovaný počet připojení. di – počet hran, se kterými může být uzel i maximálně spojen Znamená hledat řešení pro vztah: Březen 2013
CW05 Teorie grafů Okružní úlohy Řeší se problémy spojené s rozvozem a svo-zem předmětů, materiálů, zboží atd. Uzly v grafu představují místa, kam nebo od-kud se vozí a hrany jsou spojnice (komuni-kace, silnice, atd.). Typickou úlohou je úloha obchodního cestu-jícího (Traveling salesman problem). Březen 2013
CW05 Teorie grafů Úlohou je navštívit všechny uzly pouze jed-nou a cesta přitom má být optimální čili nejkratší. Březen 2013
Řešené úlohy: HAMILTONŮV CYKLUS … úloha ob-chodního cestujícího CW05 Teorie grafů Řešené úlohy: HAMILTONŮV CYKLUS … úloha ob-chodního cestujícího EULERŮV CYKLUS … úloha čínského listonoše EULERŮV TAH FLEURYHO ALGORITMUS Březen 2013
Klasifikace úloh: 1. Znalost zákazníků CW05 Teorie grafů Klasifikace úloh: 1. Znalost zákazníků STATICKÉ ÚLOHY – všichni zákazníci jsou předem známí DYNAMICKÉ ÚLOHY – po výjezdu vozidel na trasy přicházejí další požadavky Březen 2013
2. Velikost požadavků a kapacita vozidel CW05 Teorie grafů 2. Velikost požadavků a kapacita vozidel OKRUŽNÍ ÚLOHY – neuvažujeme velikost požadavků ROZVOZNÍ ÚLOHY – zadány velikosti poža-davků, kapacita vozidla je důležitá Březen 2013
3. Počet a umístění vozidel CW05 Teorie grafů 3. Počet a umístění vozidel – jedno výchozí místo – několik výchozích míst Březen 2013
4. Cíl optimalizace - nejkratší cesta CW05 Teorie grafů 4. Cíl optimalizace - nejkratší cesta - průchod každým bodem pouze jednou -- atd……. Březen 2013
CW05 Teorie grafů Hamiltonovské cesty a kružnice Hamiltonovská cesta v grafu G je cesta, kte-rá obsahuje každý uzel grafu G právě jednou. Hamiltonovská kružnice (cyklus) v grafu G je kružnice (cyklus), která prochází každým uzlem grafu, u které je počáteční a koncový uzel totožný. Březen 2009
CW05 Teorie grafů Typy úloh: Najít Hamiltonovskou kružnici (cyklus) – úloha obchodního cestujícího. Najít Hamiltonovskou cestu (mezi libovol-nými dvěma uzly). ………….. Březen 2010
CW05 Teorie grafů Najít Hamiltonovskou cestu, jejíž krajní uzel je fixován. Najít Hamiltonovskou cestu, jejíž oba krajní uzly jsou fixovány. Pro řešení všech těchto typů úloh neexistuje žádný efektivní algoritmus. Březen 2010
CW05 Teorie grafů Metoda minimální cesty - Orientovaný graf Pro určení minimální cesty v orientovaném ohodnoceném grafu se využívá Bellmanův princip optimality – pro následující obrázek: je-li cesta z A do C optimální, pak na této cestě musí ležet i cesta z B do C. Březen 2009
Graf podmínky Bellmanova principu optimality CW05 Teorie grafů Graf podmínky Bellmanova principu optimality Březen 2009
CW05 Teorie grafů Podmínky pro graf, aby mohl být použít Bellmanův princip optimality: všechny hrany grafu jsou ohodnoceny tij, v grafu nesmí být cykly i < j (hrana musí vystupovat z uzlu i s číslem menším a vstu-povat do uzlu j s číslem větším), nesmí být rovnoběžné hrany – odstraníme pomocí fiktivních hran s nulovým ohod-nocením. Březen 2009
Podmínka užití Bellmanova principu optimality CW05 Teorie grafů Podmínka užití Bellmanova principu optimality Tvorba fiktivního prvku Březen 2009
CW05 Teorie grafů Postup určování cesty v orientovaném grafu Při hledání minimální (maximální) cesty v ohodnoceném orientovaném grafu postu-pujeme od koncového uzlu k počátečnímu uzlu. Březen 2009
CW05 Teorie grafů Ohodnocení v koncovém uzlu (Tn = 0) polo-žíme rovno nule. Pak postupujeme proti smě-ru orientace hran k počátečnímu uzlu a u kaž-dého uzlu si pamatujeme minimální (maximál-ní) hodnotu součtu ohodnocení hran předcho-zí části cesty a směr, odkud jsme do daného uzlu došli. Hodnota v počátečním uzlu dává celkovou nejkratší (nejdelší) cestu v grafu. Březen 2009
Nejkratší cesta Nejdelší cesta Ti = min ( Tj + tij ) Tn = 0 CW05 Teorie grafů Nejkratší cesta Nejdelší cesta Ti = min ( Tj + tij ) Tn = 0 Ti = max ( Tj + tij ) Březen 2009
CW05 Teorie grafů Nejkratší cesta Nejkratší cesta vede uzly: 1 – 2 – 3 – 4 – 6 Délka cesty: 3 + 1 + 2 + 4 = 10 jednotek Březen 2009
Příklad orientovaného grafu – nejkratší cesta CW05 Teorie grafů Příklad orientovaného grafu – nejkratší cesta Březen 2009
CW05 Teorie grafů Nejdelší cesta Nejdelší cesta vede uzly: 1 – 3 – 5 – 6 Délka cesty: 5 + 7 + 8 = 20 jednotek Březen 2009
Příklad orientovaného grafu – nejdelší cesta CW05 Teorie grafů Příklad orientovaného grafu – nejdelší cesta Březen 2009
CW05 Teorie grafů Neorientovaný graf - Postup hle-dání minimální cesty v neorien-tovaném grafu Graf musí být ohodnocený, neoriento-vaný, bez číslování uzlů. Počáteční uzel je označen číslem nula. Březen 2009
CW05 Teorie grafů V každém dalším kroku ohodnotíme neohodnocené uzly, které jsou spojeny hranami s již ohodnocenými uzly a to tak, že je hodnotíme podle vztahu: Březen 2009
CW05 Teorie grafů kde je: U( ti ) – hodnota ohodnoce- ného uzlu, tij – hodnota hrany mezi ohodnoceným [ U(ti) ] a neohodnoceným [ U(tj) ] uzlem. Hodnota koncového uzlu dává hodnotu minimální cesty. Březen 2009
CW05 Teorie grafů Hrany, které leží na minimální cestě, určíme podle vztahu: tij = [U(tj) - U(ti)] směrem od posledního uzlu k prvnímu. Platí, že rozdíl hodnot sousedících uzlů musí být hodnota hrany. Březen 2009
Příklad neorientovaného grafu CW05 Teorie grafů Příklad neorientovaného grafu Březen 2009
Postup ohodnocování uzlů CW05 Teorie grafů Postup ohodnocování uzlů Březen 2010
CW05 Teorie grafů Matematický zápis grafů Matematický tvar je potřeba při zadávání grafu do algoritmů a metod řešených s po-mocí výpočetní techniky. Často používaným tvarem je uzlová inci-denční matice A s prvky nabývajícími násle-dujících hodnot: Březen 2009
CW05 Teorie grafů aij = 0 … pokud uzel (vrchol) uj není uzlem hrany hi (ei) aij = 1 … existuje-li mezi uzly ui a uj hrana aij = + ki … existuje-li hrana hi s počá-tečním uzlem uj a s ohodnocením ki aij = - ki … existuje-li hrana hi s koncovým uzlem uj a s ohodnocením ki . Březen 2011
CW05 Teorie grafů 3 2 1 4 6 5 7 8 Základní tvar stromu Březen 2009
CW05 Teorie grafů Matice: 0 1 1 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 A = 0 1 0 0 1 1 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 1 0 Březen 2009
Graf s ohodnocenými hranami CW05 Teorie grafů 8 4 5 7 3 1 2 6 8,5 5,6 6,2 5,4 6,4 3,9 3,6 Graf s ohodnocenými hranami Březen 2009
CW05 Teorie grafů Předcházející graf má matici: 6,2 0 -6,2 0 0 0 0 0 0 5,4 -5,4 1 0 0 0 0 0 0 5,6 -5,6 0 0 0 0 A = 0 0 0 0 -3,6 -3,6 0 0 0 0 0 0 -3,9 0 3,9 0 0 0 0 -6,4 6,4 0 0 0 0 0 0 8,5 0 0 0 -8,5 Březen 2009
CW05 Teorie grafů Nejkratší cesta v grafu Je další z klasických dopravních problémů – je to vlastně řešení problému najít na mapě nejkratší cestu místa A o místa B. Zde je řešení snadnější, protože mapa posky-tuje určitá vodítka v podobě zakreslených cest. Něco takového bohužel v hranově ohodnoce-ném grafu není k dispozici. Březen 2009
CW05 Teorie grafů Postup hledání cesty z uzlu r do uzlu s, je v tomto případě založen na využití určité for-my trojúhelníkové nerovnosti. Při řešení je doporučeno využít metodu pro-hledávání grafu do šířky, takže v každém kro-ku jsou vypočítávány vzdálenosti všech z vý-chozího uzlu dostupných (ostatních) uzlů při přidání nové hrany, která musí vytvořit kratší cestu, aby se změnilo ohodnocení uzlu. Březen 2011
CW05 Teorie grafů Algoritmus řešení má tyto kroky: 1. krok – vzdálenost výchozího uzlu vr se položí rovna 0 – touto hodnotou se tak ohod-notí výchozí uzel – a položí se J = Ø 2. krok – najdou se všichni následníci již oz-načených uzlů a jsou zařazeni do množiny J Březen 2011
CW05 Teorie grafů 3. krok – vypočtou se délky cest do těchto uzlů, tj. existuje-li hrana z uzlu i do uzlu j Є J a vypočte se součet pro vj = vi + cij 4. krok – označí se uzel k, pro který platí, že: k: vk = min vj , pro j Є J Březen 2011
CW05 Teorie grafů 5. krok – algoritmus může skončit, pokud již byly označeny všechny uzly s hodnotami vi 6. krok – položí se J = Ø a pokračuje se krokem 2. Březen 2011
…..… Informace pokračují …… CW05 POKRAČOVÁNÍ PŘÍŠTĚ ……. Informace pokračují …… v úlohách obchodního cestujícího a čínského listonoše….. …..… cw05 – 16 březen 2013
CW05 ……… Březen 2013