Hledání silně souvislý komponent Silně souvislá komponenta orientovaného grafu G= (V,E) je maximální množina uzlů UV taková že ∀ u,v ∈ V : u je dosažitelné.

Slides:



Advertisements
Podobné prezentace
Grafové algoritmy.
Advertisements

Algoritmy zpracování textů II
J. Pokorný 1 DOTAZOVACÍ JAZYKY slajdy přednášce DBI006 J. Pokorný MFF UK
PLANARITA A TOKY V SÍTÍCH
Dostačující podmínky •Sporný cyklus –Cyklus ve sporném orientovaném grafu •Sporné kolo –Struktura sporných cyklů.
Modulární systém dalšího vzdělávání pedagogických pracovníků JmK v přírodních vědách a informatice CZ.1.07/1.3.10/ Průchod grafu do šířky.
Stavový prostor. • Existují úlohy, pro které není k dispozici univerzální algoritmus řešení • různé hry • problém batohu, problém obchodního cestujícího.
Red-Black Stromy Binární Vyhledávací Stromy, u kterých je časová složitost operací v nejhorším případě rovná O(log n)
Aplikace teorie grafů Základní pojmy teorie grafů
Modulární systém dalšího vzdělávání pedagogických pracovníků JmK v přírodních vědách a informatice CZ.1.07/1.3.10/ Prezentace zadání a řešení Teorie.
Modulární systém dalšího vzdělávání pedagogických pracovníků JmK v přírodních vědách a informatice CZ.1.07/1.3.10/ Úvod do teorie grafů.
Architektury a techniky DS Tvorba efektivních příkazů I Přednáška č. 3 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky
Varianty Turingova stroje Výpočet funkcí pomocí TS
A5M33IZS – Informační a znalostní systémy Testování chordality grafů (rozložitelnosti modelu)
Algoritmy zpracování textů II
Medians and Order Statistics Nechť A je množina obsahující n různých prvků: Definice: Statistika i-tého řádu je i-tý nejmenší prvek, tj., minimum = statistika.
Metody řazení s lineární časovou složitostí
1 Vyhledávání Principy vyhledávání Klasifikace klíče:  Interní klíč – je součástí prohlížených záznamů  Externí klíč – není jeho součástí, je jím např.
SÍŤOVÁ ANALÝZA.
Algoritmizace.
REDUKCE DAT Díváme-li se na soubory jako na text, pak je tento text redundantní. Redundance vyplývá z:  některé fráze nebo slova se opakují  existuje.
TI 7.1 NEJKRATŠÍ CESTY Nejkratší cesty - kap. 6. TI 7.2 Nejkratší cesty z jednoho uzlu Seznámíme se s následujícími pojmy: w-vzdálenost (vzdálenost na.
ORIENTOVANÉ GRAFY V této části se seznámíme s následujícími pojmy:
Základy objektově orientovaného programování Jiří Strach.
Algoritmy vyhledávání a řazení
Stromy.
Ukázka odstranění rekurze Přemysl Tišer
Sorty Bubble, Insert a Quick
STROMY Datová struktura sestávající z uzlů
VLASTNOSTI GRAFŮ Vlastnosti grafů - kap. 3.
1 / 9X36DSA 2005The complexity of different algorithms varies: O(n), Ω(n 2 ), Θ(n·log 2 (n)), … Různé algoritmy mají různou složitost: O(n), Ω(n 2 ), Θ(n·log.
Zablokování (deadlock, smrtelné objetí, uváznutí)
Matematické metody optimalizace Tomáš Vaníček Katedra inženýrské informatiky Stavební fakulta ČVUT Thákurova 7, Praha 6 Dejvice, b407
KIV/PRO Cvičení Nejkratší cesta Vstup – N měst – Mezi některými dvojicemi měst vedou obousměrné silnice, zadány délky cest Výstup – Nejkratší.
Kostra grafu Prohledávání grafu
2. M Definiční obor, obor funkce. Vrchol paraboly: V=[1;-4]  Minimum funkce (nejnižší bod)  Mění se průběh funkce V=[1;-4]  Minimum funkce (nejnižší.
hledání zlepšující cesty
Projektové plánování.
Kanonické indexování vrcholů molekulového grafu Molekulový graf: G = (V, E, L, ,  ) Indexování vrcholů molekulového grafu G: bijekce  : V  I I je indexová.
NP-úplné problémy v grafech
Teorie čísel Prvočíslo Eulerova funkce φ(n)
ISI Web of Knowledge Produkt a platforma firmy Thomson Reuters. Zahrnuje báze: - Web of Science (převážně bibliografické záznamy odborných článků, lze.
Vstup: Úplný graf G=(V,E), ohodnocení hran d:E → R + Výstup: Nejkratší Hamiltonovská cesta HC v grafu G Najdi minimální kostru K grafu G Pokud K neobsahuje.
Planarita a toky v sítích
Les, stromy a kostry Kružnice: sled, který začíná a končí ve stejném vrcholu, ostatní vrcholy jsou různé Souvislý graf: mezi každými dvěma vrcholy existuje.
Stromy a kostry. Definice stromu Souvislý (neorientovaný) graf – mezi každými dvěma vrcholy existuje (alespoň jedna) cesta Strom je souvislý graf, který.
Brno University of Technology What should we do?.
Průběh funkce 2. M.
Hledání cyklů Komunikační sítě Elektrické obvody Odběr surovin a výrobků v průmyslové výrobě Logistika Chemie ….
Tým 32, varianta b/4/I.  Jakub Kadlubiec  Roman Pijáček  Petr Pliska  Jan Štourač  Václav Tunka (vedoucí)
Složitost algoritmu Vybrané problémy: Při analýze složitosti jednotlivých algoritmů často narazíme na problém, jakým způsobem vzít v úvahu velikost vstupu.
TI 3.1 UPOZORNĚNÍ Reprezentace grafů, odst. 4.1 dne (za týden) bude X36TIN dvakrát dne (za 5 týdnů) bude X36OSY dvakrát skripta.
NEJKRATŠÍ CESTY Nejkratší cesty - kap. 6.
Úvod do programování 11. hodina
ZAL – 6. cvičení 2016.
STROMY A KOSTRY Stromy a kostry - odst. 3.2.
Znázornění dopravní sítě grafem a kostra grafu Předmět: Teorie dopravy - cvičení Ing. František Lachnit, Ph.D.
Překladače 5. Syntaktická analýza
MODELY TEORIE GRAFŮ.
MINIMÁLNÍ KOSTRA V GRAFU
Úvod do programování 11. hodina
PROLOG strategie vyhodnocení dotazu
Oblast platnosti identifikátoru (1)
Běžné reprezentace grafu
ALG 07 Selection sort (Select sort) Insertion sort (Insert sort)
Toky v sítích.
Algoritmizace a datové struktury (14ASD)
ISI Web of Knowledge ISI Web of Knowledge
Algoritmizace a datové struktury (14ASD)
Algoritmizace a datové struktury (14ASD)
Transkript prezentace:

Hledání silně souvislý komponent Silně souvislá komponenta orientovaného grafu G= (V,E) je maximální množina uzlů UV taková že ∀ u,v ∈ V : u je dosažitelné z v a v je dosažitelné z u

Známé algoritmy a jejich složitost ● Tarjan (1972) – složitost  (V + E) ● Double DFS – složitost  (V + E) Je zřejmé, že jejich složitost je zároveň dolní hranice tohoto problému

Double DFS ● Je založen na aplikaci DFS ● Algoritmus využívá transponovaný graf G T ● Grafy G a G T mají shodné SCC ● Po provedení 2. DFS jsou hledané komponenty tvořeny vrcholy jednotlivých DFS stromů

SCC(G) 1.Zavolej DFS(G), který spočítá koncový čas pro každý vrchol 2.Spočitej transponovaný graf G T 3.Zavolej DFS(G T ), ale vrcholy uvažu v pořadí klesajících koncových časů spočitaných v 1. 4.Výstup jsou komponenty tvořeny vrcholy jednotlivých DFS stromů spočitaných v 3.

Provedeme 1.DFS

0/ 0

2/ 0 0/ 0 1/ 0 0/ 0

2/ 0 3/ 4 1/ 0 0/ 0

2/ 5 3/ 4 1/ 0 0/ 0

6/ 0 2/ 5 3/ 4 1/ 0 0/ 0

6/ 0 2/ 5 3/ 4 1/ 0 7/ 8

6/ 9 2/ 5 3/ 4 1/ 0 7/ 8

6/ 9 2/ 5 3/ 4 1/ 1 0 7/ 8

Transponujeme graf Provedeme 2.DFS na transponovaném grafu ale v hlavní cyklu DFS uvažujeme vrcholy v pořadí klesajících koncových časů spočitaných v 1. DFS

Vrcholy jednotlivých DFS stromů tvoří hledané sylně souvislé komponenty

Robert E. Tarjan (*1948) ● studoval na California Institute of Technology (B.S.) a Stanford University (M.S. a Ph.D.) ● Publikoval přes 170 článků, vymyslel řadu alogritmů (převážně z oblasti grafových algoritmů), zabýval se datovými strukturami. ● Algoritmus pro SCC publikován v: Robert E. Tarjan, Depth-first search and linear graph algorithms, SIAM Journal on Computing, 1(2): , 1972.

Tarjanův algoritmus pro SCC ● Je založený na DFS. ● Vrcholy v grafu si indexuje podle pořadí v jakém je navštěvuje (visit), u každého vrcholu si také pamatuje vrchol s nejnižším indexem, ke kterému existuje z tohoto vrcholu cesta (low-link). ● Při první návštěvě vrcholu nastaví low-link = visit, při dalším prohledávání upravuje low-link na odpovídající hodnotu. ● Navštívené vrcholy postupně ukládá na zásobník (kde jsou seřazeny podle jejich hodnoty visit). ● Když se rekurzívní volání DFS vrátí zpět k takovému vrcholu, u kterého platí visit = low-link (tedy vrchol s nejnižším indexem, ke kterému vede z toho vrcholu cesta, je on sám), tak se odstraní všechny vrcholy ze sásobníku až po tento vrchol – tvoří totiž silně spojitou komponentu.

Příklad

Srovnání obou algoritmů