1 Teorie grafů. Základní informace

Rozměr: px
Začít zobrazení ze stránky:

Download "1 Teorie grafů. Základní informace"

Transkript

1 Teorie grafů Základní informace V této výukové jednotce se student seznámí s matematickým pojetím grafů a na konkrétních příkladech si vyzkouší vybrané algoritmy pro hledání v grafech. Výstupy z výukové jednotky Student se seznámí se základními charakteristikami grafů, bude umět zapsat reprezentaci grafu pomocí matic a spojových seznamů. Seznámí se se základními úlohami nad grafy a bude umět pomocí algoritmů najít nejkratší cestu v grafu.. Motivace Grafy jsou jedním ze základních pojmů informatiky a zároveň se jedná o velmi užitečnou a praktickou pomůcku k řešení nejrůznějších druhů problémů. Graf je možné si představit jako zjednodušení reálného světa, kdy daný problém znázorníme pomocí bodů a čar, které je spojují. Tyto body se nazývají uzly (vrcholy) grafu a spojnice mezi nimi se nazývají hrany grafu. Graf může reprezentovat nějaký problém, síť, uspořádání prvků, algoritmus a podobně. Grafy mají využití nejen v informatice a matematice, ale také např. ve fyzice, v chemii, v elektrotechnice, v ekonomii nebo v sociologii. Grafy můžeme využít k hledání nejkratší cesty mezi dvěma místy, k řešení úloh umělé inteligence při hraní šachů, k optimalizaci elektrizační soustavy a k řešení mnohých dalších úloh. Hrana má vždy počátek a konec v nějakém uzlu. Většinou jsou počáteční a koncové uzly různé, pokud ale nejsou, hovoříme o tzv. smyčce. Teoreticky může vést mezi dvěma uzly i více hran v tom případě hovoříme o multigrafu..2 Základní pojmy Pro úspěšnou manipulaci s grafy je vhodné je definovat. efinice je velmi jednoduchá, protože graf obsahuje pouze uzly a hrany. Grafem G tedy nazýváme dvojici množin V a H, kde množina V označuje množinu uzlů grafu a H množinu hran grafu. Formálně G = (V, H). Někdy se ještě k této dvojici přidává třetí množina, tzv. incidenční funkce f, která definuje počáteční a koncové uzly pro každou hranu. Potom můžeme graf zapsat jako trojici G = (V, H, f). Pro grafickou reprezentaci grafů budeme používat následující notaci: vrcholy (uzly) grafu znázorňujeme kroužkem nebo tečkou, hrany grafu jsou zobrazeny úsečkou, směr hrany je pak vyjádřen orientací, tedy šipkou z počátečního uzlu do uzlu koncového. O uzlech spojených hranou, říkáme, že spolu sousedí, jsou to tedy sousední uzly. Ve vztahu uzel - hrana se používá pojem incidence. Úloha: Zadefinujte graf z náledujícího obrázku:

2 Řešení: V = {,, E, F} H = {a, b, c, d, e} ρ(a) = {, }, ρ( (b) = {, E}, ρ(c) = {, E}, ρ(d) = {, F}, ρ(e) = {E, F} efinice: Je-li x = y, pak hrana H je označována jako smyčka..3 Vlastnosti grafů efinice: Prostý graf je takový orientovaný nebo neorientovaný graf, v němž je násobnost každé hrany nejvýše rovna jedné. (Hrany h a h 2 nazveme násobné, jestliže f(h ) = f(h 2 ) = (x,y) ). Příklad grafu, který obsahuje násobné hrany (vlevo) a příklad prostého grafu (vpravo): efinice: Jednoduchý graf je takový orientovaný nebo neorientovaný graf, který neobsahuje smyčky. Obrázek vlevo znázorňuje graf, který není jednoduchý, neboť obsahuje smyčky u vrcholů a a b. Graf vpravo již jednoduchý je: efinice: Úplný graf je takový orientovaný nebo neorientovaný graf, ve kterém mezi každými dvěma uzly existuje právě jedna hrana. Příklady úplných grafů na až 4 vrcholech: 2

3 efinice: Neorientovaný graf je takový graf, ve kterém platí, ž eke každé hraně h pro níž platí f( (h) =(x,y), existuje hrana h taková, že f(h ) =(y,x). V opačném případě se jedná o orientovaný graf. Orientovaný graf můžeme znázornit obrázkem, kde vrcholy znázorníme jako kolečka a hrany jako šipky vedoucí mezi těmito kolečky. Příklad takového grafu je na následujícím obrázku, kde je znázorněn graf G = (V, H), kde V = {,,,,E,F} a H = {(, ), (, ) ), (, ), (, ), (, ), (, ), (, ), (E, F)}. Neorientovaný graf se znázorňuje podobně jako orientovaný, na konci čar, které představují hrany však nekreslíme šipky. Příklad neorientovaného grafu je uveden na následujícím obrázku. Jedná se o graf G = (V, H), kde V = {,,,,E,F } a H = {(, ), (, ), (, ), (, ),,(E,F)}. Poznámka: U orientovaného grafu říkáme, že hrana (u, v) vychází z vrcholu u a vstupuje do vrcholu v. U neorientovaného grafu říkáme, že hrana (u, v) je incidentní s vrcholy u a v. efinice: Stupeň vrcholu v neorientovaném grafu je počet hran, které jsou s tímto vrcholem incidentní. V orientovaném grafu je vstupní stupeň vrcholu počet hran, které do daného vrcholu vstupují, výstupní stupeň vrcholu počet hran, které z daného vrcholy vystupují a stupeň vrcholu je součet jeho vstupního a výstupního stupně. efinice: Graf, kde jsou hrany, respektive vrcholy, zobrazeny do nějaké předem dané množiny, ze které se vybírá ohodnocení, se nazývá hranově ohodnocený graf (resp. vrcholově ohodnocený graf). Příslušné zobrazení se nazývá ohodnocení.. efinice: Graf G = (V, E ) je podgrafem grafu G = (V, H) ), jestliže V V a H H. Pro danou množinu V V je podgraf grafu G indukovaný množinou vrcholů V definován jako graf G = (V, H ), kde H = {(u, v) H u, v V }. efinice: Sled délky k v grafu G z vrcholu v do vrcholu vk je konečná posloupnost v, h, v, h 2, v 2,..., v k-, h k, v k, kde k, ve které se vždy střídají vrcholy a hrany a pro každé j =,..., k platí, že hrana h j spojuje vrchol v j- s vrcholem v j. efinice: Tah v grafuje sled, v němž se neopakují hrany. efinice: esta v grafu je sled, v němž se neopakují vrcholy. 3

4 efinice: yklus je tah v, v,..., v k, kde k >, v = vk a všechny vrcholy kromě v a v k jsou navzájem různé. efinice: V případě neorientovaného grafu se cyklu též říká kružnice. efinice: Vrchol y je dostupný z vrcholu x, jestliže existuje sled kde v = x a v k = y. efinice: Graf G se nazývá souvislým, jestližee pro každé dva vrcholy x a y existuje v grafu G cesta začínající ve vrcholu x a končící ve vrcholu y. efinice: Graf bez kružnic se nazývá les. efinice: Souvislý les se pak nazývá strom. Strom je tedy minimální souvislý graf bez kružnic. Odebráním libovolné hrany a přidáním libovolné hrany vznikne kružnice. Níže je příklad stromu: se stane nesouvislým efinice: inární strom je strom, který má pro každý uzel nejvýše dva následníky. efinice: Kořenový strom je orientovaný graf, ve kterém je vyznačen jeden vrchol nazvaný kořen. o kořene nevede žádná (orientovaná) hrana, má tedy vstupní stupeň, do každého dalšího vrcholu vede právě jedna hrana (má tedy vstupní stupeň ) a všechny vrcholy jsou z kořene orientovaně dostupné. V kořenových stromech se užívá pro vrcholy přirozeným způsobem definovaných pojmů otec nebo rodič, synnebo dítě, předek, potomek. List v kořenovém stromu je vrchol výstupního stupně, který tedy již nemá žádné syny. Kořenový strom se dá kreslit velmi názorně. 4

