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

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

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

1 Topologie roviny a prostoru

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í: reprezentace problému

2. přednáška 8. října 2007

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

Úvod do informatiky. Miroslav Kolařík. Zpracováno dle učebního textu R. Bělohlávka: Úvod do informatiky, KMI UPOL, Olomouc 2008.

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

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

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

NAIVNÍ TEORIE MNOŽIN, okruh č. 5

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

Úvod do informatiky. Miroslav Kolařík

Limita a spojitost funkce a zobrazení jedné reálné proměnné

Kostry. 9. týden. Grafy. Marie Demlová (úpravy Matěj Dostál) 16. dubna 2019

Základy matematiky pro FEK

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

Plánování se stavovým prostorem

Teorie rozhodování (decision theory)

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 2014

Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice

Modely Herbrandovské interpretace

Stromové rozklady. Definice 1. Stromový rozklad grafu G je dvojice (T, β) taková, že T je strom,

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

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 α

Definice 1.1. Nechť je M množina. Funkci ρ : M M R nazveme metrikou, jestliže má následující vlastnosti:

5. Lokální, vázané a globální extrémy

OBECNOSTI KONVERGENCE V R N

Modely teorie grafů, min.kostra, max.tok, CPM, MPM, PERT

Definice globální minimum (absolutní minimum) v bodě A D f, jestliže X D f

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

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

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

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

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

Texty k přednáškám z MMAN3: 4. Funkce a zobrazení v euklidovských prostorech

Pravděpodobnost a její vlastnosti

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

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

Matematická analýza III.

Řešení rekurentních rovnic 2. Základy diskrétní matematiky, BI-ZDM ZS 2011/12, Lekce 11

Plánování se zabývá především kauzálními vztahy mezi akcemi a otázkou. Rozvrhování se soustředí na alokaci naplánovaných akcí v čase a prostoru.

Numerická stabilita algoritmů

1 Báze a dimenze vektorového prostoru 1

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

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

Grafy. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 13.

Organizace. Zápočet: test týden semestru (pátek) bodů souhrnný test (1 pokus) Zkouška: písemná část ( 50 bodů), ústní část

Š š š ž Ť š Ť č č ď ž č Ť ž č č Ť ž ž ž ž Í ž ž ž č ž Ť š č š ď Ť Ž Ó Ť Ť š š ž č Ž ž š š š Ť Ť Ť Ž Ť š š č Ť ž Í š š ž š ž ŤŽ Ť š ž Š ť ž Í ď č š š š

Cvičení z Lineární algebry 1

Diferenˇcní rovnice Diferenciální rovnice Matematika IV Matematika IV Program

10 Funkce více proměnných

i=1 Přímka a úsečka. Body, které leží na přímce procházející body a a b můžeme zapsat pomocí parametrické rovnice

Ukážeme si lineární algoritmus, který pro pevné k rozhodne, zda vstupní. stromový rozklad. Poznamenejme, že je-li k součástí vstupu, pak rozhodnout

Důkaz Heineho Borelovy věty. Bez újmy na obecnosti vezmeme celý prostor A = M (proč? úloha 1). Implikace. Nechť je (M, d) kompaktní a nechť.

REÁLNÁ FUNKCE JEDNÉ PROMĚNNÉ

Pravděpodobnost a statistika

f(c) = 0. cn pro f(c n ) > 0 b n pro f(c n ) < 0

Poznámka. Je-li f zobrazení, ve kterém potřebujeme zdůraznit proměnnou, píšeme f(x) (resp. f(y), resp. f(t)) je zobrazení místo f je zobrazení.

Ý é ě é é Ý é Ú é é Ý Š ě é Č ě Ý ě ž é é é Í é Č Š Ž é ž é ž é é ě é é ž é ě Ž é é é é ě Á ÁŘ

Zdůvodněte, proč funkce n lg(n) roste alespoň stejně rychle nebo rychleji než než funkce lg(n!). Symbolem lg značíme logaritmus o základu 2.

Jan Pavĺık. FSI VUT v Brně

Detekce interakčních sil v proudu vozidel

y +q 1 (t)y = 0 (1) z +q 2 (t)z = 0 (2)

9. T r a n s f o r m a c e n á h o d n é v e l i č i n y

1.1 Existence a jednoznačnost řešení. Příklad 1.1: [M2-P1] diferenciální rovnice (DR) řádu n: speciálně nás budou zajímat rovnice typu

Těleso racionálních funkcí

Predik atov a logika - pˇredn aˇska () Predik atov a logika - pˇredn aˇska / 16

