Podobne dokumenty
v 1 /2 semestru 4. listopadu v rámci přednášky 1 úvod do UI, jazyk Prolog (23.9.) 3 prohledávání stavového prostoru (7.10.)

Obsah: CLP Constraint Logic Programming. Úvod do umělé inteligence 6/12 1 / 17

3. Problémy s omezujícími podmínkami (CSP Constraint Satisfaction Problems)

Hry. šachy, backgammon, poker

Logický agent, výroková logika

Aproximace funkcí 1,00 0,841 1,10 0,864 1,20 0,885. Body proložíme lomenou čarou.

TGH01 - Algoritmizace

Petr Křemen FEL ČVUT. Petr Křemen (FEL ČVUT) Vysvětlování modelovacích chyb 133 / 156

1 Soustava lineárních rovnic

Kristýna Kuncová. Matematika B2

Úvod do umělé inteligence, jazyk Prolog

Necht je funkce f spojitá v intervalu a, b a má derivaci v (a, b). Pak existuje bod ξ (a, b) tak, že f(b) f(a) b a. Geometricky

TGH01 - Algoritmizace

Co nám prozradí derivace? 21. listopadu 2018

Shrnutí. Vladimír Brablec

Automatové modely. Stefan Ratschan. Fakulta informačních technologíı. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

IEL Přechodové jevy, vedení

Definice Řekneme, že PDA M = (Q,Σ,Γ,δ,q 0,Z 0,F) je. 1. pro všechna q Q a Z Γ platí: kdykoliv δ(q,ε,z), pak δ(q,a,z) = pro všechna a Σ;

Numerické metody 8. května FJFI ČVUT v Praze

Katedra kybernetiky skupina Inteligentní Datové Analýzy (IDA) Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Funkce zadané implicitně. 4. března 2019

Komplexní analýza. Martin Bohata. Katedra matematiky FEL ČVUT v Praze Martin Bohata Komplexní analýza Mocninné řady 1 / 18

TGH08 - Optimální kostry

Logický agent, výroková logika

Paralelní implementace a optimalizace metody BDDC

Wprowadzenie do Sztucznej Inteligencji

Wprowadzenie do Sztucznej Inteligencji

(1) Derivace. Kristýna Kuncová. Matematika B2 17/18. Kristýna Kuncová (1) Derivace 1 / 35

Katedra aplikované matematiky FEI VŠB Technická univerzita Ostrava

Edita Pelantová, katedra matematiky / 16

Anotace. Martin Pergel,

Kapitola 4: Soustavy diferenciálních rovnic 1. řádu

Numerické metody minimalizace

Internet a zdroje. (Zdroje na Internetu) Mgr. Petr Jakubec. Katedra fyzikální chemie Univerzita Palackého v Olomouci Tř. 17.

Linea rnı (ne)za vislost

Elementární funkce. Edita Pelantová. únor FJFI, ČVUT v Praze. katedra matematiky, FJFI, ČVUT v Praze

Jednoduchá zobrazení. Podpořeno z projektu FRVŠ 584/2011.

Paradoxy geometrické pravděpodobnosti

CA CZ, s.r.o. May 21, Radek Mařík Testování řídicích struktur May 21, / 45

Západočeská univerzita v Plzni Fakulta aplikovaných věd Katedra kybernetiky

ČVUT FEL, K October 1, Radek Mařík Ověřování modelů II October 1, / 39

Vybrané kapitoly z matematiky

vystavit agenta realitě místo přepisování reality do pevných pravidel

Obsah: Rozhodovací stromy. Úvod do umělé inteligence 11/12 2 / 41. akce

5. a 12. prosince 2018

Univerzita Palackého v Olomouci

Jednoduchá zobrazení. Podpořeno z projektu FRVŠ 584/2011.

Matematika 2, vzorová písemka 1

Cauchyova úloha pro obyčejnou diferenciální rovnici

Anna Kratochvílová Anna Kratochvílová (FJFI ČVUT) PDR ve zpracování obrazu / 17

Kristýna Kuncová. Matematika B2 18/19

Sztuczna Inteligencja i Systemy Doradcze

Wprowadzenie do Sztucznej Inteligencji

Martin Pergel. 26. února Martin Pergel

