Plánování v prostoru plánů

Podobné dokumenty
Plánování se stavovým prostorem

Plánování: reprezentace problému

Základy umělé inteligence

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

Výroková a predikátová logika - V

Hranová konzistence. Arc consistency AC. Nejprve se zabýváme binárními CSP. podmínka odpovídá hraně v grafu podmínek

Plánováníá a rozvrhování

Plánováníá a rozvrhování

popel, glum & nepil 16/28

Prolog PROgramming in LOGic část predikátové logiky prvního řádu rozvoj začíná po roce 1970 Robert Kowalski teoretické základy Alain Colmerauer, David

Optimalizace & soft omezení: algoritmy

Regulární výrazy. Definice Množina regulárních výrazů nad abecedou Σ, označovaná RE(Σ), je definována induktivně takto:

3. Třídy P a NP. Model výpočtu: Turingův stroj Rozhodovací problémy: třídy P a NP Optimalizační problémy: třídy PO a NPO MI-PAA

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

Modely Herbrandovské interpretace

Výroková a predikátová logika - III

Algoritmizace prostorových úloh

Výroková a predikátová logika - II

Výroková a predikátová logika - VIII

NP-úplnost problému SAT

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

= je prostý orientovaný graf., formálně c ( u, v) 0. dva speciální uzly: zdrojový uzel s a cílový uzel t. Dále budeme bez

Výroková a predikátová logika - VIII

u odpovědí typu A, B, C, D, E: Obsah: jako 0) CLP Constraint Logic Programming

TGH09 - Barvení grafů

Hanojská věž. T2: prohledávání stavového prostoru. zadání [1 1 1] řešení [3 3 3] dva možné první tahy: [1 1 2] [1 1 3]

ROZHODOVACÍ PROCEDURY A VERIFIKACE PAVEL SURYNEK, KTIML

Neinformované metody prohledávání stavového prostoru. Gerstner Laboratory Agent Technology Group, Czech Technical University in Prague

Třídy složitosti P a NP, NP-úplnost

Výroková a predikátová logika - II

Analýza toku dat. Petr Krajča. Katedra informatiky Univerzita Palackého v Olomouci. 15. listopad, 2012

ALGORITMY A DATOVÉ STRUKTURY

Dijkstrův algoritmus

Automatizované řešení úloh s omezeními

Neinformované metody prohledávání stavového prostoru Michal Pěchouček, Milan Rollo. Department of Cybernetics Czech Technical University in Prague

Konstrukce relace. Postupně konstruujeme na množině všech stavů Q relace i,

Plánováníá a rozvrhování. časem

Slepé prohledávání do šířky Algoritmus prohledávání do šířky Při tomto způsobu prohledávání máme jistotu, že vždy nalezneme koncový stav, musíme ale p

PQ-stromy a rozpoznávání intervalových grafů v lineárním čase

Umělá inteligence I. Roman Barták, KTIML.

Prohledávání do šířky = algoritmus vlny

Složitost 1.1 Opera ní a pam ová složitost 1.2 Opera ní složitost v pr rném, nejhorším a nejlepším p ípad 1.3 Asymptotická složitost

Obsah: CLP Constraint Logic Programming. u odpovědí typu A, B, C, D, E: jako 0)

Stromy, haldy, prioritní fronty

Logické programy Deklarativní interpretace

Programování. s omezujícími podmínkami. Roman Barták. rová hranová konzistence

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

doplněk, zřetězení, Kleeneho operaci a reverzi. Ukážeme ještě další operace s jazyky, na které je

Výroková a predikátová logika - III

Dynamické programování

Logické programování

Usuzování za neurčitosti

Programování v C++, 2. cvičení

Grafové algoritmy. Programovací techniky

Doporučené příklady k Teorii množin, LS 2018/2019

Grafové algoritmy. Programovací techniky

Vraťme se k základům: DFS = Depth First Search

Výroková a predikátová logika - II

10. Složitost a výkon