5 .3 Reprezentace grafů Obecný popis grafu, bez ohledu na prostředek, který je použit, musí popisovat pisovat množinu vrcholů V, množinu hran H a incidenční zobrazení f. Jedině takovým popisem je graf zadán úplně. Nejčastěji se setkáme s popisem grafu pomocí matic, nebo pomocí seznamů, které jsou vhodnější pro počítačové čové zpracování..3. Matice sousednosti Matice sousednosti je velmi jednoduchá a intuitivní. V řádcích i ve sloupcích budou uzly. Číslo na dané pozici v matici bude znamenat, že příslušné uzly spolu sousedí, jinak na této pozici bude číslo. Pro neorientovaný graf bude matice symetrická a vystačili bychom tedy jen s trojúhelníkovou maticí..3.2 Matice incidencee Jiným prostředkem, jak graf popsat psat maticí, je tak zvaná matice incidence ce uzlů a hran. Užívá se u grafů bez smyček. Konstrukce této matice vyžaduje stanovit jisté pořadí uzlů a hran. Má-li graf n vrcholů a m hran, je to obdélníková matice typu (m,n). Řádky odpovídajíí vrcholům, sloupce hranám grafu. U orientovaných grafů je v i-tém sloupci a j-tém řádku číslo, pokud je i-tý vrchol počátečním vrcholem j-té hrany, a číslo -, pokud je jejím koncovým vrcholem. Ostatní prvky matice jsou nuly. Incidenční matice orientovaného grafu bez smyček má v každém sloupci vždy jednu hodnotu a jednu hodnotu -. Ostatní jsou nuly. U neorientovaných grafů je na místě i,j jednička, pokud je i-tý vrch hol incidentní s j-tou hranou, a nula jindy. U neorientovaných grafů jsou v každém sloupci právě dvě jedničky. Příklad: Pro následující orientovaný a neorientovaný graf sestrojte matice incidence a matice sousednosti. Řešení: Incidenční matice uzlů a hran: h - E h2 h3 - - h4 h5 h6 h h h2 E h3 h4 h5 h6 h7 Matice sousednosti: E E 5

6 E E.3.3 Matice dostupnosti Vrchol y orientovaného grafu G dostupný z vrcholu x právě když v grafu existuje orientovaná cesta z x do y. Jsou-li vrcholy grafu G uspořádány do posloupnosti u, u 2,, u n, pak můžeme vytvořit matici = (d i,j ) dostupnosti uzlů, která je následujícím předpisem pro její prvky d i,j : d i,j =, jestliže uzel u j je dostupný z uzlu u i d i,j =, v ostatních případech lgoritmus pro získání matice dostupnosti:. inicializace: Označkujeme vrchol v, ostatní značku nemají 2. test ukončení: Je-li množina neoznačkovaných vrcholů rázdná, algoritmus končí 3. volba hrany: Zvolíme libovolně hranu h, jejíž očáteční vrchol je označkován a koncový vrchol v označkovánn není 4. značkování: označkujeme vrchol v a pokračujeme bodem 2 Příklad: Pro následující orientovaný graf sestrojte matici dostupnosti. Řešení: E E.3.4 Matice vzdáleností Jsou-li vrcholy grafu očíslovány, pak vzdálenosti u(i,j) s indexy i a j tvoří tzv. matici vzdáleností. Tuto matici lze vypočítat tak, že opakovaným použitím kteréhokoliv algoritmu pro výpočet nejkratších cest najdeme postupně nejkratší cestu a tím I vzdálenost z každého vrcholu do každého vrcholu. Místo tohoto nepraktického přístupu si později ukážeme jednoduchý, rychlý a elegantní postup, který je znám jako Floydův algoritmus. 6

7 .3.5 Seznam sousednosti Pro každý vrchol je vytvořen seznam sousedů. Sousedící vrcholy jsou obecně uloženy v seznamech v libovolném pořadí. Vlevo je příklad neorientovaného grafu, vpravo příklad orientovaného grafu: Tyto dva grafy budeme reprezentovat seznamem sousednosti takto:.3.6 Seznam uzlů pro kořenové stromy Zvláštní postavení mezi grafy mají orientované kořenové stromy. Jejich použití je velmi časté. Pro kořenové stromy se používají speciálně zřetězené seznamy tvaru: u : p, q; u 2 : p, q ;... ; u n : p, q; u -O: p, q; u 2 -O: p, q ;... ; u n -O: p, q; Je-li u i otec, potom p je ukazatel na jeho nejstaršího (nejlevějšího) potomka, q je ukazatel na nejstaršího z mladších sourozenců. Orientace jde směrem dolů, tedy jsou definovány orientované hrany z uzlu u i na uzly zadané ukazateli p,q. U binárního stromu je výhodné chápat ukazatel q jako ukazatel na pravého potomka. Každému uzlu náleží jeden prvek spojového seznamu. Pokud jde o ohodnocení uzlů, tak se u každého uzlu uvádí do jemu náležícího prvku spojového seznamu (např. za ukazatele). Spojový seznam, uvedený níže, prezentuje následující kořenový graf: 7

8 .3.7 Reprezentace stromů v tabulce Pro reprezentaci struktury v SQL se používá zpravidla jedna tabulka, ve které si ukládáme identifikaci rodičovského uzlu a identifikátor uzlu. Je-li potřeba vytvořit strom s více rodiči pro jeden uzel, tabulka se rozdělí na dvě. Jedna tabulka bude obsahovat seznam uzlů a ve druhé budou zaznamenány vazeb mezi uzly (tzv. vztah uzlů M:N). V případě binárního stromu se používá tabulka se třemi sloupci kde je zaznamenána hodnota, levý a pravý ukazatel na potomka. Příklad: Následující strom zapište ve forme SQL tabulky. Řešení: id uzlu E F G H I id_rodiče F F I G.4 Optimalizační úlohy nad grafy V této kapitole popíšeme několikk vybraných optimalizačních úloh na grafech. yly vybrány úlohy, které se často vyskytují při řešení ekonomických, plánovacích či organizačních problémů a na kterých bude možné ukázat, jak lze užít základní principy návrhu efektivních algoritmů v konkrétních situacích..4. Prohledávání grafu do hloubky Tento algoritmus je též někdy označován zkratkou FS (epth First Search). Vstup: Vstupem algoritmu je libovolný orientovaný nebo neorientovaný souvislý graf. 8

