6. Rychlejší algoritmy na minimální kostry
|
|
- Hynek Toman
- před 8 lety
- Počet zobrazení:
Transkript
1 6. Rychlejší algoritmy na minimální kostry V této kapitole popíšeme několik pokročilejších algoritmů pro problém minimální kostry. Vesměs to budou různá vylepšení klasických algoritmů z minulé kapitoly. Upravená verze Borůvkova algoritmu pro rovinné grafy Vyjdeme z myšlenky, že můžeme po každém kroku původního Borůvkova algoritmu vzniklé komponenty souvislosti grafu kontrahovat do jednoho vrcholu a tím získat menší graf, který můžeme znovu rekurzivně zmenšovat. To funguje obecně, ale ukážeme, že pro rovinné grafy tak dosáhneme lineární časové složitosti. Pozorování:Pokud F MST(G)(kdeMST(G)jeminimálníkostragrafu G), G je graf vzniklý z G kontrakcípodél hran z F, pak kostragrafu G, která vznikne zmst(g ) zpětnýmexpandovánímkontrahovanýchvrcholů,je MST(G). Pokud kontrakcí vzniknou smyčky, můžeme je ihned odstraňovat; pokud paralelní hrany, ponecháme z nich vždy tu nejlehčí. To nás vede k následujícímu algoritmu: Algoritmus: MST v rovinných grafech[8] 1. Ke každému vrcholu najdeme nejlevnější incidentní hranu dostaneme množinuhran F E. 2. Graf kontrahujeme podle F následovně: 3. Prohledáme do šířky graf(v, F) a přiřadíme každému vrcholu číslo komponenty, v níž se nachází. 4. Přečíslujeme hrany v G podle čísel komponent. 5. Odstraníme násobné hrany: 6. Setřídíme hrany lexikograficky přihrádkovým tříděním(násobné hrany jsou nyní pospolu). 7. Projdeme posloupnost hran a z každého úseku multihran odstraníme všechny až na nejlevnější hranu. Také odstraníme smyčky. 8. Pokud stále máme netriviální graf, opakujeme předchozí kroky. 9. Vrátíme jako MST všechny hrany, které se v průběhu algoritmu dostaly do F. Časovásložitost:Označmesi n i a m i početvrcholůahrannapočátku i-téiterace.každýzkroků1 7trvá O(m i ),protoicelýcyklusalgoritmutrvá O(m i ). Početvrcholůgrafuklesáskaždýmcyklemexponenciálně: n i n/2 i.nazačátku každého cyklu je graf rovinný(kontrakcí hrany v rovinném grafu se rovinnost zachovává) a není to multigraf, takže počet jeho hran je lineární v počtu vrcholů: m i <3n i.celkovoučasovousložitostdostanemejakosoučetdobtrvánívšechcyklů: O( i m i)=o( i n i)=o(n). Minorově uzavřené třídy Předchozí algoritmus ve skutečnosti funguje v lineárním čase i pro obecnější třídy grafů, než jsou grafy rovinné. Tím správným universem jsou minorově uzavřené třídy:
2 Definice:Graf Hjeminoremgrafu G(značíme H G),pokudlze HzískatzG mazáním vrcholů či hran a kontrahováním hran(s odstraněním smyček a násobných hran). Pozorování: Relace je částečné uspořádání na třídě všech grafů(reflexivita a tranzitivita plynou přímo z definice, pro antisymetrii si stačí všimnout, že jak mazáním, tak kontrakcemi klesá součet počtu vrcholů s počtem hran). Pozorování: Pokud je graf H podgrafem grafu G, pak je také jeho minorem. Opačně toneplatí:například C 3 jeminoremlibovolnédelšíkružnice,aleurčitěnejejím podgrafem. Definice:Třídagrafů Cjeminorověuzavřená,pokudkdykoliv G Ca H G,platí také H C. Příklady: Třída všech grafů a prázdná třída jsou jistě minorově uzavřené. Těm říkáme triviální třídy. Mezi ty netriviální patří třeba lesy, rovinné grafy, grafy nakreslitelnénadalšíplochy,grafynakreslitelnédo Ê 3 tak,žežádnákružnicenetvoří uzel. Definice: Pro třídu grafů C definujeme Forb(C) jako třídu všech grafů, jejichž minorem není žádný graf z C. Pro zjednodušení značení budeme pro konečné třídy psát Forb(G 1,...,G k )namístoforb({g 1,...,G k }). Příklady:Forb(K 2 )jetřídavšechgrafů,kteréneobsahujížádnouhranu.forb(c 3 )je třídavšechlesů.forb(k 5,K 3,3 )jsouvšechnyrovinnégrafy tojeminorováanalogie Kuratowskéhověty(pokudgraf Gobsahujedělenígrafu H,pakje H G;opačně toobecněnenípravda,alezrovnaprodvojici K 5 a K 3,3 tofunguje;zkustesisami). Lze každou minorově uzavřenou třídu C zapsat jako Forb(F) pro nějakou třídu F zakázaných minorů? Zajisté ano, stačí například zvolit F jako doplněk třídy C. Slavná Robertsonova-Seymourova věta[11] dokonce zaručuje existenci konečné třídy zakázanýchminorů.tonenísamosebou,dokazujesetodostiobtížně(ajetojedna z nejslavnějších kombinatorických vět za posledních mnoho let), ale plyne z toho spousta zajímavých důsledků. My si vystačíme s daleko jednoduššími prostředky a zájemce o hlubší studium minorové teorie odkážeme na Diestelovu knihu[2]. Ve zbytku této sekce dokážeme následující větu, která je zobecněním klasického tvrzení o hustotě rovinných grafů na minorově uzavřené třídy: Definice: Hustotou neprázdného grafu G nazveme (G) = E(G) / V(G). Hustotou třídy (C) pak nazveme supremum z hustot všech neprázdných grafů ležících v této třídě. Věta(o hustotě minorově uzavřených tříd): Pokud je třída grafů C minorově uzavřenáanetriviální(alespoňjedengrafvníležíaalespoňjedenneleží),pakmákonečnou hustotu. Důsledek: Pokud používáme kontrahující Borůvkův algoritmus na grafy ležící v nějaké netriviální minorově uzavřené třídě, pak všechny grafy, které algoritmus v průběhu výpočtu sestrojí, leží také v této třídě, takže na odhad jejich hustoty můžeme použít předchozí větu. Opět vyjde, že časová složitost algoritmu je lineární
3 Důkaz věty: Ukážeme nejprve, že pro každou třídu C existuje nějaké k takové, že C Forb(K k ). Užvíme,že ClzezapsatjakoForb(F)pronějakoutřídu F.Označme F graf z F s nejmenším počtem vrcholů; pokud existuje více takových, vybereme libovolný. Hledané k zvolíme jako počet vrcholů tohoto grafu. Inkluzetvaru A Bjeekvivalentnítomu,žekdykolivnějakýgraf Gneleží v B,pakneležíanivA.Mějmetedynějakýgraf G Forb(K k ).Proto K k G. Ovšemtriviálněplatí F K k arelace býtminorem jetranzitivní,takže F G, aproto G C. Vímetedy,že C Forb(K k ).Protomusíplatit (C) (Forb(K k )).Takže postačuje omezit hustotu tříd s jedním zakázaným minorem, který je úplným grafem, a to plyne z následující Maderovy věty. Věta(Maderova):Prokaždé k 2existuje c(k)takové,žekdykolivmágrafhustotu alespoň c(k),obsahujejakopodgrafnějakédělenígrafu K k. Důkaz: Viz Diestel[2]. Jarníkův algoritmus s Fibonacciho haldou PůvodníJarníkůvalgoritmusshaldoumádíkynísložitost O(mlogn),tozlepšíme použitím Fibonacciho haldy H, do které si pro každý vrchol sousedící se zatím vybudovaným stromem T uložíme nejlevnější z hran vedoucích mezi tímto vrcholem astromem T.Tytohranybudehaldaudržovatuspořádanépodlevah. Algoritmus: Jarníkův algoritmus#2(fredman, Tarjan[4]) 1.Začnemelibovolnýmvrcholem v 0, T {v 0 }. 2.Dohaldy Humístímevšechnyhranyvedoucízv 0. 3.Opakujeme,dokud H : 4. vw ExtractMin(H),přičemž v T,w T. 5. T T {vw} 6. Provšechnysousedyuvrcholuv,kteřídosudnejsouvT,upravíme haldu: 7. PokudještěvHneníhranaincidentnísu,přidámehranuuv. 8. Pokudužtamnějakátakováhranajeaje-litěžšínež uv, nahradíme ji hranou uv a provedeme DecreaseKey. Správnost algoritmu přímo plyne ze správnosti Jarníkova algoritmu. Časová složitost: Složitost tohoto algoritmu bude O(m+n log n), neboť vnější cyklus se provede nanejvýš n-krát, za ExtractMin v něm tedy zaplatíme celkem O(n log n), za přidávání vrcholů do H a nalézání nejlevnějších hran zaplatíme celkem O(m) (na každou hranu takto sáhneme nanejvýš dvakrát), za snižování vah vrcholů v haldě rovněž pouze O(m)(nanejvýš m-krát provedu porovnání vah a DecreaseKey vkroku8za O(1)). Totozlepšeníjedůležitější,nežbysemohlozdát,protoženámprografysmnohahranami(konkrétněprografysm=Ω(nlogn))dáválineárníalgoritmus
4 Kombinace Jarníkova a Borůvkova algoritmu K dalšímu zlepšení dojde, když před předchozím algoritmem spustíme log log n cyklů Borůvkova algoritmu s kontrahováním vrcholů, čímž graf zahustíme. Algoritmus: Jarníkův algoritmus#3(původ neznámý) 1. Provedeme log log n cyklů upraveného Borůvkova algoritmu s kontrahováním hran popsaného výše. 2. Pokračujeme Jarníkovým algoritmem#2. Časovásložitost:Složitostprvníčástije O(mloglogn).Početvrcholůsepoprvní částialgoritmusnížína n n/lognasložitostdruhéčástibudetedynanejvýš O(m+n logn )=O(m). Jarníkův algoritmus s omezením velikosti haldy Ještě většího zrychlení dosáhneme, omezíme-li Jarníkovu algoritmu#2 vhodně velikost haldy, takže nám nalezne jednotlivé podkostřičky zastavené v růstu přetečením haldy. Podle těchto podkostřiček graf následně skontrahujeme a budeme pokračovat s mnohem menším grafem. Algoritmus: Jarníkův algoritmus#4(fredman, Tarjan[4]) 1. Opakujeme, dokud máme netriviální G(s alespoň jednou hranou): 2. t V(G). 3. Zvolíme k 2 2m/t (velikosthaldy). 4. T. 5. Opakujeme, dokud existují vrcholy mimo T: 6. Najdemevrchol v 0 mimo T. 7. SpustímeJarníkůvalg.#2procelýgrafod v 0.Zastavímeho, pokud: 8. H k(byla překročena velikost haldy) nebo 9. H= (došlisousedé)nebo 10. do T jsme přidali hranu oboustranně incidentní s hranamivt (připojilijsmenovoupodkostruknějakéuž nalezené). 11. Kontrahujeme G podle podkoster nalezených v T. Pozorování: Pokud algoritmus ještě neskončil, je každá z nalezených podkoster v T incidentní s alespoň k hranami(do toho počítáme i vnitřní hrany vedoucí mezi vrcholy podkostry). Jak to vypadá pro jednotlivá ukončení: 8. H k všechnyhranyvhaldějsouincidentníst anavzájemrůzné, takže incidentních je dost. 9. H= nemůženastat,algoritmusbyskončil. 10.Připojímsekužexistujícípodkostře jenjizvětším. Časová složitost: Důsledkem předchozího pozorování je, že počet podkoster v jednom průchodujenanejvýš2m/k.pro t a k vnásledujícímkrokupotomplatí t 2m/k
5 a k =2 2m/t 2 k.průchodůbudetedynanejvýšlog n 1,protožeprůchodsk > n budeužurčitěposlední.přitomjedenvnějšíprůchodtrvá O(m+tlogk),cožjepro k=2 2m/t rovno O(m).Celkovětedyalgoritmuspoběžívčase O(mlog n). Iodhadlog njealepřílišhrubý,protoženezačínámeshaldouvelikosti1, nýbrž2 2m/n.Můžemetedypočetprůchodůpřesnějiomezitfunkcí β(m,n)=min{i: log (i) n < m/n}ačasovousložitostodhadnoutjako O(mβ(m,n)).Tonámdává lineárníalgoritmusprografysm nlog (k) nprolibovolnoukonstantu k,jelikož β(m, n) tehdy vyjde omezená konstantou. Další výsledky O(mα(m, n)), kde α(m, n) je obdoba inverzní Ackermannovy funkce definovanápodobně,jakoje β(m,n)obdoboulog.[1],[9] O(T(m,n)),kde T(m,n)jehloubkaoptimálníhorozhodovacíhostromu pro nalezení minimální kostry v grafech s patřičným počtem hran a vrcholů[10]. Jelikož každý deterministický algoritmus založený na porovnávání vah lze popsat rozhodovacím stromem, je tento algoritmus zaručeně optimální. Jen bohužel nevíme, jak optimální stromy vypadají, takže je stále otevřeno, zda lze MST nalézt v lineárním čase. Nicméně tento algoritmus pracuje i na Pointer Machine, pročež víme, že pokud je lineární složitosti možnédosáhnout,neníktomupotřebavýpočetnísílaramu. 2 O(m)prografysceločíselnýmivahami(naRAMu)[3] ukážemevjedné z následujících kapitol. O(m),pokudužmámehranysetříděnépodlevah:jelikožvíme,žezáleží jennauspořádání,můžemeváhypřečíslovatna1...mapoužítpředchozí algoritmus. O(m) průměrně: randomizovaný algoritmus, který pro libovolný vstupní graf doběhne v očekávaném lineárním čase[5]. Na zjištění, zda je zadaná kostra minimální, stačí O(m) porovnání[7] adokoncelzevlineárnímčasezjistit,kterátojsou[6].ztohoostatně vychází předchozí randomizovaný algoritmus. Literatura [1] B. Chazelle. A Minimum Spanning Tree Algorithm with Inverse-Ackermann Type Complexity. J. ACM, 47: , [2] R. Diestel. Graph Theory. Springer-Verlag Berlin and Heidelberg GmbH& Co. K, [3] M. Fredman and D. E. Willard. Trans-dichotomous algorithms for minimum spanning trees and shortest paths. In Proceedings of FOCS 90, pages , log njeinverznífunkcek věžizmocnin,čilimin{i:log (i) n <1},kdelog (i) n je i-krát iterovaný logaritmus. 2 Ovýpočetníchmodelechvizpříštíkapitola
6 [4]M.L.FredmanandR.E.Tarjan.Fibonacciheapsandtheirusesinimproved network optimization algorithms. J. ACM, 34(3): , [5] D. R. Karger, P. N. Klein, and R. E. Tarjan. Linear expected-time algorithms for connectivity problems. J. ACM, 42: , [6] V. King. A simpler minimum spanning tree verification algorithm. In Workshop on Algorithms and Data Structures, pages , [7] J. Komlós. Linear verification for spanning trees. Combinatorica, 5(1):57 65, [8] M. Mareš. Two linear time algorithms for MST on minor closed graph classes. Archivum Mathematicum, 40: , [9] S. Pettie. Finding minimum spanning trees in O(mα(m, n)) time. Tech Report TR99-23, Univ. of Texas at Austin, [10] S. Pettie and V. Ramachandran. An Optimal Minimum Spanning Tree Algorithm. In Proceedings of ICALP 2000, pages Springer Verlag, [11] N. Robertson and P. D. Seymour. Graph minors: XX. Wagner s Conjecture. Journal of Combinatorial Theory Series B, 92(2): ,
Minimální kostry. Teorie. Štěpán Šimsa
Minimální kostry Štěpán Šimsa Abstrakt. Cílem příspěvku je seznámit s tématem minimálních koster, konkrétně s teoretickými základy, algoritmy a jejich analýzou. Problém.(Minimální kostra) Je zadaný graf
Ukážeme si lineární algoritmus, který pro pevné k rozhodne, zda vstupní. stromový rozklad. Poznamenejme, že je-li k součástí vstupu, pak rozhodnout
Ukážeme si lineární algoritmus, který pro pevné k rozhodne, zda vstupní graf má stromovou šířku nejvýše k, a je-li tomu tak, také vrátí příslušný stromový rozklad. Poznamenejme, že je-li k součástí vstupu,
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ý
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
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é
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
Jarníkův algoritmus. Obsah. Popis
1 z 6 28/05/2015 11:44 Jarníkův algoritmus Z Wikipedie, otevřené encyklopedie Jarníkův algoritmus (v zahraničí známý jako Primův algoritmus) je v teorii grafů algoritmus hledající minimální kostru ohodnoceného
Paralelní grafové algoritmy
Paralelní grafové algoritmy Značení Minimální kostra grafu Nejkratší cesta z jednoho uzlu Nejkratší cesta mezi všemi dvojicemi uzlů Použité značení Definition Bud G = (V, E) graf. Pro libovolný uzel u
PQ-stromy a rozpoznávání intervalových grafů v lineárním čase
-stromy a rozpoznávání intervalových grafů v lineárním čase ermutace s předepsanými intervaly Označme [n] množinu {1, 2,..., n}. Mějme permutaci π = π 1, π 2,..., π n množiny [n]. Řekneme, že množina S
TGH08 - Optimální kostry
TGH08 - Optimální kostry Jan Březina Technical University of Liberec 14. dubna 2015 Problém profesora Borůvky řešil elektrifikaci Moravy Jak propojit N obcí vedením s minimální celkovou délkou. Vedení
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
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
8 Přednáška z
8 Přednáška z 3 12 2003 Problém minimální kostry: Dostaneme souvislý graf G = (V, E), w : E R + Našim úkolem je nalézt strom (V, E ) tak, aby výraz e E w(e) nabýval minimální hodnoty Řešení - Hladový (greedy)
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á
1. Minimální kostry. 1.1. Od mìsteèka ke kostøe
. Minimální kostry Napadl sníh a přikryl peřinou celé městečko. Po ulicích lze sotva projít pěšky, natož projet autem. Které ulice prohrneme, aby šlo dojet odkudkoliv kamkoliv, a přitom nám házení sněhu
Binární vyhledávací stromy pokročilé partie
Binární vyhledávací stromy pokročilé partie KMI/ALS lekce Jan Konečný 30.9.204 Literatura Cormen Thomas H., Introduction to Algorithms, 2nd edition MIT Press, 200. ISBN 0-262-5396-8 6, 3, A Knuth Donald
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
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
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
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
Union-Find problém. Kapitola 1
Kapitola 1 Union-Find problém Motivace: Po světě se toulá spousta agentů. Často se stává, že jeden agent má spoustu jmen/přezdívek, které používá například při rezervaci hotelu, restaurace, na návštěvě
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
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
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é
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ý
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á
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é
Barevnost grafů MFF UK
Barevnost grafů Z. Dvořák MFF UK Plán vztah mezi barevností a maximálním stupněm (Brooksova věta) hranová barevnost (Vizingova věta) příště: vztah mezi barevností a klikovostí, perfektní grafy Barevnost
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
Modely Herbrandovské interpretace
Modely Herbrandovské interpretace Petr Štěpánek S využitím materialu Krysztofa R. Apta 2006 Logické programování 8 1 Uvedli jsme termové interpretace a termové modely pro logické programy a také nejmenší
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
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ý
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
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
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
Diskrétní matematika. DiM /01, zimní semestr 2015/2016
Diskrétní matematika Petr Kovář petr.kovar@vsb.cz Vysoká škola báňská Technická univerzita Ostrava DiM 470-2301/01, zimní semestr 2015/2016 O tomto souboru Tento soubor je zamýšlen především jako pomůcka
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
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
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
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ší
Elegantní algoritmus pro konstrukci sufixových polí
Elegantní algoritmus pro konstrukci sufixových polí 22.10.2014 Zadání Obsah Zadání... 3 Definice... 3 Analýza problému... 4 Jednotlivé algoritmy... 4 Algoritmus SA1... 4 Algoritmus SA2... 5 Algoritmus
Konstrukce relace. Postupně konstruujeme na množině všech stavů Q relace i,
[161014-1204 ] 11 2.1.35 Konstrukce relace. Postupně konstruujeme na množině všech stavů Q relace i, kde i = 0, 1,..., takto: p 0 q právě tehdy, když bud p, q F nebo p, q F. Dokud i+1 i konstruujeme p
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
Ú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í
Matematická analýza 1
Matematická analýza 1 ZS 2019-20 Miroslav Zelený 1. Logika, množiny a základní číselné obory 2. Limita posloupnosti 3. Limita a spojitost funkce 4. Elementární funkce 5. Derivace 6. Taylorův polynom Návod
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ý
které je z různých pohledů charakterizují. Několik z nich dokážeme v této kapitole.
Kapitola 7 Stromy Stromy jsou jednou z nejdůležitějších tříd grafů. O tom svědčí i množství vět, které je z různých pohledů charakterizují. Několik z nich dokážeme v této kapitole. Představíme také dvě
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É
8 Rovinnost a kreslení grafů
8 Rovinnost a kreslení grafů V přímé návaznosti na předchozí lekci se zaměříme na druhý důležitý aspekt slavného problému čtyř barev, který byl původně formulován pro barevné rozlišení států na politické
13. Třídící algoritmy a násobení matic
13. Třídící algoritmy a násobení matic Minulou přednášku jsme probírali QuickSort, jeden z historicky prvních třídících algoritmů, které překonaly kvadratickou složitost aspoň v průměrném případě. Proč
FREDHOLMOVA ALTERNATIVA
FREDHOLMOVA ALTERNATIVA Pavel Jirásek 1 Abstrakt. V tomto článku se snažíme shrnout dosavadní výsledky týkající se Fredholmovy alternativy (FA). Postupně zmíníme FA na prostorech konečné dimenze, FA pro
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
DobSort. Úvod do programování. DobSort Implementace 1/3. DobSort Implementace 2/3. DobSort - Příklad. DobSort Implementace 3/3
DobSort Úvod do programování Michal Krátký 1,Jiří Dvorský 1 1 Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programování, 2004/2005 V roce 1980 navrhl Dobosiewicz variantu (tzv. DobSort),
TGH05 - Problém za milion dolarů.
TGH05 - Problém za milion dolarů. Jan Březina Technical University of Liberec 20. března 2012 Časová složitost algoritmu Závislost doby běhu programu T na velikosti vstupních dat n. O(n) notace, standardní
Kolik existuje různých stromů na pevně dané n-prvkové množině vrcholů?
Kapitola 9 Matice a počet koster Graf (orientovaný i neorientovaný) lze popsat maticí, a to hned několika různými způsoby. Tématem této kapitoly jsou incidenční matice orientovaných grafů a souvislosti
Prioritní fronta, halda
Prioritní fronta, halda Priority queue, heap Jan Kybic http://cmp.felk.cvut.cz/~kybic kybic@fel.cvut.cz 2016 2018 1 / 26 Prioritní fronta Halda Heap sort 2 / 26 Prioritní fronta (priority queue) Podporuje
FIT ČVUT MI-LOM Lineární optimalizace a metody. Dualita. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti
FIT ČVUT MI-LOM Lineární optimalizace a metody Dualita Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Michal Černý, 2011 FIT ČVUT, MI-LOM, M. Černý, 2011: Dualita 2/5 Dualita Evropský
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 každém kroku se a + b zmenší o min(a, b), tedy vždy alespoň o 1. Jestliže jsme na začátku dostali 2
Euklidův algoritmus Doprovodný materiál pro cvičení Programování I. NPRM044 Autor: Markéta Popelová Datum: 31.10.2010 Euklidův algoritmus verze 1.0 Zadání: Určete největšího společného dělitele dvou zadaných
PŘEDNÁŠKA 2 POSLOUPNOSTI
PŘEDNÁŠKA 2 POSLOUPNOSTI 2.1 Zobrazení 2 Definice 1. Uvažujme libovolné neprázdné množiny A, B. Zobrazení množiny A do množiny B je definováno jako množina F uspořádaných dvojic (x, y A B, kde ke každému
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
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
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ší
= je prostý orientovaný graf., formálně c ( u, v) 0. dva speciální uzly: zdrojový uzel s a cílový uzel t. Dále budeme bez
Síť Síť je čtveřice N = ( G, s, t, c) kde G ( V, A) = je prostý orientovaný graf a každé orientované hraně ( u, v) je přiřazeno nezáporné číslo, které se nazývá kapacita hrany ( u, v), formálně c ( u,
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,
Pumping lemma - podstata problému. Automaty a gramatiky(bi-aag) Pumping lemma - problem resolution. Pumping lemma - podstata problému
BI-AAG (2011/2012) J. Holub: 10. Vlastnosti regulárních jazyků p. 2/22 Pumping lemma - podstata problému BI-AAG (2011/2012) J. Holub: 10. Vlastnosti regulárních jazyků p. 4/22 Automaty a gramatiky(bi-aag)
1. Toky, řezy a Fordův-Fulkersonův algoritmus
1. Toky, řezy a Fordův-Fulkersonův algoritmus V této kapitole nadefinujeme toky v sítích, odvodíme základní věty o nich a také Fordův-Fulkersonův algoritmus pro hledání maximálního toku. Také ukážeme,
Konvexní obal a množina
Definice M Množina se nazývá konvení, jestliže úsečka spojující libovolné dva její bod je částí této množin, tj. ab, M, t 0, : ta+ ( tb ) M konvení množina a b a b nekonvení množina Definice Konvení obal
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 ypoˇ cetn ı sloˇ zitost v teorii graf u Martin Doucha
Výpočetní složitost v teorii grafů Martin Doucha Parametrizovaná složitost Nástroj, jak zkrotit výpočetní složitost NP-těžkých problémů Klasický přístup: exponenciála v n Parametrizovaná složitost Nástroj,
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ší
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),
Drsná matematika III 9. přednáška Rovinné grafy: Stromy, konvexní mnohoúhelníky v prostoru a Platónská tělesa
Drsná matematika III 9. přednáška Rovinné grafy: Stromy, konvexní mnohoúhelníky v prostoru a Platónská tělesa Jan Slovák Masarykova univerzita Fakulta informatiky 14. 11. 21 Obsah přednášky 1 Literatura
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
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
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á
Algoritmizace složitost rekurzivních algoritmů. Jiří Vyskočil, Marko Genyg-Berezovskyj 2010
složitost rekurzivních algoritmů Jiří Vyskočil, Marko Genyg-Berezovskyj 2010 Vyjádřen ení složitosti rekurzivního algoritmu rekurentním m tvarem Příklad vyjádření složitosti rekurzivního algoritmu rekurencí:
SVD rozklad a pseudoinverse
SVD rozklad a pseudoinverse Odpřednesenou látku naleznete v kapitole 12 skript Abstraktní a konkrétní lineární algebra. Jiří Velebil: Lineární algebra 19.12.2016: SVD rozklad a pseudoinverse 1/21 Cíle
doplněk, zřetězení, Kleeneho operaci a reverzi. Ukážeme ještě další operace s jazyky, na které je
28 [181105-1236 ] 2.7 Další uzávěrové vlastnosti třídy regulárních jazyků Z předchozích přednášek víme, že třída regulárních jazyků je uzavřena na sjednocení, průnik, doplněk, zřetězení, Kleeneho operaci
1 Báze a dimenze vektorového prostoru 1
1 Báze a dimenze vektorového prostoru 1 Báze a dimenze vektorového prostoru 1 2 Aritmetické vektorové prostory 7 3 Eukleidovské vektorové prostory 9 Levá vnější operace Definice 5.1 Necht A B. Levou vnější
Limita a spojitost funkce a zobrazení jedné reálné proměnné
Přednáška 4 Limita a spojitost funkce a zobrazení jedné reálné proměnné V několika následujících přednáškách budeme studovat zobrazení jedné reálné proměnné f : X Y, kde X R a Y R k. Protože pro každé
(Cramerovo pravidlo, determinanty, inverzní matice)
KMA/MAT1 Přednáška a cvičení, Lineární algebra 2 Řešení soustav lineárních rovnic se čtvercovou maticí soustavy (Cramerovo pravidlo, determinanty, inverzní matice) 16 a 21 října 2014 V dnešní přednášce
Jan Pavĺık. FSI VUT v Brně 14.5.2010
Princip výškovnice Jan Pavĺık FSI VUT v Brně 14.5.2010 Osnova přednášky 1 Motivace 2 Obecný princip 3 Příklady Světové rekordy Turnajové uspořádání Skupinové hodnocení Rozhledny 4 Geografická výškovnice
Dynamické programování
Algoritmická matematika 3 KMI/ALM3 Mgr. Petr Osička, Ph.D ZS 2014 1 Základní princip Dynamické programování Princip dynamického programování je založen na podobné myšlence jako rozděl a panuj. Vstupní
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í,
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í
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á
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á
Báze a dimenze vektorových prostorů
Báze a dimenze vektorových prostorů Buď (V, +, ) vektorový prostor nad tělesem (T, +, ). Nechť u 1, u 2,..., u n je konečná posloupnost vektorů z V. Existují-li prvky s 1, s 2,..., s n T, z nichž alespoň
Fakulta elektrotechniky a informatiky Vysoká škola báňská - Technická univerzita Ostrava. Diskrétní matematika 2012/2013.
Fakulta elektrotechniky a informatiky Vysoká škola báňská - Technická univerzita Ostrava Diskrétní matematika 2012/2013 Projekt číslo 3 jméno: Jiří Znoj login: zno0011 hodnotící: Mgr. Pavel Skalný Příklad:
autorovu srdci... Petr Hliněný, FI MU Brno 1 FI: MA010: Průnikové grafy
9 Krátké povídání o průnikových grafech Od této lekce teorie grafů se zaměříme lehce na několik vybraných partíı teorie grafů bĺızkých autorovu srdci... Naším prvním výběrem jsou průnikové grafy, což jsou
Kreslení grafů na plochy Tomáš Novotný
Kreslení grafů na plochy Tomáš Novotný Úvod Abstrakt. V první části příspěvku si vysvětlíme základní pojmy týkající se ploch. Dále si ukážeme a procvičíme možné způsoby jejich zobrazování do roviny, abychom
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ýroková a predikátová logika - XII
Výroková a predikátová logika - XII Petr Gregor KTIML MFF UK ZS 2015/2016 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - XII ZS 2015/2016 1 / 15 Algebraické teorie Základní algebraické teorie
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ší
p 2 q , tj. 2q 2 = p 2. Tedy p 2 je sudé číslo, což ale znamená, že
KAPITOLA 1: Reálná čísla [MA1-18:P1.1] 1.1. Číselné množiny Přirozená čísla... N = {1,, 3,...} nula... 0, N 0 = {0, 1,, 3,...} = N {0} Celá čísla... Z = {0, 1, 1,,, 3,...} Racionální čísla... { p } Q =
Výroková a predikátová logika - II
Výroková a predikátová logika - II Petr Gregor KTIML MFF UK ZS 2013/2014 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - II ZS 2013/2014 1 / 20 Základní syntax Jazyk Výroková logika je logikou
(ne)závislost. α 1 x 1 + α 2 x 2 + + α n x n. x + ( 1) x Vektoru y = ( 1) y říkáme opačný vektor k vektoru y. x x = 1. x = x = 0.
Lineární (ne)závislost [1] Odečítání vektorů, asociativita BI-LIN, zavislost, 3, P. Olšák [2] Místo, abychom psali zdlouhavě: x + ( 1) y, píšeme stručněji x y. Vektoru y = ( 1) y říkáme opačný vektor k
Select sort: krok 1: krok 2: krok 3: atd. celkem porovnání. výběr nejmenšího klíče z n prvků vyžaduje 1 porovnání
Select sort: krok 1: výběr klíče z n prvků vyžaduje 1 porovnání krok 2: výběr klíče z 1 prvků vyžaduje 2 porovnání krok 3: výběr klíče z 2 prvků vyžaduje 3 porovnání atd. celkem porovnání Zlepšení = použít
Dosud jsme se zabývali pouze soustavami lineárních rovnic s reálnými koeficienty.
Kapitola 4 Tělesa Dosud jsme se zabývali pouze soustavami lineárních rovnic s reálnými koeficienty. Všechna čísla byla reálná, vektory měly reálné souřadnice, matice měly reálné prvky. Také řešení soustav