• No results found

Basic Components of the Interface

El Sistema Blackbox trabaja en una serie de fases[KS99]:

La entrada, un problema STRIPS proposicional, es convertida en un grafo de pla- neamiento de longitud k, y se calculan los mutexes dentro del grafo. Un Mutex puede ser visto como la disyunci´on de dos objetos negados, y los algoritmos SAT toman ventaja de estas construcciones para calcular las soluciones m´as r´apido.

El grafo de planeamiento es convertido a una f´ormula en CNF, la cu´al es simpli- ficada autom´aticamente por un algoritmo general de simplificaci´on de f´ormulas.

La f´ormula es solucionada por un algoritmo SAT cualquiera. La versi´on actual de Blackbox utiliza un algoritmo SAT de b´usqueda local, Walksat [SKC93], y tres algoritmos de b´usqueda global, chaff [MMZ+01], satz[LA97] y relsat[BS97]. Blackbox es ejecutado usando durante el primer minuto el algoritmo de b´usque- da local, y en caso de ´este no encontrar la soluci´on, ejecuta el algoritmo comple- to chaff, que se destaca actualmente como el resolutor SAT completo con mejor desempe˜no.

Si se encontr´o una soluci´on al problema SAT creado, la asignaci´on de valores a variables encontrada por el algoritmo, es traducida a un plan, y este resultado es dado como respuesta. En caso de no encontrarse otra respuesta, k es incremen- tado en 1 y el proceso se repite.

Dado que el grafo de planeamiento puede ser generado en tiempo polinomial, como se explic´o en la Secci´on 2.4.4, el tiempo de procesamiento es mayormente utilizado por el resolutor SAT. De ah´ı, uno de los puntos fuertes de Blackbox, ya que la comunidad que

CAP´ITULO 3. PRINCIPALES PLANEADORES 29

investiga el problema SAT es mayor que la comunidad de planeamiento, cada a˜no apa- recen nuevos sistemas con mejor desempe˜no, y esos sistemas dada su estandarizaci´on pueden ser usados dentro de Blackbox sin mayores modificaciones al sistema.

3.5.2.

Rendimiento

Dado que Blackbox tiene una primera etapa en com´un con los planeadores basados en grafo de planeamiento, como STAN, los an´alisis realizados sobre este planeador, utilizan problemas en que estos planeadores tienen un desempe˜no bajo. En este tipo de problemas, Blackbox consigue mejorar el rendimiento de STAN con el uso del resolutor SAT para la extracci´on de la soluci´on.

El uso de diferentes resolutores SAT, crea una diferencia en los resultados no des- preciable, as´ı, la aparici´on de nuevos resolutores SAT har´a que el desempe˜no de Black- box mejore proporcionalmente a los mismos[KS99].

Blackbox tiene desempe˜no menor en problemas con gran cantidad de operadores, porque de ellos es que se genera la f´ormula a ser resuelta por el SAT, por lo que se tiene que buscar optimizaciones en la simplificaci´on de la f´ormula a ser evaluada por el resolutor.

3.6.

Consideraciones Finales

En este Cap´ıtulo se present´o una revisi´on del funcionamiento y rendimiento de los planeadores que ser´an utilizados en el an´alisis comparativo. HSP es importante porque di´o un nuevo impulso a las investigaciones del uso de b´usqueda heur´ıstica en proble- mas de planeamiento. HSP consume un alto porcentaje de su tiempo en el c´alculo de su funci´on heur´ıstica, lo que permite observar que ´esa es una de sus debilidades. FF es un planeador que retom´o la idea de b´usqueda heur´ıstica propuesta en HSP, pero optimiz´o principalmente el c´alculo de la heur´ıstica, utilizando para ello los grafos de planeamiento. La heur´ıstica de FF es calculada m´as r´apidamente es m´as informativa que la de HSP. As´ı, FF es uno de los planeadores que mostr´o el m´as alto rendimiento en las ´ultimas competencias de planeamiento.

STAN es un sistema que evolucion´o de Graphplan, optimizando el c´alculo de las relaciones de exclusi´on mutua, as´ı como la extracci´on de la soluci´on. TIM es un siste- ma de an´alisis de dominios de planeamiento, que es usado por STAN para aprovechar algunas caracter´ısticas del dominio extra´ıdas antes de iniciar los algoritmos de b´usque-