Vztah jazyků Chomskeho hierarchie a jazyků TS

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

Elementární křivky a plochy

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

7 Konvexní množiny. min c T x. při splnění tzv. podmínek přípustnosti, tj. x = vyhovuje podmínkám: A x = b a x i 0 pro každé i n.

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

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

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

V této kapitole si zobecníme dříve probraný pojem limita posloupnosti pro libovolné funkce.

GRAFY A GRAFOVÉ ALGORITMY

( + ) ( ) f x x f x. x bude zmenšovat nekonečně přesný. = derivace funkce f v bodě x. nazýváme ji derivací funkce f v bodě x. - náš základní zápis

Minimalizace KA - Úvod


NP-úplnost problému SAT

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

Základy matematiky pro FEK

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

10 Přednáška ze

Mechanika

B i n á r n í r e l a c e. Patrik Kavecký, Radomír Hamřík

rovnic), Definice y + p(x)y = q(x), Je-li q(x) = 0 na M, nazývá se y + p(x)y =

Algoritmizace prostorových úloh

ď š š ž ž ž Ó ž ď Ó š š ď Ť č č ť š ď Ť Ř š š č šš č ď ď Ť ž č Ť Ť Ť ď Š Í š Ť ď Ě Ť š ž ž č ž Ť ž Š Ť č č č Í ž š Š Í š ž ď Ť š ž č č Ť ž č š Ťš Ť č

Aplikace: Znalostní báze

1 Množiny, výroky a číselné obory

6 Lineární geometrie. 6.1 Lineární variety

PŘEDNÁŠKA 7 Kongruence svazů

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

Kapitola 6. LL gramatiky. 6.1 Definice LL(k) gramatik. Definice 6.3. Necht G = (N, Σ, P, S) je CFG, k 1 je celé číslo.

Transkript:

Plánováníá a rozvrhování Roman Barták, KTIML roman.bartak@mff.cuni.cz cz http://ktiml.mff.cuni.cz/~bartak Plánování á s časem

Přístupy Plánování s časovými ý operátory Při popisu akce říkáme, kdy mají platit předpoklady, kdy nastávají efekty a jaký je vztah mezi příslušnými časovými proměnnými. Akce je částečným popisem funkce charakterizující stavové proměnné v čase. Plánování á s kronikami i Plánovací graf s časem Akce je rozdělena na tři instance start, střed, konec a stavové vrstvy mají dobu trvání. O co půjde? Plánování, kde čas hraje důležitější roli. Akce nejsou jen jednoduché změny stavu, ale sady lokálních změn parametrů a trvajících podmínek, které jsou rozprostřeny v čase: akce zabírají jistý časový úsek cesta z A do B trvá určitý čas předpoklady akce platí v daných časových úsecích trvání akce místo B musí být volné těsně před příjezdem podobně ě efekty akce nastávají v určitém čase trvání akce místo A se uvolní okamžitě po odjezdu akce spolu interferují a mohou tak dosahovat spojených efektů k otevření dveří je potřeba stisknout kliku a zatlačit na dveře cíle i známé stavy mohou být rozprostřeny v čase v daném čase se dok opravuje a tedy je pro lodě nedostupný nejprve je potřeba obsloužit zákazníka A potom B

Stavová proměnná a čas Stavové proměnné popisují vlastnost nějakého objektu v závislosti na stavu formou funkce. rloc: robots S locations Nyní bude stavová proměnná funkce závislá na čase rloc: robots time locations Příklad: V čase t 1 přijel robot r1 na místo loc1, kde setrval do času t 2 a potom odjel. V čase t 3, t 2 <t 3, robot r1 přijel na místo loc2, kde setrval do času t 4 a potom odjel. V čase t 5, t 4 <t 5, robot r1 přijel na dosud nespecifikované místo l. Události a trvající okolnosti Funkce stavové proměnné může být v plánu popsána částečně s dírami, kde hodnotu stavové proměnné nepotřebujeme znát. V průběhu plánování budeme tyto funkce postupně zpřesňovat. Jedná se o po částech konstantní funkci, kterou můžeme popsat pomocí dvou typů tzv. časových výroků: událost x@t:(v 1,v 2 ) specifikující okamžitou změnu hodnoty proměnné x z v 1 na v 2 (v 1 v 2 )včase t x@t:(v 1,v 2 ) ( t 0 t (t 0 <t <t) x(t )=v 1 ) x(t)=v 2 trvající í okolnost x@[t 1,t 2 ):u specifikující, í že proměnná ě x setrvává na hodnotě u v době [t 1,t 2 ) x@[t 1,t 2 ):u t (t 1 t<t 2 ) x(t)=u Vzájemný vztah události a trvající okolnosti lze popsat takto: x@t:(v 1,v 2 ) v 1 v 2 t 1,t 2 (t 1 <t<t 2 ) x@[t 1,t):v 1 x@[t,t 2 ):v 2

