7. Sistema de aprendizaje GEBL 91
9.2. GEBL para transferir conocimiento
viendo la segunda meta y evitar as´ı un vuelo innecesario del avi´on . Por otro lado, todos los puntos de decisi´on donde TGP selecciona un operador instanciado para satisfacer una meta tienen dos puntos de decisi´on equivalentes en PRODIGY: uno para seleccionar el operador y otro para seleccionar los valores de sus variables (bindings), excepto con la meta(fuel-level plane1 fl1)que no se introdu- ce en la lista de metas pendientes de PRODIGYpor ser cierta en el estado.
Por tanto, hay tres tipos de reglas que se pueden aprender enTGPpara guiar la b´usqueda de PRODIGY: reglas deSELECT goals, deSELECT operatorsy deSELECT bindings. En la siguiente secci´on, se explica c´omo adaptarGEBL
para aprender este conocimiento.
9.2.
GEBLpara transferir conocimiento
El proceso de aprendizaje seguido por GEBLes el descrito en la secci´on 7.3 pero con algunas modificaciones. Existen par´ametros de ejecuci´on del sistema que determinan su comportamiento seg´un la aplicabilidad del conocimiento de control generado: para transferir a PRODIGYo para utilizarlo en TGP. Dichos par´ametros son:
Tipo de aprendizaje lazy o eager: para la transferencia conviene que sea ea- ger, aprender de todos los puntos de decisi´on, ya que el comportamiento de ambos planificadores es diferente y la selecci´on por omisi´on de uno no tiene por qu´e ser la misma que la del otro planificador. En aprendizaje eager se aprende tanto de las decisiones correctas por omisi´on del planificador co- mo de las decisiones cuya opci´on por omisi´on no lleva a la soluci´on. Por el contrario, en aprendizaje lazy s´olo se aprende si la decisi´on por omisi´on del planificador no es la correcta.
Procedimiento para hacer la regresi´on de metas. Como se explic´o en el cap´ıtulo anterior, una de las dificultades mayores enGEBLes la falta de es- tados de planificaci´on definidos durante las decisiones tomadas por el plani- ficador en la b´usqueda. En el caso de la transferencia, el problema se agrava porque dichos estados se tienen que verificar en PRODIGYcuando las reglas se ejecuten. No existe una equivalencia exacta entre los estados cuandoTGP
genera las reglas y cuando PRODIGY deber´ıa ejecutarlas; es preciso hacer algunas aproximaciones. Se ha optado por considerar dos aproximaciones diferentes que se explican en detalle en la siguiente secci´on.
Tipo de reglas a aprender: para la transferencia hay que indicar al sistema que aprenda reglas de selecci´on de metas y que no aprenda las reglas de elegir el operadorno-oppara conseguir una meta (reglas de persistencia).
Las reglas de selecci´on de operador se aprenden en ambos casos.
Si el conocimiento generado va a ser transferido o no.
9.2.1. Regresi´on de metas y estados de planificaci´on
El algoritmo de regresi´on de metas realizado porGEBLse explicaba en la sec- ci´on 7.3.2. Necesita conocer el estado actualS. Al no haber estados definidos en planificaci´on basada en grafos, se supon´ıa que era siempre el mismo durante todo el proceso de b´usqueda, el estado inicial del problema a resolver. Por tanto, ´este constituye el primer modo para realizar la regresi´on de metas enGEBL.
En el caso de hacer la transferencia, el estado S debe representar el estado equivalente en PRODIGY. Tras el estudio detallado de los algoritmos de b´usqueda realizados por ambos planificadores, no se observa que haya una equivalencia total de estados de planificaci´on.TGPempieza la b´usqueda para satisfacer las metas en el ´ultimo nivel del grafo del plan (encadenamiento hacia atr´as), y los primeros ope- radores que encuentra constituyen las ´ultimas acciones del plan. Cuando persiste una meta est´a posponiendo la asignaci´on del operador que la satisface a niveles m´as pr´oximos al estado inicial y dicha acci´on aparecer´a antes en la soluci´on. Sin embargo, PRODIGYcombina la b´usqueda hacia atr´as con la b´usqueda hacia delante y, por omisi´on, intenta primero la b´usqueda hacia adelante (aplicar los operadores instanciados). Los primeros operadores instanciados de la b´usqueda constituyen las primeras acciones del plan soluci´on. Parece adecuado hacer la siguiente suposi- ci´on: el instante en que PRODIGYtomar´a la decisi´on de qu´e operador aplicar para resolver una meta de un problema resuelto tambi´en porTGP, las metas queTGPper- siste, en ese punto de decisi´on, PRODIGYya las habr´a satisfecho, ya que se habr´an aplicado los operadores pertinentes que las satisfacen y el estado de planificaci´on estar´a modificado de forma acorde. Se ha observado experimentalmente que esta aproximaci´on no siempre es correcta; parece m´as adecuada cuantas menos metas haya en el punto de decisi´on deTGP.
Por tanto, el segundo modo para hacer la regresi´on de metas en GEBLes ha- ciendo esta aproximaci´on. Para calcular dicho estado, se busca en la soluci´on del problema (el proceso de aprendizaje empieza cuando el planificador encuentra un plan) el primer plan parcial en que todas las metas que persisten en el punto de decisi´on se satisfacen. Entonces, se progresa el estado inicial seg´un los efectos de las acciones de dicho plan parcial. Es decir, se empieza con el estado inicial del problema y la primera acci´on del plan parcial. Se cambia el estado inicial seg´un los efectos de dicha acci´on, borrando y a˜nadiendo los literales de su lista de bo- rrados y a˜nadidos en la definici´on del operador en el dominio. Se aplica el mismo proceso con el estado resultante y la segunda acci´on del plan parcial. Se repite recursivamente hasta que no quedan acciones en el plan parcial.
Esta aproximaci´on del estado equivalente de planificaci´on en PRODIGY afecta tambi´en al argumento del meta-predicadoSOME-CANDIDATE-GOALS. Si supo- nemos que las metas que persisten en el punto de decisi´on de TGP ya se habr´an
9.2. GEBLPARA TRANSFERIR CONOCIMIENTO 133 resuelto en PRODIGY, las ´unicas metas pendientes ser´an a las que TGP asigna un operador en paralelo en ese nodo.
9.2.2. Generaci´on de reglas
Para la transferencia,GEBLgenera dos tipos de reglas:
1. Reglas de SELECT goals. En aquellos puntos de decisi´on en que TGP
persiste una ´unica meta, se genera una regla deSELECT goalscon dicha meta para PRODIGY. Cuando se persisten m´as metas, en ese punto de deci- si´on, no se puede asegurar c´ual es la primera que se debe resolver y hacer una regla para que seleccione todas las metas que persiste es menos eficiente que seleccionar una ´unica meta.
2. Reglas deSELECT operators. En un punto de decisi´on deTGPse crea una regla de ´estas por cada una de las metas a las que se les asigna un opera- dor en ese nivel del grafo.
De los dos primeros puntos de decisi´on del ejemplo de la figura 7.3, se generan dos reglas: una para seleccionar la meta(at person1 city0)y otra para selec- cionar el operador(debark person0 plane1 city1)para conseguir la meta (at person0 city1).
Las reglas deSELECT goalstienen los siguientes meta-predicados:
(TARGET-GOAL g1):g1es la meta queTGPpersiste. La misma que se- lecciona la parte derecha de la regla.
(SOME-CANDIDATE-GOALS goals): resto de metas en el punto de de- cisi´on; ser´an s´olo metas a las queTGPasigna un operador en ese nivel. S´olo se generan este tipo de reglas siTGPpersiste una ´unica meta en el punto de decisi´on. En el caso de persistir m´as de una meta, no se puede asegurar la primera meta que debe seleccionar PRODIGYy se ha optado por no generar ninguna regla.
UnTRUE-IN-STATEpor cada literal que sea cierto en el estado. Para cal- cularlo se hace la regresi´on de metas de g1y las metas degoals, supo- niendo que el estado de planificaci´on es el estado inicial del problema. La regla es para seleccionar una meta pendiente sobre la que trabajar (la meta que persiste); por tanto, no se puede suponer que PRODIGYya la ha resuelto.
La figura 9.2, muestra la regla deSELECT goalsdel ejemplo anterior men- cionado. Elige entre dos metas de desplazar personas de una ciudad a otra (los argumentos de los meta-predicadosTARGET-GOALySOME-CANDIDATE-GOALS).
Una de las personas (variable<person1>) se encuentra en la misma ciudad don- de hay un avi´on con suficiente nivel de combustible para volar. La regla selecciona la meta para desplazar dicha persona primero.
(control-rule regla-ZENO-TRAVEL-PZENO-s1
(IF (AND (TARGET-GOAL (AT <PERSON1> <CITY0>)) (TRUE-IN-STATE (AT <PERSON1> <CITY1>)) (TRUE-IN-STATE (AT <PERSON0> <CITY0>)) (TRUE-IN-STATE (AT <PLANE1> <CITY1>))
(TRUE-IN-STATE (FUEL-LEVEL <PLANE1> <FL2>)) (TRUE-IN-STATE (AIRCRAFT <PLANE1>))
(TRUE-IN-STATE (CITY <CITY0>)) (TRUE-IN-STATE (CITY <CITY1>)) (TRUE-IN-STATE (FLEVEL <FL1>)) (TRUE-IN-STATE (FLEVEL <FL2>)) (TRUE-IN-STATE (NEXT <FL1> <FL2>)) (TRUE-IN-STATE (PERSON <PERSON0>)) (TRUE-IN-STATE (PERSON <PERSON1>))
(SOME-CANDIDATE-GOALS ((AT <PERSON0> <CITY1>))))) (THEN SELECT GOALS (AT <PERSON1> <CITY0>))
Figura 9.2: Ejemplo de regla deSELECT goalsen el dominio Zenotravel aprendida por
GEBLpara transferir a PRODIGY.
Las reglas de SELECT operators son iguales a las descritas en la sec- ci´on 7.3 salvo los meta-predicados TRUE-IN-STATE y los argumentos de los meta-predicadosSOME-CANDIDATE-GOALS. La regresi´on de metas se calcula seg´un el par´ametro deGEBLestablecido; por omisi´on, para la transferencia, es el segundo modo (suponiendo que las metas que persisten en el punto de decisi´on se habr´an satisfecho). El argumento del meta-predicadoSOME-CANDIDATE-GOALS es el resto de metas en el punto de decisi´on a las queTGP asigna un operador en ese nivel. No se incluyen aqu´ellas que TGPdecidi´o persistir por la aproximaci´on del estado equivalente en PRODIGYexplicada anteriormente.
La figura 9.3 muestra la regla deSELECT operatorsgenerada en el ejem- plo anterior, cuando se configuran los par´ametros deGEBLpara transferir conoci- miento de control. Esta regla selecciona el operadordebarkpara desplazar una persona de una ciudad a otra. PRODIGYintentar´ıa (por omisi´on) desembarcar a la persona de cualquier avi´on definido en el problema, pero la regla escoge el avi´on mas conveniente: el que est´a en la misma ciudad que la persona y con suficiente nivel de combustible.
9.3. TRADUCTOR DE REGLAS 135