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

Podobné dokumenty
Plánování: reprezentace problému

Plánování se stavovým prostorem

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

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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Základy umělé inteligence

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

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

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

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

Modely Herbrandovské interpretace

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

10. Techniky formální verifikace a validace

Logika a logické programování

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

Přijímací zkouška - matematika

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

LOGICKÉ OBVODY 2 kombinační obvody, minimalizace

Každé formuli výrokového počtu přiřadíme hodnotu 0, půjde-li o formuli nepravdivou, a hodnotu 1, půjde-li. α neplatí. β je nutná podmínka pro α

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

Výroková logika - opakování

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

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...

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

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

Teorie rozhodování (decision theory)

popel, glum & nepil 16/28

4.2 Syntaxe predikátové logiky

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

Matematická indukce, sumy a produkty, matematická logika

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

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

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

postaveny výhradně na syntaktické bázi: jazyk logiky neinterpretujeme, provádíme s ním pouze syntaktické manipulace důkazy

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

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

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

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

Rezoluční kalkulus pro výrokovou logiku

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

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.

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

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

Ú é š é é š ú ů š Í Ú ú éú ú ú ú ú é é

Základní pojmy matematické logiky

Rezoluce ve výrokové logice

Úvod do informatiky. Miroslav Kolařík

Matematická logika. Miroslav Kolařík

Aplikace: Znalostní báze

Rezoluce v predikátové logice

Základy logiky a teorie množin

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

1 Pravdivost formulí v interpretaci a daném ohodnocení

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

Matematická logika. Rostislav Horčík. horcik

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

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

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

Vyhněte se katastrofám pomocí výpočetní matematiky

Převyprávění Gödelova důkazu nutné existence Boha

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

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

Logické programy Deklarativní interpretace

a4b33zui Základy umělé inteligence

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

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

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 jara 2016

Matematika B101MA1, B101MA2

NAIVNÍ TEORIE MNOŽIN, okruh č. 5

Rezoluce v predikátové logice

ř ě ř ě ř ě ů ěž š ň ě ň Ů ó ó ů ó ř ě ů Ř š ů ř ř ě Ř ř ř š ř ě ě ř ě š Ž ř Ř ř ř ě š ů ě Í ě ě Š ř ž Š ň ň ř ě ř ř ě š Í ňň š ě ň Š Ž Ž Ř ř Á ř ě ě

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

Matematická logika. Rostislav Horčík. horcik

Formální systém výrokové logiky

Matematická logika. Rostislav Horčík. horcik

Reprezentace znalostí. Katedra kybernetiky, ČVUT v Praze.

Dynamické programování

Intuitivní pojem pravděpodobnosti

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

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

Klauzulární logika. úvod. Šárka Vavrečková. 20. října Ústav informatiky Filozoficko-Přírodovědecká fakulta Slezské univerzity, Opava

á ý á á ú ú ř ý ý ů ě ů ř á á á á ě ě š ř ů á ě ě ě ů ř š ý š ě ů ž ář ř ř š ý ář á ě ř á ý ě ů á á á ě á ž ě ě ů ě ý ě ř ě šť Č ý á á ř á ě á ř ý ý á

Transkript:

Plánováníá a rozvrhování Roman Barták, KTIML roman.bartak@mff.cuni.cz cz http://ktiml.mff.cuni.cz/~bartak Co nás čeká? Plánování, konečně! Klasické plánování Konceptuální model Reprezentace problému Plánovací algoritmy Stavový prostor Prostor plánů Na úvod

Formalizace Konceptuální model plánování 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ázdná akce) množina událostí E (rekurzivně spočetná) události jsou 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)

Plánování Cílem plánování je zjistit jaké akce a na které stavy se mají aplikovat, abychom z dané situace dosáhli požadovaných cílů. Co jsou to cíle? cílový stav nebo množina cílových stavů splnění dané podmínky nad posloupností stavů, přes ř které systém přechá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ů location 1 location 2 move2 unload move1 load s 1 put take location 1 location 2 move2 move1 s 0 Σ = (S,A,E,γ) Příklad S = {s 0,, s 5 } E ={}resp resp. {ε} A = {move1, s 3 s 2 move2, put put, take, load, unload} take location 1 location 2 location 1 location 2 γ: obrázek s 4 s 5 počátek: s 0 move2 move1 location 1 location 2 location 1 location 2 počátek: s 0 cíl: s 5