Kronika Kronika pro množinu stavových proměnných je dvojice Φ=(F,C), kde F je množina časových výroků nad stavovými proměnnými (tj. události a trvající okolnosti) Cj je množina: objektových podmínek, tj. podmínek svazujících objektové proměnné ve tvaru x D, x=y, x y a vztahy určené neměnnými relacemi časových podmínek, tj. podmínek ({ rloc(r1)@t 1 : (l 1,loc1), nad časovými proměnnými podle l ( 1)@[ ) l 1 algebry okamžiků (<,=,>) Časová osa je kronika pro jednu stavovou proměnnou. rloc(r1)@[t 1,t 2 ) : loc1, rloc(r1)@t 2 : (loc1,l 2 ), rloc(r1)@t 3 : (l 3,loc2), rloc(r1)@[t 3,t 4 ):loc2, rloc(r1)@t 4 : (loc2,l 4 ), rloc(r1)@t 5 : (l 5,l) } { adjacent(l 1,loc1), adjacent(loc1,l 2 ), adjacent(l 3,loc2), adjacent(loc2,l 4 ), adjacent(l 5,l), t 1 <t 2 <t 3 <t 4 <t 5 }) Separace Aby časová osa specifikovala alespoň jednu funkci určující hodnotu stavové proměnné nesmí v ní být žádná dvojice konfliktních časových výroků, tj. výroků, které umožňují dvě různé hodnoty stavové proměnné ve stejném čase. Konfliktním výrokům se vyhneme, pokud pro ně časová osa obsahuje, přímo či nepřímo, nějakou separační podmínku. Pro dvojici časových výroků definujeme separační podmínku takto: pro x@[t 1,t 2 ):v 1 a x@[t 3,t 4 ):v 2 máme tři možné separační č podmínky: t 2 t 3, t 4 t 1, v 1 =v 2 pro x@t:(v 1,v 2 ) a x@[t 1,t 2 ):v máme čtyři y možné separační podmínky: t<t 1, t 2 <t, (t 1 =t v=v 2 ), (t 2 =t v=v 1 ) pro x@t:(v 1,v 2 ) a x@t :(v 1,v 2 ) máme dvě možné separační podmínky: t t, (v 1 =v 1 v 2 =v 2 ) Poznámka: Separaci lze provést také požadavkem na různost objektové proměnné v popisu časových výroků (např. dvě události pro rloc(r) a rloc(r ) lze separovat podmínkou r r ).

Konzistence Časová osa Φ=(F,C) pro proměnnou x je konzistentní, právě když C je konzistentní a pro každou dvojici časových výroků z F existuje separační podmínka, která je důsledkem C. separační podmínka je buď přímo součástí C nebo je přímým důsledkem C (tj. je splněna v každém řešení C) Kronika je konzistentní, právě ě když jsou všechny její časové osy konzistentní. Poznámka: Pojem konzistence vyžaduje, aby separační podmínky byly důsledkem C, nestačí možnost jejich bezkonfliktního přidání do C. Podpora výroku Konzistentní kronika Φ=(F,C) podporuje časový výrok α tvaru x@t:(v,v ) nebo x@[t,t ):v, právě když je v F výrok β nastavující hodnotu v pro α. β je buď tvaru x@τ:(w,w) nebo x@[τ,τ):w a existují separační podmínky c tak, že Φ ({α, x@[τ,t):v}, {w=v,τ<t} c) je konzistentní kronika. Φ Φ =(F F, C C ), Φ Φ (F F C C ), β se nazývá ýápodporou pro α dvojice δ = ({α, x@[τ,t):v}, {w=v,τ<t} c) se nazývá pomocníkem (enabler) pro α v Φ @[ t) Poznámky: w τ β w τ x@[τ,t):v Kronika musí být konzistentní než může někoho podporovat. Pomocník je také kronikou. Podporu pro α hledáme pouze zpětně, tj. pro čas před t. Tato podpora se použije jako kauzální zdůvodnění α. Podpor a pomocníků pro α může být více. v α v t t