Obsah. Zobrazení na osmistěn. 1 Zobrazení sféry po částech - obecné vlastnosti 2 Zobrazení na pravidelný konvexní mnohostěn

CHEMIE PRO NEJLEPŠÍ. Masarykova Universita, Brno

Periodický pohyb obecného oscilátoru ve dvou dimenzích

POLIURETANOWE SPRĘŻYNY NACISKOWE. POLYURETHANOVÉ TLAČNÉ PRUŽINY

Matematická analýza II pro kombinované studium. Konzultace první a druhá. RNDr. Libuše Samková, Ph.D. pf.jcu.cz

Obsah Atributová tabulka Atributové dotazy. GIS1-2. cvičení. ČVUT v Praze, Fakulta stavební, katedra mapování a kartografie

Scheelova kometa. Dušan Merta. Colours of Sepsis 2019, OSTRAVA!!!

Geometrická nelinearita: úvod

1 3. N i e u W y w a ć w o d y d o d o g a s z a n i a g r i l l a! R e k o m e n d o w a n y j e s t p i a s e k Z a w s z e u p e w n i ć s i

PA152,Implementace databázových systémů 2 / 25

Wykład2,24II2010,str.1 Przeszukiwanie przestrzeni stanów powtórka

Lineární algebra - iterační metody

MATEMATIKA 3. Katedra matematiky a didaktiky matematiky Technická univerzita v Liberci







(13) Fourierovy řady

Kombinatorika a grafy I

Formálne jazyky Automaty. Formálne jazyky. 1 Automaty. IB110 Podzim

ČVUT FEL, K Radek Mařík Strukturované testování 20. října / 52

Logika V. RNDr. Kateřina Trlifajová PhD. Katedra teoretické informatiky Fakulta informačních technologíı BI-MLO, ZS 2011/12

1 5. D l a u n i k n i ę c i a p o p a r z e n i a p o p r z e z o p e r o w a n i e d ł o m i n a d p a l e n i s k i e m, z a l e c a m y u W y w a






(2) Funkce. Kristýna Kuncová. Matematika B2. Kristýna Kuncová (2) Funkce 1 / 25


Przeszukiwanie przestrzeni stanów. Wprowadzenie do Sztucznej Inteligencji. Podstawowe problemy teorii przeszukiwania przestrzeni stanów

K SAMOSTATNÉ MODULOVÉ SCHODY MONTÁŽI. asta

Úvodní informace. 18. února 2019

Teorie plasticity. Varianty teorie plasticity. Pružnoplastická matice tuhosti materiálu

Rovnice proudění Slapový model

Kristýna Kuncová. Matematika B3

III. Termin i miejsce Wjazd kolarski rozegrany zostanie w dniu (sobota) w Kowarach na trasie Kowary Ratusz - Przełęcz Okraj Mala Upa.

Příručka k rychlé instalaci: NWD2105. Základní informace. 1. Instalace softwaru


Odpřednesenou látku naleznete v kapitolách skript Abstraktní a konkrétní lineární algebra.

Plyny v dynamickém stavu. Jsou-li ve vakuovém systému různé teploty, nebo tlaky dochází k přenosu energie, nebo k proudění plynu.

z geoinformatických dat

Register and win!

NÁVOD K POUŽITÍ KEZELÉSI KÉZIKÖNYV INSTRUKCJA OBSŁUGI NÁVOD NA POUŽÍVANIE. Česky. Magyar. Polski. Slovensky

Transkrypt:

Úvod do umělé inteligence Prohledávání stavového prostoru -mail: hales@fi.muni.cz http://nlp.fi.muni.cz/uui/ bsah: Problém osmi dam Prohledávání stavového prostoru Prohledávání do hloubky Prohledávání do šířky Prohledávání s postupným prohlubováním Shrnutí vlastností algoritmů neinformovaného prohledávání Úvod do umělé inteligence 3/12 1/22

¼ ¼ ¼Ð¼ ¼Ð¼ ¼ ¼ ¼ ¼ Õ ¼ ¼ ¼ ¼Ð¼ Õ ¼ ¼ ¼ ¼ Õ ¼ ¼ ¼Ð¼ ¼ ¼ ¼ ¼ ¼ Õ Problém osmi dam PRÉ S úkol: Rozestavte po šachovnici 8 dam tak, aby se žádné dvě vzájemně neohrožovaly. celkem pro 8 dam existuje 92 různých řešení Úvod do umělé inteligence 3/12 2/22