Plánování projektu. 3. dubna Úvod. 2 Reprezentace projektu. 3 Neomezené zdroje. 4 Variabilní doba trvání. 5 Přidání pracovní síly

Výroková a predikátová logika - IV

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

Metody návrhu algoritmů, příklady. IB111 Programování a algoritmizace

a4b33zui Základy umělé inteligence

Plánováníá a rozvrhování

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

Aproximativní algoritmy UIN009 Efektivní algoritmy 1

Binární vyhledávací stromy II

Úvod do teorie grafů

Vyučovací hodina. 1vyučovací hodina: 2vyučovací hodiny: Opakování z minulé hodiny. Procvičení nové látky

Algoritmus. Přesné znění definice algoritmu zní: Algoritmus je procedura proveditelná Turingovým strojem.

2.1 Podmínka typu case Cykly Cyklus s podmínkou na začátku Cyklus s podmínkou na konci... 5

Negativní informace. Petr Štěpánek. S použitím materiálu M.Gelfonda a V. Lifschitze. Logické programování 15 1

Drsná matematika III 10. demonstrovaná cvičení Kostry grafů

Základy umělé inteligence

State Space Search Step Run Editace úloh Task1 Task2 Init Clear Node Goal Add Shift Remove Add Node Goal Node Shift Remove, Add Node

Unbounded Model Checking

"Agent Hledač" (3. přednáška)

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

Logika a logické programování

Algoritmy. Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 15. dubna / 39

Paralelní programování

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

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

vhodná pro strojové dokazování (Prolog) metoda založená na vyvracení: dokazuje se nesplnitelnost formulí

Umělá inteligence I. Roman Barták, KTIML.

AUTOMATY A GRAMATIKY. Pavel Surynek. Kontextové uzávěrové vlastnosti Turingův stroj Rekurzivně spočetné jazyky Kódování, enumerace

Algoritmizace. Jiří Vyskočil, Marko Genyg-Berezovskyj 2010

Základy algoritmizace

H {{u, v} : u,v U u v }

Pokročilé neparametrické metody. Klára Kubošová

NPRG030 Programování I, 2018/19 1 / :03:07

Datové struktury 2: Rozptylovací tabulky

Obsah. 16. dubna Koncepční model STRIPS PDDL. Stavový prostor. Plánovací grafy CVUT FEL, K Reprezentace

Umělá inteligence I. Roman Barták, KTIML.

Matice sousednosti NG

Konečný automat. Jan Kybic.

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

Systém přirozené dedukce výrokové logiky

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

Transkript:

Plánování v prostoru plánů 5. dubna 2018 Zdroj: Roman Barták, přednáška Umělá inteligence II, Matematicko-fyzikální fakulta, Karlova univerzita v Praze, 2014. http: // kti. ms. mff. cuni. cz/ ~bartak/ ui2

Opakování: množinová reprezentace příkladem Hana Rudová, FI MU IV126: Plánování v prostoru plánů 2 5. dubna 2018

Opakování: klasická reprezentace Plánovací problém P je trojice (Σ, s 0, g): Σ je plánovací doména popisující stavy a akce (přechody mezi stavy) s 0 je počáteční stav g charakterizuje cílové stavy Klasická reprezentace problému stav je množina instanciovaných atomů př. s 0 ={empty(k1), belong(k1,l1), top(c1,p1), attached(p1,l1),...} akce trojice (name, precond, effects), (plně instanciovaný operátor) kde precond a effects jsou množiny literálů pokud precond + s precond s =, přejdeme do stavu (s effects ) effects + Hana Rudová, FI MU IV126: Plánování v prostoru plánů 3 5. dubna 2018

Cvičení: výměna hodnot proměnných Plánovací problém: s 0 = {value(v1,3), value(v2,5), value(v3,0)} g = {value(v1,5), value(v2,3)} assign(v, w, x, y) precond: value(v, x), value(w, y) effects: value(v, x), value(v, y) Otázky: Kolik iterací poběží algoritmus dopředného prohledávání minimálně? A kolik iterací bude trvat nejdelší běh? Hana Rudová, FI MU IV126: Plánování v prostoru plánů 4 5. dubna 2018