Podpora kroniky Konzistentní kronika Φ=(F,C) podporuje množinu časových výroků ε, právě když je každý výrok α i ε podporován kronikou (F ε-{α i }, C) pomocníkem δ i tak, že Φ φ je konzistentní kronika (φ = i δ i ). Poznámky: Definice umožňuje aby jeden výrok α i ε podporoval jiný výrok α j ε vzhledem k Φ, za předpokladu že sjednocení pomocníků je konzistentní s Φ. To vede k možnosti překryvu akcí s interferujícími efekty. φ je pomocník pro ε (a nemusí být určen jednoznačně) Nechť Φ =(F,C ) je kronika taková, že Φ podporuje F anechť θ(φ /Φ) = {φ (,C ) φ je pomocník pro F }. Potom konzistentní kronika Φ=(F,C) podporuje kroniku Φ =(F,C ), právě ě když Φ podporuje F a existuje itj pomocník φ θ(φ /Φ) tak, že Φ φ je konzistentní kronika. Φ je důsledkem Φ, právě když Φ podporuje Φ a existuje pomocník φ θ(φ /Φ) tak, že φ Φ. Plánovací operátor Plánovací operátor je dvojice o = (name(o), (F(o),C(o))): name(o) je výraz ve tvaru o(t s,t e,t 1,,v 1,v 2, ) obsahující všechny časové a objektové proměnné operátoru (o je symbol operátoru) (F(o),C(o)) je kronika Příklad (zjednodušený zápis): move(t s,t e,t 1,t 2,r,l,l ),,,) = {rloc(r)@t s : (l,routes), rloc(r)@[t s,t e ) : routes, rloc(r)@t e : (routes,l ), contains(l)@t 1 : (r,empty), contains(l )@t 2 : (empty,r), t s < t 1 < t 2 < t e, adjacent(l,l ) } Rozdíl od klasických plánovacích operátorů nejsou nijak odlišeny předpoklady a efekty operátor neaplikujeme na stav ale na kroniku výsledek aplikace operátoru není jednoznačný

Aplikace akce Akce je částečně instanciovaný operátor. Akce a=(f(a),c(a)) je aplikovatelná na kroniku Φ, právě když Φ podporuje kroniku (F(a),C(a)). Výsledkem aplikace akce a na Φ je množina kronik γ(φ,a) = {Φ φ φ θ(a/φ)}. Množina akcí π={a 1,,a n }je aplikovatelná na kroniku Φ, právě když Φ podporuje kroniku Φ π = i (F(a i ),C(a i )). Výsledkem aplikace π na Φ je množina kronik γ(φ,π) = {Φ φ φ θ(φ π /Φ)}. Plánovací problém Plánovací problém je trojice P=(O,Φ 0 0,,Φ g g), kde O je množina operátorů Φ 0 je konzistentní kronika popisující neměnné relace, počáteční stav a očekávaný vývoj nezávislý na plánovaných akcích Φ g je konzistentní kronika reprezentující cíle Řešící plán pro problém P je množina akcí π={a 1,,a n }, kde každá akce je instancí operátoru z O a Φ g je důsledkem nějaké kroniky z γ(φ 0,π).

Plánování s kronikami Plánovací procedura je odvozena od plánování v prostoru plánů. Pro plánovací problém P=(O,Φ 0,Φ g) začneme s kronikou Φ=(F 0,C 0 C g), množinou otevřených ř ýhcílů G=F g, prázdným ádý plánem π= a prázdnou ád množinou hrozeb K=. { } Otevřený cíl je buď podporován Φ, potom jeho pomocníky zařadíme mezi hrozby K nebo pro něj najdeme akci, která ho podporuje, a tu zařadíme ř do systému Hrozby jsou dosud nevyřízené množiny pomocníků. Z každé množiny pomocníků jednoho vybereme tak, aby byl konzistentní s Φ a přidáme ho do Φ. Plánováníá se zdroji

Umíme používat čas v plánování plánování s kronikami Zdroje jsme v plánování také měli např. ř ruka, jeřáb Na úvod Stavová proměnná s hodnotami obsazený/volný nemusí být efektivním modelem více identických zdrojů je jedno, jaký jeřáb daný kontejner zvedne (symetrie). Množinu identických zdrojů můžeme modelovat jednou proměnnou udávající počet dostupných zdrojů. proměnná má numerickou doménu (počet zdrojů) proměnná se mění relativně (zdroje se půjčují a vrací) Kapacitní proměnná Stavová proměnná popisuje vlastnost objektu vzávislostinačase čase. změny jsou absolutní (např. pozice se změnila z loc1 na loc2) Podobně ale můžeme popisovat i profil zdroje, tj. změnu jeho kapacity v čase, pomocí kapacitní proměnné resources time {0,1,,Q},,,Q}, kde Q je maximální kapacita zdrojů obor hodnot je numerický změny této proměnné budou relativní (kapacita se změní o danou hodnotu) Poznámka: předpokládáme p okamžité změny

