Algoritmo para Planeador por
ordem parcial
l
Algoritmo POP (partial-order planner)
Começa com um plano mínimo; em cada iteração, expande o plano garantindo
a condição c de um passo Snec.
function POP(inicial, objectivo, operadores) returns plano
plano <- MAKE-MINIMAL-PLAN(inicial, objectivo)
loop do
if SOLUTION(plano) then return plano
Snec, c <- SELECT-SUBGOAL(plano)
CHOOSE-OPERATOR(plano, operadores, Snec, c)
RESOLVE-THREATS(plano)
end
Raciocínio e Resolução de Problemas
© Amílcar Cardoso, DEI-FCTUC, 1996
1. Planeamento - 70
Algoritmo para Planeador por
ordem parcial
function SELECT-SUBGOAL(plano) returns Snec, c
escolhe passo Snec de STEPS(plano)
com pré-condição c ainda não garantida
Raciocínio e Resolução de Problemas
© Amílcar Cardoso, DEI-FCTUC, 1996
1. Planeamento - 71
Algoritmo para Planeador por
ordem parcial
O operador pode ser escolhido entre o conjunto de operadores disponíveis,
incluindo os que constituem já passos do plano
procedure CHOOSE-OPERATOR(plano, operadores, Snec, c)
choose passo Sadd de operadores ou de STEPS(plano)
com c na ADDLIST
if não existe tal passo then fail
c
→ Snec a LINKS(plano)
adiciona Sadd 
adiciona Sadd < Snec a ORDERINGS(plano)
if Sadd é um passo retirado de operadores
then adiciona Sadd a STEPS(plano)
adiciona Start < Sadd < Finish a ORDERINGS(plano)
Raciocínio e Resolução de Problemas
© Amílcar Cardoso, DEI-FCTUC, 1996
1. Planeamento - 72
Algoritmo para Planeador por
ordem parcial
Se algum passo ameaçar alguma ligação causal, efectuar propoção ou
despromoção
procedure RESOLVE-THREADS(plano)
c
for each Sthr que ameace Si → Sf em LINKS(plano) do
choose entre
Promoção: adicionar Sthr < Si a ORDERINGS(plano)
Despromoção: adicionar Si < Sthr a ORDERINGS(plano)
if not CONSISTENT(plano) then fail
end
Raciocínio e Resolução de Problemas
© Amílcar Cardoso, DEI-FCTUC, 1996
1. Planeamento - 73
Ponto da Situação
l
POP consegue resolver com poucos estados de procura o
que requeriria uma procura pesada se trabalhássemos num
espaço de estados
l
Mínimo comprometimento:
o só procura nos pontos de intersecção entre sub-planos
l
Ligações causais:
o permitem reconhecer prematuramente planos
condenados ao fracasso
Raciocínio e Resolução de Problemas
© Amílcar Cardoso, DEI-FCTUC, 1996
1. Planeamento - 73-A
Ponteiros para a frente...
l
Extensões para admitir
o operadores parcialmente instanciados
o efeitos condicionais
o quantificação universal
o ...
l
Planeamento hierárquico
l
Planeamento condicional
Raciocínio e Resolução de Problemas
© Amílcar Cardoso, DEI-FCTUC, 1996
1. Planeamento - 73-B
Download

Algoritmo para Planeador por ordem parcial