Upload
gonzalo-aranda
View
445
Download
1
Embed Size (px)
Citation preview
Agentes, Sistemas Multiagente y Aplicaciones
Área C. Computación e Inteligencia Artificial Dpto. Tecnologías de la Información
Gonzalo A. Aranda-Corral
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
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.
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Agentes
� Definiciones de agente software
� Houston, we’ve got a problem!!!
� No hay definición universalmente aceptada
� Literatura: depende del dominio, del autor, …
� Terminología diversa para referirse a lo mismo
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Agentes
�The MuBot agent
“The term agent is used to represent two orthogonal concepts. The first is the agent's ability for autonomous execution. The second is the agent's ability to perform domain oriented reasoning” [Virhagriswaran]
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Agentes
�The AIMA agent [Russell & Norvig, 1995]
“An agent is anything that can be viewed as perceiving its environment through sensors and acting upon that environment through effectors”
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
pero...
23
• ¿ QUÉ CONSIDERAMOS NOSOTROS COMO AGENTES ?
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Agentes
� Un agente:
� Percibe el entorno à sensores
� Actúa en el entorno à efectores
� Asigna percepciones a acciones
• Mide lo “bien” que lo ha hecho
Entorno
percibe
actúa
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Agente
• Los agentes no requieren de la participación de los humanos para operar: Autónomos
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
3. PERCEPCIONES Y ACCIONES
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Sensores
• Los sensores sirven para adquirir información del medio ambiente
• Los sensores no son confiables por que:
• Incertidumbre, están afectados por cambios en el Medio.
• Error, en la detección.
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
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
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Sensores
Sentido
• Percepción de equilibrio
• Propiocepción
• Magnetocepción
• Electrocepción
• Eco localización
• Gradiente de presión
Sensores
• Acelerómetro
• Encoder
• Magnetómetro
• Sensor de voltaje
• Sonar
• Arreglo de presión
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Efectores
Humanos
• Músculos
Movimientos compuestos.
• Movimientos de brazos
• Caminata
• Escritura
• Habla
Máquinas • Rotación de Motores • Apertura o cierre de
válvulas.
Movimientos compuestos • Movimiento de
articulaciones • Orugas • Patas
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
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
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
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
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Agentificación
• Antes de diseñar un programa de agente, hay que hacer la descripción
• Percepciones
• Acciones
• Ambiente
• Metas
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Agentificación• EJEMPLO
• Agente: Robot clasificador de partes
• Percepciones
• Pixeles de intensidad variable
• Acciones
• Recoger partes, y clasificarlas en contenedores
• Ambiente
• Banda transportadora de partes
• Metas
• Poner las partes en el contenedor correspondiente
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Agentificación• Agente: Robot resuelve laberintos
• Percepciones
• Caminos y paredes
• Acciones
• Seguir algún camino
• Ambiente
• El laberinto.
• Metas
• El queso.
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
1. Agentes Software
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
1. Agentes Software
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
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
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Agentes
• Tipos de agentes:
• Naturales
• Cuerpos biológicos
• Entorno - Naturaleza
• Medida de rendimiento: supervivencia, reproducción, etc.
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Agentes
• Tipos de agentes:
• Artificiales
• Hardware (robots):
• Actúan directamente en el entorno físico
• Sensores: cámaras, odómetros, etc.
• Efectores: ruedas, brazos mecánicos, …
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Agentes
• Tipos de agentes:
• Artificiales
• Software (softbots):
• Entornos virtuales (e.g. Internet)
• Sensores y efectores: dependientes del dominio
Área C. Computación e Inteligencia Artificial Dpto. Tecnologías de la Información
Agentes Inteligentes (Racionales)
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Agentes INTELIGENTES
• (Autonomía)...
• Reactividad: Los agentes perciben de su entorno y responden a los cambios que se producen en él.
• Pro-actividad: Los agentes son capaces de tomar la iniciativa para la consecución de objetivos.
• Habilidad social: Los agentes interactúan con otros agentes (hasta humanos) a través de algún lenguaje.
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Agentes Inteligentes
• Para cada posible secuencia de percepciones, un agente racional seleccionaría un acción que maximice su medida de rendimiento, a partir de esa secuencia de acciones y el conocimiento que tenga en su interior.
• Racionalidad es distinto de Omnisciencia
Área C. Computación e Inteligencia Artificial Dpto. Tecnologías de la Información
MEDIDA DE RENDIMIENTO
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Medida de rendimiento
• Medida del desempeño
• Evalúa el “cómo”
• ¿qué tan exitoso ha sido un agente?
• Debe ser objetiva
• La racionalidad NO ES omnisciencia, clarividencia ni exitosa necesariamente.
• La racionalidad se puede ver como un éxito esperado, tomando como base lo que se ha percibido.
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Agente Racional
• Depende de:
• Medida del grado de éxito.
• Secuencia de percepciones.
• Conocimiento acerca del medio
• Acciones que puede emprender
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
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.
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
DISEÑO DE AGENTES
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Estructura de los Agentes Inteligentes
• Un propósito de la IA es el diseño de un programa de agente (una función que mapee de percepciones a acciones)
• Este programa se ejecutará en algún dispositivo de cómputo, o arquitectura.
?
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
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.
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
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
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Tipos de agentes
• Muchos tipos de agentes, en orden de crecimiento de la racionalidad:
• Agentes Reactivos
• Reactivos basados en modelos (estado interno)
• Basados en objetivos (metas)
• Basados en utilidad
• …
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
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.
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
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Agente con estado interno
Para abordar entornos parcialmente observable
Mantiene un estado interno
El estado se actualiza a lo largo del tiempo, usando el conocimiento que se adquiere
Usa un modelo del mundo y un conjunto de reglas
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Agente con estado interno
function MODEL-BASED-REFLEX-AGENT(percept) returns an action
state ← UPDATE-STATE(state,action,percept,model)
rule ← RULE-MATCH(state,rules)
action ← rule.ACTION
return action
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Agente basado en metas
Los agentes buscan lograr ciertos objetivos
El comportamiento se complica cuando las secuencias de acciones son muy largas para los objetivos
Búsqueda
Planificación
La diferencia fundamental es: EL FUTURO SE TIENE EN CUENTA
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
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.
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Agente basado en utilidad
Ciertas metas pueden ser alcanzadas de diferentes formas
Metas conflictivas o contradictorias
La función de utilidad mapea una secuencia de estados en un número real: la Utilidad.
Los agentes racionales tratan de maximizar esta utilidad.
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Otros agentes
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Agentes Aprendices
El agente tiene un elemento de aprendizajeEste elemento mejora el rendimiento del agente
La Crítica nos provee de información (feedback) sobre el rendimiento del agente
Elección de la acción en función de las percepciones y del elemento de aprendizaje
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Agentes .vs. objetos
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
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
Área C. Computación e Inteligencia Artificial Dpto. Tecnologías de la Información
Sistemas Multiagentes
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Introducción
• Coordinación en MAS
• Tipos de Coordinación
• Estructuras de Coordinación
• Modelos Sociales de Coordinación
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Coordinación
• Definición de Agente
• Autonomía, Reactividad y Proactividad
• Posteriormente:
• Comunicación: Habilidades sociales y Coordinación
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
• AQUI FALTARIA ALGO MAS DE INTRO
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Coordinación
• La Coordinación es una propiedad deseada en los MAS cuyos agentes tienen que realizar tareas complejas un entornos compartidos.
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
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.
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Coordinación. Definiciones
• La Coordinación puede ser definida como el proceso de manejo de dependencias entre actividades.
• Mediante ese proceso un agente razona sobre sus acciones locales y las acciones que prevé que realicen otros agentes, con el objetivo de hacer que la comunidad actúe de forma coherente.
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Coordinación
• La Coordinación es una funcionalidad que todo MAS debe implementar.
• La Coordinación se vuelve crítica cuando los agentes son heterogéneos y autónomos.
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Coordinación: Teoría
• Hay muchos trabajos teóricos y empíricos sobre coordinación, no sólo para dominios específicos sino, también para visiones más genéricas e independientes de dominio.
• Estos trabajos han estado encaminados a la realización de teorías de coordinación.
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Coordinación: Teoría
Coordinación
Cooperación
Planificación
Centralizada Distribuida
Competición
Negociación
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Cooperación y Planificación
• Cooperación es un tipo de coordinación entre agentes que, en principio, no son antagonistas.
• El grado de éxito en una cooperación puede ser medido por:
• La capacidad de los agentes por mantener sus propios objetivos
• La capacidad de permitir a otros agentes a alcanzar sus metas
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Cooperación y Planificación
• Planificación es uno de las formas más fuertes de cooperación
• Hay objetivos y planes compartidos
• Los agentes se asignan tareas para seguir los planes.
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Competición y Negociación
• La Competición es un tipo de Coordinación entre agentes antagonistas los cuales competirán con todos los otros o que son egoistas.
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
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.
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
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.
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Coordinación Centralizada
• Desde el punto de vista del programador, esta aproximación reduce la complejidad en la construcción de MAS:
• El objetivo final del sistema está asegurado por los objetivos del coordinador, el cuál reemplaza los objetivos de cualquier agente en el sistema.
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
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.
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
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.
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Coordinación Distribuida
• Sin embargo, en dominios donde el coste de un conflicto es bajo o la resolución del conflicto es difícil, el obtener comportamientos completamente independientes llega a ser irrazonable.
• Por tanto, algunas estructuras estarían definidas para coordinación en un escenario de control distribuido.
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
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.
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Modelos sociales
• Hay diferentes abstracciones que pueden hacerse:
• Confianza y Reputación
• Estructuras sociales y roles
• Organizaciones Electrónicas. Organizaciones virtuales.
• Instituciones Electrónicas.
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
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
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Coordinación Explícita
• Intenciones conjuntas
• Resolución cooperativa. (Cooperative Solving Problem)
• Teamwork
• Planificación
• Negociación
• Actos del habla, Algoritmos, Herramientas de Coordinación
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Coordinación con Mensajería
• Desarrollada por Cohen and Levesque, Wooldridge and Jennings.
• Los agentes se comunican con otros para compartir:
• Tareas
• Asignaciones
• Información del estado del mundo
• Motivaciones
• etc...
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Coordinación con Mensajería
• Estas comunicaciones son las bases de los acuerdos conjuntos sobre qué hacer.
• Esto es la base del “Cooperative Problem Solving Process”
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
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.
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
• La Coordinación se puede dividir también de forma:
• Coordinación Explicita: Los agentes se comunican planes, objetivos, acciones, estados del mundo, etc...
• Coordinación Implícita: sin comunicación – El entorno actúa como medio de interacción.
Coordinación
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Coordinación Implícita
• Razones para coordinación implícita
• Modelado de agentes
• Estructuras sociales
• Coordinación Emergente
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
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.
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
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)
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Estructuras socialesPensando 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.
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Coordinación EmergentePropiedades 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
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Tidy BotsBeckers and Deneubourg
Reto:• Una distribución aleatoria de trozos de basura en un
grid de 200x200
• Los agentes pueden detectarla y empujarla.
• ¿Cómo coleccionarías toda la basura en un solo montón?
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Tidy BotsBeckers 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
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Videos
• Swarmanoid: http://www.youtube.com/watch?v=M2nn1X9Xlps
• https://www.youtube.com/watch?v=YQIMGV5vtd4
• https://www.youtube.com/watch?v=5p6OAEVKw-0
• https://www.youtube.com/watch?v=DAL218HEsfg
• https://www.youtube.com/watch?v=4oSavAHf0dg
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Enrutamiento de redesAppleby and Steward
• El enrutamiento de redes es un reto
• La solución tiene que ser:
• Dinámica
• Robusta
• Redes de N nodos, L enlaces. El tráfico fluye mediante paquetes a través de la red.
Redes SocialesFo
to /
Víde
o
Plataforma Minerva
Aplic
ació
n m
óvil
Evento!
Microdiseminación
Canal MMS/SMS
Plataforma SinNet
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Agentes específicos
1. Sugerencias de etiquetado
2. Re-etiquetado
3. Gestión de menús
4. Conciliación de conocimiento
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
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?"
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Procesamiento
• El agente Inicializa el sistema de producción (SP) y carga la base DG
• Carga los hechos (etiquetas del objeto)
• Ejecuta el SP y recoge las nuevas etiquetas generadas/sugeridas
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
2. Re-Etiquetado
• Revisión del etiquetado del contenido almacenado
• Aparición de una nueva etiqueta (o varias)
• Nuevas apariciones frecuentes
• Gran cantidad de contenido
• Trabajo costoso para el usuario
• Prácticamente imposible desde el móvil
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
3. Gestión de menús
• Sistema de etiquetado con clicks
• Menú de etiquetado debe evolucionar
• Adaptación al usuario, y
• Adaptación al contenido
• Profundidad acotada
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
4. Conciliación del conocimiento
• Ideas de la conciliación
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Nuevos Ejemplos
• Ciudades
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
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.
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
AgentDrive-City
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Nuevos Ejemplos
• Social networks
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Ecosistema de circulación
París
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Ecosistema de circulación
• Sevilla: Urban Cameras
http://www.trajano.com/camaras.html
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Ecosistema de circulación
• Buses: Gijon
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Framework
Observations
Data on pedestrian mobility (non-aggregated)
Artificial models of mobility
Discrete Agent-Based model Formal
Context
Attribute selection & data
collection
Mobility patterns (implications)
Inference engine
Evaluation
New scenarios
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Working with real scenarios
• Map converted into squared grid
• Map layers are discretised with different colours
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
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.
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Más aplicaciones
• “Biological” simulation:
• Models:
• Ants
• Groups of animals (flocks, herds, schools...)
• Applications:
• Independant explorer robots
• Chess players
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Más aplicaciones
• MASSIVE SOFTWARE
• CINE
• World War Z: Building a Better Zombie Effects Exclusive-Design FX-WIRED
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Más aplicaciones
• MASSIVE SOFTWARE
• SIMULACIONES• Stéphane Espié and Jean Michel Auberlet. ARCHISIM: A behavioral multi-actors traffic
simulation model for the study of a traffic system including ITS aspects. International Journal of ITS Research n1 (2007): p7-
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
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
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
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.
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Más aplicaciones
• Proyectos de Simulación del Crecimiento Urbano
Simulación prospectiva (AC)
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
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.
• 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
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Agentification
• La simulación parte de un proceso de agentificación con, fundamentalmente, tres tipos de agentes: el agua, la ciudad (como entorno) y los ciudadanos.
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
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
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
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.
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
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
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
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.
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Visualization
• La visualización recurre a servicios como OSM o Google Maps/Earth
• También permiten visualizar resultados sobre el alcance, niveles de supervivencia por zonas, etc.
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Population, demography, flooding
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
¿Qué es JADE?
• Java Agent DEvelopment framework
• Jade es básicamente dos cosas:
• Una plataforma: que permite “VIVIR” y “CONVIVIR” a los agentes dentro de ella.
• Un conjunto de herramientas para el desarrollo de agentes y sistemas de forma rápida.
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
¿Qué es JADE?
• Totalmente realizado en Java.
• Portabilidad y
• Movilidad
• Software distribuido por TILAB bajo licencia LGPL
• Fuentes y binarios
• http://jade.tilab.com/
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
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
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
FIPA: Arquitectura
• Plataforma distribuida
• Comunicación múltiples niveles
• Protocolos estándares
• Internet
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
FIPA: Plataforma
• Soporte para servicios: Páginas blancas y amarillas
• Soporte a la Comunicación
• Servicios basados en Agentes
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
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
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
FIPA: Plataforma
Los agentes que controlan la plataforma son:
• DF (Directory Facilitator):
• Agente que proporciona el servicio de páginas amarillas.
• Un agente puede encontrar otros agentes que proporcionan los servicios que requiere para cumplir sus objetivos
• El registro en este agente es opcional
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
FIPA: Plataforma
Los agentes que controlan la plataforma son:
• ACC (Agent Communication Channel)
• Software que controla el intercambio de mensajes
• Selecciona el protocolo adecuado y lo hace transparente al agente
• Agente inaccesible de forma directa
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
FIPA: Lenguajes
• Establece estándares a varios niveles
• Protocolos
• Estructura del mensaje
• Lenguaje
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
FIPA: Herramientas
• Unificación de herramientas para la depuración distribuida
• Las herramientas son agentes
• RMA
• Sniffer
• etc...
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
FIPA: Algunos frameworks• Jade
• Jadex Agents (Java)
• Java Intelligent Agent Compontentware (JIAC)
• The SPADE Multiagent and Organizations Platform (Python)
• JACK Intelligent Agents (Java)
• The April Agent Platform (AAP) and Language (April) (No longer actively developed)
• Zeus Agent Building Toolkit (No longer actively developed)
• The Fipa-OS agent platform (No longer actively developed)
• AgentService (C#) (last update: 2009)
http://en.wikipedia.org/wiki/FIPA
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
JADE
• FIPA - Compliant
• Plataforma
• Agentes
• Arquitectura
• Lenguaje ¿?
• ...
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Cómo obtener Jade
• Dirección: http://jade.tilab.com
• La versión actual de Jade es la 4.3.3(Diciembre 2014)
• Nosotros usaremos: JADE 4.3.2 (Marzo 2014)
• Descarga: http://opendatalab.uhu.es/si
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
La clase (jade.core.)Agent
• Clase jade para construcción de agentes: (extends) jade.core.Agent
• public class miAgente extends Agent ....
• NUNCA SOBREESCRIBIR EL CONSTRUCTOR
• Inicialización: setup().
• protected void setup() { … }
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
La clase (jade.core.)Agent
• Clase jade para construcción de agentes: (extends) jade.core.Agent
• Para terminar:
• Invocar: doDelete().
• Sobreescribir: protected void takeDown().
• Para recuperar los parámetros pasados a un agente:
• Object[] args = getArguments();
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
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
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Ejercicio 1.
• Nuestro primer agente:
• Debemos de crear un agente cuya misión sea imprimir un “Hola Mundo”
package e01;
import jade.core.Agent;
public class Ejercicio01 extends Agent {
protected void setup() { System.out.println("Hola Mundo"); } }
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Ejecución
Área C. Computación e Inteligencia Artificial Dpto. Tecnologías de la Información
Comportamientos y Servicios
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Comportamientos
• Acciones y Percepciones:
• “Comportamientos”
• El agente “posee” los comportamientos y es el único que los puede activar y desactivar
• (agente).addBehaviour(...);
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Comportamientos
• El funcionamiento de los comportamientos está implementado a 2 niveles:
• Una cola circular de los comportamientos activos
• Una cola con los comportamiento bloqueados.
• Los comportamientos se desbloquean al recibir el agente un mensaje.
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Ciclo de vida de un agente
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Comportamiento
• Variable: myAgent
• Todas las acciones las realiza el agente
• Necesitamos myAgent para que un comportamiento invoque a otro comportamiento
• mande un mensaje
• etc...
• Reutilización de los comportamientos
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Tipos de comportamientos
• Comportamientos estándar:
• Behaviour: Comportamiento genérico.
• OneShotBehaviour: done() siempre devuelve “true”.
• CyclicBehaviour: done() siempre devuelve “false”.
• TickerBehaviour: se ejecuta periódicamente (dado en el constructor).
• FSMBehaviour: máquina finita de estados(Finite State Machine).
• ..............
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Tipos de comportamientos
• Los comportamientos además se pueden componer y formar comportamientos más complejos.
• Una implementación interesante sería el comportamiento BDI dentro de Jade.
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Comportamientos Compuestos
• FSMBehaviour es un comportamiento compuesto.
• De manera secuencial, y definiendo transiciones entre estados, se implementa la acción que debe realizar el comportamiento.
• FSMBehaviour carece de método action()
• Para la devolución del estado se sobreescribe el método onEnd(), que devuelve el entero que nos decidirá la transición de estado.
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Comportamientos Compuestos
• También existen otros como:
• SequentialBehaviour,
• ParallelBehaviour, …
• y ofrece posibilidades para que el desarrollador los cree
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Servicios
• Nivel de texto 1
• Nivel de texto 2
• Nivel de texto 3
• Nivel de texto 4
• Nivel de texto 5
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Servicios• 2 servicios fundamentales:
• AMS: Páginas Blancas
• DF: Páginas Amarillas
Área C. Computación e Inteligencia Artificial Dpto. Tecnologías de la Información
Comunicación y Protocolos
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Comunicación
• Comunicación TRANSPARENTE
• Agente ACC
• 3 niveles
• Internos (misma máquina): Eventos
• Misma red: RMI (Remote Method Invocation)
• Distinta red: CORBA (Common Object Request Broker Architecture)
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Comunicación
• La capacidad de comunicación
• envío de mensajes ACL.
• En 1 mensaje podemos distinguir 4 partes principales:
• Receptor y Emisor
• Contenido
• Directiva
• Lenguaje y Ontologías
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Comunicación
• Todas las acciones de un agente, deben de estar implementadas como comportamientos.
• La comunicación es una acción.
• Los comportamientos de envío podrían ser OneShot*.
• Los comportamientos cíclicos se usan para la recepción continua de mensajes.
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Comunicación
• Recepción de mensajes.
• El mensaje lo recibe el “agente”:
• myAgent.receive();
• Si no recibe mensaje, el comportamiento se puede de bloquear hasta que llegue un mensaje para él
• block();
• receive() .vs. blockingReceive()
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Protocolos
• Nivel de texto 1
• Nivel de texto 2
• Nivel de texto 3
• Nivel de texto 4
• Nivel de texto 5
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Protocolos
• FIPA establece unos protocolos estándares.
• Están basados en el uso de directivas (performativas).
• Algunos implementados en JADE
• FIPA Request Interaction Protocol Specification
• FIPA Query Interaction Protocol Specification
• FIPA Request When Interaction Protocol Specification
• FIPA Contract Net Interaction Protocol Specification
• ...
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Protocolos
• JADE da libertad de lenguaje.
• FIPA recomienda el lenguaje SL
• JADE trae soporte para lenguaje SL y LEAP(binario)
• También se puede hacer uso de ontologías
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Protocolos
• FIPA-REQUEST
• Según FIPA
Área C. Computación e Inteligencia Artificial Dpto. Tecnologías de la Información
Algunos ejemplos JADE
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
CAPTURAR LA BANDERA
• Nivel de texto 1
• Nivel de texto 2
• Nivel de texto 3
• Nivel de texto 4
• Nivel de texto 5
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Juego de las damas.
• Nivel de texto 1
• Nivel de texto 2
• Nivel de texto 3
• Nivel de texto 4
• Nivel de texto 5
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Mus
• Colaboración entre agentes por un objetivo común: ganar
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Mini-WarCraft
• Implementación del entorno como un agente, que es el que se encarga de la “física” del sistema.
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
JGomas
• JGOMAS: Game Oriented Multi Agent System
• basado en Jade
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Grandes Retos…
• Nivel de texto 1
• Nivel de texto 2
• Nivel de texto 3
• Nivel de texto 4
• Nivel de texto 5
Robocup Rescue Simulation
Robocup (Soccer) Simulation
Y más…
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
n
Enlaces interesantes
• http://programacionjade.wikispaces.com/
• http://dukechile.blogspot.com/search/label/JADE
• http://www.exa.unicen.edu.ar/catedras/tmultiag/apuntes.html
• Conferencia PAAMS
• http://jade.tilab.com
• …. GooGLE!!!
Área
C. C
ompu
taci
ón e
Inte
ligen
cia
Artifi
cial
D
pto.
Tec
nolo
gías
de
la In
form
ació
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