7. Sistema de aprendizaje GEBL 91
8.1. Gu´ıa para aplicar EBL a sistemas de planificaci´on
Cap´ıtulo 8
Metodolog´ıa para aplicar EBL a sistemas de planificaci´on
En los cap´ıtulos anteriores se han descrito dos sistemas de aprendizaje desarro- llados para extraer conocimiento de control de diferentes paradigmas de planifica- ci´on: planificaci´on h´ıbrida HTN-POP y planificaci´on basada en grafos de planes.
Ambos sistemas est´an inspirados en otro sistema de aprendizaje aplicado a planifi- caci´on bidireccional. El m´etodo de aprendizaje utilizado en todos esEBL. En este cap´ıtulo se pretende generalizar los tres sistemas para definir una metodolog´ıa de dise˜no y desarrollo de sistemas de aprendizaje de conocimiento de control basada en la explicaci´on que permita sistematizar los m´etodos y t´ecnicas necesarias para aprender conocimiento de control de diferentes t´ecnicas de planificaci´on.
En la siguiente secci´on se describe la metodolog´ıa. En la secci´on 8.2 se enu- meran los requisitos del paradigma de planificaci´on necesarios para aplicar la me- todolog´ıa. Por ´ultimo, se analiza el conocimiento de control que se puede extraer con su utilizaci´on.
blemas. Cada paradigma de planificaci´on considera un espacio de problemas diferentes y aplica un determinado algoritmo de b´usqueda. Los operadores de b´usqueda no tienen porqu´e coincidir con los operadores de planificaci´on.
Por ejemplo, enTGPun estado de b´usqueda (nodo del ´arbol) viene determi- nado por 3 factores: un conjunto de metas, el plan parcial y el nivel en el grafo del plan, porqueTGP busca asignaciones de operadores instanciados del dominio de planificaci´on que satisfagan un conjunto de metas sin violar ninguna relaci´on de mutex, para lo cual necesita conocer el plan parcial y el nivel del grafo. Los operadores de b´usqueda enTGP transforman un estado del espacio de estados de planificaci´on en un estado del espacio de proble- mas deTGPcompuesto tambi´en por un conjunto de metas, un plan parcial y un nivel, tal como se explic´o en la secci´on 7.2. Sin embargo, los operadores de planificaci´on enTGP son asignar una acci´on del dominio para alcanzar una meta, a˜nadir o borrar relaciones de mutex entre nodos, almacenar un conjunto de metas como memo . . . . Por tanto, enTGP no hay coincidencia entre los operadores de b´usqueda y los de planificaci´on.
Pero, en HYBIScada nodo del espacio de b´usqueda representa una tarea pen- diente de planificaci´on que pueden ser metas pendientes, amenazas, interfe- rencias, inconsistencias en el orden o c´omo realizar un refinamiento jer´arqui- co; y los nodos hijos representan las diferentes formas en que dicha tarea se puede resolver. En este caso, los operadores de b´usqueda coinciden con los operadores de planificaci´on. Cada nodo lleva asociado toda la informaci´on que el algoritmo necesita para resolver la tarea.
En PRODIGYhay tres tipos diferentes de nodos de b´usqueda: pueden repre- sentar una meta, un operador o una sustituci´on de variables y los operadores de b´usqueda de cada tipo son diferentes: en los nodos de tipo meta se busca un operador que la satisfaga generando un nodo hijo de tipo operador por cada posible operador del dominio que tenga dicha meta en la lista de efec- tos a˜nadidos; en los nodos de tipo operador se busca la asignaci´on de sus variables generando nodos hijos de tipo sustituci´on y en los nodos de tipo sustituci´on PRODIGYdecide entre aplicar el operador instanciado o explorar otro nodo de tipo meta.
Identificaci´on de los posibles puntos de aprendizaje, estudiando los pun- tos de retroceso del algoritmo de b´usqueda. Una vez identificado el ´arbol de b´usqueda resulta inmediato encontrar los nodos en que el algoritmo de b´usqueda tiene que retroceder porque la soluci´on no se encuentra en la pri- mera opci´on explorada. Generalmente todos los nodos son posibles puntos de retroceso, pero en cada algoritmo puede haber diferentes opciones que se puedan aprender de forma independiente y estudiar la conveniencia, en cada caso, de aprender esas decisiones o no. Por ejemplo, enHEBL de los dife- rentes tipos de nodos que hay s´olo se aprende de los de tipo meta pendiente y refinamiento jer´arquico, mientras que en HAMLETse aprende de todos. En
8.1. GU´IA PARA APLICAREBLA SISTEMAS DE PLANIFICACI ´ON 113
GEBLs´olo hay un tipo de nodo del que aprender.
Identificar, en los puntos anteriores, el tipo de acci´on realizada por el plani- ficador para definir los diferentes tipos de reglas de control que se pueden generar. Por ejemplo, enGEBLhay un s´olo tipo de punto de decisi´on, pero se pueden aprender dos acciones diferentes: el operador del dominio de pla- nificaci´on que consiga una de las metas o persistir dicha meta. EnHEBL en los nodos de tipo meta se aprende el operador del dominio que la satisfaga diferenciando entre si dicho operador ya ha sido utilizado en el plan parcial o no; y en los nodos de tipo refinamiento jer´arquico se aprende el m´etodo de expansi´on a utilizar. En HAMLETde cada punto de decisi´on se aprende una acci´on diferente: una meta de entre un conjunto de metas para empe- zar a trabajar sobre ella, un operador del dominio para satisfacer una meta, un conjunto de sustituciones que instancien las variables libres del operador elegido o la opci´on de aplicar un operador instanciado o empezar a resolver otra meta.
Determinar si el algoritmo de planificaci´on permite distinguir los estados en cada decisi´on realizada identificando si el propio algoritmo proporciona alg´un mecanismo para tal diferenciaci´on o se pueden hacer aproximacio- nes. Estos estados son lo utilizados porEBLpara explicar las circunstancias en que se produce cada decisi´on durante la resoluci´on de un problema pa- ra generar la parte de precondiciones (meta-predicados) de las reglas que permitan identificar en resoluciones futuras situaciones similares de forma un´ıvoca. En el caso de PRODIGY el propio algoritmo de planificaci´on ac- tualiza estos estados cuando aplica un operador instanciado. Sin embargo, enTGPel algoritmo de planificaci´on s´olo necesita explorar el grafo del plan que permanece invariante durante un episodio de b´usqueda; es decir, no hay un estado diferente en cada decisi´on tomada por el algoritmo de b´usqueda por lo que es necesario hacer aproximaciones que permitan discernir los es- tados en otros procesos de b´usqueda. En el caso de HYBISel algoritmo POP no modifica el estado pero se puede obtener a trav´es del conjunto de enlaces causales, tal como se explic´o en la secci´on 6.2.2.
Preparar los problemas de entrenamiento de los que aprender que el planifi- cador ejecutar´a de uno en uno. El tama˜no y complejidad de los problemas de entrenamiento es un factor importante enEBL. Conviene que sean sencillos para que el planificador pueda resolverlos, requisito imprescindible para ini- ciar el proceso de aprendizaje, y tambi´en para que las reglas aprendidas sean lo m´as general posibles, sin demasiadas precondiciones que incrementan el proceso de equiparaci´on de reglas produciendo el problema de la utilidad.
Cuanto m´as complejos son los problemas de aprendizaje m´as espec´ıficas son las reglas aprendidas; es decir, se disparan en menos situaciones, pero dis- ciernen mejor unos casos de otros, por lo que hay que llegar a un equilibrio entre generalizaci´on y especializaci´on no siempre alcanzado con t´ecnicas
exclusivas de aprendizaje deductivo.
Guardar el ´arbol de b´usqueda realizado por el planificador hasta encontrar la soluci´on de cada problema. Si el planificador no lo almacena, generar la traza con la informaci´on necesaria. Esto puede consumir mucha memoria y tiempo del ordenador por lo que conviene que sea opcional su generaci´on y almacenamiento. As´ı, durante el aprendizaje, que normalmente se realiza con problemas peque˜nos, se activa y en el resto de casos se desactiva. En HYBISes un par´ametro de ejecuci´on del planificador; enGEBLse ha intro- ducido en el algoritmo de aprendizaje: cuando se aprende de un problema se genera y se guarda el ´arbol de b´usqueda, en el resto de resoluciones no; y PRODIGYsiempre guarda el ´arbol de b´usqueda en todas las resoluciones de problemas que realiza ya que este planificador se implement´o para estudiar la influencia de las t´ecnicas de aprendizaje autom´atico en planificaci´on.
Etiquetar los nodos de b´usqueda para la identificaci´on de los nodos de ´exi- to y de fallo. Cada vez que se genera un nuevo nodo durante el proceso de planificaci´on se le asigna una etiqueta. Si el nodo falla se cambia su etiqueta a fallo. Cuando el algoritmo de planificaci´on encuentra una soluci´on a to- dos los nodos del ´arbol de ´exito, desde abajo hacia arriba, se les cambia la etiqueta a ´exito. De forma similar los nodos tales que todos sus sucesores son nodos de fallo, se etiquetan como de fallo. Adem´as de nodos de ´exito y fallo puede existir otro tipo de nodos que tambi´en se quieran identificar. Por ejemplo, enHEBL hay ramas del ´arbol de b´usqueda incompletas porque la heur´ıstica utilizada desaconseja seguir explor´andolas antes de llegar a fallar, y se denominan nodos abandonados. El algoritmo de planificaci´on deTGP
almacena memos cuando en un nivel de b´usqueda no es posible encontrar una asignaci´on v´alida a todas las metas. Esos nodosGEBLlos etiqueta como memo-failure ya que, aunque sean de fallo, el propio algoritmo de planifica- ci´on lo detecta y no los explora. En PRODIGYhay nodos que no explora, que se denominan desconocidos o, incluso, que no ha llegado a generar, que se denominan no-intentados.
Cada punto de decisi´on de ´exito puede generar una o varias reglas de con- trol cuyo consecuente sean la decisi´on tomada por el planificador. Se puede optar por un aprendizaje eager o lazy dependiendo de si se aprende de todos los puntos de decisi´on o s´olo de aqu´ellos que no constituyeron la primera decisi´on del planificador. Hay que implementar una funci´on que tome como entrada la lista de todos los nodos etiquetados y vaya devolviendo, consecu- tivamente, el nodo o nodos de los que aprender.
Utilizar los meta-predicados b´asicos usados por el lenguaje com´un para ex- plicar el estado del planificador en cada decisi´on, identificando, en el algo- ritmo de planificaci´on, la manera de obtenerlos. En la en la secci´on 5.3 se describi´o a alto nivel c´omo implementar dichas funciones. La mayor´ıa de
8.1. GU´IA PARA APLICAREBLA SISTEMAS DE PLANIFICACI ´ON 115 los algoritmos de planificaci´on definen funciones para obtener los valores necesarios para la definici´on de los meta-predicados m´as comunes, como la meta actual que est´a tratando de resolver, la lista de metas pendientes . . . . En caso de no existir habr´ıa que implementarlos. Para reducir el n´umero y tama˜no de los meta-predicados que preguntan por el estado de planificaci´on se realiza una regresi´on de metas de forma que se incluyan s´olo los literales que afectan directamente a la decisi´on considerada. La forma de hacer es- ta regresi´on depende del paradigma de planificaci´on. Por ejemplo, enHEBL
se utiliza el conjunto de enlaces causales (ver secci´on 6.2.2) y enGEBLse contemplan diferentes alternativas para hacerlo (ver secci´on 7.3.2).
Estudiar otros aspectos del estado de planificaci´on analizado por el planifi- cador que puedan servir para definir nuevos meta-predicados espec´ıficos del paradigma de planificaci´on utilizado. Por ejemplo, el nivel HTN enHEBL o el plan parcial enGEBL.
Implementar o reutilizar un mecanismo de equiparaci´on y ejecuci´on de las reglas que se dispare en cada punto de decisi´on seg´un se explic´o en la sec- ci´on 5.2.
Realizar de forma opcional alg´un estudio de utilidad de las reglas genera- das para restringir la cantidad de reglas de cada dominio y evitar los pro- blemas t´ıpicos de utilidad de los sistemas de aprendizaje basados en la ex- plicaci´on. Por ejemplo, el realizado en HAMLET siguiendo la ecuaci´on de Minton [Minton, 1988] en que la utilidad de una reglarse calcula como:
u(r) =s(r)×p(r)−m(r)
dondeu(r)es una estimaci´on de la utilidad der,s(r)es una estimaci´on del tiempo de b´usqueda que la regla ahorra cuando se usa,p(r)es una estimaci´on de la probabilidad de que la regla se dispare, ym(r)es una estimaci´on del coste de equiparaci´on de la regla. Cada una de estas funciones HAMLETlas estima de la siguiente forma:
• s(r): es el n´umero de nodos que hay por debajo del nodo donde se aprende la regla, multiplicado por el tiempo que PRODIGY tarda en expandir un nodo. Se puede hacer una mejor estimaci´on utilizando un segundo conjunto de entrenamiento, como hizo Minton, y calcular la media del n´umero de nodos usados cada vez por la regla.
• p(r): es el n´umero de veces en querse dispara en los problemas de en- trenamiento dividido entre el n´umero de veces en que PRODIGYintenta usar la regla. Igual que antes, se puede realizar una mejor estimaci´on utilizando un segundo conjunto de entrenamiento.
• m(r): es el tiempo total consumido intentando equipar la regla durante toda la resoluci´on del problema dividido entre el n´umero de veces en que se intenta disparar.