27.08.2013 Views

GraphPlan

GraphPlan

GraphPlan

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!