Problém osmi dam PRÉ S datová struktura osmiprvkový seznam [X1/Y1, X2/Y2, X3/Y3, X4/Y4, X5/Y5, X6/Y6, X7/Y7, X8/Y8] Solution = [1/4, 2/2, 3/7, 4/3, 5/6, 6/8, 7/5, 8/1] solution(s) : template(s), sol(s). sol ([]). sol ([ X/Y thers]) : sol(thers), member(x,[1,2,3,4,5,6,7,8]), member(y,[1,2,3,4,5,6,7,8]), noattack(x/y,thers). noattack(,[]). noattack(x/y,[x1/y1 thers]) : X=\=X1, Y=\=Y1, Y1 Y=\=X1 X, Y1 Y=\=X X1, noattack(x/y,thers). template([x1/y1, X2/Y2, X3/Y3, X4/Y4, X5/Y5, X6/Y6, X7/Y7, X8/Y8]).? solution(solution). Solution = [8/4, 7/2, 6/7, 5/3, 4/6, 3/8, 2/5, 1/1] ; Solution = [7/2, 8/4, 6/7, 5/3, 4/6, 3/8, 2/5, 1/1] ; Yes Úvod do umělé inteligence 3/12 3/22

Problém osmi dam PRÉ S počet možností u řešení = 64 63 62... 57 1.8 10 14 omezení stavového prostoru každá dáma má svůj sloupec počet možností u řešení = 8 7 6... 1 = 40320 solution(s) : template(s), sol(s). sol ([]). sol ([ X/Y thers]) : sol(thers), member(y,[1,2,3,4,5,6,7,8]), noattack(x/y,thers). noattack(,[]). noattack(x/y,[x1/y1 thers]) : Y=\=Y1, Y1 Y=\=X1 X, Y1 Y=\=X X1, noattack(x/y,thers). template([1/y1,2/y2,3/y3,4/y4,5/y5,6/y6,7/y7,8/y8]). Úvod do umělé inteligence 3/12 4/22

Problém osmi dam PRÉ S k souřadnicím x a y přidáme i souřadnice diagonály u a v u = x y v = x+y x = [1..8] y = [1..8] u = [ 7..7] v = [2..16] po každém umístění dámy aktualizujeme seznamy volných pozic počet možností u řešení = 2 057 solution(yist) : sol(yist,[1,2,3,4,5,6,7,8],[1,2,3,4,5,6,7,8], [ 7, 6, 5, 4, 3, 2, 1,0,1,2,3,4,5,6,7], [2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]). sol ([],[], y,u,v). sol ([ Y Yist ],[ X x1],y,u,v) : del(y,y,y1), U is X Y, del(u,u,u1), V is X+Y, del(v,v,v1), sol(yist,x1,y1,u1,v1). % když del nenajde tem, končí neúspěchem del(tem,[tem ist ], ist ). del(tem,[ irst ist ],[ irst ist1 ]) : del(tem, ist, ist1 ). Problémndam pron = 100: řešení...10 400 řešení...10 158 řešení...10 52 Úvod do umělé inteligence 3/12 5/22

Prohledávání stavového prostoru PRÁVÁÍ STVVÉ PRSTRU Řešení problému prohledáváním stavového prostoru: stavový prostor, předpoklady statické a deterministické prostředí, diskrétní stavy počáteční stav cílová podmínka přechodové akce init(state) goal(state) move(state,ewstate) Prohledávací strategie prohledávací strom: kořenový uzel uzel prohledávacího stromu: stav rodičovský uzel přechodová akce hloubka uzlu cena g(n) cesty,c(x,a,y) přechodu (optimální) řešení Úvod do umělé inteligence 3/12 6/22

Prohledávání stavového prostoru PRÉ T VYSVČ P máme dvě místnosti (, P) P jeden vysavač (v nebo P) v každé místnosti je/není špína P V P V P P počet stavů je2 2 2 = 8 V V V V akce ={doeva,dop rava,v ysávej} P P V V Úvod do umělé inteligence 3/12 7/22