Opakování: plánování ve stavovém prostoru Plánovací algoritmy jsou založeny na prohledávání Plánování ve stavovém prostoru uzly odpovídají stavům jdeme buď od počátečního stavu k cíli nebo obráceně Problémy velký větvící faktor technika liftování zmenšuje větvící faktor (instanciace proměnných je odložena) alternativní pořadí akcí vedoucí k neúspěchům nemusíme vyžadovat konkrétní pořadí akcí, dokud není skutečně potřeba Hana Rudová, FI MU IV126: Plánování v prostoru plánů 5 5. dubna 2018

Plánování v prostoru plánů: základní myšlenka Princip podobný zpětnému plánování ve stavovém prostoru: začínáme z prázdného plánu obsahujícího popis počátečního stavu a cíle přidáváme další akce, které plní dosud nesplněné (otevřené) cíle případně přidáváme vazby mezi již přítomnými akcemi Na plánování se můžeme dívat jako na opravování kazů v částečném plánu přecházíme od jednoho částečného plánu k dalšímu, dokud nenajdeme úplný plán Hana Rudová, FI MU IV126: Plánování v prostoru plánů 6 5. dubna 2018

Plánování v prostoru plánů: příklad Předpokládejme, že v částečném plánu zatím máme akce take(k1, c1, p1, l1) (jeřáb k1 na l1 vezme c1 z p1) load(k1, c1, r1, l1) (k1 na l1 naloží c1 na r1) Možné úpravy plánu: přidání akce aby šlo použít akci load, musí být robot r1 na místě l1 přesuň robota r1 na místo l1... move(r1, l, l1) svázání proměnných akce move se týka správného robota na správném místě přidání podmínky uspořádání přesunutí robota se musí uskutečnit před akcí load na pořadí vzhledem k akci take ale nezáleží přidání kauzální (příčinné) vazby nová akce byla přidána, aby se robot dostal tam, kam má kauzální vazba mezi move a load nám zjistí, že mezi těmito akcemi robota někdo zase neodvolá Hana Rudová, FI MU IV126: Plánování v prostoru plánů 7 5. dubna 2018

Plánování v prostoru plánů: počáteční plán Počáteční stav i cíl zakódujeme jako speciální akce, které jsou v prvotním částečném plánu: akce a 0 reprezentuje počáteční stav tak, že nemá žádné předpoklady a počáteční stav je zakódován jako efekt; tato akce je před všemi ostatními akcemi akce a reprezentuje cíl, který je zakódován jako předpoklad, efekt akce je prázdný; takto akce je za všemi ostatními akcemi Plánování bude založeno na odstraňování kazů (flaws) v částečném plánu budeme přecházet od jednoho částečného plánu k dalšímu, dokud nenajdeme řešící plán Hana Rudová, FI MU IV126: Plánování v prostoru plánů 8 5. dubna 2018

Uzly jsou plány Uzly prohledávaného prostoru jsou tvořeny částečnými plány Částečný plán Π je čtveřice (A, <, B, L), kde A je množina částečně instanciovaných plánovacích operátorů {a 1,..., a k } < je částečné uspořádání na A (a i < a j ) B je množina vazeb tvaru x = y, x y nebo x D i L je množina kauzálních vztahů tvaru (a i p a j ) a i, a j jsou akce uspořádané a i < a j p je výraz, který je efektem a i a předpokladem a j v B jsou vazby svazující příslušné proměnné v p Hana Rudová, FI MU IV126: Plánování v prostoru plánů 9 5. dubna 2018

Částečný plán: příklad Hana Rudová, FI MU IV126: Plánování v prostoru plánů 10 5. dubna 2018

