ORIENTOVANÉ GRAFY, REPREZENTACE GRAFŮ

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

Matice sousednosti NG

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

Vzdálenost uzlů v neorientovaném grafu

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

PLANARITA A TOKY V SÍTÍCH

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

Úvod do teorie grafů

NP-ÚPLNÉ PROBLÉMY. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze

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

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

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

Použití dalších heuristik

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.

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

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

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

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

Grafové algoritmy. Programovací techniky

Přijímací zkouška - matematika

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

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

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

Grafové algoritmy. Programovací techniky

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

ALGORITMY A DATOVÉ STRUKTURY

Algoritmizace prostorových úloh

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

Jan Březina. 7. března 2017

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

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

3. Prohledávání grafů

Stromy, haldy, prioritní fronty

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

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

Kolik existuje různých stromů na pevně dané n-prvkové množině vrcholů?

STROMY A KOSTRY. Stromy a kostry TI 6.1

07 Základní pojmy teorie grafů

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

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

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

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

bfs, dfs, fronta, zásobník

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

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

Relace. R, S vyjmenovaním prvků. Sestrojte grafy relací R, S. Určete relace

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

ALG 04. Zásobník Fronta Operace Enqueue, Dequeue, Front, Empty... Cyklická implementace fronty. Průchod stromem do šířky

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

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

Datové typy a struktury

Datové struktury 2: Rozptylovací tabulky

Ekvivalence. Základy diskrétní matematiky, BI-ZDM ZS 2011/12, Lekce 5

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

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

Algoritmy na ohodnoceném grafu

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

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

6. Tahy / Kostry / Nejkratší cesty

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

Lineární algebra Operace s vektory a maticemi

Aplikovaná numerická matematika - ANM

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

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

Ú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ů

Algoritmy a datové struktury

GRAFY A GRAFOVÉ ALGORITMY

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

Dobývání znalostí. Doc. RNDr. Iveta Mrázová, CSc. Katedra teoretické informatiky Matematicko-fyzikální fakulta Univerzity Karlovy v Praze

Lineární algebra : Násobení matic a inverzní matice

2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus pro vyhledání položky v binárním stromu.

TGH06 - Hledání nejkratší cesty

TGH06 - Hledání nejkratší cesty

1 Nejkratší cesta grafem

PROGRAMOVÁNÍ. Cílem předmětu Programování je seznámit posluchače se způsoby, jak algoritmizovat základní programátorské techniky.

Automaty a gramatiky(bi-aag) Motivace. 1. Základní pojmy. 2 domácí úkoly po 6 bodech 3 testy za bodů celkem 40 bodů

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

Dynamické programování

Dijkstrův algoritmus (připomenutí)

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

Rekurzivní algoritmy

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

Návrh Designu: Radek Mařík

Metody síťové analýzy

prohled av an ı graf u Karel Hor ak, Petr Ryˇsav y 16. bˇrezna 2016 Katedra poˇ c ıtaˇ c u, FEL, ˇ CVUT

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

TGH04 - procházky po grafech

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

Dynamické programování

Ohodnocené orientované grafy

TGH02 - teorie grafů, základní pojmy

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ. Modernizace studijního programu Matematika na PřF Univerzity Palackého v Olomouci CZ.1.07/2.2.00/28.

Zdrojem většiny příkladů je sbírka úloh 1. cvičení ( ) 2. cvičení ( )

TGH02 - teorie grafů, základní pojmy

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

VzorTest-1. Prohlídka náhledu

2. Mřížky / Záplavové vyplňování

Dynamické datové struktury I.

Binární vyhledávací stromy pokročilé partie

TGH02 - teorie grafů, základní pojmy

Transkript:

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 do vaší budoucnosti Doc. Josef Kolář (ČVUT) Reprezentace grafů GRA, LS 2/, Lekce /

Orientované grafy a binární relace V této části se seznámíme s pojmy: acyklický graf, testování acykličnosti topologické uspořádání uzlů/hran orientovaného grafu graf binární relace na množině, graf složení relací, složení grafů, tranzitivní uzávěr grafu Skripta odstavec 2.2, str. - 6 Doc. Josef Kolář (ČVUT) Reprezentace grafů GRA, LS 2/, Lekce 2 /

