Plánování: reprezentace problému

Podobné dokumenty
Plánováníá a rozvrhování

Plánování se stavovým prostorem

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

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

Úvod do rozvrhování. 21. února Příklady. 2 Terminologie. 3 Klasifikace rozvrhovacích problémů. 4 Složitost.

Základy umělé inteligence

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

Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Úvod do rozvrhování. 20. února Příklady a reálné problémy. 2 Terminologie. 3 Klasifikace rozvrhovacích problémů.

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

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

LOGICKÉ OBVODY 2 kombinační obvody, minimalizace

Úvod do logiky (presentace 2) Naivní teorie množin, relace a funkce

0. ÚVOD - matematické symboly, značení,

10. Techniky formální verifikace a validace

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

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

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

Matematika I. Přednášky: Mgr. Radek Výrut, Zkouška:

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

Plánování úloh na jednom stroji

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

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 21.

Y36SAP Y36SAP-2. Logické obvody kombinační Formy popisu Příklad návrhu Sčítačka Kubátová Y36SAP-Logické obvody 1.

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

Agent pracující v částečně pozorovatelném prostředí udržuje na základě senzorického modelu odhaduje, jak se svět může vyvíjet.

Seminář z umělé inteligence. Otakar Trunda

Přijímací zkouška - matematika

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

4. NP-úplné (NPC) a NP-těžké (NPH) problémy

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

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

Úvod do informatiky. Miroslav Kolařík

Rezoluce ve výrokové logice

Metody tvorby ontologií a sémantický web. Martin Malčík, Rostislav Miarka

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

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 12.

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

Logika. 6. Axiomatický systém výrokové logiky

Logika a logické programování

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

Znalosti budeme nejčastěji vyjadřovat v predikátové logice prvního řádu. Metody:

a4b33zui Základy umělé inteligence

Okruh č.3: Sémantický výklad predikátové logiky

Teorie rozhodování (decision theory)

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

Logické operace. Datový typ bool. Relační operátory. Logické operátory. IAJCE Přednáška č. 3. může nabýt hodnot: o true o false

Pro každé formule α, β, γ, δ platí: Pro každé formule α, β, γ platí: Poznámka: Platí právě tehdy, když je tautologie.

Unární je také spojka negace. pro je operace binární - příkladem může být funkce se signaturou. Binární je velká většina logických spojek

Predikátová logika. prvního řádu

Booleovská algebra. Booleovské binární a unární funkce. Základní zákony.

Výroková logika - opakování

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

Matematická logika. Lekce 1: Motivace a seznámení s klasickou výrokovou logikou. Petr Cintula. Ústav informatiky Akademie věd České republiky

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

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

Intervalová data a výpočet některých statistik

Základy matematiky pro FEK

Rezoluce v predikátové logice

výrok-každésdělení,uněhožmásmyslseptát,zdaječinenípravdivé, aproněžprávějednaztěchtodvoumožnostínastává.

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

Aplikace: Znalostní báze

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

Kapitola 1. Úvod. 1.1 Značení. 1.2 Výroky - opakování. N... přirozená čísla (1, 2, 3,...). Q... racionální čísla ( p, kde p Z a q N) R...

Výroková logika. Teoretická informatika Tomáš Foltýnek

Matematická logika. Miroslav Kolařík

teorie logických spojek chápaných jako pravdivostní funkce

Rezoluce v predikátové logice

platné nejsou Sokrates je smrtelný. (r) 1/??

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

PŘEDNÁŠKA 2 POSLOUPNOSTI

Dijkstrův algoritmus

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

Třída PTIME a třída NPTIME. NP-úplnost.

Výroková logika. Sémantika výrokové logiky

Algoritmizace prostorových úloh

Zada ní 1. Semina rní pra ce z pr edme tu Matematický software (KI/MSW)

Dynamické programování

brmiversity: Um lá inteligence a teoretická informatika

Úvod do TI - logika Predikátová logika 1.řádu (4.přednáška) Marie Duží marie.duzi@vsb.cz

Databázové systémy. * relační kalkuly. Tomáš Skopal. - relační model

Automaty a gramatiky(bi-aag) Formální překlady. 5. Překladové konečné automaty. h(ε) = ε, h(xa) = h(x)h(a), x, x T, a T.

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

