6. Planificacion

Llamaremos planificación al proceso de búsqueda y articulación de una secuencia de acciones que permitan alcanzar un objetivo. Por ejemplo, si nuestro objetivo es viajar desde un pueblo perdido de Asturias y queremos llegar a Guatemala la secuencia de acciones serían los distintos transportes que se deben tomar para llegar. Otro ejemplo podría ser que tuviéramos un robot en un laberinto y nuestro objetivo fuera sacarle de él; en tal caso, nuestras acciones serían los tramos recorridos en línea recta y los giros dados por el robot.

Para formalizar el problema de la planificación existen 2 notaciones principales: ADL y STRIPS. Ambas coinciden en utilizar la lógica para representar estado inicial, objetivo y acciones. También coinciden en que, para aplicar una acción, es necesario cumplir unas precondiciones y, tras haber ejecutado la acción, habrá provocado unos efectos.

Para obtener la secuencia de acciones, es decir, el resultado al problema de la planificación, existen varios enfoques:

Los problemas y soluciones que se abordan en planificación tienen aplicaciones directas en gestión de tareas (workflow), control de misiones complejas (espaciales, satélites, militares, etc.), turismo (visitas a ciudades, planificar rutas, ...), procesos de enseñanza/aprendizaje, robótica (planificar caminos), ...

Para la problemática de la planificación, las licencias libres han brillado por su ausencia. No obstante, todos los algoritmos se distribuyen con su código, lo cual también es cierto en arquitecturas integradas como PRODIGY, muy usadas en planificación.