Acyklické grafy Co víme: silně souvislý graf má každou hranu v nějakém cyklu Jak vypadá opačný extrém? acyklický graf = orientovaný graf bez cyklů Jak nejlépe testovat, zda je graf acyklický???? Hledáním cyklů??? Zjištění: Pokud pro uzly orientovaného grafu G platí u U: δ + (u) nebo u U: δ (u), potom graf G obsahuje alespoň jeden cyklus. nesplňuje podmínku δ (u) cyklus! nesplňuje podmínku δ + (u) Doc. Josef Kolář (ČVUT) Reprezentace grafů GRA, LS 2/, Lekce /

Acyklické grafy Naše zjištění představuje podmínku postačující, nikoliv nutnou! Pro testování acykličnosti se nehodí. nemá ani kořen ani list! Nové zjištění: Orientovaný graf G je acyklický pro jeho libovolný kořen nebo list u je graf G - {u} acyklický. Teď už můžeme formulovat ALGORITMUS TESTOVÁNÍ ACYKLIČNOSTI postupným odebíráním kořenů/listů Doc. Josef Kolář (ČVUT) Reprezentace grafů GRA, LS 2/, Lekce 4 /

Acyklické grafy - aplikace Plánujeme pořadí provádění nějakých akcí, např.: a < b, a < c, b < d, c < d, d < e, d < f, e < g, e < c, f < h, g < h b d f a c e g h Tyto akce NELZE reálně naplánovat. Proč? Odpovídající graf není acyklický Topologické uspořádání uzlů (obyčejného) orientovaného grafu je posloupnost u, u 2,..., u n taková, že každá hrana (u i, u j ) má i<j. Topologické uspořádání hran (obyčejného) orientovaného grafu je posloupnost h, h 2,..., h m taková, že každá dvojice navazujících hran h i, h j má i<j (co jsou to "navazující" hrany?) Doc. Josef Kolář (ČVUT) Reprezentace grafů GRA, LS 2/, Lekce 5 /

Acyklické grafy - aplikace Jak bychom našli topologické uspořádání uzlů? Postupně odebíráme kořeny grafu (δ - (u)=) jako při testu acykličnosti. Jak to efektivně zařídit? pro každý uzel spočítáme - δ - (u)... vstupní stupeň (je-li =, je to kořen) - Γ(u)... množinu následníků při každém vypuštění kořene upravíme δ - (u) pro jeho následníky, při poklesu na zařadíme mezi kořeny. Pořadí odebrání uzlů je jejich topologickým uspořádáním.! Později uvedeme ještě jednodušší algoritmus! Doc. Josef Kolář (ČVUT) Reprezentace grafů GRA, LS 2/, Lekce 6 /

Orientované grafy a binární relace Binární relace na množině X : Prostý OG s množinou uzlů U : R X X H U U (orientovaný) graf binární relace R... G R : h = (u, v) vyjadřuje platnost u R v X = {,2,,4,5} R = {<,2>, <,>, G R <2,>, <2,5>, <,4>, <,5>, <4,>, <4,2>, 5 2 <5,>, <5,4>} 4 Doc. Josef Kolář (ČVUT) Reprezentace grafů GRA, LS 2/, Lekce 7 /

Orientované grafy a binární relace Složení grafů G R G S = G R S G R G S 5 2 5 2 4 4 5 2 5 2 G R S G S R 4 4 Doc. Josef Kolář (ČVUT) Reprezentace grafů GRA, LS 2/, Lekce 8 /

Orientované grafy a binární relace (RE), (SY), (TR), (ANS), (AS), (IR) - jak se projeví v grafu?? Tranzitivní uzávěr grafu G G R G R+ 5 2 5 2 4 4 Doc. Josef Kolář (ČVUT) Reprezentace grafů GRA, LS 2/, Lekce 9 /

