Antes de entrar de lleno en el tema de Planificación, discutiremos uno de los temas centrales de la Inteligencia Artificial: los agentes.
La importancia de los agentes es tal, que la propia inteligencia artificial puede definirse a partir de ellos como el campo de las ciencias de la computación cuyo objetivo es construir agentes que exhiban comportamiento inteligente.
Algunos de los más importantes textos  de inteligencia artificial basan toda su estructura en agentes, siendo cada tópico discutido desde la visión de construir agentes inteligentes. Entendemos como agente a un sistema computacional independiente capaz de realizar acciones autómatas y flexibles. Básicamente un agente percibe su ambiente y responde o actúa en él. Los agentes pueden ser:
  • Softbots: agentes de software
  • Robots: agentes físicos
Los agentes deberán contar con las siguientes propiedades:
  • Autonomía: la capacidad de que operen en forma independiente y tengan control sobre sus acciones y estado interno.
  • Sociabilidad: la capacidad de interactuar con otros agentes y humanos.
  • Reactividad: la capacidad de responder a los cambios del entorno
  • Proactividad: la capacidad de un agente de tomar la iniciativa .
Desde el campo de la IA junto a estos requisitos, se les pide que su comportamiento sea racional, que logren un buen desempeño y que posean conocimiento.
Los agentes interactúan con el ambiente y éstos a su vez cuentan con diversas características :
  • Accesibles y no Accesibles: El ambiente es accesible si se le permite al agente tener acceso total al entorno a través de los sensores.
  • Deterministas y no Deterministas: Los ambientes deterministas son aquellos en los cuales el estado del mismo queda determinado completamente a partir del estado actual y las acciones que tomen los agentes.
  • Episódicos y no Episódicos: Los ambientes episódicos son aquellos en los que la experiencia del agente puede dividirse en episodios. Cada episodio cuenta con un agente que percibe y actúa. Los episodios subsecuentes no dependen de los episodios anteriores.
  • Estáticos y Dinámicos: El ambiente es dinámico cuando puede sufrir modificaciones  mientras el agente se encuentra deliberando.
  • Discretos y Continuos: Si existe una cantidad limitada numerable de percepciones y acciones distintos se dice que el ambiente es discreto. Cuando las percepciones se extienden a través de un conjunto continuo de valores se dice que el ambiente es continuo.
El diseño de agentes involucran los conceptos estudiados en este texto y aspectos de ingeniería y arquitecturas de software.  
Uno de los tópicos más interesantes es el de agentes distribuidos. Estos agentes se comunican entre sí mediante algún lenguaje de comunicación de agentes y se encuentran dispersos en un entorno de red (Ej. Internet). La solución a un problema puede involucrar a varios agentes que se ponen de acuerdo para colaborar entre sí (sociabilidad).

 

La planificación es un proceso mediante el cual un agente busca un plan para lograr cierto objetivo. El plan es una series de acciones a tomar para, partiendo de un estado inicial, cumplir el objetivo. Lo dicho suena muy parecido a la resolución de problemas, pero se considera a la planificación como diferente, ya que se utiliza una manera distinta de representar acciones, objetivos y estados. Además, difieren en la forma de construir y representar el curso de acción (secuencia de acciones).
Para muchos casos, los mecanismos de resolución de problemas basado en búsqueda no resultan adecuados. Los solucionadores de problemas mediante búsqueda contaban con los siguientes elementos:
  • Estados. El estado inicial es de donde se parte. Mediante la aplicación de operadores (acciones) se va cambiando de estado hasta llegar al objetivo. 
  • Objetivos. Se representa mediante el estado final o una condición de solución. 
  • Operadores. Representan la función de estados sucesores. Al escoger un estado sucesor se tiene una acción a realizar.
  • Solución. La secuencias de estados y acciones que conducen al agente desde el estado inicial al final.
En planificación, los estados se representan por un conjunto de hechos que son verdaderos en un estado del mundo, escritos en un lenguaje adecuado. Además el algoritmo planificador puede agregar acciones en cualquier momento, sin restringirse a una secuencia lineal y  por último se consideran a la mayoría de los objetivos independientes entre sí.
Para ver como funciona la planificación, debemos plantearnos un problema de planificación. Un problema sencillo sería Alquilar una película, comprar una pizza y cargar nafta .
Para representar problemas de planificación se utiliza un lenguaje particular (más restringido que la lógica de primer orden) y un algoritmo que permite operar sobre dicho lenguaje denominado planificador. La utilización de un lenguaje más restringido que el cálculo de predicados se debe entre otras cosas a propósitos de eficiencia. Aunque de todas maneras seguimos hablando de un sistema formal.