CAP´ITULO 3. PRINCIPALES PLANEADORES 30

da. Garantiza que sus soluciones sean ´optimas, pero al costo de un rendimiento menor al presentado por los algoritmos de b´usqueda heur´ıstica en promedio. Blackbox es un sistema h´ıbrido, combina el preprocesamiento ofrecido al generar el grafo de planea- miento con el poder computacional de los algoritmos resolutores de SAT, que est´an en constante evoluci´on.

CAP´ITULO4

Planeador MPBH

4.1.

Consideraciones Iniciales

El planeador MPBH[Ovi04] emplea la b´usqueda heur´ıstica, para poder determinar el tama˜no de la soluci´on ´optima de un problema de planeamiento STRIPS proposi- cional relajado. Utiliza la funcion heur´ıstica para guiar la b´usqueda de soluciones m´as pr´oximas a la meta a partir del estado actual hasta la meta.

El planeador MPBH emplea grafos de planeamiento para extraer la informaci´on de cada uno de los estados evaluados y de ese modo calcular su correspondiente heur´ıstica durante el proceso de b´usqueda.

4.2.

Arquitectura MPBH

La entrada al planeador es el problema en formato STRIPS. El problema es inter- pretado por un parser el cual prepara la informaci´on relacionada al problema para que el algoritmo Hill-climbing reforzado pueda iniciar la b´usqueda.

Una vez que el parser alista la informaci´on relacionada al problema, ´esta es almace- nada en una tabla Hash la cual contiene el nombre ´unico de cada acci´on y su conjunto correspondiente de precondiciones y efectos de manera que se pueda acceder a cada acci´on de m´anera ´agil y directa. Este proceso se repite hasta que se llegue a un estado meta o hasta que todo el espacio de estados haya sido explorado.

El grafo de planeamiento es constru´ıdo para cada uno de los estados visitados, con ´el se calcula la funci´on heur´ıstica m´as ´optima que permita aproximar el estado ac- tual a la meta. Los estados m´as pr´oximos a la meta se seleccionan tomando en cuenta el menor n´umero de precondiciones que ´estos posean, como se ver´a m´as adelante en

CAP´ITULO 4. PLANEADOR MPBH 32

la Subsecci´on 4.2.3. Este criterio es tomado en cuenta por el planeador MPBH para poder obtener el plan de soluci´on m´as ´optimo, en el caso de que ´este exista y consti- tuye la principal diferencia entre el planeador MPBH y otros planeadores que realizan b´usqueda heur´ıstica. Esta combinaci´on de b´usqueda heur´ıstica y generaci´on de grafos de planeamiento le permiten al planeador MPBH obtener, en caso de que ´esta exista, el plan de soluci´on m´as ´optimo para poder alcanzar la meta.

La salida final del proceso est´a conformada por el plan o conjunto de acciones que permitan llegar a un estado final o de meta. Las entradas y salidas generadas espec´ıfi- camente en cada proceso se muestran en la Figura 4.1.

4.2.1.

Algoritmo de b ´usqueda

MPBH utiliza el algoritmo de b´usqueda Hill-climbing reforzado, el cual es una variaci´on del algoritmo de Hill-climbing [J. 01]. Se le llama reforzado porque preci- samente surge para poder minimizar los problemas que presentaba el algoritmo Hill- climbing [J. 01], pues este algoritmo puede encontrar una soluci´on que no sea la mejor posible o no encontrar la soluci´on a´un si ´esta existiera. Adem´as, la funci´on heur´ısti- ca por ser una estimaci´on, no garantiza que un estado con menor heur´ıstica que otro, est´e realmente m´as cerca de la meta por lo que es posible que el estado seleccionado pueda llevar a alejarse de la soluci´onen en lugar de acercarse a la misma.

El algoritmo Hill-climbing reforzado es una combinaci´on de b´usqueda local y sis- tem´atica. La b´usqueda local procura alcanzar el estado meta en la menor cantidad de evaluaciones posibles. Analiza los sucesores del nodo actual y efect´ua una b´usqueda de anchura con la finalidad de encontrar un nodo que tenga una funci´on heur´ıstica menor a la del nodo actual como se puede ver en la Figura 4.2.