Informační systémy plánování výroby - pokročilé rozvrhování

Modely Herbrandovské interpretace

Místo pojmu výroková formule budeme používat zkráceně jen formule. Při jejich zápisu

Základní pojmy matematické logiky

Tento text je stručným shrnutím těch tvrzení Ramseyovy teorie, která zazněla

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

IV. Základní pojmy matematické analýzy IV.1. Rozšíření množiny reálných čísel

Matematická analýza 1

Matematická logika. Miroslav Kolařík

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

Výroková logika syntaxe a sémantika

Cvičení ke kursu Vyčíslitelnost

Sekvenční logické obvody

Úvod do informatiky. Miroslav Kolařík

Co je obsahem? O čem bude přednáška? plánování a rozvrhování. ono se to někde používá? aplikace? řešící algoritmy.

Turingovy stroje. Teoretická informatika Tomáš Foltýnek

LOGIKA VÝROKOVÁ LOGIKA

Transkript:

Plánování: reprezentace problému 15. března 2018 1 Úvod 2 Konceptuální model 3 Množinová reprezentace 4 Klasická reprezentace Zdroj: Roman Barták, přednáška Plánování a rozvrhování, Matematicko-fyzikální fakulta, Karlova univerzita v Praze, 2014. http: // kti. ms. mff. cuni. cz/ ~bartak/ planovani

Plánování: příklad Plán: zvedni(c) polož_na(c,stůl) zvedni(b) polož_na(b,d) zvedni(c) polož_na(c,b) Hana Rudová, FI MU IV126: Plánování: reprezentace problému 2 15. března 2018

Plánování v kostce Vstup: počáteční (současný) stav světa popis akcí schopných měnit stav světa požadovaný stav světa Výstup: seznam akcí (plán) Hana Rudová, FI MU IV126: Plánování: reprezentace problému 3 15. března 2018

Plánování v kostce Stavové proměnné x {a, b, c}, y {a, b}, z {a, b, c} Počáteční stav {x a, y a, z a} Cílový stav {x c, z b} Akce a.k.a. operátory a 1 : a 2 :... Problém x a, y a x a, z c 3 4 y := b, z := c z := b nalézt posloupnost akcí, které transformují počáteční stav na stav, který je konzistentní s cílovým stavem účelová funkce: součet ceny akcí Hana Rudová, FI MU IV126: Plánování: reprezentace problému 4 15. března 2018

Plánování v kostce: STRIPS plánování Všechny proměnné mají doménu {T, F} V podmínce akce a v cílovém stavu pouze v T Notace a : x T, y T zapsaná jako 5 w := F, y := F, z := T precond(a) = {x, y}, effects + = {z}, effects = {w, y}, cost(a) = 5 Příklad: zvedneme ležící kostku nahoru B precond(lezi-b) = {}, effects + ={nahore-b}, effects = {lezi-b} Hana Rudová, FI MU IV126: Plánování: reprezentace problému 5 15. března 2018

Plánování v kostce: temporální plánování Rozdíly od klasického plánování akce mají dobu trvání řešení nejsou posloupnosti ale rozvrhy akcí akce se mohou překrývat účelová fukce typicky minimalizace makespanu makespan = čas dokončení všech akcí akce mají tři množiny předpokladů at start, over all, at end akce mají dvě množiny důsledků at start, at end Hana Rudová, FI MU IV126: Plánování: reprezentace problému 6 15. března 2018

Plánování v kostce: temporální plánování Stavové proměnné x {a, b, c}, y {a, b}, z {a, b, c} Počáteční stav {x a, y a, z a} Cílový stav {x c, z b} Akce zabírají časový úsek a 1 :... x x at start a, x over all b, y at start at start at end at end := b, x := a, z := c Problém nalézt rozvrh akcí, které transformují počáteční stav na stav, který je konzistentní s cílovým stavem účelová funkce: minimalizace makespanu rozvrhu Hana Rudová, FI MU IV126: Plánování: reprezentace problému 7 15. března 2018 a 10