Kontrolní otázky. Navrhněte algoritmus topologického očíslování hran acyklického orientovaného grafu..2 Zdůvodněte, proč pro testování acykličnosti (resp. hledání topologického uspořádání uzlů) orientovaného grafu stačí vypouštět jenom kořeny (nebo jenom listy).. Je topologické uspořádání uzlů (hran) orientovaného grafu určeno jednoznačně?.4 Kolika různými způsoby lze orientovat úplný neorientovaný graf o n uzlech K n tak, aby byl výsledný graf acyklický?.5 Popište strukturu nějakého obyčejného orientovaného grafu s n uzly, který má pro danou hodnotu k ( k n-) přesně k!. (n-k)! různých topologických uspořádání uzlů..6 Popište strukturu grafu binární relace, která je reflexivní (resp. symetrická, antisymetrická, asymetrická, tranzitivní, ireflexivní). Doc. Josef Kolář (ČVUT) Reprezentace grafů GRA, LS 2/, Lekce /

REPREZENTACE GRAFU maticové spojové další... V této části se seznámíme s pojmy: matice incidence NG/OG, matice sousednosti NG/OG (základní) spojová reprezentace NG/OG Skripta odstavec 4., str. 65-74 Doc. Josef Kolář (ČVUT) Reprezentace grafů GRA, LS 2/, Lekce /

Doc. Josef Kolář (ČVUT) Reprezentace grafů GRA, LS 2/, Lekce 2 / Matice incidence NG A = [ a ik ] obdélníková matice typu U x H nad tělesem mod 2 (pozor na základní operace!)... hrana h k inciduje s uzlem u i a ik =... jinak a d e b c 2 4 5 6 7 a b c d 2 4 5 6 7 e? Co nám říká matice incidence o grafu?? Smyčky, rovnoběžné hrany?

Matice incidence NG Poznáme podle matic incidence, zda jsou dva grafy izomorfní? Např.: G G 2?? právě když?? A = A 2 Zjištění: součet (mod 2) ve sloupci je (vždy dvě jedničky!) řádky jsou lineárně závislé, takže hodnost matice A... h(a) U - (rovnost platí pro souvislé grafy) h(a) = U - p obecný vztah pro graf s p komponentami Doc. Josef Kolář (ČVUT) Reprezentace grafů GRA, LS 2/, Lekce /

Doc. Josef Kolář (ČVUT) Reprezentace grafů GRA, LS 2/, Lekce 4 / Matice sousednosti NG V = [ v ij ] čtvercová matice typu U x U nad okruhem celých čísel: v ij = počet hran mezi uzly u i a u j a d e b c a b c d e a b c d e? Co nám říká matice sousednosti o grafu?? Smyčky, rovnoběžné hrany?

Matice sousednosti NG Poznáme podle matic sousednosti, zda jsou dva grafy izomorfní? Např.: G G 2?? právě když?? V = V 2 Zjištění: V = V T V r = [v ik (r) ]... počet sledů délky r mezi u i a u k A. A T = V + D, D = [ d ii ], kde d ii = δ(u i ) Doc. Josef Kolář (ČVUT) Reprezentace grafů GRA, LS 2/, Lekce 5 /

Matice incidence OG A = [ a ik ] obdélníková matice typu U x H nad okruhem celých čísel: a ik =... hrana h k vychází z uzlu u i -... hrana h k končí v uzlu u i... jinak a b 2 a c 2 4 5 6 7-4 5 6 b c d - - - - d 7 e e - - Vlastnosti jsou podobné jako pro NG Doc. Josef Kolář (ČVUT) Reprezentace grafů GRA, LS 2/, Lekce 6 /

Doc. Josef Kolář (ČVUT) Reprezentace grafů GRA, LS 2/, Lekce 7 / Matice sousednosti OG V = [ v ij ] čtvercová matice typu U x U nad okruhem celých čísel: v ij = počet hran z uzlu u i do uzlu u j a d e b c a b c d e a b c d e? Poznáme izomorfní orientované grafy?? V = V T? a b c d e a b c d e