4.2.2.

Funci´on Heur´ıstica MPBH

El problema de optimizaci´on que desea resolver el planeador MPBH, es encontrar el tama˜no de la soluci´on ´optima de un problema de planeamiento STRIPS proposicio- nal relajado. Dado que este problema de optimizaci´on es de la clase NP-Completo, el planeador MPBH ha demostrado que es justificable elaborar una heur´ıstica admisible que aproxime la soluci´on [Ovi04].

MPBH emplea una funci´on heur´ıstica para generar un grafo de planeamiento por cada uno de los estados del problema relajado y extrae su correspondiente soluci´on

CAP´ITULO 4. PLANEADOR MPBH 33

Figura 4.1: Procesos MPBH [Ovi04].

para poder alcanzar la meta considerando el estado actual como estado inicial.

As´ı mismo se ha probado que la heur´ıstica MPBH que devuelve el tama˜no de la soluci´on, extra´ıda del grafo de planeamiento del problema relajado considerando el estado actual como estado inicial, es admisible. Es decir que dada la heur´ıstica MPBH es posible aproximar la ruta menos costosa que une un estado cualquiera con un estado meta del problema. De manera que MPBH define su heur´ıstica como se puede apreciar

CAP´ITULO 4. PLANEADOR MPBH 34

Function HillClimbingReforzado(problema) Returns plan Begin

1. actual = problema.estado inicial

2. plan = ∅

3. While problema.estado meta * actual Do

a) siguiente = BuscaAnchura(actual, problema)

b) If siguiente = Null Then Return ∅

c) If siguiente.heuristica > actual.heuristica Then

1) Return ∅

d) actual = siguiente

e) plan = plan ∪ actual.accion generadora

4. Return plan

End

CAP´ITULO 4. PLANEADOR MPBH 35

en la ecuaci´on 4.1:

h(s) = f (graf o planeamiento(s)) (4.1)

donde s es el estado actual.

4.2.3.

Grafo de planeamiento

El planeador MPBH emplea grafos de planeamiento como una estructura de datos especial que obtiene la funci´on heur´ıstica por cada estado visitado [BF95] aprovechan- do as´ı las principales ventajas que dichos grafos brindan, las cuales son que su cons- trucci´on se realiza en tiempo polinomial y que contiene bastante informaci´on acerca del problema que se est´a resolviendo

El algoritmo que emplea MPBH para la generaci´on de los grafos de planeamiento se aprecia en la Figura 4.3. Este algoritmo recibe un estado como entrada, para el cu´al se desea calcular la heur´ıstica, un estado meta y el conjunto de acciones del dominio. El primer nivel de predicados en el grafo es igual al estado recibido como par´ametro. En cada iteraci´on t se crea un nivel de predicados y un nivel de acciones. El nivel de predicados es inicialmente una copia del nivel anterior. Para todas las acciones a que son aplicables en el nivel anterior Pt, los efectos positivos de la acci´on son adicionados

al nivel Pt+1y la acci´on a es a˜nadida al nivel Atde acciones.

La generaci´on de niveles del grafo finaliza cuando el nivel de predicados contiene al estado meta. En caso de que en una iteraci´on no existieran cambios en el nivel de predicados, el algoritmo finaliza pues no se conseguir´a adicionar m´as ´atomos en las iteraciones posteriores, ya que solamente las mismas acciones podr´an ser aplicadas.

Una vez que el grafo haya sido generado correctamente, MPBH procede con la extracci´on del plan, el cual estar´a constitu´ıido por el valor de la heur´ıstica. El algoritmo de extracci´on se aprecia a continuaci´on en la Figura 4.2.3.

El c´alculo del costo del grafo de planeamiento se realiza hacia atr´as es decir co- mienza a partir del estado meta. Cada conjunto Gtcontiene los ´atomos para los cu´ales

se tiene que seleccionar una acci´on del nivel t que los adicione. La acci´on selecciona- da ser´a de preferencia una acci´on anteriormente ya seleccionada, si ´esta no existiera entonces ser´a seleccionada la acci´on con el menor n´umero de precondiciones. Los con- juntos Gt se inicializan con los ´atomos del estado meta y luego las precondiciones de