Plánování a rozvrhování Plánování (planning) rozhodování, jaké akce jsou potřeba pro dosažení daných cílů téma umělé inteligence složitost často horší než NP-c (obecně nerozhodnutelné) Rozvrhování (scheduling) rozhodování, jak zpracovat dané akce použitím omezených zdrojů a času téma operačního výzkumu složitost typicky NP-c Hana Rudová, FI MU IV126: Plánování: reprezentace problému 8 15. března 2018

Deep Space 1 Start: 24. října 1998 Cíl: Borrelliova kometa Testování 12 nových technologií autonomní vzdálený agent plánuje, provádí a monitoruje akce kosmické lodi na základě obecných příkazů operátora tři zkušební scénáře 12 hodin nízké autonomie (provádění a monitorování) 6 dní vysoké autonomie (snímání kamerou, simulace poruch) 2 dny vysoké autonomie (udržení směru) pozor na backtracking! pozor na deadlock v plánu! Hana Rudová, FI MU IV126: Plánování: reprezentace problému 9 15. března 2018

Plánování: obsah Klasické plánování Konceptuální model Reprezentace problému Plánovací algoritmy plánování se stavovým prostorem plánování s prostorem plánů Hana Rudová, FI MU IV126: Plánování: reprezentace problému 10 15. března 2018

Formalizace: konceptuální model Plánování se zabývá volbou a organizací akcí, které mění stav systému Systém Σ modelující stavy a přechody: množina stavů S (rekurzivně spočetná) množina akcí A (rekurzivně spočetná) plánovač kontroluje akce! no-op (prázná akce) množina událostí E (rekurzivě spočetná) událost mimo kontrolu plánovače! neutrální událost ε přechodová funkce γ : S A E P(S) někdy se akce a události aplikují odděleně γ : S (A E) P(S) Hana Rudová, FI MU IV126: Plánování: reprezentace problému 11 15. března 2018

Cíle plánování Cílem plánování je zjistit, jaké akce a na které stavy se mají aplikovat, abychom za dané situace dosáhli požadovaných cílů. Co je cílem plánování? cílový stav nebo množina cílových stavů splnění dané podmínky nad posloupností stavů, přes které systém prochází např. stavy, kterým se vyhnout, nebo stavy, které se musí navštívit optimalizace dané objektivní funkce nad posloupností stavů např. maximum nebo součet ohodnocení stavů Hana Rudová, FI MU IV126: Plánování: reprezentace problému 12 15. března 2018

Příklad Σ = (S, A, E, γ) S = {s 0,..., s 5 } E = {} resp. {ε} A = {move1, move2, put, take, load, unload} γ: obrázek počáteční stav: s 0 cíl: s 5 Hana Rudová, FI MU IV126: Plánování: reprezentace problému 13 15. března 2018

Předpoklady: zjednodušení modelu Systém je konečný Systém je plně pozorovatelný máme úplné informace o stavu systému Systém je deterministický s S u (A E) : γ(s, u) 1 Systém je statický množina událostí je prázdná, E = Cíle jsou omezené cílem je dosažení některého stavu z množiny cílových stavů Plány jsou sekvenční plánem je úplně uspořádaná posloupnost akcí Čas je implicitní akce i události jsou instantní (okamžité, tj. nemají žádné trvání) Plánujeme offline stav systému se nemění v průběhu plánování Hana Rudová, FI MU IV126: Plánování: reprezentace problému 14 15. března 2018

Klasické plánování (STRIPS plánování) Pracujeme s deterministickým, statickým, konečným a plně pozorovatelným stavovým modelem s omezenými cíli a implicitním časem Σ = (S, A, γ). Plánovací problém P = (Σ, s 0, g): s 0 je počáteční stav g charakterizuje cílové stavy Řešením plánovacího problému P je posloupnost akcí a 1, a 2,..., a k odpovídající posloupnosti stavů s 0, s 1,..., s k takové, že 1 s i = γ(s i 1, a i ), 2 s k splňuje g Hana Rudová, FI MU IV126: Plánování: reprezentace problému 15 15. března 2018