9 Inicializace: Na začátku algoritmu uložíme do zásobníku startovací uzel (vrchol grafu, ve kterém zahajujeme prohledávání). Popis: Z uzlu, který je na vrcholu zásobníku, se vydáme po hraně do některého z jeho neoznačených následníků. Každý takovýto neoznačený uzel, do kterého vede hrana, přidáme na zásobník a opět se vydáme po hraně do některého z jeho neoznačených následníků, který přidáme na vrchol zásobníku. Takto postupujeme, dokud nenarazíme na uzel, který žádné další neoznačené následníky nemá. Tento uzel vyjmeme z vrcholu zásobníku, označíme (nastavíme mu příznak) a ukončíme jeho prohledávání. V prohledávání se vrátíme do uzlu, který je momentálně na vrcholu zásobníku a celý proces opakujeme, dokud zásobník není prázdný. Výstup: Prohledané uzly grafu je možné zachytit tzv. preorder, tedy v pořadí, v jakém byly ukládány na zásobník, nebo postorder, tedy v pořadí, v jakém bylo ukončeno jejich prohledávání. Následující obrázek ilustruje, jak algoritmus prohledávání grafu do hloubky prochází grafem:.4.2 Prohledávání grafu do šířky Jde o grafový algoritmus, který postupně prochází všechny vrcholy daného souvislého grafu. lgoritmus nejprve projde všechny následníky startovního vrcholu, poté následníky následníků a tak dál až projde celý souvislý graf. Při zpracovávání uzlu řadíme všechny jeho následníky do fronty (FIFO) a zpracováváme vždy první uzel z fronty. Vstup: Vstupem algoritmu je libovolný orientovaný nebo neorientovaný souvislý graf. Inicializace: Na začátku algoritmu uložíme do frontystartovací uzel (vrchol grafu, ve kterém zahajujeme prohledávání). Popis: Vybereme vrchol, který je na začátku fronty a na konec fronty přidáme všechny jeho přímé následníky, do kterých vede z tohoto vrcholu hrana a u nichž ještě nebylo ukončeno prohledávání (které zatím neprošly frontou). Prohledávání tohoto vrcholu poté ukončíme. Opět vybereme vrchol na počátku fronty a celý postup opakujeme. Nemá-li některý z vrcholů žádné následníky, rovnou ukončíme jeho prohledávání a přejdeme k vrcholu na začátku fronty. lgoritmus končí, jakmile je fronta prázdná a nemáme dál co prohledávat. Výstup: Výstupem algoritmu je pořadí uzlů v jakém byly ukládány do fronty (pořadí, v jakém bylo ukončeno jejich prohledávání). Následující obrázek ilustruje, jak algoritmus prohledávání grafu do šířky prochází grafem: 9

10 ..4.3 ijkstrův algoritmus ijkstrův algoritmus řeší problém nejkratších cest z kořene s (startovací vrchol, ze kterého začínáme) do ostatních vrcholů grafu pro grafy s nezáporným ohodnocením hran. Označíme si výchozí uzel, ze kterého budeme plánovat cestu. ijsktrův algoritmus je založen na tom, že na začátku přiřadíme uzlům určité hodnoty a postupně jej budeme vylepšovat. lgoritmus si popíšeme ve slovním pseudokódu:. Ke každému uzlu přiřaď aktuální vzdálenost od počátečního uzlu. V případě samotného výchozího uzlu je vzdálenost, v případě ostatních uzlů je to nyní nekonečno. 2. Označ všechny uzly jako nenavštívené. Označ výchozí uzel jako aktuální uzel. Vytvoř množinu nenavštívených uzlů, která bude obsahovat všechny uzly kromě výchozího. Nyní se dostáváme k třetímu bodu, který se bude opakovat ve smyčce. 3. Podívej se na všechny nenavštívené sousedy aktuálního uzluu a vypočítej jejich vzdálenost od počátečního uzlu. Pokud má např. aktuální uzel vzdálenost 3 a délka hrany mezi tímto uzlem a jeho sousedem je 2, potom vzdálenost k omuto sousedovi bude = 5. Pokud je aktuální vzdálenost menší než dříve zaznamenaná vzdálenost tohotoo souseda, pak ji přepiš lepší, kratší hodnotou. Poznamenejme, že i když jsme se na sousední uzly aktuálního uzlu podívali, stále zůstávají v množině nenavštívených. 4. Jakmile jsme se podívali na sousedy aktuálního uzlu, budeme považovat tento aktuální uzel za navštívený a vyjmeme ho z množiny nenavštívených uzlů. K tomuto uzlu už se nikdy nevrátíme. 5. Pokud byla cílová destinace označenaa jako navštívená, nebo nejmenší aktuální vzdálenost mezi uzly v množině nenavštívených uzlů je nekonečno, ukonči algoritmus. 6. Vyber uzel z množiny nenavštívených uzlů, který má nejmenší aktuální vzdálenost od výchozího uzlu, nastav jej jako aktuální uzel a vrať se k bodu 3. Pokud Vám pseudokód připomíná algoritmus procházení do šířky, není tomu tak náhodou. ijsktrův algoritmus je skutečně rozšířením procházení grafu do šířky, přičemž místo datové struktury fronta zde využíváme podobnéhoo nástroje, kterým je prioritní fronta. Prioritní fronta funguje jako fronta, ve které mohou předbíhat uzly s nejkratší aktuální vzdáleností od zdroje. lgoritmus tedy systematicky postupuje od výchozího uzlu k cílové destinaci a aktualizuje vzdálenosti. Výstupem algoritmu je pak délka nejkratší cesty z výchozího uzlu do všech ostatních uzlů. Příklad: Vyhledejtee nejkratší cestu z počátečního uzlu do všech ostatních uzlů ohodnoceného grafu.

11 Řešení: použijeme ijkstrův algoritmus: E F množina X, 3, 4, max max - 8, - 4,, max, - 8, - -,,,, ,,,,, ,,,,,E ,,,,E Výsledek tedy bude: E F 8, 3, 4,,,.4.3 Floydův algoritmus Floydův algoritmus slouží především k vyhledání vzdáleností (vzdálenost = délka minimální cesty) v ohodnocených grafech. lgoritmus je založen na porovnání hodnot přímých a nepřímých vzdáleností. Využíváme toho, že hrana (i,j) patří do minimální cesty tehdy, pokud nevede minimální cesta jinudy. Zapsáno matematicky: ( i, j) + o( i, j) < d( r j) d, Floydův algoritmus je tvořen z následujícími kroky:. Sestavení matice přímých vzdáleností, přičemž pro prvky c ij této matice platí: c = pokud i = j, ij ( i j) c ij = o, pokud i j a hrana spojující uzly j c = pokud i j a hrana spojující uzly j ij i, existuje, i, neexistuje. 2. Zavedeme pomocnou proměnnou k a položíme k =. Tato proměnná představuje index vrcholu, pře který provádíme přepočet. 3. Provedeme přepočet jednotlivých prvků c ij matice podle pravidla ij { c c c } c = mni, +, přičemž nepropočítáváme prvky matice, pro které platí i = j ij ik kj (hlavní diagonála matice), prvky, pro které platí i, j = k (leží v řádku či sloupci s indexem k), a prvky i k a j k, pro které c = a c =. 4. Pokud n kroku 3). Je li vzdáleností. ik k < (n je počet vrcholů grafu), potom položíme = k + k = n kj k a vracíme se zpět ke, je výpočet ukončen a poslední získaná matice je hledanou maticí Příklad: V zadaném grafu nalezněte vzdálenosti mezi jednotlivými vrcholy pomocí Floydova algoritmu.

12 Řešení: K= K= K= Literatura Pro další studium problematiky grafů doporučuji čtenáři následující literaturu: Šišma P. (997): Teorie grafů , Prometheus, Praha Vaníček J. a kolektiv (28): Teoretické základy informatiky, Kernberg Publishing, s.r.o., Praha Jirovský L. (2): Teorie grafů ve výuce na střední škole, diplomová práce, MFF UK, Praha Renc Z. (2): Sbírka řešených úloh z matematiky, fyziky a informatiky (přijímací řízení na MFF UK v letech ), matfyz press, Praha Hliněný P. (22): Matematické Základy Informatiky, skripta FI MU rno 2

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

Obsah prezentace. Základní pojmy v teorii o grafech Úlohy a prohledávání grafů Hledání nejkratších cest Obsah prezentace Základní pojmy v teorii o grafech Úlohy a prohledávání grafů Hledání nejkratších cest 1 Základní pojmy Vrchol grafu: {množina V} Je to styčná vazba v grafu, nazývá se též uzlem, prvkem

Více

Algoritmizace prostorových úloh

Algoritmizace prostorových úloh INOVACE BAKALÁŘSKÝCH A MAGISTERSKÝCH STUDIJNÍCH OBORŮ NA HORNICKO-GEOLOGICKÉ FAKULTĚ VYSOKÉ ŠKOLY BÁŇSKÉ - TECHNICKÉ UNIVERZITY OSTRAVA Algoritmizace prostorových úloh Grafové úlohy Daniela Szturcová Tento

