10. Použití základních technik UI pro plánování Gerstnerova … · 2010. 11. 22. · 10 02...
Transcript of 10. Použití základních technik UI pro plánování Gerstnerova … · 2010. 11. 22. · 10 02...
A g e n t T e c h n o l o g y G r o u p
10. Použití základních technik UI pro plánování
Gerstnerova Laboratoř
h t t p : / / a g e n t s . f e l k . c v u t . c z /
A g e n t T e c h n o l o g y G r o u p
Some slides by Dana S. Nau, University of Maryland
Introduction
Dana Nau: Lecture slides for Automated Planning
Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/ 3
3. A systematic arrangement of elements
or important parts; a configuration or
outline: a seating plan; the plan of a
story.
4. A drawing or diagram made to scale
showing the structure or arrangement
of something.
5. A program or policy stipulating a
service or benefit: a pension plan.
plan n.
1. A scheme, program, or method
worked out beforehand for the
accomplishment of an objective: a
plan of attack.
2. A proposed or tentative project or
course of action: had no plans for the
evening.
Some Dictionary Definitions of “Plan”
Dana Nau: Lecture slides for Automated Planning
Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/ 4
plan n.
1. A scheme,
program, or
method worked
out beforehand
for the
accomplishment
of an objective:
a plan of attack.
Dana Nau: Lecture slides for Automated Planning
Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/ 5
plan n.
2. A proposed or tentative project or course of action:
had no plans for the evening.
Dana Nau: Lecture slides for Automated Planning
Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/ 6
plan n.
3. A systematic arrangement of
elements or important parts;
a configuration or outline:
a seating plan;
the plan of a story.
Dana Nau: Lecture slides for Automated Planning
Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/ 7
plan n.
4. A drawing or diagram made to scale
showing the structure or arrangement of
something.
Dana Nau: Lecture slides for Automated Planning
Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/ 8
plan n.
5. A program or policy stipulating a service or benefit:
a pension plan.
Dana Nau: Lecture slides for Automated Planning
Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/ 9
3. A systematic arrangement of elements
or important parts; a configuration or
outline: a seating plan; the plan of a
story.
4. A drawing or diagram made to scale
showing the structure or arrangement
of something.
5. A program or policy stipulating a
service or benefit: a pension plan.
plan n.
1. A scheme, program, or method
worked out beforehand for the
accomplishment of an objective: a
plan of attack.
2. A proposed or tentative project or
course of action: had no plans for the
evening.
Some Dictionary Definitions of “Plan”
These two are closest to the
meaning used in AI
Dana Nau: Lecture slides for Automated Planning
Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/ 10
Processes:
Opn A BC/WW Setup Runtime LN Description001 A VMC1 2.00 0.00 01 Orient board 02 Clamp board 03 Establish datum point at bullseye (0.25, 1.00)001 B VMC1 0.10 0.43 01 Install 0.30-diameter drill bit 02 Rough drill at (1.25, -0.50) to depth 1.00 03 Finish drill at (1.25, -0.50) to depth 1.00001 C VMC1 0.10 0.77 01 Install 0.20-diameter drill bit 02 Rough drill at (0.00, 4.88) to depth 1.00 03 Finish drill at (0.00, 4.88) to depth 1.00 [...]001 T VMC1 2.20 1.20 01 Total time on VMC1[...] 004 A VMC1 2.00 0.00 01 Orient board 02 Clamp board 03 Establish datum point at bullseye (0.25, 1.00)004 B VMC1 0.10 0.34 01 Install 0.15-diameter side-milling tool 02 Rough side-mill pocket at (-0.25, 1.25) length 0.40, width 0.30, depth 0.50 03 Finish side-mill pocket at (-0.25, 1.25) length 0.40, width 0.30, depth 0.50 04 Rough side-mill pocket at (-0.25, 3.00) length 0.40, width 0.30, depth 0.50 05 Finish side-mill pocket at (-0.25, 3.00) length 0.40, width 0.30, depth 0.50004 C VMC1 0.10 1.54 01 Install 0.08-diameter end-milling tool [...]004 T VMC1 2.50 4.87 01 Total time on VMC1 005 A EC1 0.00 32.29 01 Pre-clean board (scrub and wash) 02 Dry board in oven at 85 deg. F005 B EC1 30.00 0.48 01 Setup 02 Spread photoresist from 18000 RPM spinner005 C EC1 30.00 2.00 01 Setup 02 Photolithography of photoresist using phototool in "real.iges"005 D EC1 30.00 20.00 01 Setup 02 Etching of copper005 T EC1 90.00 54.77 01 Total time on EC1 006 A MC1 30.00 4.57 01 Setup 02 Prepare board for soldering006 B MC1 30.00 0.29 01 Setup 02 Screenprint solder stop on board006 C MC1 30.00 7.50 01 Setup 02 Deposit solder paste at (3.35,1.23) on board using nozzle [...] 31 Deposit solder paste at (3.52,4.00) on board using nozzle006 D MC1 0.00 5.71 01 Dry board in oven at 85 deg. F to solidify solder paste006 T MC1 90.00 18.07 01 Total time on MC1[...] 011 A TC1 0.00 35.00 01 Perform post-cap testing on board011 B TC1 0.00 29.67 01 Perform final inspection of board011 T TC1 0.00 64.67 01 Total time on TC1 999 T 319.70 403.37 01 Total time to manufacture
[a representation] of future
behavior … usually a set of
actions, with temporal and
other constraints on them,
for execution by some agent
or agents. - Austin Tate
[MIT Encyclopedia of the
Cognitive Sciences, 1999]
A portion of a manufacturing process plan
Dana Nau: Lecture slides for Automated Planning
Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/ 11
Generating Plans of Action
Computer programs to aid human planners
Project management (consumer software)
Plan storage and retrieval
» e.g., variant process planning in manufacturing
Automatic schedule generation
» various OR and AI techniques
For some problems, we would like generate
plans (or pieces of plans) automatically
Much more difficult
Automated-planning research is starting to pay off
Here are some examples …
Processes:
Opn A BC/WW Setup Runtime LN Description001 A VMC1 2.00 0.00 01 Orient board 02 Clamp board 03 Establish datum point at bullseye (0.25, 1.00)001 B VMC1 0.10 0.43 01 Install 0.30-diameter drill bit 02 Rough drill at (1.25, -0.50) to depth 1.00 03 Finish drill at (1.25, -0.50) to depth 1.00001 C VMC1 0.10 0.77 01 Install 0.20-diameter drill bit 02 Rough drill at (0.00, 4.88) to depth 1.00 03 Finish drill at (0.00, 4.88) to depth 1.00 [...]001 T VMC1 2.20 1.20 01 Total time on VMC1[...] 004 A VMC1 2.00 0.00 01 Orient board 02 Clamp board 03 Establish datum point at bullseye (0.25, 1.00)004 B VMC1 0.10 0.34 01 Install 0.15-diameter side-milling tool 02 Rough side-mill pocket at (-0.25, 1.25) length 0.40, width 0.30, depth 0.50 03 Finish side-mill pocket at (-0.25, 1.25) length 0.40, width 0.30, depth 0.50 04 Rough side-mill pocket at (-0.25, 3.00) length 0.40, width 0.30, depth 0.50 05 Finish side-mill pocket at (-0.25, 3.00) length 0.40, width 0.30, depth 0.50004 C VMC1 0.10 1.54 01 Install 0.08-diameter end-milling tool [...]004 T VMC1 2.50 4.87 01 Total time on VMC1 005 A EC1 0.00 32.29 01 Pre-clean board (scrub and wash) 02 Dry board in oven at 85 deg. F005 B EC1 30.00 0.48 01 Setup 02 Spread photoresist from 18000 RPM spinner005 C EC1 30.00 2.00 01 Setup 02 Photolithography of photoresist using phototool in "real.iges"005 D EC1 30.00 20.00 01 Setup 02 Etching of copper005 T EC1 90.00 54.77 01 Total time on EC1 006 A MC1 30.00 4.57 01 Setup 02 Prepare board for soldering006 B MC1 30.00 0.29 01 Setup 02 Screenprint solder stop on board006 C MC1 30.00 7.50 01 Setup 02 Deposit solder paste at (3.35,1.23) on board using nozzle [...] 31 Deposit solder paste at (3.52,4.00) on board using nozzle006 D MC1 0.00 5.71 01 Dry board in oven at 85 deg. F to solidify solder paste006 T MC1 90.00 18.07 01 Total time on MC1[...] 011 A TC1 0.00 35.00 01 Perform post-cap testing on board011 B TC1 0.00 29.67 01 Perform final inspection of board011 T TC1 0.00 64.67 01 Total time on TC1 999 T 319.70 403.37 01 Total time to manufacture
Dana Nau: Lecture slides for Automated Planning
Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/ 12
Autonomous planning, scheduling, control
NASA: JPL and Ames
Remote Agent
Experiment (RAX)
Deep Space 1
Mars Exploration
Rover (MER)
Space Exploration
Dana Nau: Lecture slides for Automated Planning
Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/ 13
Sheet-metal bending machines - Amada Corporation
Software to plan the sequence of bends
[Gupta and Bourne, J. Manufacturing Sci. and Engr., 1999]
Manufacturing
Dana Nau: Lecture slides for Automated Planning
Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/ 14
Bridge Baron - Great Game Products
1997 world champion of computer bridge
[Smith, Nau, and Throop, AI Magazine, 1998]
2004: 2nd place
(North— Q) … …
PlayCard(P3; S, R3) PlayCard(P2; S, R2) PlayCard(P4; S, R4)
FinesseFour(P4; S)
PlayCard(P1; S, R1)
StandardFinesseTwo(P2; S)
LeadLow(P1; S)
PlayCard(P4; S, R4’)
StandardFinesseThree(P3; S)
EasyFinesse(P2; S) BustedFinesse(P2; S)
FinesseTwo(P2; S)
StandardFinesse(P2; S)
Finesse(P1; S)
Us:East declarer, West dummy
Opponents:defenders, South & North
Contract:East – 3NT
On lead:West at trick 3 East:KJ74
West: A2
Out: QT98653
(North— 3)
East— J
West— 2
North— 3 South— 5 South— Q
Games
A g e n t T e c h n o l o g y G r o u p
Plánování
Plánování je uvažování nad hypotetickou interakcí s prostředím s ohledem na daný úkol (task). Motivací plánovacího procesu je hledání možného sledu
událostí, které změní prostředí za účelem dosažení daného cíle.
Plánování × rozvrhování – rozvrhování přiřazuje zdroje v čase; plánování sestavuje sled komponenet plánu
Plánování: je definován počáteční stav, koncový stav, proveditelné akce. Cílem je najít přípustnou sekvenci akcí, které změní prostředí z počátečního stavu do stavu koncového.
Rozvrhování: pracuje nad množinou zdrojů, akcí a omezení. Cílem je sestavení rozvrhu, který splňuje zadaná kriteria.
A g e n t T e c h n o l o g y G r o u p
Plánování v UI – přístupy
Lineární a nelineární plánování pomocí prohledávaní stavového prostoru – klasická technika UI
Neoklasické techniky:
Plánovací grafy
Dokazování tvrzení
Techniky omezujících podmínek (constrain satisfaction)
Heuristické plánování – optimalizace plánu
Temporální plánování – plánování s operátory s časovou závislostí
Spojení plánování s rozvrhováním
Distribuované plánování
Plánování s neurčitostí – Markovovy rozhodovací procesy
Plánování založené na ověřování modelů (model checking)
A g e n t T e c h n o l o g y G r o u p
Základní pojmy v plánování
Základní termíny jsou akce, stavy, cíle
Akce reprezentují:
Fyzickou změnu prostředí
Události v obchodních nebo výrobních procesech
Události v řídících nebo organizačních procesech
Fáze plánování:
Syntéza (tvorba plánu)
Inspekce (validace-verifikace plánu)
Modifikace (oprava plánu, skládání plánů)
Exekuce (vykonání plánu)
A g e n t T e c h n o l o g y G r o u p
Klasické plánování v UI
Plánování jako ověřování teorií – stavy a akce jsou vyjádřeny pomocí predikátové logiky prvního řádu. Cílem je dokázat, že existuje stav s, který je dosažitelný z počátečního stavu a ve kterém je dosaženo žádaného cíle. Plán je pak sestaven z tohoto důkazu = plánování v situačním kalkulu.
Plánování pomocí prohledávání stavového prostoru/prostoru plánů
Reprezentace pomocí množin – každý stav je vyjádřen pomocí množiny tvrzení a každá akce obsahuje množinu tvrzení, který musí obsahovat aktuální stav aby mohla být akce provedena a množinu tvrzení která vstupují v platnost po vykonání akce
Klasická reprezentace (STRIPS) – jako předchozí, ale s použitím logiky prvního řádu
Reprezentace stavových proměnných – každý stav je vyjádřen vektorem n stavových proměnných {x1, …. , xn} a akce je funkce, která transformuje tento vektor do jiného vektoru n stavových proměnných
A g e n t T e c h n o l o g y G r o u p
Plánování pomocí STRIPS
Jazyk STRIPS (Stanford Research Institute Problem Solver) – jednoduchý plánovací jazyk
Reprezentace stavů:
at(home) have(milk) have(banana) have(drill)
Reprezentace operací (akcí):
= action: , prec: {prec()}, eff:{eff()}
příklad:
a-go(there) = action: a-go(there), prec: {at(here)}, eff:{at(here)at(there)}
operátor je aplikovatelný na stav sn právě když (prec ) je pravda v sn a
Výsledek aplikace operátoru má za následek sn sn+1 kde sn+1 = sn (eff )
A g e n t T e c h n o l o g y G r o u p
Plánování jako prohledávání stavového prostoru
Uzly – reprezentují stavy
Přechody A – reprezentují akce
Start/finish – reprezentují cíl a počáteční stav
Cesta řešení – reprezentují plán
A g e n t T e c h n o l o g y G r o u p
Plánovací grafy
Orientovaný vrstvený graf reprezentuje stavy a akce ve střídajících se úrovních (nikoli stavový prostor)
Uzly – reprezentují stavy a akce
Hrany – reprezentují předpoklady, přidání a odebrání efektu
A g e n t T e c h n o l o g y G r o u p
Hierarchické plánování
Základní operátor – jako v předchozích případech; nelze dále dekomponovat
Abstraktní operátor – meta-reprezentace dalších operací; reprezentuje plánovací problém na nižší úrovni
A g e n t T e c h n o l o g y G r o u p
Distribuované plánování
Používané např. v multi-agentních systémech
Plánování pomocí dekompozice – založeno na principech hierarchického plánování, kde agenti uspořádaní v (dočasné nebo stálé) hierarchii dekomponují plánovací problém na podproblémy, které řeší další agenti.
Autonomní plánování – všichni agenti znají celý plánovací problém a staví lokální plány odpovídající jejich roli. Agenti sdílejí výsledky pomocí společné znalostní struktury (tabule), dedikovaného agenta (koordinátor), nebo pomocí distribuovaných koordinačních technik (vyjednávaní, broadcast, hlasování, atd.).
Plánování pomocí zpětného řetězení – kompromis prvních dvou přístupů. Např. v plánování průmyslových procesů, kde není pevná řídící hierarchie ani centrální prvek. Agenti vyjednávají pomocí protokolů (contract-net, subskripce) a tím vzniká distribuovaný plán.
A g e n t T e c h n o l o g y G r o u p
Vlastnosti plánů (algoritmů)
Plán je korektní, pokud řeší plánovací problém (je vykonatelný a vede od počátečního stavu ke koncovému). Korektní plán je úplný a konzistentní.
Plán je úplný, jestliže všechny předpoklady použitých akcí jsou splněny efekty jiných akcí (nebo počátečními podmínkami).
Plán je konzistentní, pokud řazení akcí v plánu nekonfliktní, operace vycházející ze stejného stavu nemají protichůdné efekty a proměnné (zdroje) vázané v operacích nezpůsobí rozpor.
Vlastnost řazení akcí – akce 1 předchází akci 2 právě tehdy, pokud existuje x takové, že je předpokladem akce 2 a zároveň efektem akce 1
(1<2).
A g e n t T e c h n o l o g y G r o u p
Vlastnosti plánů (algoritmů)
Plán π = {1, 2, ….., n} je sekvence akcí :
Částečně instanciovaný – πpi není korektní (neúplný nebo nekonzistentní)
Plně instanciovaný – πfi je korektní
Lineární plán – úplně uspořádaná množina operací {1, 2, ….., n}, tak, že {1<2< ….., <n}
Nelineární plán – částečně uspořádaná množina operací (neuspořádaná množina úplně uspořádaných operací) – {{0},{1<2},{3},….,{n-2<n-1<n}}
A g e n t T e c h n o l o g y G r o u p
Přístupy k plánování v UI
Plánování může být progresivní (dopředné) nebo regresivní (zpětné)
Plán může být lineární nebo nelineární
Potom plánování může být
Úplně uspořádané (total-order) plánování – TOPLAN – pracuje v prostoru operací
Částečně uspořádané (partial-order) plánování – POPLAN – pracuje v prostoru plánů
A g e n t T e c h n o l o g y G r o u p
TOPLAN
Vytváří lineární plán – progresivní implementace
S je množina všech otevřených stavů (open), S je množina všech expandovaných stavů a si je právě expandovaný stav, Π je množina všech otevřených plánů, Π je množina všech expandovaných plánů a πi je právě expandovaný plán.
A g e n t T e c h n o l o g y G r o u p
TOPLAN
Vytváří lineární plán – regresivní implementace
A g e n t T e c h n o l o g y G r o u p
Příklad plánování
A g e n t T e c h n o l o g y G r o u p
Příklad plánování
A g e n t T e c h n o l o g y G r o u p
Příklad plánování
A g e n t T e c h n o l o g y G r o u p
Příklad plánování
A g e n t T e c h n o l o g y G r o u p
Příklad plánování
A g e n t T e c h n o l o g y G r o u p
TOPLAN
Varianty:
Prohledávání do šířky (breadth-first search) – paměťově náročné V předchozím příkladu se zamění remove za remove-first
Prohledávání do hloubky (depth-first search) – může se zacyklit, většinou časově náročnější
V předchozím příkladu se zamění remove za remove-first a append(Π, Π), append(S,S) za append(Π, Π), append(S,S)
Best-first search (optimalizace plánu) – implementováno jako informované prohledávání (integrována heuristika – A*)
V předchozím příkladu se zamění remove za remove-best
A g e n t T e c h n o l o g y G r o u p
TOPLAN
Progresivní/regresivní plánovače – jsou korektní (sound = vrací korektní plány) a úplné
Problémy progresivního plánování:
Množství aplikovatelných akcí v daném stavu bývá velmi velké
Faktor větvení je velký
Progresivní prohledávání není proveditelné pro problémy s větším množstvím kroků
Problémy regresivního plánování:
Příliš mnoho cílových stavů
Stavový prostor je stále příliš velký pro efektivní prohledávání
STRIPS
Variace regresivního TOPLANu
Podstatně redukuje velikost stavového prostoru
Prohledávání bohužel není úplné
A g e n t T e c h n o l o g y G r o u p
POPLAN
Vytváří nelineární plán
Dekomponuje cílový stav na skupinu samostatných stavů a snaží se jich dosáhnout paralelně.
Vzhledem k vlastnosti řazení akcí je zavedena kauzální linka – akce 1
dosahuje x pro akci 2 (platnost x umožní provést akci 2, přičemž 1 již bylo provedeno) tehdy, když x je efektem akce 1 a zároveň předpokladem akce 2 a zároveň 1<2.
A g e n t T e c h n o l o g y G r o u p
Příklad plánování
A g e n t T e c h n o l o g y G r o u p
Příklad plánování
A g e n t T e c h n o l o g y G r o u p
Příklad plánování
A g e n t T e c h n o l o g y G r o u p
Příklad plánování
A g e n t T e c h n o l o g y G r o u p
POPLAN
Prohledáváme prostor plánů, nikoli stavů. Plánovací problém je tedy definován rozdílně. Pro každý stav máme:
Akce – stejně jako v předchozích
Omezení uspořádání – popisuje správné částečné uspořádání, omezení si nesmí odporovat (např. A<B a B<A)
Kauzální linky a jejich možné konflikty a ohrožení
Otevřené cíle – předpoklady, které nejsou dosaženy žádnou akcí
Příklad:
A g e n t T e c h n o l o g y G r o u p
Algoritmus POPLAN
A g e n t T e c h n o l o g y G r o u p
Problémy TOPLAN/POPLAN
Oba algoritmy jsou založeny na prohledávání stavového prostoru bez heuristik -> problém se složitostí
Pro nejhorší případ je složitost exponenciální – pokud se nevyhneme smyčkám a použijeme prohledávání do hloubky není zaručeno, že algoritmus vůbec nějaký plán někdy najde
Kontrolou smyček se paměťová náročnost algoritmu přiblíží prohledávání do šířky a je tedy opět exponenciální pro nejhorší případ
Vylepšení algoritmu – aplikace heuristik
Strategie nejmenšího závazku – minimalizuje backtracking, může být implementována jako hledání nejvíce závislých poměných
Relaxované plánování – odstraněním předpokladů se může minimalizovat počet nedosažených cílů
Plánování nezávislých podcílů – optimistické/pesimistické
A g e n t T e c h n o l o g y G r o u p
Srovnání TOPLAN/POPLAN
Stavový prostor TOPLANu je konečný, POPLANU nikoliv
Výsledek TOPLANu reflektuje i plánovací strategii, POPLAN dává jen logická omezení
Uzly v POPLANu jsou obsáhlejší, takže všechny operace algoritmu jsou časově náročnější
Plány tvořené POPLANem jsou více explicitní a flexibilnější pro vykonávání
POPLAN umožňuje rozšíření např. o plánování nad časem a zdroji
POPLAN může být snadno implementován jako distribuované plánování
Dana Nau: Lecture slides for Automated Planning
Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/ 45
Any
Questions?