Matice sousednosti OG Zjištění: V r = [v (r) ik ]... počet spojení délky r z u i do u k V* = V i, i=,... d, kde d = min( H, U -)?? Co asi říká o grafu tato matice V*?? A. A T = D - V - V T, D = [ d ii ], kde d ii = δ + (u i )+ δ - (u i ) Doc. Josef Kolář (ČVUT) Reprezentace grafů GRA, LS 2/, Lekce 8 /

Spojová reprezentace grafu NG - seznamy sousedů OG - seznamy následníků Adj[u]: 2 U Srovnání paměťové složitosti: NG A: U * H (bitů!) V: U * U (integer? Boolean) Adj: U + 2* H OG Adj: U + H Doc. Josef Kolář (ČVUT) Reprezentace grafů GRA, LS 2/, Lekce 9 /

Spojová reprezentace grafu Základní spojovou reprezentaci mohou ještě doplňovat: seznamy předchůdců uzlů (pro OG) u každého prvku v seznamu následníků/předchůdců lze uvést i odpovídající označení (číslo) hrany přiřazení dvojic (uspořádaných dvojic) uzlů hranám (ρ a σ) ohodnocení/označení uzlů a/nebo hran Místo spojové reprezentace seznamů následníků/předchůdců je možné použít např. uložení v poli: 2 2 4 5 6 4 6 7 2 4 5 6 7 4 5 2 5 5 2 4 Doc. Josef Kolář (ČVUT) Reprezentace grafů GRA, LS 2/, Lekce 2 /

Vnější reprezentace grafu Až dosud jsme měli na mysli vnitřní reprezentaci grafů, ale jsou také různé vnější reprezentace, jimiž lze zadat graf na vstupu nějakého programu, např.: // počet uzlů a hran 5 7 // hrany jako dvojice uzlů 2 2 4 4 2 2 5 5 5 4 4 2 2 5 6 4 7 5 Jaké jsou další možnosti? Doc. Josef Kolář (ČVUT) Reprezentace grafů GRA, LS 2/, Lekce 2 /

Vnější reprezentace grafu Vlastní reprezentaci mohou mít některé speciální typy grafů, jako např.: kořenové stromy pravidelné stromy atd. Doc. Josef Kolář (ČVUT) Reprezentace grafů GRA, LS 2/, Lekce 22 /

Kontrolní otázky.7 Jak se z matice incidence neorientovaného grafu určí množina sousedů zadaného uzlu? Jaká bude časová složitost této operace?.8 Jak se z matice incidence orientovaného grafu určí množina předchůdců zadaného uzlu? Jaká bude časová složitost této operace?.9 Přesně popište, jaký bude vztah matice sousednosti (obecného) neorientovaného grafu G a matice sousednosti grafu G', který vznikl nějakou orientací hran grafu G.. V jakém orientovaném grafu bude r-tá mocnina V r matice sousednosti V obsahovat počty různých orientovaných cest mezi jednotlivými uzly?. Jak se z matice sousednosti neorientovaného grafu určí množina sousedů zadaného uzlu? Jaká bude časová složitost této operace?.2 Jak se z matice sousednosti orientovaného grafu určí množina předchůdců zadaného uzlu? Jaká bude časová složitost této operace?. Navrhněte algoritmus převodu matice incidence A neorientovaného grafu na jeho matici sousednosti V..4 Navrhněte algoritmus převodu matice sousednosti V orientovaného grafu na jeho matici incidence A. Doc. Josef Kolář (ČVUT) Reprezentace grafů GRA, LS 2/, Lekce 2 /

Prohledávání grafů V této části probereme témata strom prohledání do šířky (BF-strom) časová složitost prohledání do šířky rozklad neorientovaného grafu na komponenty Skripta odstavec 4.2, str. 74-79 Doc. Josef Kolář (ČVUT) Reprezentace grafů GRA, LS 2/, Lekce 24 /