Zjednodušení? Plánování ve zjednodušeném modelu je pouhé hledání cesty v grafu. Je to opravdu tak jednoduché? 5 míst, 3 hromady na každém místě, 100 kontejnerů, 3 roboti 10 277 stavů, tj. 10 190 krát více než jsou největší odhady počtu částic ve vesmíru Co tedy potřebujeme? Jak tedy reprezentovat stavy a akce tak, aby nebylo třeba vyjmenovat množiny A a S? nemůžeme přímo pracovat s 10 277 stavy... Jak efektivně hledat řešení plánovacího problému? Jak najít cestu v grafu s 10 277 uzly? Hana Rudová, FI MU IV126: Plánování: reprezentace problému 16 15. března 2018

Klasické plánování: množinová reprezentace Stav systému je popsán množinou výroků např. {onground, at2} Každá akce je syntaktický výraz specifikující: jaké výroky musí patřit do stavu, aby na něj byla akce aplikovatelná např. take: {onground} jaké výroky akce přidá nebo smaže, aby vytvořila nový stav např. take: {onground}, {holding} + Hana Rudová, FI MU IV126: Plánování: reprezentace problému 17 15. března 2018

Množinová reprezentace: plánovací doména Nechť L = {p 1,..., p n } je konečná množina výrokových symbolů (jazyk). Plánovací doména Σ nad L je trojice (S, A, γ): S P(L), tj. stav s je podmnožina L popisující, jaké výroky platí pokud p s, potom p ve stavu s platí pokud p s, potom p ve stavu s neplatí Akce a A je trojice podmnožin L a = (precond(a), effects (a), effects + (a)) effects (a) effects + (a) = akce a je použitelná na stav s, pokud precond(a) s Přechodová funkce γ: γ(s, a) = (s effects (a)) effects + (a), je-li a použitelná na s Hana Rudová, FI MU IV126: Plánování: reprezentace problému 18 15. března 2018

Množinová reprezentace: plánovací problém Plánovací problém P je trojice (Σ, s 0, g): Σ = (S, A, γ) je plánovací doména nad L s 0 je počáteční stav, s 0 S g L je množina cílových výroků S g = {s S g s} je množina cílových stavů Plán π je posloupnost akcí a 1, a 2,..., a k délka plánu π je k = π stav produkovaný plánem π (zobecnění funkce γ) γ(s, π) = s, je-li k = 0 (plán π je prázdný) γ(s, π) = γ(γ(s, a 1 ), a 2,..., a k ), je-li k > 0 a a 1 je použitelná na s γ(s, π) nedefinováno v ostatních případech Plán π je řešením P právě když g γ(s 0, π) redundantní řešení: obsahuje vlastní podposloupnost, která je také řešením P minimální řešení: neexistuje řešení P s kratší délkou Hana Rudová, FI MU IV126: Plánování: reprezentace problému 19 15. března 2018

Množinová reprezentace: příklad L = {onground, onrobot, holding, at1, at2} s 0 = {onground, at2} g = {onrobot} load = ( {holding, at1}, {holding}, {onrobot}) take, move1, load, move2 je plán, ale není minimální (není nutné move2, v g není podmínka na location) Hana Rudová, FI MU IV126: Plánování: reprezentace problému 20 15. března 2018

Množinová reprezentace: vlastnosti Srozumitelnost přehlednější než výčet stavů Kolik stavů pro n kontejnerů? Výpočty přechodová funkce se snadno realizuje pomocí množinových operací pokud precond(a) s, potom γ(s, a) = (s effects (a)) effects + (a) Expresivita některé množiny výroků neodpovídají žádnému stavu např. {holding, onrobot, at} některé stavové prostory stejně mají obrovskou množinovou reprezentaci Hana Rudová, FI MU IV126: Plánování: reprezentace problému 21 15. března 2018

Klasická reprezentace Klasická reprezentace zobecňuje množinovou reprezentaci směrem k predikátové logice: Přesněji: stavy jsou množiny logických atomů, které jsou v dané interpretaci buď pravda nebo nepravda akce jsou reprezentovány plánovacími operátory, které mění pravdivostní hodnotu těchto atomů L (jazyk) je konečná množina predikátových symbolů a konstant (nemáme funkce!) atom je predikátový symbol s argumenty např. on(c3, c1) můžeme používat proměnné např. on(x,y) Hana Rudová, FI MU IV126: Plánování: reprezentace problému 22 15. března 2018