Časové výroky a kapacita Podobně jako změnu stavové proměnné můžeme popisovat změnu kapacitní proměnné pomocí časových výroků pro zdroje. pokles kapacity z@t:-q navýšení kapacity z@t:+q půjčení kapacity z@[t,t ):q Poznámky: jedná se o popis relativních změně z@[t,t ):q z@t:-q z@t :+q z@t:-q z@[t, ):q z@t:+q z@0:+q z@[0,t):q na úvod navýšíme kapacitu z QnaQ+q Q+q a až do času t si ji půjčíme v popisu domény je potřeba specifikovat maximální kapacitu každého zdroje Operátory a zdroje Plánovací operátor je popsaný kronikou, kronika je množina časových výroků a podmínek. Pro popis práce se zdroji stačí do kroniky přidat odpovídající časové výroky pro zdroje.

Zdrojový konflikt Budeme pracovat s akcemi, které si půjčují kapacitu, tj. časové výroky mají tvar z@[t,t ):q. Musíme rozšířit pojem konzistence kroniky na časové výroky pro zdroje, tj. vzít v úvahu kapacitu zdroje. Říkáme, že množina časových výroků R z pro zdroj z je konfliktní, právě když existuje její podmnožina {z@[t i,t i ):q )q i i I} R z taková, že: výroky z této množiny se mohou překrývat, tj. je možné přiřadit časy t i tž. i I [t i,t i ) Σ i I q i > Q Poznámky: Konflikt znamená možné překročení kapacity zdroje. Konflikt může vzniknout pouze pro časové výroky pro stejnou kapacitní proměnnou. Kronika je konzistentní, právě když všechny časové výroky nad stavovými proměnnými jsou konzistentní a žádná množina časových ý výroků nad kapacitními proměnnými není konfliktní. Jak hledat zdrojové konflikty? Kritická množina Tvrzení: Intervaly z množiny I se mohou překrývat, právě když se mohou překrývat po dvojicích. ( i I [t i,t i ) i,j I: ij I [t i,t i ) [t j,t j ) )) Množinu intervalů/časových výroků můžeme reprezentovat grafem: vrcholy odpovídají intervalům/výrokům hrana spojuje vrcholy, jejichž odpovídající intervaly se mohou protínat V grafu budeme hledat kliku U takovou, že Σ i U q i >Q. Přesněji budeme hledat nejmenší takové kliky vzhledem k inkluzi i minimální i kritické ké množiny (MCS)

Detekce konfliktů Jak hledat minimální kritické množiny? vrcholy očíslujeme pro každý vrchol prohledáváním do hloubky konstruujeme kliky obsahující vrcholy s menším indexem kliky, které překročí kapacitu, si zapamatujeme a dále nerozšiřujeme dosud nalezená část kliky kandidáti na zařazení do kliky (mají hranu do každého vrcholu z p) e e abychom nehledali stejné kliky Vstupem algoritmu je nalezená část kliky (clique), na začátku prázdná, a kandidáti na zařazení do kliky (pending), na začátku všechny vrcholy. Hledají se možná rozšíření í kliky o uzel v i (a uzly s indexem <i). Detekce konfliktů příklad Q= 100 clique(n) pending(n) MCS

Oprava konfliktů Jak odstranit zdrojový konflikt? Máme-li minimální kritickou množinu U= {z@[t i,t i ):q )q i i I}, potom libovolná podmínka t i < t j pro i,j I odstraňuje zdrojový konflikt. tato podmínka vyřadí z grafu hranu (i,j), tj. U přestane být klikou každáklikau U klika přestane být klikou žádná klika U U nebyla konfliktní Některé z těchto podmínek jsou v konfliktu s ostatními podmínkami. Příklad: t 4 <t 7 je v konfliktu s t 7 <t 4 a t 7 <t 7 Tyto opravy nelze použít! Některé podmínky jsou příliš silné (vynutí odstranění další hrany z kliky). Příklad: t 4 <t 3 je příliš silná, protože vynucuje t 7 <t 3 (přes t 7 <t 4 ) Protože plánovací algoritmus bude větvit podle různých oprav, je dobré použít jen nejnutnější opravy (ostatní opravy jsou jejich důsledkem) MCS Plánování a zdroje Algoritmus pro plánování s kronikami rozšíříme o práci s minimálními konfliktními množinami (uloženy v M) a odstraňování zdrojových konfliktů