Los modelos de planificación de Inteligencia Artificial diseñan planes para alcanzar una meta.
Estos métodos, dado un espacio de estados, intentan encontrar una secuencia de acciones que lleve el problema desde un estado inicial a un estado objetivo.
Estos sistemas no se preocupan por cómo ejecutar esa secuencia. No se los debe confundir con Búsqueda. No existe una relación fija entre el orden de la planificación y el orden de la ejecución.
No siempre es posible encontrar un camino de solución.
Hay 3 conceptos clave para evitar la explosión combinatoria:
- Apertura en la representación de estados, objetivos y acciones.
- Libertad para añadir acciones al plan siempre que sea necesario.
- Divide y vencerás: generar sub-planes más sencillos.
Los objetivos y estados son conjuntos de sentencias, y las acciones son descripciones lógicas de las pre-condiciones y post-condiciones o efectos. Así, las acciones conectan estados.
STRIPS
STanford Research Institute Problem Solver es un lenguaje simple para representar estados y acciones.
Los estados se representan como conjunciones de literales sin funciones, es decir predicados aplicados a símbolos constantes. Por convención se asume que un literal no presente está negado.
Los operadores tienen 3 elementos:
- Especificación de la acción.
- Condición previa (pre-condición).
- Efecto (post-condición).
Un operador es aplicable a un estado siempre que en ese estado se puedan concretizar las variables que contiene dicho operador.
Ejemplo de operador:
operador(ACCION: Ir(y)
PRECOND: En(x) Y Ruta(x, y)
EFECTO: En(y) Y -En(x))
Representación gráfica:
.png)
Según la estrategia que usan, se tienen:
- Planificadores de progresión: aplican operadores partiendo del estado inicial. Tienen el problema de la explosión combinatoria.
- Planificadores de regresión: parten del estado objetivo para satisfacer pre-condiciones. Tienen el problema de operadores incompletos.
Una alternativa a buscar a través del espacio de estados es buscar en el espacio de planes. Esto involucra operadores de refinamiento (eliminan planes) y modificación (crean planes potencialmente incorrectos).
Una buena representación de planes asegura una búsqueda eficiente. Los planificadores aplican el principio de compromiso mínimo: resolver lo que actualmente sea de interés (un problema a la vez).
Hay planificadores de:
- Orden parcial: algunos pasos se ordenan en relación a los demás.
- Orden total: incluyen todas las posibilidades.
Formalmente, un plan contiene:
- Un conjunto de pasos del plan.
- Un conjunto de restricciones de ordenamiento de pasos del tipo .
- Un conjunto de vínculos causales (se lee logra de ).
Una amenaza para un vínculo causal es una acción que destruye el efecto del vínculo y que se puede intercalar entre la acción y su efecto. Las amenazas vuelven incompatibles algunos pasos. Se pueden eliminar modificando el orden de los pasos (introduciendo una restricción de orden).
Un plan completo es aquel en que cada condición previa de todos los pasos se logra con la ejecución de otro paso, es decir que todas las pre-condiciones se cumplen.
Un plan linealizado es aquel con un solo orden posible. Se puede linealizar un plan agregando restricciones de orden.
Una solución es un plan completo y consistente.
Como ejemplo, sea el siguiente plan inicial para el problema de comprar comida en un supermercado y máquinas en una ferretería:
.png)
Una solución sería:
.png)
Algoritmo POP
El algoritmo POP (Partial Order Planning) es un planificador de orden parcial que comienza desde un plan inicial mínimo y en cada paso lo extiende logrando una pre-condición de un paso (principio de compromiso mínimo).
En se elige un solo objetivo, respetando el principio de compromiso mínimo.
En se elige un paso existente o un operador y se agrega el vínculo causal y su restricción de orden asociada. Si se eligió un operador, se crea un nuevo paso que lo aplica.
En se introduce una restricción de orden por cada amenaza. Si el plan no resulta consistente, entonces falla el algoritmo.