Prohledávání grafu do šířky BFS - Breadth-First Search Je zadán graf G = H,U,σ (není podstatné, zda NG nebo OG) a jeho uzel s U. Prohledáním do šířky dostaneme strom (nejkratších) s u cest pro všechny uzly u dostupné z uzlu s (BF-strom) Stavy uzlů: FRESH - nový (dosud neobjevený) uzel OPEN - právě objevený ("nadějný") uzel CLOSED - vyčerpaný uzel Doc. Josef Kolář (ČVUT) Reprezentace grafů GRA, LS 2/, Lekce 25 /

Prohledávání grafu do šířky 2 4 5 6 7 8 9 2 4 5 6 7 8 9 2 Doc. Josef Kolář (ČVUT) Reprezentace grafů GRA, LS 2/, Lekce 26 /

Prohledávání grafu do šířky d[v]=k+ s u p[v]=u v d[u]=k Použité datové struktury: stav[u] - FRESH / OPEN / CLOSED d[u] - zjištěná vzdálenost s u p[u] - předchůdce uzlu u (viz ) Queue - fronta OPEN uzlů Doc. Josef Kolář (ČVUT) Reprezentace grafů GRA, LS 2/, Lekce 27 /

Prohledávání grafu do šířky void BFS (Graph G, Node s) { // pseudokod for (Node u in U(G)-s) 2 { stav[u] = FRESH; d[u] = ; p[u] = null; } stav[s] = OPEN; d[s] = ; p[s] = null; 4 Queue.Init(); Queue.Push(s); 5 while (!Queue.Empty()) { 6 u = Queue.Pop(); 7 for (v in Adj[u]) { 8 if (stav[v] == FRESH) { 9 stav[v] = OPEN; d[v] = d[u]+; p[v] = u; Queue.Push(v); } } 2 stav[u]=closed; } Doc. Josef Kolář (ČVUT) Reprezentace grafů GRA, LS 2/, Lekce 28 /

Prohledávání grafu do šířky d[u] 2 4 2 4 5 2 4 5 6 7 8 9 2 4 5 6 2 4 5 4 5 6 7 6 7 8 9 2 Doc. Josef Kolář (ČVUT) Reprezentace grafů GRA, LS 2/, Lekce 29 /

Složitost prohledávání do šířky cykl na řádku a 2... U operace s frontou O() na uzel celkem O( U ) cykly 5- a 7- pro každého souseda O( H ) O( U + H ) Zjištění: pokud fronta obsahuje uzly v, v 2,..., v r, potom platí d[v r ] d[v ] + d[v i ] d[v i+ ] pro i=,2,...,r- BFS nalezne nejkratší s v cestu pro každý uzel v dosažitelný z uzlu s a (p[v],v) určuje její poslední hranu všechny tyto hrany tvoří tzv. BF-strom Doc. Josef Kolář (ČVUT) Reprezentace grafů GRA, LS 2/, Lekce /

Kontrolní otázky.5 Změní se nějak chování či výsledek algoritmu BFS, pokud příkaz na řádku 2 umístíme bezprostředně za řádek 6?.6 Jak budou výsledky algoritmu BFS (tzn. vytvořený BFS-strom a hodnoty d[u]) ovlivněny změnou pořadí uzlů v seznamech sousedů?.7 Změní se nějak složitost algoritmu BFS, pokud namísto spojové reprezentace použijeme k vyjádření struktury grafu jeho matici incidence A (resp. matici sousednosti V)?.8 Zdůvodněte, proč nelze následující strom T získat jako BFS-strom při prohledání grafu G do šířky pro žádné uspořádání uzlů v seznamech sousedů uzlů, přestože strom T představuje jeden z možných stromů nejkratších cest z uzlu s do všech ostatních uzlů. s G s T.9 Jak vypadá neorientovaný graf, jehož BFS strom má při libovolném uspořádání uzlů v seznamu sousedů tvar hvězdice?.2 Upravte algoritmus BFS tak, aby určoval počet a strukturu (tj. skupiny uzlů) jednotlivých komponent neorientovaného grafu. Doc. Josef Kolář (ČVUT) Reprezentace grafů GRA, LS 2/, Lekce /