Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 1 / 15Doc. Josef Kolář (ČVUT)Prohledávání stavového prostoruGRA, LS 2013/14, Lekce 11.

Slides:



Advertisements
Podobné prezentace
Grafové algoritmy.
Advertisements

LOGISTICKÉ SYSTÉMY 14/15.
Algoritmy zpracování textů II
NEJKRATŠÍ CESTY MEZI VŠEMI UZLY
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.
Prohledávání stavového prostoru
ŘÍDÍCÍ STRUKTURY - PODMÍNKY
Dualita úloh lineárního programování a analýza citlivosti
Programování funkcí v Excelu (pole)
Třída SIMSET je druhou standardní systémovou třídou, která obsahuje prostředky pro práci se spojovými seznamy. KRUHOVÉ SPOJOVÉ SEZNAMY Spojový seznam –
Lekce 7 Metoda molekulární dynamiky I Úvod KFY/PMFCHLekce 7 – Metoda molekulární dynamiky Osnova 1.Princip metody 2.Ingredience 3.Počáteční podmínky 4.Časová.
10. Dynamické datové struktury
Grafové algoritmy Programovací techniky.
Aplikace teorie grafů Základní pojmy teorie grafů
PA081 Programování numerických výpočtů
ALGO – Algoritmizace 1. cvičení
Sample Solutions CTU Open Contest 2012 Czech Technical University in Prague.
Proč?. pokud jsme schopni vytvořit stroj, který bude úlohu řešit problém je algoritmizovatelný příklad.
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.
FORMALIZACE PROJEKTU DO SÍŤOVÉHO GRAFU
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ř.
Získávání informací Získání informací o reálném systému
TI 6.1 STROMY A KOSTRY Stromy a kostry. TI 6.2 Stromy a kostry Seznámíme se s následujícími pojmy: kostra grafu, cyklomatické číslo grafu, hodnost grafu.
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:
Algoritmy a programovací techniky
Systémy pro podporu managementu 2
Stromy.
Časová složitost algoritmů, řazení a vyhledávání
Hledej Řešení „kurýrního problému“ zadaného firmou KURS. Alice Mašková, Jana Petrová, Vanesa Šlosárková, Jitka Štrausová, Lucie Vondráčková a Martin Balla.
Další abstraktní datové typy
STROMY Datová struktura sestávající z uzlů
VLASTNOSTI GRAFŮ Vlastnosti grafů - kap. 3.
Systémy pro podporu managementu 2 Inteligentní systémy pro podporu rozhodování 1 (DSS a znalostní systémy)
7. Typ soubor Souborem dat běžně rozumíme uspořádanou množinu dat, uloženou mimo operační paměť počítače (na disku). Pascalský soubor je abstrakcí skutečného.
Koordinace integrovaného záchranného systému. Použité datové struktury.
Umělá inteligence Minského definice: UI je věda o vytváření strojů nebo systémů, které budou při řešení určitého úkolu užívat takového postupu, který –
Vedení tepla Viktor Sláma SI – I 23. Zadání Vhodné uložení vyhořelého jaderného paliva je úkol pro současnou generaci. Zaměřme se na jednu nepatrnou část.
Matematické metody optimalizace Tomáš Vaníček Katedra inženýrské informatiky Stavební fakulta ČVUT Thákurova 7, Praha 6 Dejvice, b407
Směrování - OSPF.
hledání zlepšující cesty
Plánování trajektorie pro bezpilotní letoun za účelem sledování pozemních objektů pomocí inerciálně stabilizované kamerové platformy Michal Kreč Vedoucí.
Směrování -RIP. 2 Základy směrování  Předpoklady:  Mějme směrovač X  Směrovač nemůže znát topologii celé sítě  X potřebuje určit směrovač pro přístup.
Jazyk C A0B36PRI - PROGRAMOVÁNÍ Část II.
Hledání minima kvadratického funkcionálu s nehladkým členem přímo a pomocí duality Petr Beremlijski Katedra aplikovaná matematiky Fakulta elektrotechniky.
Planarita a toky v sítích
Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 1 / 15Doc. Josef Kolář (ČVUT)Turingovy strojeGRA, LS 2012/13, Lekce 12 1 / 21 TURINGOVY.
Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 1 / 15Doc. Josef Kolář (ČVUT)NP-úplné problémyGRA, LS 2012/13, Lekce 13 1 / 14 NP-ÚPLNÉ.
VLASTNOSTI GRAFŮ Doc. RNDr. Josef Kolář, CSc
STROMY A KOSTRY Doc. RNDr. Josef Kolář, CSc
doc. RNDr. Zdeněk Botek, CSc.
Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 1 / 15Doc. Josef Kolář (ČVUT)Toky v sítích IIGRA, LS 2013/14, Lekce 10 1 / 35 TOKY V.
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.
ALGORITMY UMĚLÉ INTELIGENCE
ZAL – 6. cvičení 2016.
STROMY A KOSTRY Stromy a kostry - odst. 3.2.
Programování 2. hodina RNDr. Jan Lánský, Ph.D.
PROLOG strategie vyhodnocení dotazu
Dynamické proměnné (1) Proměnné, jejichž počet a (nebo) velikost pa-měti využívané těmito proměnnými se v prů-běhu programu mění Dynamické proměnné lze.
PLANARITA A TOKY V SÍTÍCH
Výpočetní složitost algoritmů
Inteligentné rozhodovacie systémy
Toky v sítích.
NEJKRATŠÍ CESTY MEZI VŠEMI UZLY
Prohledávání stavového prostoru
Prohledávání grafů.
Transkript prezentace:

Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 1 / 15Doc. Josef Kolář (ČVUT)Prohledávání stavového prostoruGRA, LS 2013/14, Lekce 11 1 / 18 PROHLEDÁVÁNÍ STAVOVÉHO PROSTORU Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze BI-GRA, LS 2013/2014, Lekce 11 Doc. Josef Kolář (ČVUT)Prohledávání stavového prostoru

Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 2 / 15Doc. Josef Kolář (ČVUT)Prohledávání stavového prostoruGRA, LS 2013/14, Lekce 11 2 / 18 Prohledávání stavového prostoru Seznámíme se s následujícími pojmy: stavový prostor, operátor/akce, graf úlohy, cesta řešení informované a neinformované algoritmy hledání, algoritmus iterativního prohlubování, hodnotící a heuristická funkce, paprskové prohledávání, algoritmus A*, algoritmus IDA* obousměrné hledání, směrování vln Skripta kap. 10, str. 164 – 171

Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 3 / 15Doc. Josef Kolář (ČVUT)Prohledávání stavového prostoruGRA, LS 2013/14, Lekce 11 3 / 18 Řešení problémů hledáním "Problem Solving" Problém (specifikace problému): souhrn informací, podle nichž je možno rozhodovat se, co dělat počáteční stav operátor/akce stavový prostor cílový stav cesta řešení cena cesty cena hledánígraf problému

Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 4 / 15Doc. Josef Kolář (ČVUT)Prohledávání stavového prostoruGRA, LS 2013/14, Lekce 11 4 / 18 8 nebo 15 - problém Zadání: Tabulka/krabička 3  3 nebo 4  4 s kameny číslovanými 1 až 8 (nebo 15) a jedním volným místem. Úkol: posouváním seřadit kameny

Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 5 / 15Doc. Josef Kolář (ČVUT)Prohledávání stavového prostoruGRA, LS 2013/14, Lekce 11 5 / 18 Stavový prostor 8-problému * * * * * 7 5 * * * * * * * 6 5 * * * * * * * * 2 8 * * * 6 * * * * * * * * * * * * * * ! různých stavů

Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 6 / 15Doc. Josef Kolář (ČVUT)Prohledávání stavového prostoruGRA, LS 2013/14, Lekce 11 6 / 18 Neinformované hledání ? Co nás zajímá na zvolené strategii hledání ? úplnost - zaručuje nalezení řešení (pokud existuje) výpočetní (časová) složitost paměťová složitost optimálnost - nalezne se nejlepší řešení? Neinformované (slepé) vs. informované (heuristické) hledání Běžné strategie neinformovaného hledání: prohledávání do šířky prohledávání uspořádaným výběrem (uniform cost) prohledávání do hloubky obousměrné prohledávání

Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 7 / 15Doc. Josef Kolář (ČVUT)Prohledávání stavového prostoruGRA, LS 2013/14, Lekce 11 7 / 18 TI 10.7 Rozdíl proti obvyklému prohledávání grafu - graf problému je implicitní a (potenciálně) nekonečný Důsledek: nejsou FRESH uzly, jen OPEN a CLOSED musíme uchovávat stav problému struktura grafu je zadána operačně (generováním následníků) Data ukládaná pro každý uzel pred: open: TRUE / FALSE stav: Neinformované hledání

Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 8 / 15Doc. Josef Kolář (ČVUT)Prohledávání stavového prostoruGRA, LS 2013/14, Lekce 11 8 / 18 Prohledávání do šířky boolean BFS (Succ , State s, State t) { 1 ps = CreateNd(s); 2 ps.open = true; ps.pred = null; 3 Queue.Init(); Queue.Push(ps); Found = false; 4 while ( !(Queue.Empty() || Found) ) { 5 pu = Queue.Pop(); pu.open = false; 6 if (pu.stav == t) Found = true; 7 else { 8 for (State v in  (u)) { 9 if ("v je nový stav") { 10 pv = CreateNd(v); pv.open = true; 11 pv.pred = pu; Queue.Push(pv); 12 } } } 13 } 14 return Found; 15 } ? Složitost ? ! problém !

Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 9 / 15Doc. Josef Kolář (ČVUT)Prohledávání stavového prostoruGRA, LS 2013/14, Lekce 11 9 / 18 Prohledávání uspořádaným výběrem (uniform cost) Předpokládá ocenění cest k uzlům f(u) - hodnotící funkce, složka u.fval boolean UniformCost (Succ , State s, State t) { 1 Queue.Init(); 2 Queue.Push(CreateNode(s)); Found = false; 3 while (!(Queue.Empty() || Found)) { 4 pu = Queue.ExtMin(); pu.open = false; 5 if (pu.stav == t) Found = true; 6 else for (State v in  (u)) { 7 if ("v je nový stav") 8 "zařaď uzel v do fronty s hodnotou v.fval=f(v)"; 9 else "přepočti f(v) a možná zařaď do fronty"; 10 } } 11 return Found; 12 }

Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 10 / 15Doc. Josef Kolář (ČVUT)Prohledávání stavového prostoruGRA, LS 2013/14, Lekce / 18 Dijkstrův algoritmus: f(u) = d(s,u) ? Nalezne se optimální řešení ? Podmínka: hodnoty f(u) neklesají podél cesty řešení. Je splněno automaticky: když se cena uzlu počítá jako součet cen jednotlivých hran (akcí) podél odpovídající cesty a když jsou tyto ceny nezáporné. Vlastnosti uniform cost

Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 11 / 15Doc. Josef Kolář (ČVUT)Prohledávání stavového prostoruGRA, LS 2013/14, Lekce / 18 Prohledávání do hloubky a obousměrné ? Jak prohledávat do hloubky nekonečný stavový prostor ? Řešení: omezení hloubky hledání (? úplnost ?) iterativní prohlubování Další možnosti ? Obousměrné prohledávání (do šířky) Podmínka: explicitně zadaný cílový stav

Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 12 / 15Doc. Josef Kolář (ČVUT)Prohledávání stavového prostoruGRA, LS 2013/14, Lekce / 18 Srovnání neinformovaných metod b=koeficient větvení, d = délka cesty řešení, m = hloubka hledání, k = omezení hloubky optimal ANO NE ANO úplnost ANO NEANO pro k dd ANO

Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 13 / 15Doc. Josef Kolář (ČVUT)Prohledávání stavového prostoruGRA, LS 2013/14, Lekce / 18 Heuristické hledání Předpokládejme, že jsme schopni odhadovat délku (zbývající) cesty k cíli - heuristická funkce h(u). Označení: g(u)... délka cesty od počátku do u, d(s,u) h(u)... délka cesty od u do cíle, d(u,t) f(u)... hodnotící funkce uzlu (kombinuje g a h) g'(u), h'(u), f'(u)... aproximace g, h, f Použijeme uspořádané hledání s hodnotící funkcí f(u): f '(u) = h'(u)... Best-First f '(u) = h'(u) + g'(u)... A* (A-star) algoritmus f '(u) = . h'(u) + (1-  ). g'(u)

Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 14 / 15Doc. Josef Kolář (ČVUT)Prohledávání stavového prostoruGRA, LS 2013/14, Lekce / 18 Heuristické hledání Jak nejlépe odhadovat délku (zbývající) cesty k cíli – výpočet heuristické funkce h(u)? Pro 15-problém: počet kostek mimo domovskou pozici součet vzdáleností všech kostek od domovské pozice Hledání v rovinné síti: vzdálenost "vzdušnou čarou"

Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 15 / 15Doc. Josef Kolář (ČVUT)Prohledávání stavového prostoruGRA, LS 2013/14, Lekce / 18 Hledání s omezenou pamětí ? Jak vyjít s danou velikostí paměti ? Dvě varianty A*: IDA* - iterative deepening A* SMA* - simplified memory-bounded A*

Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 16 / 15Doc. Josef Kolář (ČVUT)Prohledávání stavového prostoruGRA, LS 2013/14, Lekce / 18 IDA* 1function IDA* (Node s, Succ  ) { 2 f_limit = f(s); solution = null; 3 while ((solution == null) && (f_limit <  )) 4 solution, f_limit = DFS(s,f_limit); 5 if (solution == null) return failure; 6 else return solution; 1 DFS (Node u, double f_lim); 2 if f(u) > f_lim then return nil, f(u); 3 if ( goal(u) ) return u, f_lim; 4 next_f =  ; 5 for (Node x in  (u)) { 6 sol, fnew = DFS(x, f_lim); 7 if (sol != null) return sol, f_lim; 8 next_f = min(next_f, fnew); 9 } 10 return nil, next_f; 11 } Vrátí řešení nebo nejbližší hodnotu f za limitem

Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 17 / 15Doc. Josef Kolář (ČVUT)Prohledávání stavového prostoruGRA, LS 2013/14, Lekce / 18 Obousměrné heuristické hledání do šířky heuristické - ideál heuristické - skutečnost Kriteria: optimálnost cesty / počet generovaných uzlů

Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 18 / 15Doc. Josef Kolář (ČVUT)Prohledávání stavového prostoruGRA, LS 2013/14, Lekce / 18 Směrování vln f(u)=g s (u)+h(u,v)+g t (v) u v směrování vln DsDs DtDt přibližné směrování vln D s, D t - uzly nejvzdálenější od s / t, úprava každou n-tou iteraci