cada acci´on seleccionada, son distribu´ıdas de la misma manera que el estado meta, justificando as´ı la selecci´on de la acci´on con el menor n´umero de precondiciones.

CAP´ITULO 4. PLANEADOR MPBH 36

Function GenerarGrafo(estado, estado meta, acciones) Begin

1. P0 = estado

2. t = 0

3. While estado meta * estado Do

a) Pt+1= Pt b) Forall a ∈ acciones Do 1) If prec(a) ⊆ PtThen a0 At.inserta(a) b0 Pt+1.inserta(eff pos(a)) c) If Pt+1= PtThen

1) No se puede alcanzar el estado meta.

d) t = t + 1

4. final = t

End

CAP´ITULO 4. PLANEADOR MPBH 37

Function CalcularCostoGrafo(estado meta, acciones, grafo) Begin

1. Forall atomo ∈ estado meta Do

a) Gnivel(atomo).inserta(atomo)

2. For t = grafo.tama˜no, .., 1 Do

a) Forall atomo ∈ GtDo

1) accion = SeleccionaAccion(atomo, t) 2) accionesUsadas.inserta(accion) 3) Forall prec ∈ prec(accion) Do

a0 Gnivel(prec).inserta(prec)

3. Return accionesUsadas.tama˜no

End

Figura 4.4: Algoritmo de generaci´on del grafo de planeamiento.

Finalmente, el n´umero de acciones seleccionadas constituye el costo estimado, puesto que es el m´ınimo n´umero de acciones que se necesita para llegar al estado meta desde el estado actual en el problema relajado.

4.2.4.

Lenguaje de modelamiento

Como ya se ha mencionando, el modelo MPBH resuelve problemas de planeamien- to STRIPS proposicional. Recibe archivos expresados en lenguaje PDDL1[DtAPCC98,

EH03, Bac00], del cu´al s´olo un subconjunto de la sint´axis, asociado a los problemas STRIPS proposicional, es aceptado. La sint´axis aceptada por el planeador, expresa- da en BNF y usada para la descripci´on del dominio es mostrada a continuaci´on en la Figura 4.5.

Para la definici´on de un dominio, es necesario especificar:

Nombre del dominio.

Los requerimientos del dominio, es decir qu´e caracter´ısticas utiliza. Para pro- blemas STRIPS s´olo pueden ser aceptados los requerimientos de : strips y de

CAP´ITULO 4. PLANEADOR MPBH 38

< domain >::=(def ine(domain < name >) [< require def >]

[< types def >]:typing [< predicates def >] [< action def >∗] )

< require def >::= (: requirements < require key >+) < require key >::= : strips| : typing

< types def >::= (: types < name >+)

< predicates def >::= (: predicates < pred f ormula >+) < pred f ormula >::= (< predicate >< typed list(variable) >)

< predicate >::= < name > < variable >::= ? < name > < typed list(t) >::= < list(t) >

< typed list(t) >::=typing < typed(t) >

< typed(t) >::=t+|t+− < type >< typed(t) >

< type >::= < name >

< action def >::=(: action < name >

: parameters(< typed list(< variable >) >) < action body >)

< action body >::=[: precondition < posconjunction >] : ef f ect < conjunction >

< term >::= < name > | < variable > < atomic f orm(t) >::=(< predicate > t∗)

< literal(t) >::= < atomic f orm(t) > |not < atomic f orm(t) > < posconjunction >::= < atomic f orm(< term >) > |

(and < atomic f orm(< term >) >< atomic f orm(< term >) >+) < conjunction >::= < literal(term) > |

(and < literal(term) >< literal(term) >+)

CAP´ITULO 4. PLANEADOR MPBH 39

< problem >::= (def ine(problem < name >) (: domain < name >)

[(: requirements : typing)] < object declaration > [< init >]

< goal > )

< object declaration >::= (: objects < typed list(name) >) < init >::= (: init < atomic f orm(< name >) >+) < goal >::= (: goal < atomic f orm(< name >) >+)

Figura 4.6: Sint´axis para la descripci´on del problema aceptada por el planeador MPBH.

