173
Agentes, Sistemas Multiagente y Aplicaciones Área C. Computación e Inteligencia Artificial Dpto. Tecnologías de la Información Gonzalo A. Aranda-Corral

Seminario Agentes, Multiagentes y Aplicaciones - MASTER US

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. Computación e Inteligencia Artificial Dpto. Tecnologías de la Información

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

• ¿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. Computación e Inteligencia Artificial Dpto. Tecnologías de la Información

Entorno

Á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. Computación e Inteligencia Artificial Dpto. Tecnologías de la Información

Tipos 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

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.

Área C. Computación e Inteligencia Artificial Dpto. Tecnologías de la Información

Aplicaciones

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

Resultado

Á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

Conciliación del conocimiento

Resultado

Á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. Computación e Inteligencia Artificial Dpto. Tecnologías de la Información

Dinámica peatonal

Á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

Experiments

• Simulated environment

Original

Simulado

Á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. Computación e Inteligencia Artificial Dpto. Tecnologías de la Información

Plataformas: 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

¿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

Área C. Computación e Inteligencia Artificial Dpto. Tecnologías de la Información

Gonzalo A. Aranda-Corral

GRACIAS!