You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<strong>GraphPlan</strong><br />
Introducción a los Algoritmos de Planning<br />
2008<br />
Planning Graph<br />
La salida es una secuencia de conjuntos<br />
de acciones<br />
{ { {a1, 1 a2}, 2} { {a3,a4}, 3 4} { {a5,a6,a7} 5 6 7} }<br />
Planners<br />
State-Space: el plan como una<br />
secuencia de acciones<br />
Pl Plan-Space: S el l plan l como una secuencia i<br />
parcialmente ordenada de acciones<br />
Planning Planning-Graph: Graph una na sol solución ción intermedia<br />
Graphplan<br />
Alterna entre dos fases:<br />
Expansión p del grafo g<br />
Extracción de solución
Descripción del grafo de planning<br />
0 I - 1 i I+1 I + 1<br />
…<br />
…<br />
…<br />
…<br />
…<br />
…<br />
…<br />
…<br />
…<br />
…<br />
Precondiciones Efectos<br />
Estado Nodos de<br />
inicial proposición<br />
Nodos de<br />
acción<br />
Proposiciones<br />
que se mantienen<br />
en el siguiente nivel<br />
Descripción del grafo de planning<br />
Acciones<br />
A1: Pre=[f, a] Pos=[g, h]<br />
A2: Pre=[h] Pos=[a, b]<br />
A3: Pre=[a, b] Pos=[d]<br />
I - 1 i I + 1<br />
f<br />
f<br />
A1 g<br />
h<br />
a<br />
a<br />
c<br />
c<br />
A3 d<br />
b b<br />
Graphplan<br />
Alterna entre dos fases:<br />
Expansión p del grafo: g Extiende el grafo g de<br />
planning avanzando en el tiempo hasta que<br />
se alcance una condición necesaria (pero (p<br />
insuficiente) para la existencia del plan<br />
Relación de exclusión mutua<br />
Dos instancias de acciones en el nivel i<br />
son mutex si:<br />
Efectos inconsistentes<br />
Interferencia<br />
Necesidades competitivas
Relación de exclusión mutua<br />
Efectos inconsistentes<br />
El efecto de una acción es la negación g del<br />
efecto de otra acción<br />
Relación de exclusión mutua<br />
Necesidades competitivas<br />
Las acciones tienen precondiciones p qque<br />
son mutuamente excluyentes en el nivel i-1<br />
a<br />
-a<br />
Relación de exclusión mutua<br />
Interferencia<br />
Una acción elimina la precondición p<br />
de otra<br />
a<br />
Relación de exclusión mutua<br />
Dos proposiciones en el nivel i son<br />
mutex si:<br />
Contradicción<br />
Soporte inconsistente<br />
-a
Relación de exclusión mutua<br />
Contradicción<br />
Una proposición p p es la negación g de otra<br />
Graphplan<br />
Extracción de solución: Ejecuta una<br />
búsqueda hacia atrás en el grafo, buscando<br />
un plan que resuelva el problema.<br />
Si no encuentra una solución, se repite el<br />
ciclo<br />
a<br />
-a<br />
Relación de exclusión mutua<br />
Soporte inconsistente<br />
Todas las formas de alcanzar las<br />
proposiciones (es decir, las acciones del<br />
nivel i-1) ) son mutex de a ppares<br />
Extracción de la solución<br />
El grafo se encuentra en un nivel par i que<br />
contiene todas las proposiciones del objetivo<br />
No hay relaciones mutex de pares de<br />
proposiciones en el nivel i<br />
Para cada literal del objetivo (presentes en i),<br />
elige una acción a del nivel ii-1, 1 que alcance<br />
ese sub-objetivo (punto de backtracking)
Extracción de la solución<br />
Si a es consistente i t t ( (no mutex) t ) con todas t d las l<br />
acciones elegidas hasta el momento en ese<br />
nivel nivel, pasa al siguiente nivel nivel. Caso contrario contrario,<br />
retrocede a una elección anterior.<br />
Cuando encuentra un conjunto consistente de<br />
acciones en el nivel ii-1, 1 trata recursivamente<br />
de encontrar un plan para el conjunto formado<br />
por la unión de todas las precondiciones de<br />
aquellas acciones en el nivel i-2.<br />
Ejemplo<br />
EEstado t d inicial: i i i l bbasura, manosLimpias, Li i<br />
tranquilo<br />
Objetivo: desayuno, regalo, not(basura)<br />
Acciones:<br />
Cocinar<br />
Barrer<br />
Precondiciones:<br />
Precondiciones:<br />
manosLimpias<br />
Efectos: desayuno<br />
Efectos: not(basura), not(manosLimpias)<br />
AAspirar i<br />
Envolver<br />
Precondiciones:<br />
Precondiciones: tranquilo<br />
Ef Efectos: t regalo l<br />
Efectos: not(basura), not(tranquilo)<br />
Extracción de la solución<br />
El caso base es el nivel 0<br />
Si las proposiciones están allí presentes se<br />
encontró una solución<br />
Caso contrario, si fallan todas las combinaciones<br />
posibles ibl dde acciones i en ttodos d llos niveles, i l se<br />
extiende el grafo con otro par de niveles de acción<br />
y proposiciones<br />
Ejemplo<br />
0 1 2<br />
basura basura<br />
Barrer<br />
Aspirar<br />
-basura<br />
manosL manosL<br />
tranquilo<br />
Cocinar<br />
Envolver<br />
-manosL manosL<br />
tranquilo<br />
-tranquilo<br />
desayuno<br />
regalo
Ejemplo<br />
0 1 2<br />
basura<br />
basura<br />
manosL<br />
tranquilo<br />
Ejemplo<br />
basura<br />
manosL<br />
tranquilo<br />
Barrer<br />
Aspirar<br />
Cocinar<br />
-basura<br />
manosL<br />
-manosL manosL<br />
tranquilo<br />
Envolver -tranquilo<br />
Barrer<br />
Aspirar<br />
Cocinar<br />
desayuno<br />
regalo<br />
basura<br />
-basura<br />
manosL<br />
-manosL manosL<br />
tranquilo<br />
Envolver -tranquilo<br />
desayuno<br />
regalo<br />
Ejemplo<br />
Objetivo: -basura ^ desayuno ^ regalo<br />
0 1 2<br />
basura<br />
basura<br />
manosL<br />
tranquilo<br />
Ejemplo<br />
basura<br />
manosL<br />
tranquilo<br />
Barrer<br />
Aspirar<br />
Cocinar<br />
-basura<br />
manosL<br />
-manosL manosL<br />
tranquilo<br />
Envolver -tranquilo<br />
Barrer<br />
Aspirar<br />
Cocinar<br />
desayuno<br />
regalo<br />
basura<br />
-basura<br />
manosL<br />
-manosL manosL<br />
tranquilo<br />
Envolver -tranquilo<br />
desayuno<br />
regalo
Ejemplo<br />
0 1 2<br />
3 4<br />
basura<br />
basura<br />
basura<br />
manosL<br />
tranquilo<br />
Ejemplo<br />
Barrer<br />
Aspirar<br />
Cocinar<br />
-basura<br />
manosL<br />
-manosL manosL<br />
tranquilo<br />
Envolver -tranquilo<br />
desayuno<br />
regalo<br />
Barrer<br />
Aspirar<br />
Cocinar<br />
Envolver<br />
-basura<br />
manosL<br />
-manosL manosL<br />
tranquilo<br />
-tranquilo<br />
desayuno<br />
regalo<br />
0 1 2<br />
3 4<br />
basura<br />
basura<br />
basura<br />
manosL<br />
tranquilo<br />
Barrer<br />
Aspirar<br />
Cocinar<br />
-basura<br />
manosL<br />
-manosL manosL<br />
tranquilo<br />
Envolver -tranquilo<br />
desayuno<br />
regalo<br />
Barrer<br />
Aspirar<br />
Cocinar<br />
Envolver<br />
-basura<br />
manosL<br />
-manosL manosL<br />
tranquilo<br />
-tranquilo<br />
desayuno<br />
regalo<br />
Ejemplo<br />
0 1 2<br />
3 4<br />
basura<br />
basura<br />
basura<br />
manosL<br />
tranquilo<br />
Ejemplo<br />
Barrer<br />
Aspirar<br />
Cocinar<br />
-basura<br />
manosL<br />
-manosL manosL<br />
tranquilo<br />
Envolver -tranquilo<br />
desayuno<br />
regalo<br />
Barrer<br />
Aspirar<br />
Cocinar<br />
Envolver<br />
-basura<br />
manosL<br />
-manosL manosL<br />
tranquilo<br />
-tranquilo<br />
desayuno<br />
regalo<br />
0 1 2<br />
3 4<br />
basura<br />
basura<br />
basura<br />
manosL<br />
tranquilo<br />
Barrer<br />
Aspirar<br />
Cocinar<br />
-basura<br />
manosL<br />
-manosL manosL<br />
tranquilo<br />
Envolver -tranquilo<br />
desayuno<br />
regalo<br />
Barrer<br />
Aspirar<br />
Cocinar<br />
Envolver<br />
-basura<br />
manosL<br />
-manosL manosL<br />
tranquilo<br />
-tranquilo<br />
desayuno<br />
regalo
Ejemplo<br />
0 1 2<br />
3 4<br />
manosL<br />
Cocinar<br />
tranquilo tranquilo<br />
Barrer<br />
Envolver<br />
-basura<br />
desayuno desayuno<br />
regalo