2. Área C. Computación e Inteligencia Artificial
Dpto. Tecnologías de la Información
Agentes
3. ÁreaC.ComputacióneInteligenciaArtificial
Dpto.TecnologíasdelaInformación
Agentes
• ¿Qué es un agente?
• RAE
• 1. adj. Que obra o tiene virtud de obrar.
• 2. adj. Gram. Dicho de una palabra o de una expresión:
Que designa a la persona, animal o cosa que realiza la acción
del verbo. U. m. c. s. m.
• 3. m. Persona o cosa que produce un efecto.
• 4. m. Persona que obra con poder de otra.
12. ÁreaC.ComputacióneInteligenciaArtificial
Dpto.TecnologíasdelaInformación
Sensores
• ¿Qué sensor usar?
• ¿Qué modelo de sensor?
• ¿Cómo calibrar el sensor?
• ¿Cómo entrega los datos en sensor?
• ¿cómo se activa en sensor?
• ¿cuál es la frecuencia de muestreo?
• ¿Cuál es el error?
• ¿Qué procesos de bajo nivel realizar? – assembler
• ¿Qué procesos de alto nivel realizar? – en el agente
15. ÁreaC.ComputacióneInteligenciaArtificial
Dpto.TecnologíasdelaInformación
Percepciones
• El comportamiento de un agente depende de la
secuencia de percepciones en un momento dado.
• Se puede caracterizar un agente elaborando una
tabla de percepcionesàacciones.
(mapeo de: percepciones à acciones)
Mapeo Ideal.
Es aquel mapeo que especifica que tipo de acción deberá emprender un agente
como respuesta a una determinada secuencia de percepciones
16. ÁreaC.ComputacióneInteligenciaArtificial
Dpto.TecnologíasdelaInformación
Mapeo
• Mapeo de secuencias de percepciones para acciones
percepción à acción
• Mapeo Ideal
• El especificar qué tipo de acción deberá emprender
un agente como respuesta a una determinada
secuencia de percepciones constituye el diseño de un
agente ideal.
pi à ai
p1 à a1 à p2 à a2
p1 à a1 à p2 à a2 à p3 à a3
Ideal: Tiene acción para cualquier percepción
22. ÁreaC.ComputacióneInteligenciaArtificial
Dpto.TecnologíasdelaInformación
Agentes
• Arquitectura.
• Pone al alcance del programa las percepciones
obtenidas mediante los sensores, lo ejecuta y alimenta el
efector con acciones elegidas por el programa
conforme se van generando.
• Programa.
• Es un algoritmo que recepciona las percepciones del
agente y genera una secuencia de acciones
Agente = Arquitectura + Programa
32. ÁreaC.ComputacióneInteligenciaArtificial
Dpto.TecnologíasdelaInformación
Agente Racional
• En todos los casos de posibles percepciones,
• un agente racional deberá emprender todas aquellas
acciones que favorezcan obtener el máximo de su
medida de rendimiento,
• basándose en las evidencias aportadas por la secuencia
de percepciones
• y en todo conocimiento incorporado en tal agente.
35. Área C. Computación e Inteligencia Artificial
Dpto. Tecnologías de la Información
Entorno
36. ÁreaC.ComputacióneInteligenciaArtificial
Dpto.TecnologíasdelaInformación
Entorno
• Accesible y no accesible.
• Accesible, si los sensores detectan los aspectos
que requiere el agente para elegir una acción.
• Deterministas y no deterministas.
• Determinista, si el estado siguiente de un
ambiente se puede determinar completamente
con el estado actual y las acciones escogidas por
el agente.
37. ÁreaC.ComputacióneInteligenciaArtificial
Dpto.TecnologíasdelaInformación
Entorno
• Episódicos y no episódicos.
• Episódico, cuando la experiencia del agente se divide en
episodios, si es episódico, es más simple. Cada acción
corresponde a las percepciones de un único episodio.
• Estáticos y dinámicos.
• Estático, si el medio ambiente no cambia mientras el agente se
encuentra deliberando.
• Discreto y continuo.
• Discreto, si existe una cantidad limitada (y delimitada) de
percepciones y acciones distintas y distinguibles
38. Área C. Computación e Inteligencia Artificial
Dpto. Tecnologías de la Información
Tipos de agentes
40. ÁreaC.ComputacióneInteligenciaArtificial
Dpto.TecnologíasdelaInformación
Tipos de Agentes
• Agente reflejo simple.
• Las acciones del agente se establecen en función a una tabla de
percepción --> acción.
• Agentes con estado interno.
• Es un agente reflejo, pero que almacena sus percepciones anteriores, tiene
memoria.
• Agentes basados en metas
• Agente que combina propiedades de los dos anteriores, pero que tiene una meta a
la cual llegar. Necesita buscar el mejor camino y planificar la secuencia de acciones.
• Agentes basados en utilidad.
• Son aquellos agentes que tienen múltiples metas que cumplir, mide el grado de
satisfacción del grado de cumplimiento de sus metas.
41. Agentes Reactivos
Selecciona una acción únicamente
en función de la percepción actual.
Se implementa con reglas
“condición-acción”
if (status == Dirty) then
return Suck
else if (location == A) then
return Right
else if (location == B) then
return Left
45. ÁreaC.ComputacióneInteligenciaArtificial
Dpto.TecnologíasdelaInformación
Agente basado en metas
• Para decidir qué hacer no basta con tener información acerca
del estado.
• Además se requiere cierto tipo de información sobre su meta.
• Este tipo de agente toma en cuenta el futuro.
• Puede ser más flexible si cambian las condiciones o cambian las
metas.
• La búsqueda y la planificación son sub-campos de la IA que se
ocupan de encontrar las secuencias de acciones que permiten
alcanzar las metas de un agente.
50. ÁreaC.ComputacióneInteligenciaArtificial
Dpto.TecnologíasdelaInformación
Agentes vs. Objetos
“Objects do it for free;
agents do it for money”
— Objetivos: un agente puede mostrar un comportamiento proactivo
— Concurrencia: un agente tiene su propio thread de control
— Agentes autónomos vs. objetos activos
— Objetos Activos
— Controlan su estado, pero no su comportamiento
— Si un método es público, será ejecutado si es invocado
— La decisión está en el objeto que invoca (no en el invocado)
— Agentes
— Controlan su estado y su comportamiento
— Pueden rechazar la ejecución de una acción
— La decisión de realizar una acción está en el agente y está basada en sus intereses (racionalidad!!!)
Programamos agentes usando lenguajes de OO
51. Área C. Computación e Inteligencia Artificial
Dpto. Tecnologías de la Información
Sistemas Multiagentes
56. ÁreaC.ComputacióneInteligenciaArtificial
Dpto.TecnologíasdelaInformación
Coordinación
• El grado de Coordinación de un MAS depende de:
• La capacidad de un individuo (agente) a realizar la tarea
completa.
• La dependencia de unos agentes sobre otros para realizar
las tareas.
• La necesidad de reducir/optimizar el uso de recursos.
• La necesidad de evitar fallos del sistema.
• La necesidad de mantener algunas condiciones del sistema.
64. ÁreaC.ComputacióneInteligenciaArtificial
Dpto.TecnologíasdelaInformación
Competición y Negociación
• Nosotros estaremos más interesados en Negociación
• ... que es una competición que involucra un nivel de inteligencia
algo más alto.
• El grado de éxito en una negociación (para cada agente) puede ser
medido por:
• La capacidad de este agente de maximizar su propio beneficio.
• La capacidad de no tener en cuenta el beneficio de los otros
agentes o, incluso, tratar de minimizar el beneficio de los
demás.
65. ÁreaC.ComputacióneInteligenciaArtificial
Dpto.TecnologíasdelaInformación
Coordinación Centralizada
• Una forma de rebajar la complejidad en los MAS es crear
un controlador centralizado, esto es, un agente específico
que asegura la coordinación.
• Los coordinadores son agentes los cuales tienen algún
tipo de control sobre los objetivos de los otros
agentes o, al menos, en parte del trabajo asignado a un
agente, acorde al conocimiento sobre las capacidades de
cada agente que está a las órdenes del agente coordinador.
67. ÁreaC.ComputacióneInteligenciaArtificial
Dpto.TecnologíasdelaInformación
Coordinación Centralizada
• Aunque este tipo de arquitectura es más fácil de construir, las
principales desventajas son:
• El agente coordinador llega a ser una pieza crítica del
sistema, el cual depende de la fiabilidad de solo un agente y
las líneas de comunicación que lo conectan.
• En el peor de los casos, si el agente colapsa, el sistema puede
también colapsar.
• Los otros agentes tienen una severa pérdida de autonomía. El
comportamiento adecuado del sistema depende de la
sumisión de los agentes aceptando órdenes del coordinador.
68. ÁreaC.ComputacióneInteligenciaArtificial
Dpto.TecnologíasdelaInformación
Coordinación Distribuida
• Una alternativa es distribuir no solamente la carga de
trabajo sino el control entre todos los agentes del
sistema.
• Eso significa interiorizar el control en cada agente, el
cual tiene que ser provisto con razonamiento y
habilidades sociales, para hacer posible razonar sobre
intenciones y conocimiento de otros agentes... más el
objetivo global de la sociedad, encaminado a una
coordinación exitosa con otros agentes y resolver todos
los conflictos que se planteen.
70. ÁreaC.ComputacióneInteligenciaArtificial
Dpto.TecnologíasdelaInformación
Modelos sociales
• Una fuente de inspiración para solucionar los problemas
de coordinación son las sociedades humanas.
• La Sociología es la rama de las ciencias que estudia la
interrelación entre los individuos y la sociedad.
• La Teoría de la Organización es un área entre la
Sociología y la Economía que estudia como las relaciones
pueden ser estructuradas en organizaciones humanas.
72. ÁreaC.ComputacióneInteligenciaArtificial
Dpto.TecnologíasdelaInformación
Otra Clasificación
• La Coordinación puede ser también dividida en otra
dimensión:
• Coordinación Explícita:
Los agentes se comunican objetivos, planes, acciones,
estado del mundo con el objetivo explícito de actuar
coherentemente.
• Coordinación Implícita:
Sin comunicación. El entorno actúa como mecanismo
de interacción
76. ÁreaC.ComputacióneInteligenciaArtificial
Dpto.TecnologíasdelaInformación
La Pizarra. (Blackboard)
• El primer esquema para la resolución cooperativa fue: La pizarra o
Blackboard system.
• Se comparten los resultados vía estructuras de datos compartidas
• Los agentes pueden leer y escribir en la pizarra
• Los agentes escriben soluciones parciales en la pizarra.
• La pizarra puede estar estructurada jerárquicamente
• Se requiere exclusión mutua
• No permite la concurrencia.
79. ÁreaC.ComputacióneInteligenciaArtificial
Dpto.TecnologíasdelaInformación
Razones
• ¿Por qué necesitamos algo más que la coord. explícita?
• En algunos casos no puede ser aplicada:
• Velocidad: La comunicación con otros es demasiado lenta.
• Ausencia de comunicación: puede no haber un canal de
comunicación.
• Seguridad: No queremos que otros sepan de nuestros planes.
• Complejidad:Algunos agentes puede ser demasiado simples
para generar y entender mensajes.
80. ÁreaC.ComputacióneInteligenciaArtificial
Dpto.TecnologíasdelaInformación
Modelado de Agentes
Pensando sobre otros
• Incluso si no puedes hablar con otros agentes podemos querer
razonar sobre ellos.
• Varios métodos:
• Modelado Recursivo: asumir que otros tienen una estructura
similar a la nuestra - y pueden tener un modelo mio y yo de ellos.
• Reconocimiento de Planes: mejor que tratar de modelizar los
modelos de mente de otros agentes, es mejor entender que están
tratando de lograr.
• Juegos/árboles: modelar oponentes mediante técnicas de juegos:
p.e. búsqueda Minimax (Alfa-Beta)
81. ÁreaC.ComputacióneInteligenciaArtificial
Dpto.TecnologíasdelaInformación
Estructuras sociales
Pensando en las sociedades
• Los métodos basados en estructuras sociales imponen restricciones o
normas en el comportamiento de agentes en un entorno.
• Aproximaciones comunes:
• Leyes sociales: reglas globales, las cuales los agentes seguirán y
conducirán a un “comportamiento coherente”, ya sea infundido en la
programación del agente o comunicado cuando entra en el entorno.
(p.e.: conducir por la izquierda en Inglaterra)
• Relaciones de poder: relaciones de dependencia a la hora de
conseguir objetivos. (p.e. hacer una tarea encargada por un superior.)
• Instituciones Electrónicas: grupos de agentes que establecen y hacen
cumplir un conjunto de normas.
82. ÁreaC.ComputacióneInteligenciaArtificial
Dpto.TecnologíasdelaInformación
Coordinación Emergente
Propiedades que aparecen espontáneamente
• Esta coordinación está indicada cuando:
• No hay comunicación directa entre agentes.
• No hay mecanismo para establecer o reforzar reglas sociales “a-priori”
• Los agentes pueden tener su propia “agenda”/objetivos y no le importan los
demás.
• La coordinación resultante es emergente y no puede ser vista como basada en
intenciones comunes.
• Ejemplos:
• Tidy Bots
• Paradigma basado en Avispas y/o hormigas - estigmergia
84. ÁreaC.ComputacióneInteligenciaArtificial
Dpto.TecnologíasdelaInformación
Tidy Bots
Beckers and Deneubourg
Simple:
• Los robots no necesitan hablarse entre ellos.
• Todos implementan una sola regla:“empuja la basura
para acercarla a otra”
• Emerge la agrupación de basura en montones.
• [con algo de planificación se puede acelerar el proceso]
https://www.youtube.com/watch?v=uOmRwDLsdXk
90. ÁreaC.ComputacióneInteligenciaArtificial
Dpto.TecnologíasdelaInformación
1. Sugerencia de etiquetado
• Basado en la idea de exploración de atributos
• Usa la base DG como base de conocimiento para el
sistema de sugerencias
"Toda foto/vídeo (documento) del almacén que tiene el
conjunto de etiquetas {X1...Xn} tiene también el conjunto
de etiquetas {Y1...Ym}.
¿Desea el usuario añadirle estas etiquetas al nuevo
documento?"
99. ÁreaC.ComputacióneInteligenciaArtificial
Dpto.TecnologíasdelaInformación
AgentDrive-City
• http://agents.fel.cvut.cz/agentdrive/
• City is a challenging environment for intelligent vehicles.
• Collision avoidance, dealing with the traffic junctions and adaptive path
planning are examples of existing challenges.
• Our agent-based simulations combine features of traffic simulations with
realistic driving simulation.
• We integrate structured road network data with realistic physics and
visualization.
• We work with OpenStreetMap and elevation data to provide reality-based
scenarios.
109. ÁreaC.ComputacióneInteligenciaArtificial
Dpto.TecnologíasdelaInformación
Más aplicaciones
• Multi-agent systems are applied in the real world to graphical applications such as
computer games.
• Agent systems have been used in films.
• They are also used for coordinated defence systems.
• Other applications include transportation,[20]
• logistics,[21]
• graphics,
• GIS as well as in many other fields.
• networking and mobile technologies, to achieve automatic and dynamic load
balancing, high scalability, and self-healing networks.
113. ÁreaC.ComputacióneInteligenciaArtificial
Dpto.TecnologíasdelaInformación
Más aplicaciones
• E-Commerce
• MAGMA(Minnesota AGent Marketplace
Architecture)
• Advertising server: all goods to sale
• Wallet: all information from Ad server/Bank
• Inventory: track of all goods owned by the
agent
• Negotiation: switch automatic (Vickrey)/
manual mode (negotiation)
• Ad manager: track of ads sent to Ad server/
allows to send new ones
114. ÁreaC.ComputacióneInteligenciaArtificial
Dpto.TecnologíasdelaInformación
Más aplicaciones
• They are also used for coordinated defence systems.
• Other applications include transportation,[20], logistics,
[21], graphics, GIS as well as in many other fields.
• networking and mobile technologies, to achieve
automatic and dynamic load balancing, high scalability,
and self-healing networks.
116. ÁreaC.ComputacióneInteligenciaArtificial
Dpto.TecnologíasdelaInformación
Más aplicaciones
• USAR: Urban Search and Rescue (Carnegie Mellon University)
• A Game Engine Based Simulation of the NIST Urban Search and
Rescue Arenas
• Objetive:
• To Develop interactive simulations of the National Institute of
Standards and Technology (NIST) Reference Test Facility for
Autonomous Mobile Robots (Urban Search and Rescue).
• The simulation is used to test and evaluate designs for
teleoperation interfaces and robot sensing and cooperation which
will subsequently be incorporated into experimental robots.
117. • Disaster’s Simulator:
• Modelling
Urban
Dynamics
as
Complex
Systems
http://www.youtube.com/watch?v=pTKhrpl9jZc
Caso de estudio: Huracán Katrina en N.
Orleans
119. ÁreaC.ComputacióneInteligenciaArtificial
Dpto.TecnologíasdelaInformación
Water dynamics as agent’s dynamics (I)
• Discretization of the terrain (hexagons)
• Direction:
• computed from data from GIS (desnivel)
• Potential energy: Reactive agent
• Velocity
• Otros factores son inabordables por falta de datos, como la absorción del terreno
en un entorno urbano, que se ha considerado muy baja, considerando en la práctica
un terreno saturado
• Other urban factors: the river, the topology of streets and buildings
• The river is the initial state of water agent
120. ÁreaC.ComputacióneInteligenciaArtificial
Dpto.TecnologíasdelaInformación
Water dynamics as agent’s dynamics (II)
• Factors as caudal y profundidad geolocalizada no están
disponibles en la WWW.
• It expects that La forma de los edificios será accesible en
el futuro mediante servicios/iniciativas crowdsourcing
(como http://sketchup.google.com/intl/es/) pero se
encuentran incompletos y calles y carreteras, que son
idóneas para una simulación fiel, pueden ser extraídos de
OSM.
121. ÁreaC.ComputacióneInteligenciaArtificial
Dpto.TecnologíasdelaInformación
Agents for simulating citizens’ behaviour
• There exist de estudios sobre el comportamiento de la
población en caso de crisis
• representan una valiosa información para el diseño
de los agentes-ciudadanos.
• También se pueden extraer patrones de
comportamiento de las encuestas realizadas a
supervivientes
• Refinar y estimar cómo prevenir situaciones de
riesgo, y predecir los daños asociados a cada
estrategia de supervivencia.
• La información recogida sobre los peores momentos de
la inundación, zonas más afectadas y lugares de mayor
concentración de personas ayudan a diseñar grupos de
agentes.
• A nivel multi-agente, se recoge información sobre
rutas frecuentes de evacuación y comportamientos
de grupos en situaciones de pánico [1
122. ÁreaC.ComputacióneInteligenciaArtificial
Dpto.TecnologíasdelaInformación
MAS structure
• Los agentes creador (CreatorAgent) y reloj (ClockAgent)
son agentes que lanzan y sincronizan la simulación
• Los agentes de entorno (EnvironmentAgent) recaban la
información sobre el terreno y actualizan la inundación (a
petición de los agentes que simulan el flujo de agua,
WaterSourceAgent).
• Por último, los agentes que simulan a los peatones
(PedestrianAgent) solicitan información acerca del entorno
en el que se encuentran al EnvironmentAgent, que
analizan para deliberar la acción a ejecutar.
128. ÁreaC.ComputacióneInteligenciaArtificial
Dpto.TecnologíasdelaInformación
Estándares
• Foundation for Intelligent Physical Agents (FIPA)
• Arquitectura: Integración de diferentes aplicaciones,
incluso con plataformas de diferentes propietarios.
• Servicios de agentes: ciclo de vida, páginas blancas,
páginas amarillas, transporte de mensajes,...
• Lenguaje de comunicación empleado FIPA-ACL.
• Conjunto de Herramientas gráficas que soportan la
depuración y ejecución de agentes (RMA, Sniffer, ...)
http://www.fipa.org
131. ÁreaC.ComputacióneInteligenciaArtificial
Dpto.TecnologíasdelaInformación
FIPA: Plataforma
Los agentes que controlan la plataforma son:
• AMS (Agent Management System)
• Garantiza que cada agente en la plataforma tenga un
único nombre.
• Encargado de los servicios de páginas blancas, ciclo de
vida, y directorio de los identificadores de agentes (AID:
Agent Identifier) y su estado.
• Cada agente debe registrarse con el AMS para obtener
un AID válido
141. ÁreaC.ComputacióneInteligenciaArtificial
Dpto.TecnologíasdelaInformación
AID: Identificadores de agentes
• Descripción del agente se almacen en la clase AID
(jade.core.AID)
• La clase Agent incorpora el método getAID() que
permite recuperar el nombre del agente.
• El nombre del agente, un identificador único
globalmente(normativa FIPA), va a tener la estructura
• <nickname>@<nombre-plataforma>:<puerto>/
JADE
172. ÁreaC.ComputacióneInteligenciaArtificial
Dpto.TecnologíasdelaInformación
Mas?
• Características Avanzadas
• Seguridad distribuida, tolerancia a fallos, soporte para la replica
de agentes y servicios, persistencia, …
• JADE y .NET
• JADE, Protègè, XML, RDF and OWL
• Integración con JESS (Java Expert System Shell)
• Permite razonar con los mensajes en JESS
• JADE herramientas de Internet
• Integrado con servlets, applets, JSP
• JADE + Android
173. Área C. Computación e Inteligencia Artificial
Dpto. Tecnologías de la Información
Gonzalo A. Aranda-Corral
GRACIAS!