Agentes
inteligentes
Inteligencia
Artificial
Agentes inteligentes
¿Cuáles son los entornos, la
racionalidad y la estructura de los
agentes inteligentes?
Dentro de la IA es fundamental conocer la naturaleza de los
agentes, sus entornos y las formas de organizar los tipos de
agentes existentes.
Entorno
Según Russell y Norvig (2004): “un agente es cualquier cosa capaz de
percibir su medio ambiente con la ayuda de sensores y actuar en ese
medio utilizando actuadores” (Russell y Norvig, 2004, p. 37)
Como puede observarse dentro de la definición se hace referencia al
término percepción para indicar que el agente puede recibir entradas,
desde su entorno, en cualquier momento dado. También debemos
entender que la secuencia de percepciones de un agente hace referencia
al historial de lo que él ha percibido, desde su entorno, hasta un instante
dado. Por lo tanto, siempre, un agente tomará una decisión en un
momento dado dependiendo de la secuencia completa de percepciones
hasta ese instante. (Russell y Norvig, 2004)
Los agentes y su interacción con el entorno. (Fuente: elaboración propia).
La función que describe el comportamiento de un agente se puede
presentar en forma de tabla y será implementada mediante el programa
del agente.
Es importante diferenciar que la función del agente es una descripción
matemática abstracta, mientras que el programa del agente es una
implementación completa que se ejecuta sobre la arquitectura del agente
(Russell y Norvig, 2004).
El mundo de las aspiradoras
Para explicitar todo esto tomaremos el caso del mundo de las aspiradoras
(para verlo con mayor profundidad puede leerse la sección 2.1 del libro
Inteligencia artificial. Un enfoque moderno, de Russell y Norvig).
Este es un mundo simple en el que se puede describir lo que en él sucede.
En este caso, sólo se tendrán dos cuadrículas, A y B, por las que podrá
desplazarse la aspiradora para llevar a cabo sus actividades de limpieza:
Dos localizaciones, únicamente, para el mundo de las aspiradoras (Fuente: Russell y
Norvig, 2004, p. 39)
A continuación, la tabla que contrasta la secuencia de percepciones con la
acción que debería emprender el agente aspiradora:
Percepción Acción
[A, LIMPIA] DERECHA
[A, SUCIA] LIMPIAR
[B, LIMPIA] IZQUIERDA
[B, SUCIA] LIMPIAR
[A, LIMPIA] [A, LIMPIA] DERECHA
[A, LIMPIA] [A, SUCIA] LIMPIAR
….. …..
[A, LIMPIA] [A, LIMPIA] [A, LIMPIAR
SUCIA]
Fuente: Elaboración propia.
Un ejemplo sofisticado y actual de este caso es el de la aspiradora Roomba
que se comercializa actualmente:
La aspiradora Roomba, una implementación sofisticada de un agente inteligente y el
mundo de las aspiradoras. (Recuperado de Wikipedia,
[Link]
¿Qué posibles soluciones implementarías para la
aspiradora si ambas cuadrículas estuviesen limpias al
mismo tiempo?
Buen comportamiento y el concepto de racionalidad
Entendemos el concepto de racionalidad como hacer lo correcto, bajo los
parámetros y normas establecidas por el entorno del agente. Es decir que
hacer lo correcto implicará para el agente alcanzar el éxito o el mejor
resultado posible. Para ello, se deberán establecer medidas de
rendimiento como indicadores de que los objetivos se han alcanzado o no
(Russell y Norvig, 2004)
Las medidas de rendimiento incluyen los criterios que determinan el éxito
en el comportamiento del agente. La secuencia de acciones del agente
hace
que su entorno pase, asu vez, por una secuencia de estados; si la secuencia
es la esperada, entonces el agente actuó correctamente (Russell y Norvig,
2004)
En base a la bibliografía, define o explica las medidas
de rendimiento que consideras necesarias para el
caso del mundo de las aspiradoras.
Definiremos un Agente Racional como sigue:
“En cada posible secuencia de percepciones, un agente racional deberá
emprender aquella acción que supuestamente maximice su medida de
rendimiento, basándose en las evidencias aportadas por la secuencia de
percepciones y en el conocimiento que el agente mantiene almacenado”.
(Russell y Norvig, 2004, p. 41)
Cabe aclarar que la definición propuesta de racionalidad no requiere
omnisciencia, ya que la elección racional depende sólo de la secuencia de
percepciones obtenidas, por el agente, dentro de un período determinado.
Y, como es sabido, la omnisciencia, o la capacidad de saberlo todo de los
agentes, no es posible.
Otra parte importante de la racionalidad es el proceso de recopilación de
información, el cual permite llevar a cabo acciones con la intención de
modificar percepciones futuras. Se lo comenta en profundidad en el
Capítulo 16 del libro Inteligencia artificial. Un enfoque moderno, de Russell y
Norvig.
La definición nos dice que el agente racional no sólo recopila información,
sino que además aprende lo máximo posible de sus percepciones. La
configuración inicial del agente establece su conocimiento preliminar del
entorno, pero a medida que el agente adquiere experiencia, ésta puede
modificarse y ampliarse.
Por lo tanto, diremos que un agente carece de autonomía cuando se apoya
más en el conocimiento inicial, que le proporciona su diseñador, que en sus
propias percepciones. Un agente racional debe ser autónomo, debe saber
aprender a determinar cómo tiene que compensar el conocimiento
incompleto o parcial inicial. Por ejemplo, el agente aspiradora que aprenda
a prever dónde y cuándo aparecerá suciedad adicional, lo hará mejor que
otro que no aprenda. (Russell y Norvig, 2004)
Especificación del entorno de trabajo del agente
Cuando hablamos del entorno de trabajo, nos referimos a los problemas
para los cuales los agentes representan las soluciones.
Todo entorno de trabajo se especifica mediante el acrónimo REAS
(Rendimiento, Entorno, Actuadores, Sensores). Para diseñar un buen
agente, se recomienda siempre definir el entorno de trabajo de la manera
más completa posible.
En base a la bibliografía, construye tu propio cuadro
REAS de un taxímetro automático.
En base a la bibliografía, ¿cómo se categorizan los
diferentes entornos de trabajo de los agentes?
Estructura
¿Cómo trabajan internamente los agentes? Gran parte del trabajo de IA es
diseñar el programa del agente, el cual implementa la función de dicho
agente, función que proyecta las percepciones en las acciones. Se asume
que este programa se ejecutará en algún tipo de computador con sensores
físicos y actuadores, lo cual se conoce como arquitectura:
El programa que se elija tiene que ser acorde a la arquitectura utilizada.
Agente = arquitectura + programa
¿Qué diferencia encuentras entre el programa del
agente y la función del agente?
Tipos de Agentes
Agentes reactivos simple
Estos son los agentes más simples, ya que seleccionan las acciones sobre la
base de sus percepciones actuales, ignorando el resto de sus percepciones
históricas.
Agente Sensores
Cómo es el
mundo ahora
Medio ambiente
Reglas de Qué acción debo
condición-acción tomar
Actuadores
Esquema de un Agente reactivo simple (Fuente: Russell y Norvig, 2004, p. 54)
Los agentes reactivos simples tienen la excelente propiedad de ser
simples, pero poseen una inteligencia muy limitada.
¿Cuál es la forma, según la bibliografía, de evitar o
solucionar el problema de los bucles infinitos en los
agentes reactivos simples?
Agentes reactivos basados en modelos
Son aquellos agentes capaces de almacenar información de las partes del
mundo que no pueden ver; es decir, que deben mantener algún tipo de
estado interno que dependa de la historia percibida y que, de ese modo,
refleje por lo menos alguno de los aspectos no observables del estado
actual.
Agente Estado Sensores
¿Cómo evoluciona el
¿Cómo es el
mundo?
mundo ahora?
Medio ambiente
¿Qué efecto causan
mis acciones?
¿Qué acción
debo tomar?
Reglas de
condición-acción
Actuadores
Esquema de un Agente reactivo basado en modelos (Fuente: Russell y Norvig, 2004, p. 56)
El agente reactivo basado en modelos, ¿en qué tipo
de entorno se da comúnmente?
Agentes basados en objetivos
En estos tipos de agentes, además de la descripción del estado actual, se
necesita algún tipo de información sobre su meta que describa las
situaciones que son deseables de lograr.
En estos el programa del agente se puede combinar con información sobre
los resultados de las acciones posibles para elegir aquellas que permitan
alcanzar el objetivo deseado.
Agente Sensores
Estado
¿Cómo evoluciona el ¿Cómo es el
mundo? mundo ahora?
Medio ambiente
¿Qué efecto causan ¿Qué pasará si
mis acciones? realiza acción A?
¿Qué acción
debo tomar?
Objetivos
Actuadores
Esquema de un Agente basado en objetivos y en modelos (Fuente: Russell y Norvig, 2004,
p. 57)
Según la bibliografía, ¿qué diferencias se ven
fácilmente entre un agente basado en objetivos y
otro reactivo?
Agentes basados en utilidad
Son aquellos agentes basados en objetivos, pero que además cuentan con
una función utilidad. La función utilidad le permite al agente calcular
cuáles deben ser sus preferencias entre los estados del mundo y
seleccionar luego la acción que debe llevar a cabo para alcanzar la mayor
utilidad posible.
Agente Sensores
Estado
¿Cómo evoluciona el ¿Cómo es el
mundo? mundo ahora?
¿Qué efectos causan ¿Qué pasará si
Medio ambiente
mis acciones? realiza acción A?
¿Estaré contento
Utilidad en este estado?
¿Qué acción
debo tomar?
Actuadores
Esquema de un Agente basado en utilidad y en modelos (Fuente: Russell y Norvig, 2004, p.
59)
Según la bibliografía, ¿cuáles son los dos tipos de
casos en que una función de utilidad permiten tomar
decisiones?
Agentes que aprenden
Un agente que aprende se puede dividir en cuatro componentes:
• Elemento de actuación: es el responsable de seleccionar
las acciones externas.
• Elemento de aprendizaje: es responsable de hacer
mejoras.
• El generador de problemas: es responsable de sugerir
acciones que lo guiaran [sic] hacia experiencias nuevas e
informativas.
• La crítica: indica al elemento de aprendizaje que tal lo está
haciendo el agente con respecto a un nivel de actuación
fijo… (Morales González y Mejía Z., [Link]
2012, p. 10)
El elemento de actuación es lo que anteriormente se había considerado
como el agente completo: recibe estímulos y determina las acciones a
realizar.
El elemento de aprendizaje se retroalimenta con las críticas sobre la
actuación del agente y determina cómo modificar el elemento de actuación
para proporcionar mejores resultados futuros. (Russell y Norvig, 2004)
Según la bibliografía, ¿por qué es tan importante la
distinción entre elemento de aprendizaje y elemento
de actuación?
Nivel de actuación
Agente
Sensores
Crítica
Retroalimentación
Medio ambiente
Elemento de Cambio
aprendizaje Elemento de
Conocimiento actuación
Objetivos a
aprender
Generador de
problemas
Actuadores
Esquema de un Agente que aprende (Fuente: Russell y Norvig, 2004, p. 60)
En definitiva, el aprendizaje en el campo de los agentes inteligentes
puede ser definido como el modo de modificar cada componente del
agente. Esto es lo que permite a cada uno de ellos comportarse en
consonancia con los datos que reciben, lo cual, a su vez, permite
optimizar el nivel medio de actuación del agente. (Russell y Norvig, 2004)
Fue Alan Turing quien estimó cuánto tiempo podía
llevar programar a mano una máquina inteligente y
que debía encontrarse un método más rápido. ¿Qué
opinas al respecto?
Se recomienda, para profundizar estos conceptos, la lectura de los
ejemplos vertidos a lo largo del capítulo 2 del libro Inteligencia artificial. Un
enfoque moderno, de Russell y Norvig.
Bibliografías de referencia
Bellman, R. (1978) An Introduction to Artificial Intelligence: Can Computers Think?
San Francisco: Boyd & Fraser Publishing Company.
Charniak, E. Y McDermott, D. (1985) Introduction to Artificial Intelligence. Reading.
Massachusetts: Addison-Wesley.
Cook, S. (1971) The complexity of theorem proving procedures. In Proceedings of
the 3rd Annual ACM Symposium on Theory of Computing, pp. 151-158. New York:
ACM Press.
García, A. (2012) Inteligencia artificial: fundamentos, práctica y aplicaciones.
Madrid: TC libros.
Haugeland, J. (1985) Artificial Intelligence: The Very Idea. Cambridge,
Massachusetts: MIT Press.
Karp, R. (1972) Reducibility among combinatorial problems. In Miller R. E. and
Thatcher J. W. (Eds.), Complexity of Computer Compulations, pp. 85-103. New
York: Plenum.
Kurzweil, R. (1990) The Age of Intelligent Machines. Cambridge, Massachusetts:
MIT Press.
McCulloch, W. and Pitts, W. (1943) A logical calculus of the ideas immanent in
nervous activity. Bulletin of Mathematical Biophysics, 5 (pp. 115-137)
Morales González, Viviana y Mejía Z., C. (2012). Aprendizaje en máquinas con
inteligencia artificial. USB Laboratorio de Psicología. Universidad de San
Buenaventura Cali. Recuperado de [Link]
Nilsson, N. J. (1998) Artificial Intelligence: A New Synthesis. San Mateo, California:
Morgan Kaufmann.
Poole. D., Mackworth, A. K ., Goebel. R. (1998) Computational intelligence: A
logical approach. Oxford, UK: Oxford University Press.
Ponce Cruz, P. (2010) Inteligencia artificial con aplicaciones a la ingeniería.
México: Alfaomega.
Rich, E. Y Knight, K. (1991) Artificial Intelligence (2ª ed.). New York: Mc Graw-Hill.
Russell, S. J. y Norvig, P. (2004) Inteligencia artificial. Un enfoque moderno (2ª
ed.). Madrid: Prentice Hall.
Winston, P. (1992) Artificial Intelligence (3ª ed.). Reading. Massachusetts:
Addison-Wesley.
Henry, F. (09-06-2014) [Link] Recuperado el 20-07-2014 de
[Link]
Cruz, M. (16-04-2014) [Link] Recuperado el 27-08-2014 de
[Link]
González, C. S. (05-04-2004) Relieve Recuperado el 20-07-2014 de
[Link]
López, A. (11-10-2014) El píxel ilustre Recuperado el 20-07-2014 de
[Link]
Roberson, N. (10-01-2014) The marketing robot Recuperado el 20-07-2014 de
[Link]
Sanz, E. (17-02-2013) Gits Informática Recuperado el 20-07-2014 de
[Link]