: typing. El requerimiento de : strips es el est´andar y es asumido cuando ning´un requerimiento es especificado. El requerimiento : typing indica que los objetos del dominio pueden tener un tipo, por ejemplo, podemos definir el tipo bloque y el tipo mesa en el dominio del mundo de los bloques.

En caso de usar el requerimiento : typing es necesario definir los tipos a ser usados y en la declaraci´on de objetos en la definici´on del problema debe especi- ficarse el tipo de cada uno de ellos2.

Los predicados permitidos. Para la definici´on de un predicado es necesario indi- car su nombre y los par´ametros que recibe, especificando para cada uno de ellos su tipo de datos (en caso de que se est´e trabajando con un dominio con tipos).

Las acciones del dominio. La definici´on de una acci´on incluye la especificaci´on de un nombre, los par´ametros de la acci´on, las precondiciones que permiten que la acci´on sea aplicada y los efectos de la acci´on. Tanto los efectos como las precondiciones son conjunciones de predicados, sin embargo los efectos pueden ser negativos, en tal caso son precedidos por un not.

En la Figura 4.6 se muestra la sint´axis para la definici´on de problemas en planea- miento STRIPS aceptado por el planeador MPBH.

Un problema de planeamiento es definido por:

2Por defecto todos los objetos son de tipo object. Si a un objeto no se le asocia un tipo, se asume

CAP´ITULO 4. PLANEADOR MPBH 40

Nombre del problema.

Dominio al que est´a asociado.

Requerimientos.

Declaraci´on de los objetos del problema. En caso del requerimiento : typing puede especificarse el tipo del objeto.

Especificaci´on del estado inicial, que es un conjunto de predicados que son ver- daderos en el estado inicial del problema. Los predicados no especificados son falsos en el estado inicial, debido a la suposici´on de mundo cerrado.

Especificaci´on de las condiciones meta, es un conjunto de predicados que deben ser verdaderos en un estado para que ´este sea considerado como estado meta.

Esta sint´axis restringida permite expresar problemas STRIPS proposicional como son considerados en el planeamiento cl´asico.

4.3.

Consideraciones Finales

El planeador MPBH emplea b´usqueda heur´ıstica para determinar la soluci´on ´opti- ma de un problema de planeamiento STRIPS proposicional relajado. Cada funci´on heur´ıstica es estimada en funci´on del grafo de planeamiento por cada estado visitado para as´ı identificar la ruta menos costosa que une un estado cualquiera con un estado meta del problema. Los estados mas pr´oximos a la meta son escogidos considerando la elecci´on de la acci´on con menor n´umero de precondiciones. La b´usqueda es guia- da por el algoritmo Hill-climbing reforzado, el cual combina la b´usqueda local con la b´usqueda sistem´atica para alcanzar el estado meta con el menor n´umero de acciones.

Dado que el problema de encontrar el tama˜no de la soluci´on ´optima de un proble- ma de planeamiento STRIPS proposicional relajado es de la clase NP-Completo, se justifica elaborar una heur´ıstica admisible que aproxime la soluci´on. La heur´ıstica ex- tra´ıda del grafo de planeamiento del problema relajado es admisible como se revis´o en [Ovi04].

CAP´ITULO5

Resultados

5.1.

Consideraciones Iniciales

El presente cap´ıtulo tiene como finalidad evaluar el rendimiento del planeador MPBH en t´erminos de n´umero de problemas resueltos frente a los planeadores STAN, HSP, FF y Blackbox. Esta evaluaci´on consta de dos partes, en la primera parte se desea analizar el rendimiento del planeador MPBH para un dominio espec´ıfico; el dominio elegido corresponde al Mundo de los Bloques y fue elegido por ser uno de los dominios m´as representativos en las competencias de planeadores realizadas a nivel mundial. La segunda parte comprende el an´alisis del planeador MPBH pero esta vez aplicado a la resoluci´on de problemas que pertenecen a diversos dominios (empleados en compe- tencias internacionales). La intenci´on de la realizaci´on de este contraste de resultados obtenidos en un solo dominio frente a los obtenidos en un conjunto de dominios se ha realizado con la intenci´on de obtener una mejor visi´on de la medici´on de la com- petitividad del planeador MPBH. Pues si bien es cierto que el planeador sera o no competitivo en funci´on del n´umero total de problemas que pueda resolver, no se debe