Více

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

Základní pojmy teorie grafů [Graph theory] Část I Základní pojmy teorie grafů [Graph theory] V matematice grafem obvykle rozumíme grafické znázornění funkční závislosti. Pro tento předmět je však podstatnější pohled jiný. V teorii grafů rozumíme

Více

Základy informatiky. Teorie grafů. Zpracoval: Pavel Děrgel Úprava: Daniela Szturcová

Základy informatiky. Teorie grafů. Zpracoval: Pavel Děrgel Úprava: Daniela Szturcová Základy informatiky Teorie grafů Zpracoval: Pavel Děrgel Úprava: Daniela Szturcová Obsah přednášky Barvení mapy Teorie grafů Definice Uzly a hrany Typy grafů Cesty, cykly, souvislost grafů Barvení mapy

Více

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

Grafy. RNDr. Petra Surynková, Ph.D. Univerzita Karlova v Praze Matematicko-fyzikální fakulta. 6 RNDr., Ph.D. Katedra didaktiky matematiky Univerzita Karlova v Praze Matematicko-fyzikální fakulta petra.surynkova@mff.cuni.cz http://surynkova.info množina vrcholů a množina hran hrana vždy spojuje

Více

Základy informatiky. 07 Teorie grafů. Kačmařík/Szturcová/Děrgel/Rapant

Základy informatiky. 07 Teorie grafů. Kačmařík/Szturcová/Děrgel/Rapant Základy informatiky 07 Teorie grafů Kačmařík/Szturcová/Děrgel/Rapant Obsah přednášky barvení mapy teorie grafů definice uzly a hrany typy grafů cesty, cykly, souvislost grafů Barvení mapy Kolik barev je

Více

Úvod do teorie grafů

Úvod do teorie grafů Úvod do teorie grafů Neorientovaný graf G = (V,E,I) V množina uzlů (vrcholů) - vertices E množina hran - edges I incidence incidence je zobrazení, buď: funkce: I: E V x V relace: I E V V incidence přiřadí

Více

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

Grafy. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 13. Grafy doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 13. března 2017 Jiří Dvorský (VŠB TUO) Grafy 104 / 309 Osnova přednášky Grafy

Více

Grafové algoritmy. Programovací techniky

Grafové algoritmy. Programovací techniky Grafové algoritmy Programovací techniky Grafy Úvod - Terminologie Graf je datová struktura, skládá se z množiny vrcholů V a množiny hran mezi vrcholy E Počet vrcholů a hran musí být konečný a nesmí být

Více

07 Základní pojmy teorie grafů

07 Základní pojmy teorie grafů 07 Základní pojmy teorie grafů (definice grafu, vlastnosti grafu, charakteristiky uzlů, ohodnocené grafy) Definice grafu množina objektů, mezi kterými existují určité vazby spojující tyto objekty. Uspořádaná

Více

Kostry. 9. týden. Grafy. Marie Demlová (úpravy Matěj Dostál) 16. dubna 2019

Kostry. 9. týden. Grafy. Marie Demlová (úpravy Matěj Dostál) 16. dubna 2019 Grafy 16. dubna 2019 Tvrzení. Je dán graf G, pak následující je ekvivalentní. 1 G je strom. 2 Graf G nemá kružnice a přidáme-li ke grafu libovolnou hranu, uzavřeme přesně jednu kružnici. 3 Graf G je souvislý

Více

Grafové algoritmy. Programovací techniky

Grafové algoritmy. Programovací techniky Grafové algoritmy Programovací techniky Grafy Úvod - Terminologie Graf je datová struktura, skládá se z množiny vrcholů V a množiny hran mezi vrcholy E Počet vrcholů a hran musí být konečný a nesmí být

Více

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

Operační výzkum. Síťová analýza. Metoda CPM. Operační výzkum Síťová analýza. Metoda CPM. Operační program Vzdělávání pro konkurenceschopnost Název projektu: Inovace magisterského studijního programu Fakulty ekonomiky a managementu Registrační číslo

Více

Vzdálenost uzlů v neorientovaném grafu

Vzdálenost uzlů v neorientovaném grafu Vzdálenosti a grafy Vzdálenost uzlů v neorientovaném grafu Je dán neorientovaný neohodnocený graf G = (V,E,I) vzdálenost uzlů u a v v neorientovaném souvislém grafu G je délka nejkratší cesty spojující

Více

Teorie grafů BR Solutions - Orličky Píta (Orličky 2010) Teorie grafů / 66

Teorie grafů BR Solutions - Orličky Píta (Orličky 2010) Teorie grafů / 66 Teorie grafů Petr Hanuš (Píta) BR Solutions - Orličky 2010 23.2. 27.2.2010 Píta (Orličky 2010) Teorie grafů 23.2. 27.2.2010 1 / 66 Pojem grafu Graf je abstraktní pojem matematiky a informatiky užitečný

Více

4EK311 Operační výzkum. 5. Teorie grafů

4EK311 Operační výzkum. 5. Teorie grafů 4EK311 Operační výzkum 5. Teorie grafů 5. Teorie grafů definice grafu Graf G = uspořádaná dvojice (V, E), kde V označuje množinu n uzlů u 1, u 2,, u n (u i, i = 1, 2,, n) a E označuje množinu hran h ij,

Více

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

H {{u, v} : u,v U u v } Obyčejný graf Obyčejný graf je dvojice G= U, H, kde U je konečná množina uzlů (vrcholů) a H {{u, v} : u,v U u v } je (konečná) množina hran. O hraně h={u, v} říkáme, že je incidentní s uzly u a v nebo

Více

1. Převeďte dané číslo do dvojkové, osmičkové a šestnáctkové soustavy: a) 759 10 b) 2578 10

1. Převeďte dané číslo do dvojkové, osmičkové a šestnáctkové soustavy: a) 759 10 b) 2578 10 Úlohy- 2.cvičení 1. Převeďte dané číslo do dvojkové, osmičkové a šestnáctkové soustavy: a) 759 10 b) 2578 10 2. Převeďte dané desetinné číslo do dvojkové soustavy (DEC -> BIN): a) 0,8125 10 b) 0,35 10

Více

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

5 Orientované grafy, Toky v sítích Petr Hliněný, FI MU Brno, 205 / 9 FI: IB000: Toky v sítích 5 Orientované grafy, Toky v sítích Nyní se budeme zabývat typem sít ových úloh, ve kterých není podstatná délka hran a spojení, nýbž jejich propustnost

Více

Teorie grafů. Teoretická informatika Tomáš Foltýnek

Teorie grafů. Teoretická informatika Tomáš Foltýnek Teorie grafů Teoretická informatika Tomáš Foltýnek foltynek@pef.mendelu.cz Opakování z minulé přednášky Co je to složitostní třída? Jaké složitostní třídy známe? Kde leží hranice mezi problémy řešitelnými

Více

Jan Březina. 7. března 2017

