Planning
Pag.1
Planning
Pag.5
AI 1
juni
200
Cos’e’ il Planning
Un problema di planning P=(I,O,G)
Dato uno stato iniziale I e un insieme di operatori
O , generare una “sequenza” di azioni (istanze di
operatori O) che se eseguite a partire da I
raggiungono uno stato che verifica il goal G
Pag.5
AI 1
juni
200
Esempio: comprare latte, banane e un
trapano elettrico
Pag.4
Domini Reali: difficoltà
Pag.5
AI 1
juni
200
I sistemi di pianificazione:
1) “aprono” le rappresentazioni degli stati, delle azioni e
del goal per permettere una selezione
2) rilassare la condizione che la soluzione `e una sequenza
lineare di azioni e non viene necessariamente costruita a par-
tire dallo stato iniziale
3) divide-et-impera mediante “subgoaling”
Pag.6
Linguaggio di Pianificazione
Pag.5
AI 1
juni
200
STRIPS
Pag.8
Caratteristiche generali del linguaggio
Pag.5
AI 1
juni
200
Notazione Grafica
Pag.10
Caratteristiche generali del linguaggio
11
Pag.5
AI 1
juni
200
Semantica: eseguibilità
12
Pag.5
AI 1
juni
200
Semantica: esecuzione
13
Pag.5
AI 1
juni
200
Espressività ed Estensioni
STRIPS è semplice
– Un limite: uso di lettterali function-free
– Ammette una rappresentazione proposizionale
(I simboli di funzione portano ad infiniti stati ed azioni)
14
Pag.5
AI 1
juni
200
PDDL Esempio
Pag.15
Esempio: Blocks world
16
Pag.5
AI 1
juni
200
Esempio: air cargo transport
Pag.5
AI 1
juni
200
Esempio: Spare tire problem
18
Pag.
AI 1
Planning Spazio degli Stati: una
definizione formale
Un problema di planning è definito da una quadrupla
(F,S,I,O,G) dove
F è un insieme di fluenti booleani
S è un insieme di stati,uno stato è una funzione
s:F→{T,F},
I è uno stato iniziale,
G è una funzione parziale G:F→{T,F}
O è un insieme di operatori o∈O che trasformano
stati in stati, dove π(o) precondizioni e ε(o) sono
insieme di letterali in F (fluenti affermati o negati)
Pag.19
Planning Spazio degli Stati: una
definizione formale
o∈∈O è eseguibile in s, se ∀f∈π(o) s(f)=T e
∀¬f∈π(o) s(f)=F
Exec: S× →S è la funzione che da la semantica
×O→
dell’eseguibilità
Exec(s,o)=s’ è definita solo se o è eseguibile in s,
s‘ è tale che s’(f)= T se f ∈ε(o)
s’(f)= F se ¬f ∈ε(o)
s’(f)=s(f) altrimenti
un piano è una sequenza o1;o2;…;on
Pag.20
Planning Spazio degli Stati: una
definizione formale
•un piano è una sequenza p={o1;o2;…;on}
•un piano p è eseguibile in uno stato s0 se
a)o1 è eseguibile in s0, sia s1=exec(s0,o1)
b)oi+1 è eseguibile in exec(si-1,oi)
sp=exec(sn-1,on) è lo stato finale
risultante dall’esecuzione del piano
•un piano p è soluzione per un problema
(F,S,I,O,G) se p è eseguibile in I e se
∀g∈G sp (g)=T ∀¬g∈G sp(g)=F
Pag.21
Planning: ricerca nello
spazio degli stati
Possibili sia ricerca in avanti (forward) che
all’indietro(backward )
Progression planners
– forward state-space search
– Considerare gli effetti di tutte le possibili
azioni in uno stato dato (FF= Fast Forward)
Regression planners
– backward state-space search
– Per raggiungere un goal si suppone di aver
eseguire una azione in uno stato che in cui
l’azione era eseguibile.
22
Pag.
AI 1
Progressione / regressione
23
Pag.
AI 1
Planning: ricerca nello spazio degli stati
Pag.24
Algoritmo di Regressione
25
Pag.5
AI 1
juni
200
Algoritmo di Regressione
26
Pag.5
AI 1
juni
200
Euristica per la ricerca state-space
27
Pag.5
AI 1
juni
200
Ricerca nello Spazio dei Piani: Partial Order Planning
28
Pag.5
AI 1
juni
200
Shoe example
Goal(RightShoeOn ∧ LeftShoeOn)
Init()
Action(RightShoe, PRECOND: RightSockOn
EFFECT: RightShoeOn)
Action(RightSock, PRECOND:
EFFECT: RightSockOn)
Action(LeftShoe, PRECOND: LeftSockOn
EFFECT: LeftShoeOn)
Action(LeftSock, PRECOND:
EFFECT: LeftSockOn)
29
Pag.5
AI 1
juni
200
Partial-order planning(POP)
Le azioni del piano sono un insieme parzialmente ordinato
L’ordine parziale può essere reso totale in vari modi, al
momento dell’esecuzione
30
Pag.5
AI 1
juni
200
POP come problema di search
States sono piani eventualmente incompleti
– Il piano iniziale è vuoto, o contiene al più due azioni
convenzionali:
– Start con precond nulle ed effetti uguali allo stato iniziale del
problema di planning e Finish che segue Start ed ha come
precond i goal del problema.
Ogni piano ha 4 componenti:
– Un insieme di azioni (i passi del piano)
– Un insieme di vincoli di ordinamento: A < B (A before B)
– I cicli rappresentano una contraddizione.
p
– Un insieme di vincoli causali A
→B
Il piano non può essere esteso aggiungendo una nuova azione
C in conflitto con i link causali (Es. L’effetto di C è ¬p e C può essere
eseguito tra A e B)
– Un insieme di precondizioni aperte/open preconditions.
– Precondizioni non ancora raggiunte nel piano (senza link causali).
31
Pag.5
AI 1
juni
200
Esempio: piano finale
32
Pag.5
AI 1
juni
200
POP come problema di search
Pag.33
POP come problema di search
Un piano è consistente se e solo se non ci
sono cicli nei vincoli di ordinamento e non ci
sono conflitti nei link causali.
Un piano consistente senza precondizioni
aperte è un piano soluzione.
Un piano partial order viene eseguito
scegliendo iterativamente una delle possibili
azioni successive
– Questa flessibilità di esecuzione è un vantaggio in
ambienti imprevedibili o non cooperativi
(robustezza)
34
Pag.5
AI 1
juni
200
Risolvere il POP
Pag.5
AI 1
juni
200
Mantenere la consistenza
Pag.5
AI 1
juni
200
POP
I meta-operatori costruiscono piani parziali:
– Aggiungendo link causali a condizioni aperte del piano
corrente
– Aggiungendo un nuovo passo/azione per raggiungere una
open condition.
– Ordinando tra loro le azioni per rimuove possibili conflitti
POP si muove gradualmente da piani
vaghi/incompleti verso piano corretti e completi
Backtracking: quando una open condition è
irraggiungibile o un conflitto è irrisolubile.
37
Pag.5
AI 1
juni
200
Esempio: banana,latte,trapano
Pag.38
Esempio: banana,latte,trapano
Pag.39
Esempio: banana,latte,trapano
Pag.40
Esempio: errore
Pag.41
Minacce, promotion, demotion
Pag.42
Esempio: banana,latte,trapano
Pag.43
Minacce, promotion, demotion
Pag.44
Esempio: prima ferramenta
Pag.45
Esempio: banana,latte,trapano
Pag.46
Esempio: banana,latte,trapano
Pag.47
Shakey
Pag.48
Esempio: la Ruota di Scorta
49
Pag.5
AI 1
juni
200
Soluzione del Problema
50
Pag.5
AI 1
juni
200
Soluzione del Problema
51
Pag.
AI 1
Soluzione del Problema
52
Pag.5
AI 1
juni
200
Soluzione del Problema
53
Pag.5
AI 1
juni
200
Soluzione del Problema
Pag.5
AI 1
juni
200
Risolvere il problema
55
Pag.5
AI 1
juni
200
Solving the problem
56
Pag.5
AI 1
juni
200
Qualche dettaglio …
57
Pag.5
AI 1
juni
200
Planning graphs
58
Pag.5
AI 1
juni
200
Planning graphs
59
Pag.5
AI 1
juni
200
Esempio Torta (Cake)
60
Pag.5
AI 1
juni
200
Esempio Torta (Cake)
61
Pag.5
AI 1
juni
200
Esempio Torta (Cake)
62
Pag.5
AI 1
juni
200
PlanGraph e stime euristiche
63
Pag.5
AI 1
juni
200
L’algoritmo GRAPHPLAN
64
Pag.5
AI 1
juni
200
Esempio: la Ruota di Scorta
Questo esempio usa una descrizione estesa (ADL) rispetto a STRIPS con eltterali negativi
65
Pag.5
AI 1
juni
200
GRAPHPLAN Esempio
Pag.5
AI 1
juni
200
GRAPHPLAN example
67
Pag.5
AI 1
juni
200
GRAPHPLAN example
In S2, the goal literals exist and are not mutex with any other
– Solution might exist and EXTRACT-SOLUTION will try to find it
EXTRACT-SOLUTION can use Boolean CSP to solve the problem or a search
process:
– Initial state = last level of PG and goal goals of planning problem
– Actions = select any set of non-conflicting actions that cover the goals in the state
– Goal = reach level S0 such that all goals are satisfied
– Cost = 1 for each action.
68
Pag.5
AI 1
juni
200
GRAPHPLAN example
Termination? YES
PG are monotonically increasing or decreasing:
– Literals increase monotonically
– Actions increase monotonically
– Mutexes decrease monotonically
Because of these properties and because there is a finite number of actions
and literals, every PG will eventually level off !
69
Pag.5
AI 1
juni
200
Pag.
Planning Approcci compilativi
problema
PDDL
Planner
Piano
failure
Pag.
Planning Approcci compilativi
Blackbox Planner
Piano mapping
al piano
failure
Pag.
Planning con la logica
proposizionale
Si puo’ pianificare dimostrando teoremi nel
situation calculus.
Pag.5
AI 1
juni
200
Planning con la logica
proposizionale
• Un simbolo proposizionale per ogni possibile occorrenza di
azioni ed ogni possibile fatto ad ogni possibile time step,
ogni fatto dello stato iniziale, ogni goal,
• le leggi della semantica delle azioni.
initial state ∧ all possible action descriptions ∧ goal
74
Pag.5
AI 1
juni
200
SATPLAN algorithm
75
Pag.5
AI 1
juni
200
cnf, mapping ← TRANSLATE-TO_SAT(problem, T)
76
Pag.5
AI 1
juni
200
cnf, mapping ← TRANSLATE-TO_SAT(problem, T)
Pag.5
AI 1
juni
200
cnf, mapping ← TRANSLATE-TO_SAT(problem, T)
78
Pag.5
AI 1
juni
200
assignment ← SAT-SOLVER(cnf)
79
Pag.5
AI 1
juni
200
assignment ← SAT-SOLVER(cnf)
80
Pag.5
AI 1
juni
200
BlackBox: basato su sat
Blackbox Planner
Piano Mapping
back
Walksat
failure
Pag.
Pianificazione Risorse tramite MIP
Rappresentazione del modello di Pianificazione
numerica tramite problema di programmazione
lineare intera mista (mixed integer/linear) di:
-vincoli logici
-vincoli numerici
Pag.
Programmazione lineare mista
Programmazione Intera
problema MIP
encoding MIP
PDDL Solver(Ilog)
soluzione
Piano Mapping
back
failure
Pag.
Planning by Planning
Programmazione Intera
Piano Mapping
back
failure
Pag.
Progetti di Fondamenti AI
Pag.85
Progetti di Fondamenti AI
Pag.87