En inteligencia artificial , la planificación basada en preferencias es una forma de planificación y programación automatizadas que se centra en producir planes que además satisfacen tantas preferencias especificadas por el usuario como sea posible. En muchos dominios de problemas, una tarea se puede realizar mediante varias secuencias de acciones (también conocidas como planes). Estos planes pueden variar en calidad: puede haber muchas formas de resolver un problema, pero generalmente se prefiere una forma que sea, por ejemplo, rentable, rápida y segura.
Los planificadores basados en preferencias tienen en cuenta estas preferencias cuando elaboran un plan para un problema determinado. Ejemplos de software de planificación basada en preferencias incluyen PPLAN [1] y HTNPlan-P [2] ( planificación HTN basada en preferencias ).
Descripción general
Las preferencias se pueden considerar como restricciones suaves en un plan. La calidad de un plan aumenta cuando se satisfacen más preferencias, pero es posible que no sea posible satisfacer todas las preferencias en un solo plan. Esto difiere de las restricciones estrictas que deben cumplirse en todos los planes producidos por el software de planificación. Estas restricciones duras son parte del conocimiento del dominio, mientras que las restricciones suaves (o preferencias) son especificadas por separado por el usuario. Esto permite reutilizar el mismo conocimiento de dominio para varios usuarios que pueden tener preferencias diferentes.
El uso de preferencias también puede aumentar la duración de un plan para satisfacer más preferencias. Por ejemplo, al planificar un viaje de la casa a la escuela, el usuario puede preferir comprar una taza de café en el camino. El software de planificación ahora podría planear visitar Starbucks primero y luego continuar a la escuela. [3] Esto aumenta la duración del plan pero se satisface la preferencia del usuario.
Lenguaje de definición de dominio de planificación
El lenguaje de definición de dominio de planificación (a partir de la versión 3.0 [4] ) admite la especificación de preferencias a través de preference
declaraciones. Por ejemplo, la declaración
(preference (always (clean room1)))
indica que el usuario prefiere que room1
esté limpio en cada estado del plan. En otras palabras, el planificador no debe programar una acción que haga room1
que se ensucie. Como muestra este ejemplo, una preferencia se evalúa con respecto a todos los estados de un plan (si se requiere semánticamente ).
Además always
, también se admiten otras construcciones basadas en la lógica temporal lineal , como sometime
(al menos una vez durante el plan), sometime-after
(se planificará después de un estado en particular) y at-most-once
(la preferencia se mantiene durante como máximo una secuencia de estados en el plan). ).
Calidad del plan
Además de determinar si se satisface una preferencia, también necesitamos calcular la calidad de un plan en función de cuántas preferencias se satisfacen. Para este propósito, PDDL 3.0 incluye una expresión denominada is-violated
que es igual a "el número de preferencias distintas con el nombre dado que no se satisfacen en el plan". [4] Para un plan, ahora se puede calcular un valor usando una función métrica, que se especifica con :metric
:
(:metric minimize (+ (* 5 (is-violated pref1)) (* 7 (is-violated pref2))))
Esta función métrica de ejemplo especifica que el valor calculado del plan debe minimizarse (es decir, un plan con valor v1 y un plan con valor v2 tal que v1 < v2 , el plan anterior es estrictamente preferido). El valor de un plan se calcula mediante la función dada, que se expresa en notación polaca . En este caso, la infracción de la segunda preferencia, pref2
se ha penalizado más que la primera preferencia pref1
.
Problema de satisfacción de restricciones
En el área de los problemas de satisfacción de restricciones , existen variantes flexibles que tratan las restricciones suaves de manera similar a las preferencias en la planificación basada en preferencias.
Referencias
- ^ PPLAN , Bienvenu et al.
- ^ Planificación de HTN con preferencias , Sohrabi et al.
- ^ Planificación con preferencias mediante programación lógica , Son y Pontelli
- ^ a b Planificación determinista en el quinto concurso internacional de planificación: PDDL3 y evaluación experimental de los planificadores , Gerevini et al.