Prohledávání stavového prostoru počáteční stav (např.) 7 2 4 ŠÍ PŘÍ PSUVČ cílový stav 1 2 5 6... 3 4 5 8 3 1 6 7 8 hra na čtvercové šachovnicim msn = m 2 1očíslovanými kameny příklad pro šachovnici 3 3, posunování osmi kamenů (8-posunovačka) stavy pozice včech kamenů akce pohyb prázdného místa ptimální řešení obecné n-posunovačky je P-úplné Počet stavů u 8-posunovačky... 9!/2 =181 440 u 15-posunovačky... 10 13 u 24-posunovačky... 10 25 Úvod do umělé inteligence 3/12 8/22

Prohledávání stavového prostoru RÁÉ PRÉY ŘŠTÉ PRÁVÁÍ hledání cesty z městado města hledání itineráře, problém obchodního cestujícího návrh VS čipu navigace auta, robota,... postup práce automatické výrobní linky návrh proteinů 3-sekvence aminokyselin nternetové vyhledávání informací Úvod do umělé inteligence 3/12 9/22

Prohledávání stavového prostoru ŘŠÍ PRÉU PRÁVÁÍ ostra algoritmu: solution(solution) : init (State), solve(state,solution ). solve(state,[ State]) : goal(state). solve(state,[ State Sol]) : move(state,ewstate),solve(ewstate,sol). move(state,ewstate) definuje prohledávací strategii Porovnání strategií: úplnost optimálnost časová složitost prostorová složitost složitost závisí na: b faktor větvení (branching factor) d hloubka cíle (goal depth) m maximální hloubka větve/délka cesty (maximum depth/path, může být?) Úvod do umělé inteligence 3/12 10/22

Prohledávání stavového prostoru RVÉ PRÁVÁÍ prohledávání do hloubky prohledávání do hloubky s limitem prohledávání do šířky prohledávání podle ceny prohledávání s postupným prohlubováním Úvod do umělé inteligence 3/12 11/22

Prohledávání do hloubky PRÁVÁÍ UY Prohledává se vždy nejlevější a nejhlubší neexpandovaný uzel (epth-first Search, S) Úvod do umělé inteligence 3/12 12/22

Prohledávání do hloubky PRÁVÁÍ UY procedurální programovací jazyk uzly se uloží do zásobníku (fronty ) Prolog využití rekurze solution(ode,solution) : depth first search ([], ode,solution). depth first search (Path,ode,[ode Path]) : goal(ode). depth first search (Path,ode,Sol) : move(ode,ode1), \+ member(ode1,path),depth first search([ode Path],ode1,Sol). Úvod do umělé inteligence 3/12 13/22

Prohledávání do hloubky PRÁVÁÍ UY VSTST úplnost není úplný (nekonečná větev, cykly) optimálnost není optimální časová složitost (b m ) prostorová složitost (bm), lineární ejvětší problém nekonečná větev = nenajde se cíl, program neskončí! Úvod do umělé inteligence 3/12 14/22

Prohledávání do hloubky PRÁVÁÍ UY S T Řešení nekonečné větve použití zarážky = limit hloubky l solution(ode,solution) : depth first search limit (ode,solution,l). depth first search limit (ode,[ode], ) : goal(ode). depth first search limit (ode,[ode Sol],axepth) : axepth>0, move(ode,ode1), ax1 is axepth 1,depth first search limit(ode1,sol,ax1). neúspěch (fail) má dvě možné interpretace vyčerpání limitu nebo neexistenci řešení Vlastnosti: úplnost není úplný (prol < d) optimálnost není optimální (pro l > d) časová složitost (b l ) prostorová složitost (bl) dobrá volba limitu l podle znalosti problému Úvod do umělé inteligence 3/12 15/22

Prohledávání do šířky PRÁVÁÍ ŠÍŘY Prohledává se vždy nejlevější neexpandovaný uzel s nejmenší hloubkou. (readth-first Search, S) Úvod do umělé inteligence 3/12 16/22