Otevřený cíl Otevřený cíl (open goal) je kazem plánu Jedná se o předpoklad p nějakého operátoru b, o kterém zatím nebylo rozhodnuto, jak ho splnit (neexistuje kauzální vazba a i p b) Odstranění otevřeného cíle p akce b: najdi operátor a (buď již přítomný v plánu nebo nový), který lze použít na splnění p (má p mezi efekty a může být před b) svaž proměnné vytvoř kauzální vazbu Hana Rudová, FI MU IV126: Plánování v prostoru plánů 11 5. dubna 2018

Hrozba Hrozba (threat) je dalším kazem plánu Jedná se o akci, která může porušit kauzální vazbu p přesněji, je-li a i a j kauzální vazba a akce b ma efekt unifikovatelný s negací p a může se nacházet mezi a i a a j, potom je b hrozbou (může porušit platnost kauzální vazby) pozn. x je unifikovatelné s y: existuje substituce, která ztotožní x s y Odstranění hrozby lze udělat třemi způsoby: uspořádání b před a i uspořádáním b za a j navázáním proměnných v b tak, že neruší platnost p Hana Rudová, FI MU IV126: Plánování v prostoru plánů 12 5. dubna 2018

Řešící plán Částečný plán Π = (A, <, B, L) je řešícím plánem pro problém P = (Σ, s 0, g), pokud: částečné uspořádání < a vazby B jsou globálně konzistentní v částečném uspořádání nejsou cykly mohu proměnné přiřadit hodnotu z příslušné domény tak, že najdu hodnoty ostatních proměnných splňující B libovolná lineárně uspořádaná posloupnost plně instanciovaných akcí A splňující < a vazby B vede z s 0 do stavu splňujícího g Definice nám bohužel přímo nedává výpočtovou proceduru, jak ověřit, zda je plán řešící! Hana Rudová, FI MU IV126: Plánování v prostoru plánů 13 5. dubna 2018

Řešící plán konstruktivní pohled Jak efektivně ověřit, zda je daný plán řešící? Tvrzení: Částečný plán Π = (A, <, B, L) je řešící, pokud: nemá žádné kazy, tj. otevřené cíle a hrozby částečné uspořádání < a vazby B jsou globálně konzistentní Důkaz indukcí podle délky plánu {a 0, a 1, a } je řešící plán pro větší množiny akcí vyber libovolnou z možných prvních akcí a spoj ji s akcí a 0 Hana Rudová, FI MU IV126: Plánování v prostoru plánů 14 5. dubna 2018

Algoritmus plánování v prostoru plánů (PSP) function PSP(π) kazy = otevřené-cíle(π) hrozby(π); if kazy = then return(π) vyber libovolný kaz φ kazy zjemnění = odstraň-kaz(φ, π); (vrací množinu možností odstraňujících φ) if zjemnění = return(failure); nedeterministicky vyber ρ zjemnění; π = použij-zjemnění(ρ, π); return(psp(π )); Volba kazu je deterministická musí se odstranit všechny kazy Volba zjemnění je nedeterministická v případě neúspěchu se zkouší další alternativa Hana Rudová, FI MU IV126: Plánování v prostoru plánů 15 5. dubna 2018

Podrobnosti k algoritmu PSP Otevřené cíle lze efektivně zjistit udržováním agendy předpokladů akcí přidání kauzální vazby pro p vyřadí p z agendy Všechny hrozby lze najít prozkoumáním všech trojic akcí (O(n 3 )) nebo inkrementálně: po přidání akce se zjistí, komu je hrozbou (O(n 2 )), a po přidání kauzální vazby se ověří její hrozby (O(n)) Pro odstranění otevřených cílů a hrozeb se používají pouze konzistentní zjemnění plánu konzistence uspořádání buď detekcí cyklů nebo lépe udržováním tranzitivního uzávěru konzistence vztahů B pokud není negace, lze rychle (například pomocí hranové konzistence základní technika z oblasti programování omezujících podmínek pro zajištění konzistence) je-li přítomna negace, jedná se o NP-úplný problém Hana Rudová, FI MU IV126: Plánování v prostoru plánů 16 5. dubna 2018