Jan Březina. 7. března 2017 TGH03 - stromy, ukládání grafů Jan Březina Technical University of Liberec 7. března 2017 Kružnice - C n V = {1, 2,..., n} E = {{1, 2}, {2, 3},..., {i, i + 1},..., {n 1, n}, {n, 1}} Cesta - P n V = {1,

Více

GRAFY A GRAFOVÉ ALGORITMY

GRAFY A GRAFOVÉ ALGORITMY KATEDRA INFORMATIKY PŘÍRODOVĚDECKÁ FAKULTA UNIVERZITA PALACKÉHO GRAFY A GRAFOVÉ ALGORITMY ARNOŠT VEČERKA VÝVOJ TOHOTO UČEBNÍHO TEXTU JE SPOLUFINANCOVÁN EVROPSKÝM SOCIÁLNÍM FONDEM A STÁTNÍM ROZPOČTEM ČESKÉ

Více

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

STROMOVE ALGORITMY Prohledavani do sirky (level-order) Po vodorovnejch carach fronta STROMOVE ALGORITMY Prohledavani do sirky (level-order) Po vodorovnejch carach vlož do fronty kořen opakuj, dokud není fronta prázdná 1. vyber uzel z fronty a zpracuj jej 2. vlož do fronty levého následníka

Více

TGH02 - teorie grafů, základní pojmy

TGH02 - teorie grafů, základní pojmy TGH02 - teorie grafů, základní pojmy Jan Březina Technical University of Liberec 28. února 2017 Metainformace materiály: jan.brezina.matfyz.cz/vyuka/tgh (./materialy/crls8.pdf - Introduction to algorithms)

Více

Diskrétní matematika. DiM /01, zimní semestr 2018/2019

Diskrétní matematika. DiM /01, zimní semestr 2018/2019 Diskrétní matematika Petr Kovář petr.kovar@vsb.cz Vysoká škola báňská Technická univerzita Ostrava DiM 470-2301/01, zimní semestr 2018/2019 O tomto souboru Tento soubor je zamýšlen především jako pomůcka

Více

Výhody a nevýhody jednotlivých reprezentací jsou shrnuty na konci kapitoly.

Výhody a nevýhody jednotlivých reprezentací jsou shrnuty na konci kapitoly. Kapitola Reprezentace grafu V kapitole?? jsme se dozvěděli, co to jsou grafy a k čemu jsou dobré. rzo budeme chtít napsat nějaký program, který s grafy pracuje. le jak si takový graf uložit do počítače?

Více

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

Modely teorie grafů, min.kostra, max.tok, CPM, MPM, PERT PEF ČZU Modely teorie grafů, min.kostra, max.tok, CPM, MPM, PERT Okruhy SZB č. 5 Zdroje: Demel, J., Operační výzkum Jablonský J., Operační výzkum Šubrt, T., Langrová, P., Projektové řízení I. a různá internetová

Více

TEORIE GRAFŮ TEORIE GRAFŮ 1

TEORIE GRAFŮ TEORIE GRAFŮ 1 TEORIE GRAFŮ 1 TEORIE GRAFŮ Přednášející: RNDr. Jiří Taufer, CSc. Fakulta dopravní ČVUT v Praze, letní semestr 1998/99 Zpracoval: Radim Perkner, tamtéž, v květnu 1999 ZÁKLADNÍ POJMY Říkáme, že je dán prostý

Více

TGH02 - teorie grafů, základní pojmy

TGH02 - teorie grafů, základní pojmy TGH02 - teorie grafů, základní pojmy Jan Březina Technical University of Liberec 31. března 2015 Počátek teorie grafů Leonard Euler (1707 1783) 1735 pobyt v Královci (Prusko), dnes Kaliningrad (Rusko)

Více

TGH05 - aplikace DFS, průchod do šířky

TGH05 - aplikace DFS, průchod do šířky TGH05 - aplikace DFS, průchod do šířky Jan Březina Technical University of Liberec 31. března 2015 Grafová formulace CPM (critical path method) Orientovaný acyklický graf (DAG) je orientovaný graf neobsahující

Více

TGH02 - teorie grafů, základní pojmy

TGH02 - teorie grafů, základní pojmy TGH02 - teorie grafů, základní pojmy Jan Březina Technical University of Liberec 5. března 2013 Počátek teorie grafů Leonard Euler (1707 1783) 1735 pobyt v Královci (Prusko), dnes Kaliningrad (Rusko) Úloha:

Více

Vektory a matice. Obsah. Aplikovaná matematika I. Carl Friedrich Gauss. Základní pojmy a operace

Vektory a matice. Obsah. Aplikovaná matematika I. Carl Friedrich Gauss. Základní pojmy a operace Vektory a matice Aplikovaná matematika I Dana Říhová Mendelu Brno Obsah 1 Vektory Základní pojmy a operace Lineární závislost a nezávislost vektorů 2 Matice Základní pojmy, druhy matic Operace s maticemi

Více

ORIENTOVANÉ GRAFY, REPREZENTACE GRAFŮ

ORIENTOVANÉ GRAFY, REPREZENTACE GRAFŮ ORIENTOVANÉ GRAFY, REPREZENTACE GRAFŮ Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze BI-GRA, LS 2/2, Lekce Evropský sociální fond Praha & EU: Investujeme

Více

Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od podzimu 2014

Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od podzimu 2014 Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od podzimu 204 Zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia

Více

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

Algoritmus pro hledání nejkratší cesty orientovaným grafem 1.1 Úvod Algoritmus pro hledání nejkratší cesty orientovaným grafem Naprogramoval jsem v Matlabu funkci, která dokáže určit nejkratší cestu v orientovaném grafu mezi libovolnými dvěma vrcholy. Nastudoval

Více

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.

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. 1 3 4 5 6 7 8 9 10 11 1 13 14 15 16 17 18 19 0 1 3 4 5 6 7 8 9 30 31 3 Zdůvodněte, proč funkce f(n) = n log(n) 1 n 1/ roste rychleji než funkce g(n) = n. Zdůvodněte, proč funkce f(n) = n 3/ log(n) roste

Více

Základy umělé inteligence

Základy umělé inteligence Základy umělé inteligence Automatické řešení úloh Základy umělé inteligence - prohledávání. Vlasta Radová, ZČU, katedra kybernetiky 1 Formalizace úlohy UI chápe řešení úloh jako proces hledání řešení v

Více

TGH05 - aplikace DFS, průchod do šířky

TGH05 - aplikace DFS, průchod do šířky TGH05 - aplikace DFS, průchod do šířky Jan Březina Technical University of Liberec 28. března 2017 Grafová formulace CPM (critical path method) Orientovaný acyklický graf (DAG) je orientovaný graf neobsahující

Více

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

4 Stromy a les. Definice a základní vlastnosti stromů. Kostry grafů a jejich počet. 4 Stromy a les Jedním ze základních, a patrně nejjednodušším, typem grafů jsou takzvané stromy. Jedná se o souvislé grafy bez kružnic. Přes svou (zdánlivou) jednoduchost mají stromy bohatou strukturu a

Více

Stromy, haldy, prioritní fronty

Stromy, haldy, prioritní fronty Stromy, haldy, prioritní fronty prof. Ing. Pavel Tvrdík CSc. Katedra počítačů FEL České vysoké učení technické DSA, ZS 2008/9, Přednáška 6 http://service.felk.cvut.cz/courses/x36dsa/ prof. Pavel Tvrdík

Více

Matice sousednosti NG

Matice sousednosti NG Matice sousednosti NG V = [ v ij ] celočíselná čtvercová matice řádu U v ij = ρ -1 ( [u i, u j ] )... tedy počet hran mezi u i a u j?jaké vlastnosti má matice sousednosti?? Smyčky, rovnoběžné hrany? V

Více

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:

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: 3 Maticový počet 3.1 Zavedení pojmu matice 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: a 11 a 12... a 1k... a 1n a 21 a 22...

Více

3. Prohledávání grafů

3. Prohledávání grafů 3. Prohledávání grafů Prohledání do šířky Breadth-First Search BFS Jde o grafový algoritmus, který postupně prochází všechny vrcholy v dané komponentě souvislosti. Algoritmus nejprve projde všechny sousedy

Více

Metody síťové analýzy

Metody síťové analýzy Metody síťové analýzy Řeší problematiku složitých systémů, zejména pak vazby mezi jejich jednotlivými prvky. Vychází z teorie grafů. Základní metody síťové analýzy: CPM (Critical Path Method) deterministický

Více

4 Pojem grafu, ve zkratce

4 Pojem grafu, ve zkratce Petr Hliněný, FI MU Brno, 2014 1 / 24 FI: IB000: Pojem grafu 4 Pojem grafu, ve zkratce Třebaže grafy jsou jen jednou z mnoha struktur v matematice a vlastně pouze speciálním případem binárních relací,

Více

1.3. Číselné množiny. Cíle. Průvodce studiem. Výklad

1.3. Číselné množiny. Cíle. Průvodce studiem. Výklad 1.3. Cíle Cílem kapitoly je seznámení čtenáře s axiomy číselných oborů a jejich podmnožin (intervalů) a zavedení nových pojmů, které nejsou náplní středoškolských osnov. Průvodce studiem Vývoj matematiky

Více

Základní datové struktury III: Stromy, haldy

Základní datové struktury III: Stromy, haldy Základní datové struktury III: Stromy, haldy prof. Ing. Pavel Tvrdík CSc. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze c Pavel Tvrdík, 2010 Efektivní

Více

Algoritmy na ohodnoceném grafu

Algoritmy na ohodnoceném grafu Algoritmy na ohodnoceném grafu Dvě základní optimalizační úlohy: Jak najít nejkratší cestu mezi dvěma vrcholy? Dijkstrův algoritmus s t Jak najít minimální kostru grafu? Jarníkův a Kruskalův algoritmus

Více

Úvod do informatiky. Miroslav Kolařík. Zpracováno dle učebního textu R. Bělohlávka: Úvod do informatiky, KMI UPOL, Olomouc 2008.

Úvod do informatiky. Miroslav Kolařík. Zpracováno dle učebního textu R. Bělohlávka: Úvod do informatiky, KMI UPOL, Olomouc 2008. Úvod do informatiky přednáška čtvrtá Miroslav Kolařík Zpracováno dle učebního textu R. Bělohlávka: Úvod do informatiky, KMI UPOL, Olomouc 2008. Obsah 1 Pojem relace 2 Vztahy a operace s (binárními) relacemi

Více

IB112 Základy matematiky

IB112 Základy matematiky IB112 Základy matematiky Řešení soustavy lineárních rovnic, matice, vektory Jan Strejček IB112 Základy matematiky: Řešení soustavy lineárních rovnic, matice, vektory 2/53 Obsah Soustava lineárních rovnic

Více

Algoritmy a datové struktury

Algoritmy a datové struktury Algoritmy a datové struktury Stromy 1 / 32 Obsah přednášky Pole a seznamy Stromy Procházení stromů Binární stromy Procházení BS Binární vyhledávací stromy 2 / 32 Pole Hledání v poli metodou půlení intervalu

Více

Matice. a m1 a m2... a mn

Matice. a m1 a m2... a mn Matice Nechť (R, +, ) je okruh a nechť m, n jsou přirozená čísla Matice typu m/n nad okruhem (R, +, ) vznikne, když libovolných m n prvků z R naskládáme do obdélníkového schematu o m řádcích a n sloupcích

Více

STROMY. v 7 v 8. v 5. v 2. v 3. Základní pojmy. Řešené příklady 1. příklad. Stromy

STROMY. v 7 v 8. v 5. v 2. v 3. Základní pojmy. Řešené příklady 1. příklad. Stromy STROMY Základní pojmy Strom T je souvislý graf, který neobsahuje jako podgraf kružnici. Strom dále budeme značit T = (V, X). Pro graf, který je stromem platí q = n -, kde q = X a n = V. Pro T mezi každou

Více

Hledáme efektivní řešení úloh na grafu

Hledáme efektivní řešení úloh na grafu Hledáme efektivní řešení úloh na grafu Mějme dán graf následující úlohy: G = ( V, E), chceme algoritmicky vyřešit Je daný vrchol t dosažitelný z vrcholu s? Pokud ano, jaká nejkratší cesta tyto vrcholy

Více

Stromy. Strom: souvislý graf bez kružnic využití: počítačová grafika seznam objektů efektivní vyhledávání výpočetní stromy rozhodovací stromy

Stromy. Strom: souvislý graf bez kružnic využití: počítačová grafika seznam objektů efektivní vyhledávání výpočetní stromy rozhodovací stromy Stromy úvod Stromy Strom: souvislý graf bez kružnic využití: počítačová grafika seznam objektů efektivní vyhledávání výpočetní stromy rozhodovací stromy Neorientovaný strom Orientovaný strom Kořenový orientovaný

Více

Prohledávání do šířky = algoritmus vlny

Prohledávání do šířky = algoritmus vlny Prohledávání do šířky = algoritmus vlny - souběžně zkoušet všechny možné varianty pokračování výpočtu, dokud nenajdeme řešení úlohy průchod stromem všech možných cest výpočtu do šířky, po vrstvách (v každé

Více

Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od podzimu 2015

Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od podzimu 2015 Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od podzimu 05 Zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia

Více

Řešení: PŘENESVĚŽ (N, A, B, C) = přenes N disků z A na B pomocí C

Řešení: PŘENESVĚŽ (N, A, B, C) = přenes N disků z A na B pomocí C Hanojské věže - 3 kolíky A, B, C - na A je N disků různé velikosti, seřazené od největšího (dole) k nejmenšímu (nahoře) - kolíky B a C jsou prázdné - úkol: přenést všechny disky z A na B, mohou se odkládat

Více

2. ZÁKLADY MATICOVÉ ALGEGRY 2.1. ZÁKLADNÍ POJMY

2. ZÁKLADY MATICOVÉ ALGEGRY 2.1. ZÁKLADNÍ POJMY 2. ZÁKLADY MAICOVÉ ALGEGRY 2.1. ZÁKLADNÍ POJMY V této kapitole se dozvíte: jak je definována reálná nebo komplexní matice a co rozumíme jejím typem; co jsou to prvky matice, co vyjadřují jejich indexy

Více

PROHLEDÁVÁNÍ GRAFŮ. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze

PROHLEDÁVÁNÍ GRAFŮ. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze PROHLEDÁVÁNÍ GRAFŮ Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze BI-GRA, LS 2010/2011, Lekce 4 Evropský sociální fond Praha & EU: Investujeme do

Více

VYBRANÉ PARTIE Z NUMERICKÉ MATEMATIKY

VYBRANÉ PARTIE Z NUMERICKÉ MATEMATIKY VYBRANÉ PARTIE Z NUMERICKÉ MATEMATIKY Jan Krejčí 31. srpna 2006 jkrejci@physics.ujep.cz http://physics.ujep.cz/~jkrejci Obsah 1 Přímé metody řešení soustav lineárních rovnic 3 1.1 Gaussova eliminace...............................

Více

Slovo ALGEBRA pochází z arabského al-jabr, což znamená nahrazení. Toto slovo se objevilo v názvu knihy

Slovo ALGEBRA pochází z arabského al-jabr, což znamená nahrazení. Toto slovo se objevilo v názvu knihy 1 Lineární algebra Slovo ALGEBRA pochází z arabského al-jabr, což znamená nahrazení. Toto slovo se objevilo v názvu knihy islámského matematika Hisab al-džebr val-muqabala ( Věda o redukci a vzájemném

Více

Grafy. 1. Základní pojmy. 1. Definice grafu. Grafy.nb 1

Grafy. 1. Základní pojmy. 1. Definice grafu. Grafy.nb 1 Grafy.nb 1 1. Základní pojmy Grafy 1. Definice grafu 1.1. Orientovaný graf. Orientovaný graf je trojice G =HV, E, L tvořená konečnou množinou V, konečnou množinou E disjunktní s V a zobrazením : E Ø V

Více

Graf. Uzly Lokality, servery Osoby fyzické i právní Informatické objekty... atd. Hrany Cesty, propojení Vztahy Informatické závislosti... atd.

Graf. Uzly Lokality, servery Osoby fyzické i právní Informatické objekty... atd. Hrany Cesty, propojení Vztahy Informatické závislosti... atd. Graf 2 0 3 1 4 5 Uzly Lokality, servery Osoby fyzické i právní Informatické objekty... atd. Hrany Cesty, propojení Vztahy Informatické závislosti... atd. Běžné reprezentace grafu Uzly = indexy Stupně uzlů

Více

bfs, dfs, fronta, zásobník, prioritní fronta, halda

bfs, dfs, fronta, zásobník, prioritní fronta, halda bfs, dfs, fronta, zásobník, prioritní fronta, halda Petr Ryšavý 20. září 2016 Katedra počítačů, FEL, ČVUT prohledávání grafů Proč prohledávání grafů Zkontrolovat, zda je sít spojitá. Hledání nejkratší

Více

Matematika III 10. přednáška Stromy a kostry

Matematika III 10. přednáška Stromy a kostry Matematika III 10. přednáška Stromy a kostry Michal Bulant Masarykova univerzita Fakulta informatiky 20. 11. 2007 Obsah přednášky 1 Izomorfismy stromů 2 Kostra grafu 3 Minimální kostra Doporučené zdroje

Více

5. Lokální, vázané a globální extrémy

5. Lokální, vázané a globální extrémy 5 Lokální, vázané a globální extrémy Studijní text Lokální extrémy 5 Lokální, vázané a globální extrémy Definice 51 Řekneme, že f : R n R má v bodě a Df: 1 lokální maximum, když Ka, δ Df tak, že x Ka,

Více

Diskrétní matematika. DiM /01, zimní semestr 2018/2019

Diskrétní matematika. DiM /01, zimní semestr 2018/2019 Diskrétní matematika Petr Kovář petr.kovar@vsb.cz Vysoká škola báňská Technická univerzita Ostrava DiM 470-2301/01, zimní semestr 2018/2019 O tomto souboru Tento soubor je zamýšlen především jako pomůcka

Více

ALGORITMY A DATOVÉ STRUKTURY

ALGORITMY A DATOVÉ STRUKTURY Název tématického celku: Cíl: ALGORITMY A DATOVÉ STRUKTURY Metodický list č. 1 Časová složitost algoritmů Základním cílem tohoto tematického celku je vysvětlení potřebných pojmů a definic nutných k popisu

Více

KOMPLEXNÍ ČÍSLA INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

KOMPLEXNÍ ČÍSLA INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ KOMPLEXNÍ ČÍSLA Gymnázium Jiřího Wolkera v Prostějově Výukové materiály z matematiky pro vyšší gymnázia Autoři projektu Student na prahu 21. století - využití ICT ve vyučování matematiky na gymnáziu INVESTICE

Více

Úvod do informatiky. Miroslav Kolařík

Úvod do informatiky. Miroslav Kolařík Úvod do informatiky přednáška desátá Miroslav Kolařík Zpracováno dle R. Bělohlávek, V. Vychodil: Diskrétní matematika 2, http://phoenix.inf.upol.cz/esf/ucebni/dm2.pdf P. Martinek: Základy teoretické informatiky,

Více

1. část: Základy teorie grafů. Ing. Michal Dorda, Ph.D.

1. část: Základy teorie grafů. Ing. Michal Dorda, Ph.D. 1. část: Základy teorie grafů 1 Co je to teorie grafů? 2 Co je to teorie grafů? 3 Co je to teorie grafů? 4 K čemu jsou nám optimalizační metody? centrální sklad zákazníci 5 K čemu jsou nám optimalizační

Více

Výroková a predikátová logika - IV

Výroková a predikátová logika - IV Výroková a predikátová logika - IV Petr Gregor KTIML MFF UK ZS 2018/2019 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - IV ZS 2018/2019 1 / 17 Tablo metoda Tablo Tablo - příklady F (((p q)

Více

ADT STROM Lukáš Foldýna

ADT STROM Lukáš Foldýna ADT STROM Lukáš Foldýna 26. 05. 2006 Stromy mají široké uplatnění jako datové struktury pro různé algoritmy. Jsou to matematické abstrakce množin, kterou v běžném životě používáme velice často. Příkladem

Více

3. Třídy P a NP. Model výpočtu: Turingův stroj Rozhodovací problémy: třídy P a NP Optimalizační problémy: třídy PO a NPO MI-PAA

3. Třídy P a NP. Model výpočtu: Turingův stroj Rozhodovací problémy: třídy P a NP Optimalizační problémy: třídy PO a NPO MI-PAA Jan Schmidt 2011 Katedra číslicového návrhu Fakulta informačních technologií České vysoké učení technické v Praze Zimní semestr 2011/12 MI-PAA EVROPSKÝ SOCIÁLNÍ FOND PRAHA & EU: INVESTUJENE DO VAŠÍ BUDOUCNOSTI

Více

10 Podgrafy, isomorfismus grafů

10 Podgrafy, isomorfismus grafů Typické příklady pro zápočtové písemky DiM 470-2301 (Kovář, Kovářová, Kubesa) (verze: November 25, 2018) 1 10 Podgrafy, isomorfismus grafů 10.1. Určete v grafu G na obrázku Obrázek 10.1: Graf G. (a) největší

Více

Programování 3. hodina. RNDr. Jan Lánský, Ph.D. Katedra informatiky a matematiky Fakulta ekonomických studií Vysoká škola finanční a správní 2015

Programování 3. hodina. RNDr. Jan Lánský, Ph.D. Katedra informatiky a matematiky Fakulta ekonomických studií Vysoká škola finanční a správní 2015 Programování 3. hodina RNDr. Jan Lánský, Ph.D. Katedra informatiky a matematiky Fakulta ekonomických studií Vysoká škola finanční a správní 2015 Umíme z minulé hodiny Implementace zásobníku a fronty pomocí

Více

Datové typy a struktury

Datové typy a struktury atové typy a struktury Jednoduché datové typy oolean = logická hodnota (true / false) K uložení stačí 1 bit často celé slovo (1 byte) haracter = znak Pro 8-bitový SII kód stačí 1 byte (256 možností) Pro

Více

Informatika navazující magisterské studium Přijímací zkouška z informatiky 2018 varianta A

Informatika navazující magisterské studium Přijímací zkouška z informatiky 2018 varianta A Informatika navazující magisterské studium Přijímací zkouška z informatiky 2018 varianta A Každá úloha je hodnocena maximálně 25 body. Všechny své odpovědi zdůvodněte! 1. Postavte na stůl do řady vedle

Více

fakulty MENDELU v Brně (LDF) s ohledem na disciplíny společného základu http://akademie.ldf.mendelu.cz/cz (reg. č. CZ.1.07/2.2.00/28.

fakulty MENDELU v Brně (LDF) s ohledem na disciplíny společného základu http://akademie.ldf.mendelu.cz/cz (reg. č. CZ.1.07/2.2.00/28. Základy lineárního programování Vyšší matematika, Inženýrská matematika LDF MENDELU Podpořeno projektem Průřezová inovace studijních programů Lesnické a dřevařské fakulty MENDELU v Brně (LDF) s ohledem

Více

Dijkstrův algoritmus

Dijkstrův algoritmus Dijkstrův algoritmus Hledání nejkratší cesty v nezáporně hranově ohodnoceném grafu Necht je dán orientovaný graf G = (V, H) a funkce, která každé hraně h = (u, v) H přiřadí nezáporné reálné číslo označované

Více

VEKTOR. Vymyslete alespoň tři příklady vektorových a skalárních fyzikálních veličin. vektorové: 1. skalární

VEKTOR. Vymyslete alespoň tři příklady vektorových a skalárních fyzikálních veličin. vektorové: 1. skalární VEKTOR Úvod Vektor je abstraktní pojem sloužící k vyjádření jistého směru a velikosti. S vektorovými veličinami se setkáváme například ve fyzice. Jde o veličiny, u nichž je rozhodující nejen velikost,

Více

VYSOKÁ ŠKOLA EKONOMICKÁ V PRAZE. Optimalizace trasy při revizích elektrospotřebičů

VYSOKÁ ŠKOLA EKONOMICKÁ V PRAZE. Optimalizace trasy při revizích elektrospotřebičů VYSOKÁ ŠKOLA EKONOMICKÁ V PRAZE FAKULTA INFORMATIKY A STATISTIKY Hlavní specializace: Ekonometrie a operační výzkum Název diplomové práce Optimalizace trasy při revizích elektrospotřebičů Diplomant: Vedoucí

Více

B i n á r n í r e l a c e. Patrik Kavecký, Radomír Hamřík

B i n á r n í r e l a c e. Patrik Kavecký, Radomír Hamřík B i n á r n í r e l a c e Patrik Kavecký, Radomír Hamřík Obsah 1 Kartézský součin dvou množin... 3 2 Binární relace... 6 3 Inverzní relace... 8 4 Klasifikace binární relací... 9 5 Ekvivalence... 12 2 1

Více

CLARKEOVA-WRIGHTOVA METODA ŘEŠENÍ ÚLOHY VRP

CLARKEOVA-WRIGHTOVA METODA ŘEŠENÍ ÚLOHY VRP CLARKEOVA-WRIGHTOVA METODA ŘEŠENÍ ÚLOHY VRP 1. Definice úlohy Úloha VRP (Vehicle Routing Problem problém okružních jízd) je definována na obecné dopravní síti S = (V,H), kde V je množina uzlů sítě a H

Více

Úvod do vybíravosti grafů, Nullstellensatz, polynomiální metoda

Úvod do vybíravosti grafů, Nullstellensatz, polynomiální metoda Úvod do vybíravosti grafů, Nullstellensatz, polynomiální metoda Zdeněk Dvořák 12. prosince 2017 1 Vybíravost Přiřazení seznamů grafu G je funkce L, která každému vrcholu G přiřadí množinu barev. L-obarvení

Více

Teorie grafů. Kostra grafu. Obsah. Radim Farana Podklady pro výuku pro akademický rok 2013/2014

Teorie grafů. Kostra grafu. Obsah. Radim Farana Podklady pro výuku pro akademický rok 2013/2014 Teorie grafů Radim Farana Podklady pro výuku pro akademický rok 013/014 Obsah Kostra grafu. Tahy,. Úloha čínského pošťáka. Zdroj: Vítečková, M., Přidal, P. & Koudela, T. Výukový modul k předmětu Systémová

Více

Množinu všech slov nad abecedou Σ značíme Σ * Množinu všech neprázdných slov Σ + Jazyk nad abecedou Σ je libovolná množina slov nad Σ

Množinu všech slov nad abecedou Σ značíme Σ * Množinu všech neprázdných slov Σ + Jazyk nad abecedou Σ je libovolná množina slov nad Σ Abecedou se rozumí libovolná konečná množina Σ. Prvky abecedy nazýváme znaky (symboly) Slovo (řetězec) v nad abecedou Σ je libovolná konečná posloupnost znaků této abecedy. Prázdné posloupnosti znaků odpovídá

Více

1 Řešení soustav lineárních rovnic

1 Řešení soustav lineárních rovnic 1 Řešení soustav lineárních rovnic 1.1 Lineární rovnice Lineární rovnicí o n neznámých x 1,x 2,..., x n s reálnými koeficienty rozumíme rovnici ve tvaru a 1 x 1 + a 2 x 2 +... + a n x n = b, (1) kde koeficienty

Více

LDF MENDELU. Simona Fišnarová (MENDELU) Základy lineárního programování VMAT, IMT 1 / 25

LDF MENDELU. Simona Fišnarová (MENDELU) Základy lineárního programování VMAT, IMT 1 / 25 Základy lineárního programování Vyšší matematika, Inženýrská matematika LDF MENDELU Podpořeno projektem Průřezová inovace studijních programů Lesnické a dřevařské fakulty MENDELU v Brně (LDF) s ohledem

Více

TGH09 - Barvení grafů

TGH09 - Barvení grafů TGH09 - Barvení grafů Jan Březina Technical University of Liberec 15. dubna 2013 Problém: Najít obarvení států na mapě tak, aby žádné sousední státy neměli stejnou barvu. Motivační problém Problém: Najít

Více

State Space Search Step Run Editace úloh Task1 Task2 Init Clear Node Goal Add Shift Remove Add Node Goal Node Shift Remove, Add Node

State Space Search Step Run Editace úloh Task1 Task2 Init Clear Node Goal Add Shift Remove Add Node Goal Node Shift Remove, Add Node State Space Search Po spuštění appletu se na pracovní ploše zobrazí stavový prostor první předpřipravené úlohy: - Zeleným kroužkem je označen počáteční stav úlohy, který nemůže být změněn. - Červeným kroužkem

Více

Základy matematiky pro FEK

Základy matematiky pro FEK Základy matematiky pro FEK 2. přednáška Blanka Šedivá KMA zimní semestr 2016/2017 Blanka Šedivá (KMA) Základy matematiky pro FEK zimní semestr 2016/2017 1 / 20 Co nás dneska čeká... Závislé a nezávislé

Více

Přijímací zkouška - matematika

Přijímací zkouška - matematika Přijímací zkouška - matematika Jméno a příjmení pište do okénka Číslo přihlášky Číslo zadání 1 Grafy 1 Pro který z následujících problémů není znám žádný algoritmus s polynomiální časovou složitostí? Problém,

Více

Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice

Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice Vektorové podprostory K množina reálných nebo komplexních čísel, U vektorový prostor nad K. Lineární kombinace vektorů u 1, u 2,...,u

Více

MATICE. a 11 a 12 a 1n a 21 a 22 a 2n A = = [a ij]

MATICE. a 11 a 12 a 1n a 21 a 22 a 2n A = = [a ij] MATICE Matice typu m/n nad tělesem T je soubor m n prvků z tělesa T uspořádaných do m řádků a n sloupců: a 11 a 12 a 1n a 21 a 22 a 2n A = = [a ij] a m1 a m2 a mn Prvek a i,j je prvek matice A na místě

Více

Úvod do řešení lineárních rovnic a jejich soustav

Úvod do řešení lineárních rovnic a jejich soustav Úvod do řešení lineárních rovnic a jejich soustav Rovnice je zápis rovnosti dvou výrazů, ve kterém máme najít neznámé číslo (neznámou). Po jeho dosazení do rovnice musí platit rovnost. Existuje-li takové

Více

Euklidovský prostor. Funkce dvou proměnných: základní pojmy, limita a spojitost.

Euklidovský prostor. Funkce dvou proměnných: základní pojmy, limita a spojitost. Euklidovský prostor. Funkce dvou proměnných: základní pojmy, limita a spojitost. Vyšší matematika, Inženýrská matematika LDF MENDELU Podpořeno projektem Průřezová inovace studijních programů Lesnické a

Více

Cílem kapitoly je opakování a rozšíření středoškolských znalostí v oblasti teorie množin.

Cílem kapitoly je opakování a rozšíření středoškolských znalostí v oblasti teorie množin. 1.2. Cíle Cílem kapitoly je opakování a rozšíření středoškolských znalostí v oblasti teorie množin. Průvodce studiem Množina je jedním ze základních pojmů moderní matematiky. Teorii množin je možno budovat

Více

[1] Determinant. det A = 0 pro singulární matici, det A 0 pro regulární matici

[1] Determinant. det A = 0 pro singulární matici, det A 0 pro regulární matici [1] Determinant je číslo jistým způsobem charakterizující čtvercovou matici det A = 0 pro singulární matici, det A 0 pro regulární matici používá se při řešení lineárních soustav... a v mnoha dalších aplikacích

Více