Prohledávání do šířky PRÁVÁÍ ŠÍŘY procedurální programovací jazyk uzly se uloží do fronty () Prolog udržuje seznam cest Vylepšení: solution( Start,Solution) : breadth first search ([[ Start ]], Solution ). breadth first search ([[ ode Path] ],[ ode Path]) : goal(ode). breadth first search ([[ Path] Paths],Solution) : bagof([, Path], (move(,),\+ member(,[ Path])), ewpaths), ewpaths\=[], append(paths,ewpaths,path1),!, breadth first search (Path1,Solution); breadth first search (Paths,Solution). append append dl bagof(+prom,+íl,-sezn) postupně vyhodnocuje íl a všechny vyhovující instance Prom řadí do seznamu Sezn p :- a,b;c. p :- (a,b);c. seznam cest: [[a]] [[b,a],[c,a]] [[c,a],[d,b,a],[e,b,a]] [[d,b,a],[e,b,a],[f,c,a],[g,c,a]] l(a) t(a,[l(b),l(c)]) t(a,[t(b,[l(d),l(e)]),l(c)]) t(a,[t(b,[l(d),l(e)]),t(c,[l(f),l(g)])]) Úvod do umělé inteligence 3/12 17/22

Prohledávání do šířky PRÁVÁÍ ŠÍŘY VSTST úplnost je úplný (pro konečné b) optimálnost časová složitost prostorová složitost je optimální podle délky cesty/není optimální podle obecné ceny 1+b+b 2 +b 3 +...+b d +b(b d 1) = (b d+1 ), exponenciální vd (b d+1 ) (každý uzel v paměti) ejvětší problém paměť: loubka Uzlů Čas Paměť 2 1100 0.11 sek 1 4 111 100 11 sek 106 6 10 7 19 min 10 8 10 9 31 hod 1 T 10 10 11 129 dnů 101 T 12 10 13 35 let 10 P 14 10 15 3 523 let 1 ni čas není dobrý potřebujeme informované strategie prohledávání. Úvod do umělé inteligence 3/12 18/22

Prohledávání do šířky PRÁVÁÍ P Y S je optimální pro rovnoměrně ohodnocené stromy prohledávání podle ceny (Uniform-cost Search) je optimální pro obecné ohodnocení fronta uzlů se udržuje uspořádaná podle ceny cesty Vlastnosti: úplnost je úplný (pro cena ǫ) optimálnost je optimální (pro cena ǫ, g(n) roste) časová složitost počet uzlů sg, (b 1+ /ǫ ), kde... cena optimálního řešení prostorová složitost počet uzlů sg, (b 1+ /ǫ ) Úvod do umělé inteligence 3/12 19/22

Prohledávání s postupným prohlubováním PRÁVÁÍ S PSTUPÝ PRUVÁÍ prohledávání do hloubky s postupně se zvyšujícím limitem (terative deepening S, S) limit=3 Úvod do umělé inteligence 3/12 20/22

Prohledávání s postupným prohlubováním PRÁVÁÍ S PSTUPÝ PRUVÁÍ VSTST úplnost je úplný (pro konečné b) optimálnost je optimální (pro g(n) rovnoměrně neklesající funkce hloubky) časová složitost d(b)+(d 1)b 2 +...+1(b d ) = (b d ) prostorová složitost (bd) kombinuje výhody S a S: nízké paměťové nároky lineární optimálnost, úplnost zdánlivé plýtvání opakovaným generováním generuje o jednu úroveň míň, např. prob = 10,d = 5: (S) = 50+400+3000+20000+100000 = 123450 (S) = 10+100+1000+10000+100000+999990 = 1111100 S je nejvhodnější neinformovaná strategie pro velké prostory a neznámou hloubku řešení. Úvod do umělé inteligence 3/12 21/22

Shrnutí vlastností algoritmů neinformovaného prohledávání SRUTÍ VSTSTÍ RTŮ RVÉ PRÁVÁÍ Vlastnost do do hloubky do podle s postupným hloubky s limitem šířky ceny prohlubováním úplnost ne ano, prol d ano ano ano optimálnost ne ne ano ano ano časová složitost (b m ) (b l ) (b d+1 ) (b 1+ /ǫ ) (b d ) prostorová složitost (bm) (bl) (b d+1 ) (b 1+ /ǫ ) (bd) Úvod do umělé inteligence 3/12 22/22