Vlastnosti PSP Algoritmus PSP je korekní a úplný korektnost pokud program skončí, pak v něm není žádný kaz a plán je konzistentní úplnost pokud existuje plán, má algoritmus PSP vždy možnost vybrat ty správné akce Pozor na deterministickou implementaci! prostor plánů není konečný! úplná deterministická procedura musí garantovat prohledání všech plánů dané délky např. iterativní prohlubování (iterative deepening) prohledávání do hloubky s omezenou hloubkou prohledávání prohledávaná hloubka se může postupně zvětšovat Hana Rudová, FI MU IV126: Plánování v prostoru plánů 17 5. dubna 2018

Algoritmus PoP PoP je konkrétní (a populární) instance algoritmu PSP function PoP(π,agenda) (where π = (A, <, B, L)) if agenda = then return(π); vyber libovolný pár (a j, p) a smaž ho z agenda relevant = pokryj-předpoklad(p, π); if relevant = then return(failure); nedeterministicky vyber akci a i relevant; p L = L { a i a j }; aktualizuj B se svázanými omezeními této kauzální vazby; if a i je nová akce v A then aktualizuj A s a i ; aktualizuj < s (a i < a j ), (a 0 < a i < a ) aktualizuj agenda se všemi předpoklady a i ; p for každou hrozbu v a i a j nebo kvůli a i do zjemnění = množina možností odstraňující tuto hrozbu; if zjemnění = then return(failure); nedeterministicky vyber ρ zjemnění; přidej ρ do < nebo do B; return(pop(π,agenda)); agenda je množina dvojic (a, p), kde p je otevřený předpoklad akce a nejprve hledá akci a i pro pokrytí nějakého p z agendy ve druhé fázi řeší všechny hrozby, které vznikly přidáním akce a i, resp. kauzální vazby s a i Hana Rudová, FI MU IV126: Plánování v prostoru plánů 18 5. dubna 2018

Příklad Počáteční stav: At(Home), Sells(OBI, Drill), Sells(Tesco, Milk), Sells(Tesco, Banana) tj. akce Start precond: none effects: At(Home), Sells(OBI, Drill), Sells(Tesco, Milk), Sells(Tesco, Banana) Cíl: Have(Drill), Have(Milk), Have(Banana), At(Home) tj. akce Finish precond: Have(Drill), Have(Milk), Have(Banana), At(Home) effects: none Máme k dispozici následující operátory: Go(l,m) (jdi z místa l do místa m) precond: At(l) effects: At(m), At(l) Buy(p,s) (na místě s kup p) precond: At(s), Sells(s, p) effects: Have(p) Hana Rudová, FI MU IV126: Plánování v prostoru plánů 19 5. dubna 2018

Příklad Počáteční plán Operátory: Go(l,m) precond: At(l) effects: At(m), At(l) Buy(p,s) precond: At(s), Sells(s, p) effects: Have(p) Hana Rudová, FI MU IV126: Plánování v prostoru plánů 20 5. dubna 2018

Příklad Jediný způsob, jak splnit otevřené cíle Have, je akcemi Buy (které netvoří žádné hrozby) Operátory: Go(l,m) precond: At(l) effects: At(m), At(l) Buy(p,s) precond: At(s), Sells(s, p) effects: Have(p) Hana Rudová, FI MU IV126: Plánování v prostoru plánů 21 5. dubna 2018

Příklad Jediný způsob, jak splnit předpoklady Sells je dosazení příslušných konstant Operátory: Go(l,m) precond: At(l) effects: At(m), At(l) Buy(p,s) precond: At(s), Sells(s, p) effects: Have(p) Hana Rudová, FI MU IV126: Plánování v prostoru plánů 22 5. dubna 2018

