P LÁNOVÁNÍ A ROZVRHOVÁNÍ Hierarchické plánování Pavel Surynek, 2006

Slides:



Advertisements
Podobné prezentace
DOTAZOVACÍ JAZYKY slajdy přednášce DBI006
Advertisements

DOTAZOVACÍ JAZYKY slajdy přednášce DBI006
J. Pokorný 1 DOTAZOVACÍ JAZYKY slajdy přednášce DBI006 J. Pokorný MFF UK
J. Pokorný 1 DOTAZOVACÍ JAZYKY slajdy přednášce DBI006 J. Pokorný MFF UK
J. Pokorný 1 DOTAZOVACÍ JAZYKY slajdy přednášce DBI006 J. Pokorný MFF UK Odpřednášeno
Dynamické systémy.
Dualita úloh lineárního programování a analýza citlivosti
J. Pokorný 1 DOTAZOVACÍ JAZYKY slajdy přednášce DBI006 J. Pokorný MFF UK
Predikátová logika 1. řádu
ALGO – Algoritmizace 1. cvičení
Predikátová logika1 Predikátová logika 1. řádu Teď „logika naostro“ !
Ústav technologie, mechanizace a řízení staveb
Varianty Turingova stroje Výpočet funkcí pomocí TS
Induktivní logické programování
Medians and Order Statistics Nechť A je množina obsahující n různých prvků: Definice: Statistika i-tého řádu je i-tý nejmenší prvek, tj., minimum = statistika.
FORMALIZACE PROJEKTU DO SÍŤOVÉHO GRAFU
Řešení dynamických problémů s podmínkami Pavel Surynek Univerzita Karlova v Praze Matematicko-fyzikální fakulta.
TI 7.1 NEJKRATŠÍ CESTY Nejkratší cesty - kap. 6. TI 7.2 Nejkratší cesty z jednoho uzlu Seznámíme se s následujícími pojmy: w-vzdálenost (vzdálenost na.
Algoritmizace a základy programování
ORIENTOVANÉ GRAFY V této části se seznámíme s následujícími pojmy:
Formální jazyky a gramatiky
Abeceda a formální jazyk
Dostupné z Metodického portálu ISSN: , financovaného z ESF a státního rozpočtu ČR. Provozováno Výzkumným ústavem pedagogickým v Praze.
Sémantická analýza Jakub Yaghob
Příklady jazyků Příklad 1: G=({S}, {0,1}, P, S)
Gramatiky a jazyky Přednáška z předmětu Řízení v komplexních systémech
Systémy pro podporu managementu 2
KOMBINAČNÍ LOGICKÉ FUNKCE
Reprezentace znalostí v UI Inteligentní systém musí umět předvídat důsledky svých akcí – potřebuje „model svého prostředí“. K jeho konstrukci potřebuje.
Predikátová logika.
Simulační modely a programové vybavení. Vývoj simulačních programů  Původně pouze strojový kód –Příliš dlouhé, náročné na programátora, obtížné hledání.
Výroková logika.
Vztah bezkontextových jazyků a ZA
Dokumentace informačního systému
STROMY Datová struktura sestávající z uzlů
Regulární výrazy Regulární výrazy představují další možnost popisu regulárních jazyků (právě od nich dostaly své jméno). Definice: Množina všech regulárních.
Systémy pro podporu managementu 2 Inteligentní systémy pro podporu rozhodování 1 (DSS a znalostní systémy)
P-těžké, np-těžké a np-úplné problémy
Zpracování neurčitosti Fuzzy přístupy RNDr. Jiří Dvořák, CSc.
Databázové systémy Informatika pro ekonomy, př. 18.
Turingův stroj.
Reprezentace znalostí 2
Automaty a gramatiky.
XQuery Dotazovací jazyk XML Daniel Privalenkov. O čem bude prezentace Nutnost dotazovacího jazyku v XML Rychlý přehled XQuery Několik příkladů.
Mlhavost Fuzzy logika, fuzzy množiny, fuzzy čísla
Úvod do logiky (presentace 2) Naivní teorie množin, relace a funkce
Projektové plánování.
Marie Duží vyučující: Marek Menšík Logika: systémový rámec rozvoje oboru v ČR a koncepce logických propedeutik pro mezioborová studia.
Konečné automaty a vyhledávání
Kanonické indexování vrcholů molekulového grafu Molekulový graf: G = (V, E, L, ,  ) Indexování vrcholů molekulového grafu G: bijekce  : V  I I je indexová.
Plánování trajektorie pro bezpilotní letoun za účelem sledování pozemních objektů pomocí inerciálně stabilizované kamerové platformy Michal Kreč Vedoucí.
Predikátová logika1 Predikátová logika 1. řádu Teď „logika naostro“ !
NP-úplné problémy v grafech
Reprezentace znalostí
Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 1 / 15Doc. Josef Kolář (ČVUT)NP-úplné problémyGRA, LS 2012/13, Lekce 13 1 / 14 NP-ÚPLNÉ.
Metodika řízení projektů
Algoritmizace a programování Algoritmy 1 - Úvod. Základní pojmy Počítačový program Počítačový program zápis zdrojového kódu, kterému rozumí počítač zápis.
Úvod do databázových systémů
Definiční obor a obor hodnot
Dobývání znalostí z databází znalosti
Překladače 5. Syntaktická analýza
ZAL – 3. cvičení 2016.
PROLOG strategie vyhodnocení dotazu
Příkazy cyklu (1) Umožňují vícekrát (nebo ani jednou) pro-vést určitý příkaz Jazyk C rozlišuje příkaz cyklu: s podmínkou na začátku: obecný tvar: while.
Gödelova(y) věta(y).
Cyklus for (1) Obecný tvar: for (výraz1; výraz2; výraz3) příkaz
Sémantika PL1 Interpretace, modely
Predikátová logika.
Definiční obory. Množiny řešení. Intervaly.
Algoritmizace a datové struktury (14ASD)
Transkript prezentace:

P LÁNOVÁNÍ A ROZVRHOVÁNÍ Hierarchické plánování Pavel Surynek, 2006

Základní motivace  Stavba domu Úkolem je postavit dům, chceme tedy určit posloupnost činností, jejichž postupným vykonáním na konci obdržíme hotový dům. počáteční stav světa obsahuje různě dislokovaný materiál  je možné vykonávat běžné stavební činnosti pomocí běžných nástrojů klasicky: akce typu vezmi cihlu na místě A, polož cihlu na místo B nebo nalož jeden kus materiálu do transportéru, přesuň transportér  obrovský stavový prostor  ztráta znalostí o plánovací doméně (těžko poznat, že se staví dům) hierarchicky: úkoly typu vybuduj základy, postav zdi, postav střechu  odpovídá postupu, jak by úlohu řešil expert  každý úkol se dále rozkládá na několik menších úkolů postav dům vybuduj základypostav zdipostav střechu vyhlub jámuvybetonuj jámu Plánování a rozvrhování: Hierarchické plánování

 Plánování činností bojových uskupení přirozená plánovací hierarchie podle hierarchie velení letka letadel má splnit jistý úkol = zlikvidovat cíl hierarchie: vyhledej cíl, neutralizuj obranu, svrhni bombu, vrať se na základnu  Záchranné operace - evakuace osob (systém HICAP) silně interaktivní, dynamické doplňování znalostí, evakuačních úkolů, zdrojů hierarchie: připrav základnu, vyšli průzkumný tým, vyšli hlavní tým, proveď evakuaci  V praxi je hierarchické plánování nejvíce používanou plánovací technikou. poskytuje účinný způsob pro včlenění znalostí experta Další aplikace: armáda a záchranáři zlikviduj cíl vyhledej cílneutralizuj obranusvrhni bombu leť do cílové oblasti vrať se na základnu vizuálně identifikuj cíl 1945 evakuuj osoby připrav základnu vyšli průzkumný tým vyšli hlavní tým proveď evakuaci Plánování a rozvrhování: Hierarchické plánování

Formální systém hierarchického plánování HTN Planning (Hierarchical Task Network Planning)

Poznámka: žádné funkční symboly (alespoň zatím).  Formální systém hierarchického plánování používá jazyk prvního řádu (proměnné pro individua) L  Jazyk L obsahuje množiny V,C,P,F,T a N, kde V - nekonečná množina symbolů pro proměnné C - konečná množina symbolů pro konstanty P - konečná množina symbolů pro predikáty F - konečná množina symbolů pro tzv. primitivní úkoly (primitive tasks) T - konečná množina symbolů pro tzv. složené úkoly (compound tasks) N - nekonečná množina pomocných symbolů pro úkoly  Primitivní úkol (primitive task) syntaktická konstrukce f(x 1,x 2,...,x n ), kde f  F (symbol pro primitivní úkol) a x 1,x 2,...,x n jsou termy (proměnné nebo konstanty) například: move(co, odkud, kam), přičemž move  F a co, odkud, kam  V nebo move(robot1, místoA, místoB), kde robot1, místoA, místoB  C primitivní = jednoduchý, lze jej přímo vykonat (odpovídá akci v klasickém plánování), není rozložitelný na menší úkoly (robot1 přejede z místoA na místoB) Syntaxe HTN plánování - popis jazyka Plánování a rozvrhování: Hierarchické plánování

Syntaxe HTN plánování - pokračování  Složený úkol (compound task) syntaktická konstrukce t(x 1,x 2,...,x n ), kde t  T (symbol pro složený úkol) a x 1,x 2,...,x n jsou termy (proměnné nebo konstanty) například: transfer(co, odkud, kam), kde transfer  T a co, odkud, kam  V nebo transfer(kontejner1, místoA, místoB), kde kontejner1, místoA, místoB  C složený = nutno provést více kroků (podúkolů), nelze vykonat přímo (kontejner1 je třeba nejdřív naložit na robota, pak přemístit robota místoA  místoB a vyložit)  Cílový úkol (goal task) syntaktická konstrukce achieve[l], kde l literál (tedy atomická formule nebo její negace, atomická formule je tvaru p(y 1,y 2,...,y n ), kde p  P (predikátový symbol) a y 1,y 2,...,y n jsou termy (proměnné nebo konstanty)) například: achieve[at(co, kde)], přičemž at  P a co, kde  V nebo achieve[at(kontejner1, místoB)], kde kontejner1, místoB  C určuje, co je třeba splnit, v klasickém plánování odpovídá části cílového stavu, podobný složenému úkolu - nelze vykonat přímo  Složené a cílové úkoly = neprimitivní úkoly (non-primitive tasks) Plánování a rozvrhování: Hierarchické plánování

Syntaxe HTN plánování - pokračování 2  Úkolová síť (task network) syntaktická konstrukce [(n 1 :α 1 ),(n 2 :α 2 ),...,(n m :α m ),Φ], kde α i pro i  {1...m} jsou úkoly (primitivní, složené nebo i cílový), n i  N pro i  {1...m} jsou odpovídající úkolové symboly a Φ je Boolovská formule říkající něco o n 1,n 2,...,n m (sestavena z určitých dovolených atomů - ne úplně libovolná) v klasickém plánování odpovídá cílovému stavu například:  [(n 1 :achieve[at(kontejner1, kontejner2, místoD)]), Φ=Ø] nebo  [(n 1 :transfer(kontejner1, místoA, místoC)), (n 2 :transfer(kontejner2, místoB, místoC)), (n 3 :transfer-two(kontejner1, kontejner2, místoC, místoD)), Φ=(n 1,n 3 )&(n 2,n 3 )], přičemž (n i,n j ) značí, že úkol n i musí být dokončen před n j  Stav je seznam platných základních atomů (jen konstanty) Plánování a rozvrhování: Hierarchické plánování místo Bmísto Cmísto A 1 2 místo D Primitivní úkolová síť (jen primitivní úkoly), neprimitivní úkolová síť (jinak)

HTN plánovací doména  Operátor (= provedení primitivního úkolu) syntaktická konstrukce operator[f(x 1,x 2,...,x n ), precond(l 1,l 2,...,l m ), effects(k 1,k 2,...,k m’ )], kde f  F, l 1,l 2,...,l m jsou literály, které musí splňovat stav než lze primitivní úkol f provést a k 1,k 2,...,k m’ jsou literály popisující efekty primitivního úkolu  termy x 1,x 2,...,x n se mohou vyskytovat v rámci l 1,l 2,...,l m či k 1,k 2,...,k m’ totéž jako akce v klasickém plánování například: operator[move(robot1, místoA, místoB), precond(at(robot1, místoA), effects(  at(robot1, místoA), at(robot1, místoB))]  Metoda (= návod jak naložit s neprimitivním úkolem) syntaktická konstrukce (α:d), kde α je neprimitivní úkol a d je úkolová síť neprimitivní úkol α lze splnit splněním úkolové sítě d například: (achieve[at(co1, co2, kam)]:[(n 1 :transfer(co1, odkud1, místoC)), (n 2 :transfer(co2, odkud2, místoC)), (n 3 :transfer-two(co1, co2, místoC, kam)), Φ=(n 1,n 3 )&(n 2,n 3 )])  Plánovací doména D je dvojice množin operátorů a metod Plánování a rozvrhování: Hierarchické plánování

Sémantika HTN  Použití operátoru (provedení akce) Operátor je aplikován na stav, aplikuje se vždy základní instance operátoru (jen konstanty), výsledkem je stav. Základní operator[f(x 1,x 2,...,x n ), precond(l 1,l 2,...,l m ), effects(k 1,k 2,...,k m’ )] je použitelný ke stavu s, když s splňuje l 1,l 2,...,l m, výsledkem použití operátoru je nový stav (s-effects - (k 1,k 2,...,k m’ ))  effects + (k 1,k 2,...,k m’ ). stejné jako akce v klasickém plánování  Použití metody (rozklad úkolové sítě) Metoda je aplikována na úkolovou síť, pro aplikaci nemusí být základní (zůstává lifted - liftovaná), výsledkem je úkolová síť. (α:d) je použitelná k úkolové síti [(n 1 :α 1 ),(n 2 :α 2 ),...,(n m :α m ),Φ], když α je unifikovatelný s některým z α 1,α 2,...,α m Nechť  je nejobecnější unifikace (mgu) α a α i, pak výsledkem aplikace metody (α:d) je úkolová síť [(n 1 :α 1 ),(n 2 :α 2 ),..., (n i-1 :α i-1 ),d ,(n i+1 :α i+1 ),...,(n m :α m ),Φ’]. Φ’ je upravená formule Φ  například: (n 1,n i ) je třeba nahradit konjunkcí všech (n 1,n) pro n probíhající všechny úkoly z d , podobně i jiné atomy ve Φ Plánování a rozvrhování: Hierarchické plánování

Příklad rozkladu sítě pomocí metody  Původní úkolová síť  Metoda Plánování a rozvrhování: Hierarchické plánování místo B místo C místo A 5 6 místo D místo E místo F [(n1:achieve[at(kontejner1, kontejner2, místoD)]), (n2:achieve[at(kontejner3, kontejner4, místoE)]), (n3:achieve[at(kontejner5, kontejner6, místoF)]),Φ= ], přičemž je atom určující, že úkoly mají být provedeny přesně v pořadí n1,n2,n3 (achieve[at(co1, co2, kam)]:[(n1:transfer(co1, odkud1, místoC)), (n2:transfer(co2, odkud2, místoC)), (n3:transfer-two(co1, co2, místoC, kam)), Φ=(n1,n3)&(n2,n3)]) [(n11:transfer(kontejner1, odkud1, místoC)), (n12:transfer(kontejner2, odkud2, místoC)), (n13:transfer-two(kontejner1, kontejner2, místoC, místoD), (n2:achieve[at(kontejner3, kontejner4, místoE)]), (n3:achieve[at(kontejner5, kontejner6, místoF)]),Φ=(n11,n13)&(n12,n13)& (n11,n2)&(n12,n2)&(n13,n2)&(n11,n3)&(n12,n3)& (n13,n3)& ]  Úkolová síť po provedení rozkladu

HTN plánovací problém  HTN plánovací problém je trojice, kde d je úkolová síť, pro kterou vytváříme plán (ještě nemáme definován), I je počáteční stav světa (seznam atomů) a D je plánovací doména ( ).  Plán řešící problém je posloupnost σ základních (jen konstanty) primitivních úkolů, která splňuje podmínky: Když síť d je primitivní: pak σ je uspořádání primitivních úkolů v d tak, že σ je proveditelná z počátečního stavu I (souhlasí předpoklady operátorů) a jsou pro σ splněny všechny podmínky v síti d (je splněna formule Φ). Když síť d je neprimitivní: existuje-li posloupnost rozkladů úkolové sítě d podle plánovací domény D, že výsledkem je primitivní síť d’ a problém má řešení σ. Plánování a rozvrhování: Hierarchické plánování achieve[at(kontejner1, kontejner2, místoD) achieve[containersAt(místoD)] achieve[at(kontejner3, kontejner4, místoD)... transfer(kontejner1, odkud1, místoC)transfer(kontejner2, odkud2, místoC)transfer-two(kontejner1, kontejner2, místoC, místoD) load(kontejner1, místoA, robot1)move(robot1, místoC, místoA)move(robot1, místoA, místoC)... na spodní hladině jen primitivní úkoly =d

Algoritmy hierarchického plánování Obecný a uspořádaný algoritmus

UMCP: Plánovací procedura pro HTN procedure UMCP 1. vstupní plánovací problém P = > 2. if d je primitivní then nedeterministicky zvol σ uspořádání a základní instance primitivních úkolů v d if σ je řešením problému P then return σ else return FAILURE 3. nedeterministicky zvol neprimitivní úkol (n:α) v síti d 4. nedeterministicky zvol metodu m  M pro α 5. d  redukce sítě d podle úkolu (n:α) a metody m 6. T  τ(d,I,D) 7. nedeterministicky zvol d’  T, d  d’ 8. goto krok 2.  UMCP - Universal Method Composition Planner  Vytváří plán podle přesně definice  Používá se tzv. kritická funkce τ (critic function) k odstraňování konfliktů a k prořezávání prohledávaného prostoru (místo pro zapojení vlastní heuristiky)  Pro danou úkolovou síť d, počáteční stav I a plánovací doménu D funkce τ vrací množinu úkolových sítí, přičemž každá z nich odstraňuje nějaký konflikt v d  Podmínky na τ: když d’  τ(d,I,D), pak sol(d’,I,D)  sol(d,I,D) když σ  sol k (d,I,D), pak existuje d’  τ(d,I,D), že σ  sol k (d’,I,D) nepovinné Plánování a rozvrhování: Hierarchické plánování

 Někdy (často) je podmínka v rámci formule Φ speciálního tvaru Určuje částečné uspořádání úkolů v rámci úkolové sítě, tedy acyklický orientovaný graf Toho lze využít, můžeme rozkládat (podle metod) vždy uzel, který nemá žádné předchůdce (zde se jedná o uzel s úkolem (n 2 :α 2 )). Jaký by to mělo smysl ?  Lze udržovat aktuální stav světa, což pomůže k odstranění neurčitosti. Jak ?  Metody mohou mít předpoklady (stejně jako operátory), redukce prostoru, který je nutné prohledávat. Částečně uspořádané HTN plánování n2:2n2:2 n1:1n1:1 n4:4n4:4 n3:3n3:3 n5:5n5:5 n6:6n6:6 úkol úkolová síť atom (n 2,n 1 ) Plánování a rozvrhování: Hierarchické plánování Speciálně lze také totálně uspořádaná síť

Uspořádané HTN: metody s předpoklady  Metoda - nyní trochu jinak syntaktická konstrukce (α:precond(l 1,l 2,...,l m ):d), kde α je neprimitivní úkol, l 1,l 2,...,l m jsou literály, které musí splňovat aktuální stav, aby bylo možné metodu na danou síť aplikovat a d je úkolová síť, na kterou se úkol α redukuje například: (achieve[at(co1, co2, kam)]:precond(onTop(co1), onTop(co2)): [(n 1 :transfer(co1, odkud1, místoC)), (n 2 :transfer(co2, odkud2, místoC)), (n 3 :transfer-two(co1, co2, místoC, kam)), Φ=(n 1,n 3 )&(n 2,n 3 )])  Použito v algoritmu SHOP2 (Simple Hierarchical Ordered Planner 2) metody s předpoklady, nutno používat základní instance metod výsledný plán (posloupnost primitivních úkolů) sestavuje v pořadí, jak bude nakonec prováděn (žádná nedeterministická volba uspořádání jako v UMCP) udržuje aktuální stav, redukce podle metody odpovídá náhradě uzlu grafu sítě základní primitivní úkoly odstraňuje z úkolové sítě Plánování a rozvrhování: Hierarchické plánování n2:2n2:2 n1:1n1:1 n4:4n4:4 n3:3n3:3 n5:5n5:5 n6:6n6:6 n1:1n1:1 n4:4n4:4 n3:3n3:3 n5:5n5:5 n6:6n6:6 Základní primitivní bez předchůdce úkol je odstraněn

SHOP2: Algoritmus pro uspořádané HTN procedure SHOP2 1. vstupní plánovací problém P = > 2. σ  prázdný plán 3. s  I 4. if d = Ø return σ 5. nedeterministicky zvol (n:α) jeden z úkolů v d, který nemá předchůdce 6. if α je primitivní then active  množina základních instancí operátorů z O aplikovatelných na stav s if active = Ø then return FAILURE else nedeterministicky zvol jeden operátor o z množiny active s  aplikace operátoru o na stav s d  d po odstranění primitivního úkolu (n:α) σ  σ  {primitivní úkol příslušný operátoru o} 7. else {α je neprimitivní} active  množina základních instancí metod z M aplikovatelných na stav s if active = Ø then return FAILURE else nedeterministicky zvol jednu metodu m z množiny active d  d po aplikaci metody m na neprimitivní úkol (n:α) 8. goto krok 4. Plánování a rozvrhování: Hierarchické plánování

Různé dodatky k hierarchickému plánování Vyjadřovací síla, složitost, rozšíření, srovnání

 Věta: HTN plánování má alespoň stejnou vyjadřovací sílu ve smyslu inkluze množin problémů, které lze modelovat, jako klasické plánování. Důkaz: Stačí z formálního systému hierarchického plánování vyřadit metody, tím dostáváme systém ekvivalentní klasickému plánování.  Věta: HTN plánování má ostře větší vyjadřovací sílu ve smyslu inkluze množin problémů, které lze modelovat, než klasické plánování. Důkaz: Množina řešení klasického plánovacího problému tvoří regulární jazyk (rozpoznávaný konečným automatem), zatímco množina řešení HTN plánovacího problému tvoří bezkontextový jazyk (rozpoznávaný zásobníkovým automatem). Víme, že existují bezkontextové jazyky, které nejsou regulární.  například: operator[o1(), precond(), effects()], operator[o2(), precond(), effects()], ((t1():[n 1 :o1(), n 2 :t1(), n 3 :o2()]): ), ((t1():Ø) řešení tvoří jazyk o1 i () o2 i (), který je bezkontextový, ale není regulární  Věta: Existence plánu v HTN plánování je algoritmicky nerozhodnutelný problém. Důkaz: Bez důkazu. Idea - problém rozhodování o existenci plánu se převede na problém rozhodování, zda mají dva bezkontextové jazyky neprázdný průnik. Vyjadřovací síla HTN Plánování a rozvrhování: Hierarchické plánování

Složitost HTN plánování Plánování a rozvrhování: Hierarchické plánování Omezení na neprimitivní úkoly Totální uspořádání úkolů Bez proměnných S proměnnými Bez omezeníNe Ano Nerozhodnutelný PSPACE-těžký EXPTIME Nerozhodnutelný EXPSPACE-těžký double-EXPTIME Regularita (neprimitivní pouze poslední) Nehraje roli PSPACE-úplnýEXPSPACE-úplný Bez neprimitivních úkolů Ne Ano NP-úplný Polynomiální NP-úplný Problém existence plánu

Rozšíření, srovnání  Předpoklady metod a operátorů lze rozšířit na obecné formule konjunkce, disjunkce, negace, obecná/existenční kvantifikace, numerické výpočty (operace spotřebuje jisté množství zdroje) potřeba axiomatické odvozování předpokladů, které nejsou explicitně obsaženy v aktuálním stavu může být komplikované, axiomy Hornovské klauzule například: operator[payDriver(a,x,y), precond(cash(a)> *distance(x,y)), effects(cash(a)  cash(a) *distance(x,y))]  Zavedení funkčních symbolů nekonečně mnoho základních instancí metod a operátorů (řešení - liftovat)  Další zajímavá rozšíření zavedení času - operace mají trvání využití plánovacího grafu (GraphHTN), plánovací graf určuje dosažitelnost stavů  Klady a zápory účinně zakódované znalosti o doméně, ale potřeba experta, který to udělá Plánování a rozvrhování: Hierarchické plánování

 Konkrétní systémy Nonlin - jeden z prvních systémů HTN, ještě neexistoval formální systém HTN UMCP - první systém založený na formálním systému, prokazatelně úplný SHOP2 - vítěz jedné ze 4 kategorií na International Planning Competition 2002 SIPE-2 - armáda, letecká doprava, minimalizace škod při ropné havárii, průmyslová výroba O-Plan - evakuační operace, záchrana rukojmích GIPO II (III) - objektový návrh (HTN) plánovacích domén Konkrétní systémy Plánování a rozvrhování: Hierarchické plánování propracované GUI, vizualizace

Literatura  Malik Ghallab, Dana Nau, Paolo Traverso: Automated Planning: theory and practice. Elsevier,  Kutluhan Erol, James Hendler, Dana Nau: Semantics for Hierarchical Task Network Planning. Technická zpráva, University of Maryland,  Kutluhan Erol, James Hendler, Dana Nau: Complexity Results for Hierarchical Task Network Planning. Technická zpráva, University of Maryland,  Dana Nau et al.: SHOP2: An HTN Planning System. Journal of Artificial Intelligence Research, ,  Amnon Lotem, Dana Nau, James Hendler: Using planning graphs for solving HTN planning problems. Sborník AAAI/IAAI-99, , Plánování a rozvrhování: Hierarchické plánování