Jak to funguje? Plánovač generuje plány Řadič se stará o jejich realizaci pro daný stav určí akci k provedení pozorování převádějí reálný stav na modelovaný stav Dynamické plánování umožňuje přeplánování p na základě aktuálního stavu provádění plánu. 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á. cíle jsou omezené Zjednodušení modelu 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í.

Klasické 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 Σ =(SA (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 s i =γ(s i-1,a i ) a s k splňuje g Klasické plánování (STRIPS plánování) Zjednodušení? Plánování á ve zjednodušeném d modelu je pouhé hledání cesty v grafu. Je to opravdu tak jednoduché? 5 míst, 3 hromady na místo, 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 nás bude zajímat? Jak reprezentovat stavy a akce tak, aby nebylo potřeba vyjmenovat množiny S a A? připomeňme 10 277 stavů vs. počet částic ve vesmíru Jak efektivně hledat řešení plánovacího problému? Jak najít cestu v grafu s 10 277 uzly? Reprezentace Reprezentace pro klasické Reprezentace pro klasické plánování

Množinová reprezentace Stav systému je popsán p množinou výroků. Př. {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á Př. take: {onground} jaké výroky akce přidá nebo smaže, aby vytvořila nový stav Př. take: {onground} -, {holding} + take s 0 s 1 location 1 location 2 location 1 location 2 Plánovací doména množinová reprezentace 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

Plánovací problém P je trojice (Σ,s 0,g): 0 Σ=(S,A,γ) je plánovací doména nad L s 0 je počáteční stav, s 0 S g Lj je množina cílových výroků S g = {s S g s} množina cílových stavů Plán π je posloupnost akcí a 1,a 2,,a k délka plánu π je k = π Plánovací problém množinová reprezentace 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 spojitou pod-posloupnost, která je také řešením P minimální i řešení: š í neexistuje itj řešení š í P s kratší délkou Příklad množinové reprezentace s 1 s 0 L={onground {onground, onrobot, put holding, at1, at2} take s 0 ={onground {onground, at2} g = {onrobot} location 1 location 2 location 1 location 2 move2 move1 move2 move1 s 3 put take location 1 location 2 location 1 location 2 unload load s 2 load = ( {holding,at1}, {holding}, {onrobot}) s 4 s 5 move2 move1 location 1 location 2 location 1 location 2 take,move1,load,move2 move2 je plán, ale není minimální

Dosažitelnost množinová reprezentace Přímí následníci stavu s: Γ(s) = {γ(s,a) a A je aplikovatelná na s} Dosažitelné stavy: Γ 2 (s) = Γ(s) Γ (s) Plánovací problém má řešení právě když S g Γ (s 0 ). Akce a je relevantní pro cíl g právě když: g effects + (a) g effects - (a) = Regresní (zpětná) množina cíle g pro (relevantní) akci a: γ -1 (g,a) = (g - effects + (a)) precond(a) Γ -1 (g) = {γ -1 (g,a) a A je relevantní pro g} Γ -1 (g) = Γ -1 (g) Γ -2 (g) Plánovací problém má řešení právě když s 0 je nadmnožinou nějakého prvku z Γ -1 (g). Srozumitelnost přehlednější než výčet stavů Kolik stavů pro n kontejnerů? Výpočty Vlastnosti množinové reprezentace 8.n.n! stavů {nothing-on-c3, c3-on-c1,c1-on-pile1, nothing-on-c2, c2-on-pile2, crane-empty, robot-at-loc2} 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 {holding, onrobot, at2} Některé stavové prostory stejně mají obrovskou množinovou reprezentaci.

Klasická reprezentace Klasická reprezentace zobecňuje množinovou reprezentaci směrem k predikátové logice: 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ů. Přesněji: 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). Reprezentace stavů klasická ká reprezentace 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í ě svojí pravdivostní hodnotu s různými stavy neměnné atomy (rigid) např. adjacent(loc1,loc2) Předpoklad uzavřeného světa (closed world assumption) Atom, který není ve stavu explicitně uveden, neplatí!

operátor o je trojice: (name(o), precond(o), effects(o)) Plánovací operátory klasická ká reprezentace 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 ě ýhvoperátoru! precond(o): předpoklady literály, které musí být splnitelné, l aby šlo operátor použít effects(o): efekty literály, které se stanou pravdivými aplikací operátoru (nesmí to být neměnné atomy!) Akce jsou plně instanciované operátory za proměnné jsou dosazeny konstanty Akce klasická ká reprezentace operátor akce

Notace: S + = {pozitivní atomy vs} 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) Aplikace akce klasická ká reprezentace Plánovací doména Nechť L je jazyk a O je množina operátorů. klasická ká reprezentace 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 Sjeuzavřená vzhledem ke γ (je-li s S, potom pro každou akci a aplikovatelnou na s platí γ(s,a) S)

Plánovací problém klasická ká reprezentace Plánovací problém Pjetrojice(Σ (Σ,s 0,g): Σ=(S,A,γ) je plánovací doména s 0 je počáteční stav, s 0 S g 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} -množina cílových stavůů Zápis plánovacího problému je trojice (O,s 0,g). Plány a řešení klasická ká reprezentace 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. Plánovací problém má řešení právě když S g Γ ( (s 0 ). Plánovací problém má řešení právě když s 0 je nadmnožinou nějakého prvku z Γ -1 (g) (ale trochu jiná definice γ -1 ). Akce a je relevantní pro cíl g právě když: akce přispívá do g: g effects(a) efekty akce nejsou v konfliktu s g: g - effects + (a) = g + effects - (a) = Regresní (zpětná) množina cíle g pro (relevantní) akci a: γ -1 (g,a) = (g - effects(a)) precond(a)

Ukázka plánu klasická ká reprezentace náš cíl s 1 = g = {loaded(r1,c3), at(r1,loc2)} move(r1loc2loc1) move(r1,loc2,loc1), take(crane1,loc1,c3,c1,p1), load(crane1,loc1,c3,r1),,, move(r1,loc1,loc2) take(crane1,loc1,c3,c1,p1), (,,,,p move(r1,loc2,loc1), load(crane1,loc1,c3,r1), move(r1,loc1,loc2) 1 l Syntaktická rozšíření Rozšíření klasické ké reprezentace typované proměnné (konstanty z jazyka mají svůj typ) např. typ robot: rob1, rob2, rob3 existenčně it č ě kvantifikované cíle (uzavřená ř áformule!) např. x,y (on(x,c1) on(y,c2)) Podmíněné ě operátory pod jedním jménem je ukryto více podobných mini-operátorů, každý s vlastními předpoklady a efekty aplikují se najednou všechny mini-operátory, jejichž předpoklady jsou splněny např. přepnutí vypínače vede ke zhasnutí, pokud bylo rozsvíceno, nebo k rozsvícení, í pokud bylo zhasnuto Disjunktivní předpoklady předpokladem může být libovolná formule např. robot může přejet z A do B, pokud z A do B vede cesta nebo pokud má robot pohon na čtyři kola

Další rozšíření klasické ké reprezentace Připojené procedury (k operátorům) ů umožňují testovat složitější (například numerické) předpoklady např. weight(c) maxweight(r) Axiomy pro automatické odvození některých faktů např. l,l (adjacent(l,l ) adjacent(l,l)) není problém pro neměnné atomy, ale musí se udělat opatrně pro flexibilní atomy k ( x holding(k,x) empty(k)) k ( x holding(k,x) empty(k)) py( Flexibilní atomy jsou potom rozděleny na primární atomy, které se mohou používat v předpokladech i efektech (holding) sekundární atomy, které se mohou používat jen v předpokladech, tj. nesmí být v efektech (empty) 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. triviální Množinová reprezentace Klasická reprezentace stavy {on(c1,pallet), on(c1,r1), on(c1,c2),, at(r1,l1), } vytvoří se všechny možné instance akce {on-c1-pallet, on-c1-r1, 1 on-c1-c2,, at-r1-l1, } take-crane1-loc1-c3-c1-p1 precond: belong-crane1-loc1, attached-p1-loc1, empty-crane1, top-c3-p1, p1, on-c3-c1 c1 delete: empty-crane1, in-c3-p1, top-c3-p1, on-c3-p1 add: holding-crane1-c3, top-c1-p1

Zopakovat prohledávací algoritmy. Navrhnout množinovou a klasickou reprezentaci pro svět kostek. Svět kostek (the blocks world) nekonečně č ě velký stůl, konečný č počet č tkostek k poloha kostky na stole nás nezajímá Domácí úkol 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 například c d a b e a b c