Příklad Jediný způsob, jak splnit otevřené cíle At, je přidání akcí Go přibyly nové hrozby (I., II., III.)! Operátory: Go(l,m) precond: At(l) effects: At(m), At(l) Buy(p,s) precond: At(s), Sells(s, p) effects: Have(p) Hana Rudová, FI MU IV126: Plánování v prostoru plánů 23 5. dubna 2018

Příklad Třetí hrozbu můžeme odstranit uspořádáním akce Buy(Drill) před Go(Tesco) to fakticky řeší všechny hrozby Operátory: Go(l,m) precond: At(l) effects: At(m), At(l) Buy(p,s) precond: At(s), Sells(s, p) effects: Have(p) Hana Rudová, FI MU IV126: Plánování v prostoru plánů 24 5. dubna 2018

Příklad Otevřený cíl At(l 1 ) můžeme splnit přiřazením l 1 =Home z akce Start Operátory: Go(l,m) precond: At(l) effects: At(m), At(l) Buy(p,s) precond: At(s), Sells(s, p) effects: Have(p) Hana Rudová, FI MU IV126: Plánování v prostoru plánů 25 5. dubna 2018

Příklad Otevřený cíl At(l 2 ) můžeme splnit přiřazením l 2 =OBI z akce Go(Home, OBI) Operátory: Go(l,m) precond: At(l) effects: At(m), At(l) Buy(p,s) precond: At(s), Sells(s, p) effects: Have(p) Hana Rudová, FI MU IV126: Plánování v prostoru plánů 26 5. dubna 2018

Příklad Otevřený cíl At(Home) z Finish splníme akcí Go(l 3, Home) vzniknou nové hrozby (I., II., III.) Operátory: Go(l,m) precond: At(l) effects: At(m), At(l) Buy(p,s) precond: At(s), Sells(s, p) effects: Have(p) Hana Rudová, FI MU IV126: Plánování v prostoru plánů 27 5. dubna 2018

Příklad Hrozby na At(Tesco) (I., II.) odstraníme uspořádáním akce Go(Home) za obě akce Buy to vyřeší i poslední hrozbu Operátory: Go(l,m) precond: At(l) effects: At(m), At(l) Buy(p,s) precond: At(s), Sells(s, p) effects: Have(p) Hana Rudová, FI MU IV126: Plánování v prostoru plánů 28 5. dubna 2018

Příklad Otevřený cíl At(l 3 ) splníme přiřazením l 3 =Tesco z akce Go(OBI, Tesco) Operátory: Go(l,m) precond: At(l) effects: At(m), At(l) Buy(p,s) precond: At(s), Sells(s, p) effects: Have(p) Hana Rudová, FI MU IV126: Plánování v prostoru plánů 29 5. dubna 2018

Srovnání technik Plánování se stavy Plánování s plány prohled. prostor konečný nekonečný uzly jednoduché komplikovanější (stavy světa) (částečné plány) stavy světa explicitní nejsou částečný plán uspořádání a volba volba akcí a jejich akcí se dělá najednou pořadí oddělené struktura plánu lineární bez vazeb kauzální vazby Díky doménvě specifickým heuristikám je dnes plánování se stavy výrazně rychlejší. Ale, plánování v prostoru plánů: vytváří flexibilnější plány díky částečnému uspořádání umožňuje další rozšíření, např. přidání času a zdrojů Hana Rudová, FI MU IV126: Plánování v prostoru plánů 30 5. dubna 2018

Cvičení: výměna hodnot proměnných Plánovací problém: s 0 = {value(v1,3), value(v2,5), value(v3,0)} g = {value(v1,5), value(v2,3)} assign(v, w, x, y) precond: value(v, x), value(w, y) effects: value(v, x), value(v, y) Částečný plán: Otázky: Které jsou zde hrozby? Kolik přímých následníků má tento částečný plán? Provádějte operace algoritmem PSP počínaje uvedeným plánem. Který běh nalezne řešení s nejmenším možným počtem akcí? Hana Rudová, FI MU IV126: Plánování v prostoru plánů 31 5. dubna 2018