User Tools

Site Tools

teorie_grafu

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
teorie_grafu [2017/01/11 16:27]
efox
teorie_grafu [2017/09/21 16:31] (current)
efox
Line 1: Line 1:
 +<WRAP center round tip 60%>
 +základní pojmy, klasifikace, příklady využití, algoritmy (optimalizační úlohy na grafech)
 +</WRAP>
 +
 ====== graf ====== ====== graf ======
 +  * http://voho.eu/wiki/graf/
   * = grafické vyjádření vztahů mezi objekty   * = grafické vyjádření vztahů mezi objekty
 +  * = dvojice disjunktních množin uzlů (vrcholů, vertex-vertices) a hran (edge-edges), přičemž hrana vždy spojuje právě dva uzly (které nemusí být různé)
   * {{::grafy1.png?nolink&200|}}   * {{::grafy1.png?nolink&200|}}
   * **incidence** = místu vstupu nebo výstupu hrany, vztah hrany s uzlem   * **incidence** = místu vstupu nebo výstupu hrany, vztah hrany s uzlem
Line 13: Line 19:
                           * H -> U × U (kartézský součin - množina všech uspořádaných dvojic prvků z množiny U)                           * H -> U × U (kartézský součin - množina všech uspořádaných dvojic prvků z množiny U)
  
 +{{ ::hrana.png?nolink&300|}} 
 +  * **kostra grafu** 
 +        * libovolný podgraf spojující hranami všechny vrcholy původního grafu 
 +        * sám neobsahuje žádnou kružnici 
 +  * **izomorfní graf** 
 +        * něco s bijekcí (najdu si to!!!!) 
 +        * mají stejný počet vrcholů i hran 
 +  * **hrany** 
 +        * orientovaná, neorientovaná, násobné hrany, rovnoběžné hrany (jaký je rozdíl mezi násobnou a rovnoběžnou???, smyčka 
 +        * ohodnocená, neohodnocená 
 +              * vzdálenost, průchodnost, kapacita hrany pro přenos (informace, komodity) 
 +              * funkce, která dosazuje vrcholům hodnoty s jejich nejkratší vzdáleností = metrika (NUTNOST SOUVISLÉHO GRAFU)
  
 ====== typy grafů ====== ====== typy grafů ======
Line 42: Line 59:
 ===== podle souvislosti ===== ===== podle souvislosti =====
   * souvislé   * souvislé
 +        * musí ∃ cesta mezi každou dvojicí vrcholů
   * nesouvislé   * nesouvislé
 +
 +===== podle ∃ kružnice v grafu =====
 +  * cyklické
 +  * acyklické
 +
 +===== nakreslím ho do roviny bez křížení hran? =====
 +  * rovinné
 +  * nerovinné
  
 ====== souvislost grafu ====== ====== souvislost grafu ======
Line 49: Line 75:
   * v souvislém grafu existuje cesta mezi každou dvojicí jeho uzlů   * v souvislém grafu existuje cesta mezi každou dvojicí jeho uzlů
 ===== sled ===== ===== sled =====
 +  * taková posloupnost vrcholů, že mezi každými po sobě dvěma jdoucími je hrana
 +  * prostě to musí být spojení
 ===== tah ===== ===== tah =====
 +  * sled, kde není žádná hrana víc než jedenkrát
 +  * sled, kde se neopakují hrany
 +
 +===== uzavřený tah =====
 +  * končí tam kde začal. tak jak my.
 ===== cesta ===== ===== cesta =====
 +  * je sled, ve kterém se neopakují vrcholy
 +  * tedy každý vrchol se v cestě objevuje nejvýše jednou. Existuje-li mezi dvěma vrcholy sled v grafu, existuje mezi nimi i cesta
 +===== kružnice =====
 +  * každá uzavřená cesta
  
 +===== cyklus =====
 +  * uzavřená orientovaná cesta
 ====== reprezentace grafů ====== ====== reprezentace grafů ======
 ===== diagramem ===== ===== diagramem =====
Line 58: Line 97:
   * v hlavní diagonále jsou nuly (uvažujeme obyčejný graf bez smyček)   * v hlavní diagonále jsou nuly (uvažujeme obyčejný graf bez smyček)
   * u neorientovaného grafu je symetrická podle hlavní diagonály   * u neorientovaného grafu je symetrická podle hlavní diagonály
 +  * vím
 +  * **matice sousednosti**
 +          * počet hran mezi dvěma sousedními uzly
 +          * vím
 +          * {{::matice_sousednosti.png?nolink&500|}}
 ===== datovými strukturami ===== ===== datovými strukturami =====
 +===== matematicky =====
 +  * **seznam sousedů / seznam vrcholů se seznamem hran**
 +        * {{::seznam_sousedu.png?nolink&300|}}
 +  * **indidenční matice**
 +        * matice sousednosti má UZLY a UZLY v X i Y
 +        * tohle to má nahoře HRANY a vlevo UZLY
 +        * {{::incidence.png?nolink&300|}}
 +  * **matice dosažitelnosti**
 +        * je jenom dole pod diagonálou
 +        * johooo, pokud do toho čísla existuje sled, tak 1! jinak nula.
 +        * takže když nevede nic do 7, tak bude mít celý prázdný řádek
 +====== strom ======
 +  * souvislý graf
 +  * neobsahuje kružnici
 +  * mezi každými dvěma vrcholy existuje právě jedna cesta
 +  * je to datová struktura
 +====== úlohy ======
 +===== hledání nejkratší cesty=====
 +  * Dijkstrův algoritmus
 +        * ne záporná délka
 +  * Bellman-Fordův
 +        * i záporné hrany
  
 +===== hledání minimální kostry=====
 +  * Kruskalův algoritmus
 +        * je hladový
  
 +===== hledání maximální kostry=====
  
  
  
 +====== toky v sítích ======
 +  * pomocí grafů můžeme řešit problém nalezení maximálního toku v síti
 +  * vodovodní potrubí, dopravní síť, datová síť
  
 +===== síťová analýzy =====
 +  * silniční a uliční síť:
 +        * délka
 +        * průměrná rychlost
 +              * úprava na základě podmínky (na sněhu snížím o 20 %)
 +              * speciální ohodnocení - historická hustota dopravy //(to se musím podívat!)//
 +              * TMC = Trafic Message Channel - pokud je v daném místě k dispozici, přenáší živá data o aktuální hustotě dopravy
 +        * omezení (restrictions)
 +              * protože: šířka komunikace (max. povolená čířka vozidla), nosnost mostů, průjezdní výšky podjezdů
 +              * definice směru jízdy
 +        * bariéry
 +              * geografický prvek (bod, linie, plocha), který lze do sítě dynamicky vložit
 +              * zákaz (restriction) nebo zdržení (scaled cost)
 +              * dočasná uzavírka: uzavření jednoho úseku silnice v síti, stačí jej „přeškrtnout“ krátkou úsečkou liniové bariéry, trasa tomuto úseku vždy vyhne
 +              * plošná bariéra charakteru „zdržení“ může být situace, kdy se má algoritmus hledání optimální trasy vyhnout určité oblasti. Např. hustě obydlená oblast je reprezentována polygonem s parametrem „zdržení“ s hodnotu 2 - při výpočtu bude trvat průjezd 2x déle
 +        * odbočitelnost
 +              * např. jako čas nezbytný na odbočení můžu zahrnout do výpočtu (jakože doleva odbočit bývá těžší a delší)
 +              * zákaz odbožení (jednoduchý - nesmím odbožit vlevo, složený - světelná křižovatka)
  
 +==== úlohy ====
 +  * **hledání trasy z A do B**
 +        * přímo nebo přes libovolný počet průjezdních bodů
 +        * výsledkem může být grafický element optimální trasy, ale i podrobný itinerář, přes které ulice nebo čísla silnic se do cíle dostaneme, a to dokonce i včetně informací o směrovém značení
 +  * **Service Areas**
 +        * obslužnost
 +        * podle komunikace
 +  * **nejbližší středisko obsluhy (Closest Facility)**
 +        * která spádová nemocnice (policejní služebna, obchod) je pro obyvatele z jednotlivých ulic nejbližší
 +  * **matice vzdáleností (OD Cost Matrix)**
 +        * vygeneruje tabulku známou dříve z běžných autoatlasů, která informuje o vzdálenostech mezi jednotlivými městy
 +  * **lokační analýza (Location)**
 +        * umožní navrhnout optimální umístění střediska (výjezdové místo HZS)
 +  * **alokační analýza (Alocation)**
 +        * vypočítá obslužnost daného střediska (výjezdového místa HZS)
 +  * **problém optimalizace provozu (Vehicle Routing Problem)**
 +        * tak to je hustý!
 +        * zákazníci, sklady a vozidla -> rozvézt zboží mezi zákazníky v určitém čase -> počítá i s kapacitou vozidla, závozovými okny, časy kdy jsou vozidla k dispozici
  
  
Permalink teorie_grafu.1484148463.txt.gz · Last modified: 2017/01/11 16:27 by efox

oeffentlich