Grafy (G) ρ(h) = [u,v]

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

Download "Grafy (G) ρ(h) = [u,v]"

Transkript

1 Grafy (G) Neorientované: (NG) H hrany, U-uzly, ρ-incidence (jestli k němu něco vede) ρ: H UΞU Ξ neuspořádaná dvojice ρ(h) = [u,v] Teoretická informatika Str.1 Izolovaný uzel neinciduje s ním žádná hrana Rovnoběžné hrany hrany se shodnou množinou krajních uzlů Prostý (G) neobsahuje rovnoběžné hrany Multigraf aspoň 1 dvojice rovnoběžných hran Obyčejný (G) prostý (G) bez smyček (hrana mající stejný počáteční i koncový uzel) n Úplný graf obyč. (G), mezi všemi uzly ex. jedna hrana. Značení K n (graf o n uzlech). Počet hran = 2 Diskrétní graf pouze izolované uzly Podgraf: H H && U U && ρ (h) = ρ(h) pro všechna h H Faktor (G) = hranový podgraf G - množina uzlů shodná s G (má všechny uzly a jen některé (všechny) hrany) Dva grafy, jejichž průnikem je prázdný (G) nazýváme disjunktními (G) Rozdíl G G 1 : G 2 G pro který platí G = G 1 G 2 (G 2 neobsahuje žádné hrany z G 1, a ani žádné zbytečné uzly) Doplněk vznikne odečtením grafu G od úplného grafu s množinou uzlů U Izomorfismus - ϕ: grafy jsou strukturálně stejné: G 1 G 2 Způsob pro odhalení: Píši si k tomu posloupnosti stupňů a grafy, jejichž posloupnosti se budou rovnat proberu podrobně Def: Nechť G1=<H1,U1,ρ1> a G2=<H2,U2,ρ2> jsou dva grafy a ϕ bijekce množiny H 1 U 1 na množinu H 2 U 2 taková, že: zúžené zobrazení ϕ H1 je bijekce H1 na H2 (ϕ H1 : H1 H2) zúžené zobrazení ϕ U1 je bijekce U1 na U2 (ϕ U1 : U1 U2) ϕ zachovává incidenci, tzn. pro libovolné h H platí ρ1(h) = [u,v] ρ2(ϕ(h)) = [ϕ(,ϕ(] Zobrazení ϕ se pak nazývá izomorfismus mezi grafy G1 a G2 a grafy G1, G2, pro které tento izomorfismus lze nalézt, se nazývá izomorfní grafy. Stupeň uzlu počet hran s ním incidujících δ G (. Pro každou smyčku: δ( = 2 δ(g), Δ(G) min. resp. max. stupeň uzlu v (G); Σδ( = 2 H V obec. grafu: δ( = poč. soused Věta: V lib. (G) je poč. uzlů lichého stupně číslo sudé. Sled (G) posloupnost uzel, hrana, uzel, hrana, uzel délka sledu = počet hran otevřený sled různý počáteční a koncový uzel (i sled nulové délky) uzavřený Tah sled, ve kterém se neopakují hrany Cesta tak, ve kterém se neopakují uzly (mimo uzavřené cesty) Kružnice uzavřená cesta Z lib. sledu lze vybrat cestu, ale z uzavřeného sledu nemusí jít vybrat kružnice (to lze jen pro sled liché délky) Souvislý (G) mezi lib. dvěma uzly ex. sled Na souvislé propojení potřebuji min. N-1 hran Komponenta grafu každý jeho max. souvislý podgraf Strom souvislý graf bez kružnic Kostra faktor, který je stromem. Hrany náležející kostře jsou větve. Ty, které tam nepatří jsou tětivy. Přidáním 1 tětivy do kostry udělám právě 1 kružnici. Kostra má h u + 1 tětiv Počet různých koster grafu G = det(a r A T r ), kde A r je matice tvořená lib. U 1 LN řádky matice A Orientované (OG): o(h) = (u, u počáteční uzel u Γ v uzel u nazýváme předchůdcem uzlu v Úplný symetrický (OG) v němž je každá uspořádaná dvojice uzlů spojena orient. hranou Symetrická orientace: z udělám Opačně orientovaný (G) otočíme orientaci (šipky) u všech hran Orientované spojení; Orientovaný tah; Orientovaná cesta; Cykl orient. uzavřená cesta Silně souvislý mezi lib. dvěma uzly ex. orient. spojení Silná komponenta každý jeho max. silně souvislý podgraf (např. má 2 silné komponenty) Kondenzace grafu prostý graf, jehož každý uzel odpovídá silné komponentě

2 Teoretická informatika Str.2 Výstupní stp. uzelu δ G + (, vstupní δ G ( poč. hran, které mají uzel u za koncový Σδ + ( = Σδ ( = H List: δ + ( = 0 Kořen: δ ( = 0 Acyklický (G) prostý (OG), který neobsahuje cyklus Nalezení: Odebírám listy a kořeny Vlastnosti grafů Pokrytí (G) rozložíme množinu hran tak, že jsou hrany každé třídy H i uspořádány do tahu. Pokrytí s nejmenším počtem tříd nazýváme minimální pokrytí Min pokrytí projít všechny uzly. Hrany mohu pojít jen 1x Eulerův graf každý uzel má sudý stupeň (skládá se z kružnic) Věta: (G) lze pokrýt jediným uzavřeným tahem iff, je souvislým Eulerovým (G) Věta: (G) který má 2n uzlů lichého stupně a je souvislý lze pokrýt minimálně n otevřenými tahy. Orient. Eulerův (G) každý uzel má stejný vstupní a výstupní stupeň Nezávislá podmnožina uzlů žádné dva z uzlů neincidují se stejnou hranou (nesousedící uzly); α(g) Klika grafu max. úplný (každý s každým) podgraf K n Klikovost grafu ω(g) maximální klika (číslo n z K n ) α(g) = ω( G) Dominující podmnožina podmnožina uzlů, která svou množinou sousedů pokrývá všechny zbývající uzly (G) Dominance grafu β(g) = min D D dominující podmnožina Věta: Nezávislá podmnožina uzlů neorient (G) je max. iff je jeho dominující podmnožinou β(g) α(g) Chromatické číslo χ(g) α(g) U χ(g) δ max + 1 δ max max. stupeň uzlu graf bez kružnic liché délky: χ(g) = 2 (např. strom) Bipartitní (bichromatický) (G): χ(g) = 2, uplný značím K m,n Vzdálenost d(u, délka nejkratší cesty z u do v. d(u, 0; d(u, = 0 u = v; d(u, = d(v, d(u, d(u,z) + d(z, Def: Vzdáleností uzlů u a v v neorientovaném souvislém grafu G = <H,U,ρ> nazýváme délkou nejkratší cesty spojující tyto dva uzly. Průměr grafu T(G) = max d(u, pro všechna u, v. - max. vzdálenost v grafu Excentricita uzlu e(u,g) = max d(u, pro všechna v - jeho vzdálenost od jemu nejvzdálenějšímu vrcholu Poloměr r(g) = min e(u,g) u U Střed grafu každý uzel s excentricitou rovnou poloměru Cyklomatické číslo: μ(g) = H U + p, kde p počet komponent udává počet tětiv grafu Hodnost grafu: h(g) = U p Kořenový strom: kořen je propojitelný se všemi ostatními orientovanou cestou. Dálka této cesty se nazývá hloubka uzlu. Uspořádaný strom: rozlišujeme následníky na 1., 2.,. Pravidelný strom spt.2 s n listy obsahuje n 1 vnitřních uzlů (včetně kořene) a 2(n 1) hran Vnější délka: E(T) = Σvšech hloubek listů E = I (r 1)+r*u E = I+2n Vnitřní délka: I(T) = Σhloubek vnitřních uzlů r stp.stromu, u počet vnitřních uzlů Binární strom: preorder kořen, levý, pravý inorder levý, kořen, pravý postorder levý, pravý, kořen Separabilita a planarita Hranový řez minimální množina hran, které když odeberu, tak se graf rozdělí na 2 komponenty (ne více). ( nesmí sousedit s artikulací) Artikulace takový uzel (jeden), kterým prochází všechny cesty mezi jistou dvojicí uzlů ( podgraf bez toho uzlu má víc komponent). Má-li graf artikulaci je separabilní. Jinak je nesaparabilní. Planární graf: diagram lze nakreslit v E 2. Eulerova formule: počet stěn grafu (včetně vnější) r = H U + 2 Max. planární graf má hran: H 3 U 6 Grafy K 5 a K 3,3 jsou nejmenší neplanární grafy Grafy jsou homeomorfní, jestliže jsou buď izomorfní, nebo je-li možné konečným počtem půlení hran v těchto grafech dosáhnout toho, že vzniklé grafy jsou izomorfní.

3 Teoretická informatika Str.3 Topologické uspořádání Jde pouze pro acyklické grafy (žádný cyklus a smyčka). Uzly můžeme seřadit do horizontální úrovně a orientace všech hran pak musí směřovat jedním směrem. Získání: pomocí DFS prohledej a v okamžiku uzavření ulož každý uzel v na začátek seznamu uzlů, který po dokončení bude obsahovat uzly seřazené podle požadavků topologického uspořádání. Při zjišťování acykličnosti stačí vypouštět z grafu kořeny a listy (zůstane jen případný cyklus). Algoritmy Matice incidence A do řádků uzly, do sloupců hrany napíši jedničku tam, kde je ta hrana spojena s uzlem v každém sloupci 2 jedničky. Hodnost této matice o p komponent h(a) = U p. U (OG) je 1 u počátečního uzlu, 1 u koncového Matice sousednosti V v řádku i ve sloupci uzly píši tam číslo, kolik hran ty uzly spojuje matice je souměrná V n udává, kolik sledů délky n je v grafu G. U (OG) prvek v ik určuje hranu vedoucí z u i do u k.(matice není symetrická) Spojová reprezentace pole uzlů (pozice označuje číslo uzl ve kterém jsou ukazatele na strukturu, která obsahuje číslo uzlu, se kterým tento sousedí a ukazatel NEXT. Věta: Dva (NG) jsou izomorfní iff, jsou jejich matice incidence stejné až na případnou permutaci řádků a sloupců. Pro matici sousednosti to platí také, ale uvažujeme jen stejné permutace množiny řádků a sloupců (možností je n!) d Matice dosažitelnosti: R = V, kde d = min( H, U 1) i= 0 i BFS prohledávání do šířky (nalezení stromu nejkratších cest a zjištění dosažitelnosti): INICIALIZACE: stav dej na FRESH, vzdálenost na a předchůdce na NULL. Otevři jeden uzel a ulož jej do fronty. Dokud není fronta prázdná vyber z ní první otevřený. Sousedy, kteří jsou FRESH otevři, urči jim vzdálenost, předchůdce a ulož jej do fronty. Odeber ten otevřený uzel s fronty a zavři jej. Čas složitost: O(H+U) DFS prohledávání do hloubky (Depth First search) DFS: Všechny uzly nastav jako FRESH a následníky na NULL. Pro každý FRESH uzel proveď DFS-Projdi( DFS-Projdi(: Otevři ten uzel u a dej mu čas otevření. Pro všechny jeho FRESH následníky proveď DFS-Projdi(následník). Pak ten uzel uzavři a dej mu čas uzavření. Otevřené uzly ukládám do zásobníku otevřených uzlů (pro nerekurzivní řeš.). Čas složitost: O(H+U) Použití: Když neex. zpětné hrany (tímhle to poznám), jde o acyklický graf. Když se podívám na uzel a je FRESH stromová hrana, OPEN zpětná hrana, CLOSE dopředná nebo příčná (vede od uzlu k nějakému jeho potomkovi v DF-lese) DF-les se obecně skládá z několika DF-stromů. DF-strom se konstruuje pomocí předchůdců p[v] (jak se to procházelo pomocí DFS) Silné komponenty: proveď DFS(G), který určí časovou značku uzavření f[u] každého uzlu u; vytvoř opačně orientovaný graf G ; proveď DFS(G ), přitom v hlavním cyklu DFS probírej uzly v pořadí klesající hodnoty f[u] (získané v prvním krok rozklad množiny uzlů podle jednotlivých stromů DF-lesa získaného v předchozím kroku určuje rozklad na silné komponenty Pozn: V třetím bodu se uzavírá jedna silná komponenta po druhé. Je to nejspíš tak, že nejdřív to projdu v jednom směru a pak jdu od uzlů, které byly procházeny na konci a dívám se, kam se z nich mohu dostat (proto nejspíš G ). Generování všech koster grafu: Probírej hrany v lib. pořadí. Hranu, u které by se přidáním nevytvořila kružnice vlož do zásobníku a pokračuj v generování všech možných zbytků kostry s použitím zbývajících hran (rekurze). Pak se ještě generují všechny kostry neobsahující aktuální hranu. (2.rekurze). Kostra je celá, až má U 1 hran. Zjišťování kružnic-zjišťování komponent grafu KOMP(G): Vytvoříme množiny, kde bude jediný prvek (každý uzel) bude taky svým reprezentantem. Pokud zjistím, že 2 uzly již patří do stejné komponenty (operace FIND-SET) nemohu je propojit hranou (vznikla by kružnice). Pokud ne, ty dvě množiny sjednotím (operace UNION) a dám jim jednoho reprezentanta. Provedení: Kořenový strom, kde pro každý uzel se vytvoří samostatný podstrom (je tam sám) otec je reprezentantem množiny (kořenem) operace MAKE-SET. V operaci UNION mohu kořen menšího stromu zavěsit rovnou pod kořen většího (pak rychlé hledání). Ve FIND-SET mohu uzly, které jsem prošel při hledání kořene připojit rovnou na ten nalezený kořen, aby se to příště hledalo rychleji. Minimální kostry: (hranám je přiřazena nezáporná reálná délka)

4 Teoretická informatika Str.4 Borůvkův-Kruskalův alg O( H.lg H ): upravený KOMP(G) udělám MAKE-SET, uspořádám hrany do neklesající posloupnosti, ze které pak vybírám vhodné (FIND-SET) a popř. spojuji do jednoho stromu (UNION). Prostě vybírám hrany s min. ohodnocením (kdekoli z (G) ) a pokud bych přidáním nevytvořil kružnici, tak o nich prohlásím, že jsou v min. kostře. Jarníkův-Primův alg O( H.lg U ): Přidávám k dosud nalezené kostře takové hrany, které sousedí s již nalezenou kostrou, mají nejmenší ohodnocení a nevytvoří kuržnici. Provedení: Do fronty ulož všechny uzly a urči jim nekonečnou vzdálenost od podstromu. Pouze kořen nemá předchůdce. Dokud není fronta prázdná, vyber nejbližší uzel u a u jeho sousedů, kteří jsou ještě ve frontě zkus, zda mají blíže k u. Pokud ano, zadej jim předchůdce u a menší vzdálenost. Hladové programován: ke globálně optimálnímu řešení lze dospět prostřednictvím lokálně optimálních výběrů (shora dolů) Dynamické programování: (zdola nahor - optimalizační problém rozkládám na podproblémy (na začátku nejsme schopni říct, jako rozložení je to správné). Alg typu rozděl a panuj Huffmanovo kódování: Aby se pravděpodobnější případy hledali rychleji než ty méně pravděpodobné. Pro zadanou posloupnost vah se vytvoří list pro každou váhu w i a uloží se do prioritní fronty Q. (n 1)krát se opakuje sloučení uzlů s min. vahami. Vytvoří se jejich předchůdce, kterému se jako váha dá součet vah těch dvou předchůdců. Takto nově vzniklý uzel se vloží do Q, ze které se ti 2 zpracovaní vyjmou. Jde o prefixový kód začátek žádného kódového slova není stejný jako jiného. Nejkratší cesty z jednoho uzlu: Chceme i záporné ohodnocení hran. Pokud by cesta procházela záporně ohodnoceným cyklem (procházela by jím donekonečna) min.spojení neexistuje. Označujeme d w (u, =. d w (u, 0, d w (u, = 0 iff u = v; d w (u, d w (u,z) + d w (z, Nejkratší cesty do jediného cílového uzlu stačí řešit standardní úlohu, ale v opačně orientovaném grafu Relaxace hrany alg. RELAX(u,v,w): Lze-li d[v] zmenšit (d[u]+w(u, < d[v]), pak to provedeme a také upravíme předchůdce (nově nalezená cesta je menší než ta dříve nalezená) Dijkstrův alg. O( H.lg U ): ohodnocení hran musí mít nezáporné čísla; modifikované prohledáváním do hloubky Prioritní fronta Q seřazená podle d[u]. Vem nejmenší prvek z Q, uzavři jej a pro každého jeho následovníka proveď RELAXaci hrany (uprav jeho následovníkům vzdálenost (pro něž je to výhodné)). Pozn: Musím postihnout to, že měním vzdálenosti prvků, které jsou v prioritní frontě a prvek tam nesmí být 2x. Bellman-Fordův alg O( H. U ): lze použít i pro záporně ohodnocené hrany Alg: Opakovaně relaxuj ( U 1 krát ) všechny hrany grafu. Pro všechny hrany zkus, jestli ještě neexistuje hrana, která zmenšuje d. Pokud ano je zde záporný cyklus. Upravený: Ulož počáteční uzel do fronty. Pak v cyklu, dokud je něco ve frontě, tak to vyber a všechny vycházející hrany relaxuj: Jako původní relaxace, jen když se to povede, tak krom změny délky a předchůdce ten uzel vlož do fronty. U záporně ohodnoceného cyklu se fronta nikdy nevyprázdní. Pokud je graf acyklický, mohu vyhodit tu kontrolu na záporný cyklus a pak je složitost jen O( H + U ). Nejkratší cesty mezi všemi páry uzlů: Floydův-Warshallův alg: matice předchůdců a matice D, jejíž každý prvek d ij vyjadřuje w-délku nejkratší cesty z u i do u j. ( k ) ( k 1) ( k 1) ( k 1) 3 cykly v sobě k,i,j = 1 do n. dělej d = min( d, d + d ) ij ij ik kj. Musím také iteračně upravovat matici předchůdců. Odhalení nějakého záporného cyklu: na diagonále nějaké záporné číslo. Johnsonův alg O( H. U ): pro řídké grafy Pomocí Bellmana-Forda zjistím, jestli tam jsou cykly záporné délky. Když ne, přehodnotím hrany, aby tam nebyly záporná čísla w ) = w(u, + h( h(. Pak provedu n-krát Dijkstra a pro všechny uzly udělej = d ) ( u, + h( h( ). d u, v u Jak zvolit fci h: přidám do grafu uzel s orientovaně spojený se všemi ostatními hranou o w = 0. Pak h( = d(s,. Ta fce vrací nuly, jestliže tam nejsou záporné cesty. Dynamické programování: např. vyhledání optimálního stromu (nějak, že se dělají ty horní diagonály z dolních ) Nejdelší společná podposloupnost: Do 1. řádku a sloupce obdélníkové matice (podle délek posloupností) dám nuly. Pak 2 cykly v sobě vnořené. Je li a i = b i, tak se to použije (do toho políčka se dá velikost předchozího (na diagonále vpravo)+1). Jinak se bere delší ze dvou uvažovaných možností. Toky v sítích Def: Sítí nazýváme čtveřici S = <G,q,s,t>, kde G=<H,U> je obyčejný (OG), s U je zdroj sítě S, t U, t s je spotřebič sítě S a q: H R + je nezáporné ohodnocení hran, nazývané kapacita sítě S. Pro každou hranu h H nazýváme příslušnou hodnotu q(h) kapacitou hrany h.

5 Teoretická informatika Str.5 Def: Tokem v síti S = <G,q,s,t> nazýváme takové hodnocení hran f: H R +, které splňuje následující podmínky pro každou hranu (u, H platí 0 f(u, q(u, tok hranou nesmí překročit její kapacitu pro každý uzel u sítě různý od s i od t platí: f ( u, = f ( w, tok se nehromadí v žádném vnitřním uzlu ( u, H ( w, H Velikost toku f udává, kolik ve zdroji toku vzniká = kolik ho ve spotřebiči zaniká. Když je tam víc zdrojů/spotřebičů, udělám jeden a od něj vedu hrany s nekonečnou kapacitou ke skutečným zdrojům. Když má i uzel omezenou kapacitu, tak tento rozdělím na dva spojené hranou s touto kapacitou. Do jednu přivedu všechny hrany, které do původního vstupovali a do druhého všechny, které z něj vystupovali. Sítě s omezeným min. tokem: Síť doplníme umělým zdrojem S a a spotřebičem t a a pro všechny hrany (u, mající r uv > 0 zavedeme dvojici hran (u,t a ), (s a, s kapacitou r uv (a dolní mezí = 0) Snížíme kapacitu q uv r uv a dolní mez toku hranou (u, stanovíme = 0 Doplníme novou zpětnou hranu (t,s) s kapacitou q ts = a dolní mezí = 0 Má-li takto vzniklá síť max. tok z (s a do t a ) nasycující všechny případné hrany, pak lze v původní síti nalézt tok f ts. Jinak přípustný tok neexistuje. Řez sítě: množina hran, po jejímž odebrání se budou zdroj a spotřebič nacházet v různých komponentách. Kapacita řezu = velikost max. toku v síti = součet jednotlivých kapacit hran, které do řezu patří. Párováním v grafu G nazýváme takovou podmnožinu P H jeho hran, ve které žádné dvě hrany nemají společný uzel. Perfektní párování je, když P je faktorem grafu G. Maximální párování je takové, které obsahuje největší počet hran. Maximální tok v síti Alg. Fordův-Fulkersonův: Všechny uzly na FRESH; pak jdu jako prohledávání do šířky, dokud nedojdu do spotřebiče; Zapíši si zlepšující tok, změním propustnost (teď už tam něco teče už se tam toho vleze méně) a opakuji od 1. bodu dokud to jde. Pokud v 2. bodu narazím na uzel, kterým už odtéká celá jeho kapacita a já bych tam tou svou cestou mohl dopravit taky něco, tak ten původní zkusím poslat zpět a jdu tam já. S daty, co jsem poslal zpět (aspoň část) zkusím projít jinudy. Algoritmy umělé inteligence (UI) Stavový prostor je množina všech stavů systému společně s operátory nebo akcemi, které způsobují přechody mezi těmito stavy. Možno chápat jako (OG) automat. Informované hledání: hodnotící (heuristická) funkce směruje hledání určitým směrem. Gradientní algoritmus (gradientní alg): Pomocí prohledávání do hloubky. Při expanzi se následníci seřadí podle hodnotící funkce a do zásobníku otevřených uzlů se uloží tak, že na vrcholu bude nejperspektivnější z nich. Alg paprskového prohledávání (beam-search): Varianta prohledávání do šířky. V každé hladině uzlů stejně vzdálených od počátku se do fronty otevřených uzlů zařadí nejvýše k nejlepších kandidátů expanze. Alg uspořádaného prohledávání: Jako gradientní, ale otevřené uzly ukládá do prioritní fronty. K expanzi se pak vybírá uzel s nejmenší hodnotou f Dijkstrův alg v němž se místo odhadované vzdálenosti od počátku používá hodnotící fce. (je-li výpočet f( závislý na hodnotě f pro předchůdce uzlu, je nutné upravit relaxaci a upravovat pro dříve generované uzly jejich ohodnocení a zařazovat je znovu do fronty otevřených uzlů. Výhodné je hodnotící fci mít: f( = g(+h(, kde g( je vzdálenost od začátku a h( vzdálenost od konce. Alg s takto uspořádanou hodnotící funkcí se nazývá algoritmus A. Přípustný alg prohledávání algoritmus, který zaručuje nalezení nejkratší cesty řešení Heuristické hledání: Funkce h ) ( je odhad h( a nazývá se heuristická funkce (zcela závislá na existenci kvantifikovatelných heuristic. pravidel). alg A*: jako A, jen je tam ta hodnotící funkce aproximovaná. ) alg A* je přípustný h( h( a ohodnocení každého operátoru je > 0. ) ) alg A1* je lépe informovaný než A2*, když h1( h2( pro každý stav u stavového prostoru. Aby to však A1 nalezl dříve, musela by heuristická fce být konzistentní: h ) ( h ) ( d( u,, kde d(u, je přesná vzdálenost. SOH (symetrické obousměrné hledání), která je přípustná a kterou lze docílit nižšího počtu expandovaných uzlů než při prohledávání jednostranném. Mohu použít i heuristiku se směrováním je to hodně složité. IDA* (iterative deepining A*): SKRIPTA: Iterativní prohlubování, při níž se na počátku nastaví prahová hodnota hodnotící funkce a uzly s vyšší hodnotou se neuchovávají. Pokud hledání neuspěje, nový práh se nastaví na nejblíže vyšší hodnotu dosaženou v minulém průchodu. PŘEDNÁŠKY: Jako alg. do hloubky s omezenou hloubkou. Určím hloubku, kam až to má jít. Když se to tam nenajde, zvětší se prohledávaná hloubka.

6 Teoretická informatika Str.6 SMA* - jako A*, ale fronta je omezena velikostí. Když se fronta naplní, některé uzly vyhodím. Alg najde optimální řešení, jestli vzdálenost toho uzlu je menší než počet míst ve frontě. Řád růstu funkce (ASI): Když mám zjisti, která z fcí roste asymptoticky rychleji: a n = b, b = exp(n ln a). Např. vyšetřit: exp f = n ( n) n a ( ) n g ( n) = 1 ( n ln n)??exp( nln n ) = exp( n ln n) n ln n?? n n ln n 1?? n neplatí g(n) roste řádově rychleji n 2

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

VLASTNOSTI GRAFŮ. Vlastnosti grafů - kap. 3 TI 5 / 1

VLASTNOSTI GRAFŮ. Vlastnosti grafů - kap. 3 TI 5 / 1 VLASTNOSTI GRAFŮ Vlastnosti grafů - kap. 3 TI 5 / 1 Pokrytí a vzdálenost Každý graf je sjednocením svých hran (jak je to přesně?).?lze nalézt složitější struktury stejného typu, ze kterých lze nějaký graf

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

VLASTNOSTI GRAFŮ. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze. BI-GRA, LS 2010/2011, Lekce 5

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

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. 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

Použití dalších heuristik

Použití dalších heuristik Použití dalších heuristik zkracování cesty při FIND-SET UNION podle hodností Datové struktury... p[x] - předchůdce uzlu x MAKE-SET(x) p[x] := x hod[x] := 0 hod[x] - hodnost (aprox. výšky) UNION(x,y) LINK(FIND-SET(x),

Více

PLANARITA A TOKY V SÍTÍCH

PLANARITA A TOKY V SÍTÍCH PLANARITA A TOKY V SÍTÍCH Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze BI-GRA, LS 2010/2011, Lekce 9 Evropský sociální fond Praha & EU: Investujeme

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

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

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

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

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

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

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

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

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

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

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

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

STROMY A KOSTRY. Stromy a kostry TI 6.1

STROMY A KOSTRY. Stromy a kostry TI 6.1 STROMY A KOSTRY Stromy a kostry TI 6.1 Stromy a kostry Seznámíme se s následujícími pojmy: kostra rafu, cyklomatické číslo rafu, hodnost rafu (kořenový strom, hloubka stromu, kořenová kostra orientovaného

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. 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

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

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

NEJKRATŠÍ CESTY I. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze

NEJKRATŠÍ CESTY I. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze NEJKRATŠÍ CESTY I Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze BI-GRA, LS 2010/2011, Lekce 7 Evropský sociální fond Praha & EU: Investujeme do vaší

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

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

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

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

řádově různě rostoucí rostou řádově stejně rychle dvě funkce faktor izomorfismus neorientovaných grafů souvislý graf souvislost komponenta

řádově různě rostoucí rostou řádově stejně rychle dvě funkce faktor izomorfismus neorientovaných grafů souvislý graf souvislost komponenta 1) Uveďte alespoň dvě řádově různě rostoucí funkce f(n) takové, že n 2 = O(f(n)) a f(n) = O(n 3 ). 2) Platí-li f(n)=o(g 1 (n)) a f(n)=o(g 2 (n)), znamená to, že g 1 (n) a g 2 (n) rostou řádově stejně rychle

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

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

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

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

Úloha ve stavovém prostoru SP je <s 0, C>, kde s 0 je počáteční stav C je množina požadovaných cílových stavů

Úloha ve stavovém prostoru SP je <s 0, C>, kde s 0 je počáteční stav C je množina požadovaných cílových stavů Stavový prostor a jeho prohledávání SP = formalismus k obecnějšímu uchopení a vymezení problému, který spočívá v nalezení posloupnosti akcí vedoucích od počátečního stavu úlohy (zadání) k požadovanému

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

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

Drsná matematika III 10. demonstrovaná cvičení Kostry grafů

Drsná matematika III 10. demonstrovaná cvičení Kostry grafů Drsná matematika III 10. demonstrovaná cvičení Kostry grafů Martin Panák Masarykova univerzita Fakulta informatiky 21.11. 2006 1 Domácí úlohy z minulého týdne Příklad 1 Příklad 2 Příklad 3 2 Borůvkův algoritmus

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

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

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

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

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

STROMY A KOSTRY. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze. BI-GRA, LS 2010/2011, Lekce 6

STROMY A KOSTRY. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze. BI-GRA, LS 2010/2011, Lekce 6 STROMY A KOSTRY Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze BI-GRA, LS 010/011, Lekce 6 Evropský sociální fond Praha & EU: Investujeme do vaší

Více

TOKY V SÍTÍCH II. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze

TOKY V SÍTÍCH II. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze TOKY V SÍTÍCH II Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze BI-GRA, LS 010/011, Lekce 10 Evropský sociální fond Praha & EU: Investujeme do vaší

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

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

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

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

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

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

6. Tahy / Kostry / Nejkratší cesty

6. Tahy / Kostry / Nejkratší cesty 6. Tahy / Kostry / Nejkratší cesty BI-EP2 Efektivní programování 2 LS 2017/2018 Ing. Martin Kačer, Ph.D. 2011-18 Martin Kačer Katedra teoretické informatiky Fakulta informačních technologií České vysoké

Více

10 Přednáška ze

10 Přednáška ze 10 Přednáška ze 17. 12. 2003 Věta: G = (V, E) lze nakreslit jedním uzavřeným tahem G je souvislý a má všechny stupně sudé. Důkaz G je souvislý. Necht v je libovolný vrchol v G. A mějme uzavřený eurelovský

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

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

zejména Dijkstrův algoritmus pro hledání minimální cesty a hladový algoritmus pro hledání minimální kostry. Kapitola Ohodnocené grafy V praktických aplikacích teorie grafů zpravidla graf slouží jako nástroj k popisu nějaké struktury. Jednotlivé prvky této struktury mají často přiřazeny nějaké hodnoty (může jít

Více

Teorie grafů. zadání úloh. letní semestr 2008/2009. Poslední aktualizace: 19. května 2009. First Prev Next Last Go Back Full Screen Close Quit

Teorie grafů. zadání úloh. letní semestr 2008/2009. Poslední aktualizace: 19. května 2009. First Prev Next Last Go Back Full Screen Close Quit Teorie grafů zadání úloh letní semestr 2008/2009 Poslední aktualizace: 19. května 2009 Obsah Úloha číslo 1 5 Úloha číslo 2 6 Úloha číslo 3 7 Úloha číslo 4 8 Úloha číslo 5 9 Úloha číslo 6 10 Úloha číslo

Více

TGH06 - Hledání nejkratší cesty

TGH06 - Hledání nejkratší cesty TGH06 - Hledání nejkratší cesty Jan Březina Technical University of Liberec 26. března 2013 Motivační problémy Silniční sít reprezentovaná grafem. Najdi nejkratší/nejrychlejší cestu z místa A do místa

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

GRAFOVÉ MODELY. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky FIT České vysoké učení technické v Praze. BI-GRA, LS 2010/2011, Lekce 1

GRAFOVÉ MODELY. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky FIT České vysoké učení technické v Praze. BI-GRA, LS 2010/2011, Lekce 1 GRAFOVÉ MODELY Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky FIT České vysoké učení technické v Praze BI-GRA, LS 2010/2011, Lekce 1 Evropský sociální fond. Praha & EU: Investujeme do vaší

Více

TGH10 - Maximální toky

TGH10 - Maximální toky TGH10 - Maximální toky Jan Březina Technical University of Liberec 23. dubna 2013 - motivace Elektrická sít : Elektrická sít, jednotlivé vodiče mají různou kapacitu (max. proud). Jaký maximální proud může

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

Ř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

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

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

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

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

Stromové rozklady. Definice 1. Stromový rozklad grafu G je dvojice (T, β) taková, že T je strom, Stromové rozklady Zdeněk Dvořák 25. října 2017 Definice 1. Stromový rozklad grafu G je dvojice (T, β) taková, že T je strom, β je funkce přiřazující každému vrcholu T podmnožinu vrcholů v G, pro každé

Více

Jan Březina. Technical University of Liberec. 30. dubna 2013

Jan Březina. Technical University of Liberec. 30. dubna 2013 TGH11 - Maximální párování a související problémy Jan Březina Technical University of Liberec 30. dubna 2013 Bipartitní grafy Bipartitní graf - je obarvitelný dvěma barvami. Tj. V lze rozělit na disjunktní

Více

Jan Březina. Technical University of Liberec. 21. dubna 2015

Jan Březina. Technical University of Liberec. 21. dubna 2015 TGH11 - Maximální párování a související problémy Jan Březina Technical University of Liberec 21. dubna 2015 Bipartitní grafy Bipartitní graf - je obarvitelný dvěma barvami. Tj. V lze rozělit na disjunktní

Více

TGH06 - Hledání nejkratší cesty

TGH06 - Hledání nejkratší cesty TGH06 - Hledání nejkratší cesty Jan Březina Technical University of Liberec 31. března 2015 Motivační problémy Silniční sít reprezentovaná grafem. Ohodnocené hrany - délky silnic. Najdi nejkratší/nejrychlejší

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

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

Definice 1 eulerovský Definice 2 poloeulerovský

Definice 1 eulerovský Definice 2 poloeulerovský Dále budeme předpokládat, že každý graf je obyčejný a má aspoň tři uzly. Definice 1 Graf G se nazývá eulerovský, existuje-li v něm uzavřený tah, který obsahuje každou hranu v G. Definice 2 Graf G se nazývá

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

TGH04 - procházky po grafech

TGH04 - procházky po grafech TGH04 - procházky po grafech Jan Březina Technical University of Liberec 24. března 2015 Theseus v labyrintu Theseus chce v labyrintu najít Mínotaura. K dispozici má Ariadninu nit a křídu. Jak má postupovat?

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

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

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

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

Kapitola 11. Vzdálenost v grafech. 11.1 Matice sousednosti a počty sledů 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í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

Teoretická informatika Tomáš Foltýnek Barvení grafů Platónská tělesa

Teoretická informatika Tomáš Foltýnek Barvení grafů Platónská tělesa Tomáš Foltýnek foltynek@pef.mendelu.cz Barvení grafů Platónská tělesa strana 2 Opakování z minulé přednášky Co je to prohledávání grafu? Jaké způsoby prohledávání grafu známe? Jak nalézt východ z bludiště?

Více

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

Učební texty k státní bakalářské zkoušce Matematika Teorie grafů. študenti MFF 15. augusta 2008 Učební texty k státní bakalářské zkoušce Matematika Teorie grafů študenti MFF 15. augusta 2008 1 17 Teorie grafů Požiadavky Základní pojmy teorie grafů, reprezentace grafu. Stromy a jejich základní vlastnosti,

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

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

Ohodnocené orientované grafy

Ohodnocené orientované grafy Ohodnocené orientované grafy Definice Buď G graf Funkce w : H( G) (, ) se nazývá (hranové) ohodnocení grafu G; graf se zadaným ohodnocením se nazývá ohodnocený graf Definice Nechť G je orientovaný graf

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

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

Výroková a predikátová logika - III Výroková a predikátová logika - III Petr Gregor KTIML MFF UK ZS 2017/2018 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - III ZS 2017/2018 1 / 16 2-SAT 2-SAT Výrok je v k-cnf, je-li v CNF a

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

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

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

1 Teorie grafů. Základní informace

1 Teorie grafů. Základní informace 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é

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

Návrh Designu: Radek Mařík

Návrh Designu: Radek Mařík 1. 7. Najděte nejdelší rostoucí podposloupnost dané posloupnosti. Použijte metodu dynamického programování, napište tabulku průběžných délek částečných výsledků a tabulku předchůdců. a) 5 8 11 13 9 4 1

Více

Vrcholová barevnost grafu

Vrcholová barevnost grafu Vrcholová barevnost grafu Definice: Necht G = (V, E) je obyčejný graf a k N. Zobrazení φ : V {1, 2,..., k} nazýváme k-vrcholovým obarvením grafu G. Pokud φ(u) φ(v) pro každou hranu {u, v} E, nazveme k-vrcholové

Více

Definice 7.2. Nejmenší přirozené číslo k, pro které je graf G k-obarvitelný, se nazývá chromatické číslo (barevnost) grafu G a značí se χ(g).

Definice 7.2. Nejmenší přirozené číslo k, pro které je graf G k-obarvitelný, se nazývá chromatické číslo (barevnost) grafu G a značí se χ(g). 7 Barevnost grafu Definice 71 Graf G se nazývá k-obarvitelný, jestliže každému jeho uzlu lze přiřadit jednu z barev 1 k tak, že žádné dva sousední uzly nemají stejnou barvu Definice 72 Nejmenší přirozené

Více

Rekurzivní algoritmy

Rekurzivní algoritmy Rekurzivní algoritmy 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í algoritmy (BI-EFA) ZS

Více

II. Úlohy na vložené cykly a podprogramy

II. Úlohy na vložené cykly a podprogramy II. Úlohy na vložené cykly a podprogramy Společné zadání pro příklady 1. - 10. začíná jednou ze dvou možností popisu vstupních dat. Je dána posloupnost (neboli řada) N reálných (resp. celočíselných) hodnot.

Více

Vybíravost grafů, Nullstellensatz, jádra

Vybíravost grafů, Nullstellensatz, jádra Vybíravost grafů, Nullstellensatz, jádra Zdeněk Dvořák 10. prosince 2018 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í je dobré obarvení

Více