Klasická reprezentace: reprezentace stavů Stav je množina instanciovaných atomů (bez proměnných). Opět jich je konečně mnoho! Pravdivostní hodnota některých atomů se mění flexibilní atomy (fluent) např. at(r1,loc2) Některé atomy nemění svoji pravdivostní hodnotu s různými stavy neměnné atomy (rigid) např. adjacent(loc1,loc2) Předpoklad uzavřeného světa (closed world assuption): atom, který není ve stavu explicitně uveden, neplatí! Hana Rudová, FI MU IV126: Plánování: reprezentace problému 23 15. března 2018

Klasická reprezentace: plánovací operátory Operátor o je trojice: (name(o), precond(o), effects(o)) name(o): jméno operátoru ve tvaru n(x 1,..., x k ) n: symbol operátoru (jednoznačný pro každý operátor) x 1,..., x k : symboly proměnných (parametry operátoru) musí obsahovat všechny symboly proměnných v operátoru! precond(o): předpoklady literály, které musí být splnitelné, aby šlo operátor použít effects(o): důsledky literály, které se stanou pravdivými aplikací operátoru nesmí být něměnné atomy! Hana Rudová, FI MU IV126: Plánování: reprezentace problému 24 15. března 2018

Klasická reprezentace: akce Akce jsou plně instanciované operátory za proměnné jsou dosazeny konstanty Hana Rudová, FI MU IV126: Plánování: reprezentace problému 25 15. března 2018

Klasická reprezentace: aplikace akce Notace: S + = {pozitivní atomy v S} S = {atomy, jejichž negace je v S} Akce a je použitelná na stav s právě když precond + (a) s precond (a) s = Výsledkem aplikace akce a na s je γ(s, a) = (s effects (a)) effects + (a) Hana Rudová, FI MU IV126: Plánování: reprezentace problému 26 15. března 2018

Klasická reprezentace: plánovací doména Nechť L je jazyk a O je množina operátorů. Plánovací doména Σ nad jazykem L a s operátory O je trojice (S, A, γ): stavy S P({všechny instanciované atomy nad L}) akce A = {všechny instanciované operátory z O nad L} akce a je použitelná na stav s, pokud precond + (a) s precond (a) s = přechodová funkce γ: γ(s, a) = (s effects (a)) effects + (a), je-li a použitelná na s S je uzavřená vzhledem ke γ pokud s S, potom pro každou akci a aplikovatelnou na s platí γ(s, a) S Hana Rudová, FI MU IV126: Plánování: reprezentace problému 27 15. března 2018

Klasická reprezentace: plánovací problém Plánovací problém P je trojice (Σ, s 0, g): Σ = (S, A, γ) je plánovací doména s 0 je počáteční stav, s 0 S g L je množina instanciovaných literálů stav s splňuje g právě tehdy, když g + s g s = S g = {s S s splňuje g} je množina cílových stavů Zápis plánovacího problému je trojice (O, s 0, g) Plán π je posloupnost akcí a 1, a 2,..., a k Plán π je řešením P, právě když γ(s 0, π) splňuje g Hana Rudová, FI MU IV126: Plánování: reprezentace problému 28 15. března 2018

Klasická reprezentace: ukázka plánu Hana Rudová, FI MU IV126: Plánování: reprezentace problému 29 15. března 2018

Srovnání reprezentací Vyjadřovací síla obou reprezentací je stejná (co lze reprezentovat množinově, lze i klasicky a naopak) Při převodu z klasické na množinovou reprezentaci ale může dojít k exponenciálnímu nárůstu velikosti. Hana Rudová, FI MU IV126: Plánování: reprezentace problému 30 15. března 2018

Domácí úkol (nebodovaný) Navrhněte množinovou a klasickou reprezentaci pro svět kostek. Svět kostek (the blocks world) nekonečně velký stůl, konečný počet kostek poloha kostky na stole nás nezajímá kostka může ležet buď na stole nebo na jiné kostce při plánování chceme přesouvat kostky tak, že v dané chvíli můžeme držet maximálně jednu kostku Příklad: Hana Rudová, FI MU IV126: Plánování: reprezentace problému 31 15. března 2018