Está en la página 1de 52

UNIDAD II: AGENTES INTELIGENTES

CONTENIDO

HISTORIA

TERMINOLOGIA

CARACTERIZACION DE UN AGENTE

TIPOS DE AGENTES

APLICACIONES DE AGENTES

TIPOS DE AMBIENTES

CONCLUSIONES
HISTORIA DE LOS AGENTES
Skinner (1953)
El anlisis de la actividad de un agente racional como una correlacin que permite pasar de
secuencias de percepciones a acciones a meras correlaciones entrada/salida o estmulo/respuesta.
(Putnam,1960; Lewis, 1966)
El paso del conductismo al funcionalismo en el mbito de la psicologa, incorpor la nocin de estado
interno de un agente
Daniel Dennet (1969, 1978)
Contribuy a sintetizar en una posicin intencional coherente en relacin con los agentes.

Jon Doyle (1983)


Propuso la idea de que el diseo de agentes racionales es la medula de la IA y seguira siendo su
objetivo primordial.

Horvitz (1988)
Fueron especficos al sugerir el empleo de la racionalidad, concebida sta como la obtencin del
mximo de utilidad esperada.

Herb Simon (1958)


Estableci una clara diferencia entre la racionalidad bajo limitaciones de recursos (racionalidad de
procedimientos) y la racionalidad de hacer una eleccin objetivamente racional (racionalidad
sustantiva)

Russell y Wefald (1991)


Abordan explcitamente la posibilidad del empleo de una diversidad de arquitecturas de agente.
TERMINOLOGIA DE AGENTES

DEFINICION:
Un agente es todo aquello que puede considerarse
que percibe su ambiente mediante sensores y que
responde o acta en tal ambiente por medio de
efectores.
TERMINOLOGIA DE AGENTES

AGENTES: DEFINICIN

Definicin de Hayes-Roth:
Los agentes inteligentes continuamente realizan tres funciones:
percepcin de condiciones dinmicas en el ambiente; accin para afectar
condiciones en el ambiente; y razonamiento para interpretar las
percepciones, resolver problemas, realizar inferencias, y determinar
acciones.

En esta definicin el comportamiento del agente para lograr acciones se


presenta con mayor detalle, como una serie de pasos a seguir:
monitorear eventos, razonar sobre los mismos, inferir posibles acciones y
finalmente ejecucin de la accin.
TERMINOLOGIA DE AGENTES

Agente Autnomo

Un agente autnomo es un sistema situado que siente


ese entorno y acta sobre l, a travs del tiempo,
persiguiendo sus propios objetivos de forma que afecte lo
que siente en el futuro.

Agente Humano

Los agentes humanos tienen ojos, odos y otros rganos


que le sirven de sensores, as como manos, piernas, boca
y otras partes de su cuerpo que le sirven de efectores.
TERMINOLOGIA DE AGENTES

Agente Ideal
Un buen agente debe ser comunicativo, es decir, debe ser
capaz de entender tus propuestas, preferencias y
limitaciones. Adems, debe estar capacitado para escoger
entre varias opciones a partir de una simple consulta; debe
ser autnomo y actuar sin que el usuario le controle todo el
tiempo; y, por ltimo, debera ser adaptable, que pudiera
aprender de otras experiencias y de las preferencias de sus
usuarios.

Agente Inteligente

El agente inteligente es capaz de autoevaluarse, auto


aprender y cambiar su accin de acuerdo al ambiente.
TERMINOLOGIA DE AGENTES

Agentes Robticos
En el caso de agentes robticos, los sensores son
sustituidos por cmaras infrarrojas y los efectores son
reemplazados mediante motores.

Agente Racional
Es aquel que hace lo correcto, lo correcto se afirmar que
es que el agente tenga el mejor desempeo. El agente
racional puede medir su propio desempeo. Los agentes
pueden medirse pero no es recomendable.

Agentes de Software
En el caso de un agente de software, sus percepciones y
acciones vienen a ser la cadena de bits codificados.
TERMINOLOGIA DE AGENTES

Medicin de desempeo

El trmino de medicin de desempeo se aplica al cmo es


el criterio que sirve para definir qu tan exitoso ha sido un
agente

Omnisciencia

Un agente omnisciente es aquel que conoce el resultado


real que producirn sus acciones, y su conducta es
congruente con ello
CARACTERIZACION DE UN AGENTE

CARACTERIZACION DE UN AGENTE
VER A UN AGENTE COMO UN SISTEMA DE COMPUTO CAPAZ DE ACTUAR DE FORMA AUTONOMA Y FLEXIBLE EN UN
ENTORNO CON LAS SIGUIENTES CARACTERISTICAS:

REACTIVO
El agente es capaz de responder a cambios en el entorno en que se encuentra situado
PROACTIVO
El agente es capaz de intentar cumplir sus propios planes u objetivos
SOCIAL
Debe de poder comunicarse con otros agentes mediante algun tipo de lenguaje de
comunicacin de agentes.
CONTINUIDAD TEMPORAL
Se considera a un agente un proceso sin fin, ejecutndose continuamente y desarrollando su
funcin.
AUTONOMIA
Un agente es completamente autnomo si es capaz de actuar basndose en su experiencia, el
agente es capaz de adaptarse aunque el entorno cambie severamente.
RACIONALIDAD
El agente siempre realiza "LO CORRECTO" a partir de los datos que percibe del entorno.
ADAPTATIVIDAD
Esta relacionado con el aprendizaje que un agente es capaz de realizar y si puede cambiar su
comportamiento basndose en ese aprendizaje
CARACTERIZACION DE UN AGENTE

CARACTERIZACION DE UN AGENTE
Continuacin:

MOVILIDAD
Capacidad de un agente de trasladarse a travs de una red telemtica.
VERACIDAD
Asuncin de que un agente no comunica informacin falsa a propsito.
BENEVOLENCIA
Asuncin de que un agente esta dispuesto a ayudar a otros agentes si esto no entra en
conflicto con sus propios objetivos.
3 leyes de la Robotica (Isaac Asimov)
1.- Un robot no puede daar a un ser humano ni, por inaccin, permitir
que ste sea daado.

2.- Un robot debe obedecer las rdenes dadas por los seres humanos
excepto cuando estas rdenes entren en conflicto con la Primera Ley.

3.- Un robot debe proteger su propia existencia hasta donde esta


proteccin no entre en conflicto con la Primera o la Segunda Ley.
TIPOS DE AGENTES

AGENTE BASADO EN TABLAS


Un mapeo de secuencias de percepciones a acciones es una tabla
cuyas entradas describen las acciones que un agente emprende como
respuesta a cada una de las secuencia de percepciones posibles. Si
disponemos de tal tabla, podemos construir un agente cuyo
comportamiento se base en el contenido de sta. Llamaremos a tal
agente un agente basado en tablas.

Agente
=
Arquitectura de agente
+
Programa de agente.
TIPOS DE AGENTES

Estructura de Agente basado en tablas


Arquitectura de agente + programa de agente

Arquitectura: Es la computadora que se ocupara de que las percepciones lleguen al


programa y las acciones lleguen a los efectores

Programa: Es una funcin que implementara la transformacin (Mapping) de secuencias


de percepciones en acciones

La Inteligencia Artificial se ocupa del diseo del programa Agente.

Los elementos que caracterizan al agente son:

(P) Percepciones Posibles


(A) Acciones posibles,
(M) Medida de Desempeo u objetivos que debe lograr,
(A) Tipo de Ambiente en el que va a operar
TIPOS DE AGENTES

Estructura de Agente basado en tablas


Para disear un agente, debemos especificar sus elementos.

Considere, por ejemplo, el diseo de un taxi automatico:

Percepciones:
Video, velocmetro, vlvulas, sensores del motor, teclados, GPS,

Ambiente:
Calles y avenidas, trafico, peatones, clima,

Medidas de Desempeo:

Seguridad, destinos posibles, ganancias, status legal, confort,

Actuadores:
Volante, acelerador, freno, bocina, corneta, tablero,
TIPOS DE AGENTES

Estructura de Agente basado en tablas


Para disear un agente, debemos especificar sus elementos.

Considere, por ejemplo, el diseo de un Sistema de Diagnostico Medico:

Percepciones:
Teclado para la entrada de sntomas, conclusiones, respuesta de
pacientes
Ambiente:
Pacientes, Hospital, Personal

Medidas de Desempeo:

Pacientes sanos, reducir costos, evitar demandas

Actuadores:
Visualizar preguntas, pruebas, diagnsticos, tratamientos,
casos
TIPOS DE AGENTES

TAREA #2
Especificar los elementos clave para los siguientes agentes:
Percepciones
Ambiente
Medida de Desempeo
Actuadores

1. Sistema de Anlisis de Imgenes de Satlites


2. Robot para la seleccin de componentes en industria
automotriz.
3. Controlador Inteligente de una Planta Geotrmica
4. Tutor Inteligente para Aprender un idioma (ingles)
5. Piloto automtico de un Avin
TIPOS DE AGENTES

1. Agente de Reflejo simple

2. Agente de Reflejo con estado interno

3. Agente con Metas explicitas

4. Agentes basados en Utilidad


TIPOS DE AGENTES

Agentes de reflejo simple:


Este tipo de agente no contiene internamente estados y sus procesos o acciones que
realiza son respuestas a la entrada de percepciones, a esta conexin entre percepciones y
acciones se las denomina reglas de condicin-accin. Ejemplo: Si el carro de adelante est
frenando entonces empiece a frenar.
TIPOS DE AGENTES

Agentes de reflejo con un estado interno:


Este tipo de agente guarda estados internos lo que nos sirve para ejecutar una accin. Los
sensores no nos pueden informar a la vez de todos los estados que maneja nuestro
ambiente, es por este caso que el agente necesita actualizar algo de informacin en el
estado interno. Esto le permite discernir entre que estados del ambiente que generan la
misma entrada de percepciones pero, sin embargo; para cada uno de los estados se
necesitan acciones distintas.
TIPOS DE AGENTES

Agentes con metas explicitas:


Adems de los estados, los agentes necesitan cierto tipo de informacin sobre sus metas
Estas metas van a detallar las situaciones a las que se desea llegar de este modo, el
programa de agente puede combinar las metas con la informacin de los resultados
(acciones) que emprenda y de esta manera poder elegir aquellas acciones que permitan
alcanzar la meta.
TIPOS DE AGENTES

Agentes basados en utilidad: (AGENTE RACIONAL IDEAL)


Las metas por s solas me garantizan la obtencin de una conducta de alta calidad. En mi
programa de agente se podra tener un conjunto de metas pero la obtencin de stas no
me garantizan distinciones entre estados satisfactorios o no, mediante una medida de
desempeo se podra establecer una comparacin entre los diversos estados del mundo
(ambientes) para poder encontrar el estado de satisfaccin para el agente. Este estado
ofrecer una mayor utilidad al agente.
La racionalidad est relacionada con :

1. La medida con la que se evala el


grado de xito logrado.
2. La secuencia de percepciones, es
decir, todo lo que hasta ese momento el
agente haya percibido.
3. El conocimiento que el agente posea
del mundo y de s mismo.
4. Las acciones que el agente puede
emprender
APLICACIONES DE AGENTES

Aplicaciones.
APLICACIONES DE AGENTES

Aplicaciones. TUTORES INTELIGENTES

Un Sistema Tutor Inteligente es un sistema de enseanza


asistida por computadora, que utiliza tcnicas de
Inteligencia Artificial, para:
1. Representar el conocimiento,
2. Dirigir una estrategia de enseanza; y
3. Capaz de comportarse como un experto, tanto en el
dominio de conocimiento que ensea (mostrando al
alumno cmo aplicar dicho conocimiento), como en el
dominio pedaggico, donde es capaz de diagnosticar la
situacin en la que se encuentra el estudiante y de
acuerdo a ello ofrecer una accin o solucin que le
permita progresar en el aprendizaje
APLICACIONES DE AGENTES

Aplicaciones. TUTORES INTELIGENTES


Componentes Generales
Kaplan propone una arquitectura para un Sistema Tutor Inteligente.
TIPOS DE AMBIENTES

Accesibles y no accesibles
Si los sensores de un agente le permiten tener accesos al estado total del ambiente se
dice que este es accesible a tal agente. Un agente es realmente accesible si los
sensores detectan todos los aspectos relevantes a la eleccin de una accin.
Deterministas y no deterministas
Si el estado siguiente de un ambiente se determina completamente mediante el estado
actual, as mismo como las acciones escogidas por el agente, nos encontramos ante un
ambiente determinista.
Episdicos y no episdicos
En este ambiente la experiencia del agente se divide en "episodios". Cada episodio
consta de un agente que percibe y acta. La calidad de su actuacin depender del
episodio mismo dado que los episodios subsecuentes no dependern de las acciones
producidas en episodios anteriores.
Estticos y dinmicos
Si existe la posibilidad de que el ambiente sufra modificaciones mientras que el agente
se encuentra deliberando, se dice que tal ambiente se comporta en forma dinmica en
relacin con el agente.
Discretos y continuos
Si existe una cantidad limitada de percepciones y acciones distintas y claramente
discernibles, se dice que el ambiente es discreto caso contrario es continuo.
TIPOS DE AMBIENTES

Ejemplos de entornos de trabajo y sus caractersticas


Agente Accesible Determinista Episodico Estatico Discreto
Crucigrama
Ajedrez con reloj
Pker
Backgammon
Taxi Circulando
Diagnostico Medico
Anlisis de Imagen
Robot Clasificador
Controlador de
Refinera

Tutor de Ingles
TIPOS DE AMBIENTES

Ejemplos de entornos de trabajo y sus caractersticas


Agente Accesible Determinista Episodico Estatico Discreto
Crucigrama SI SI NO SI SI
Ajedrez con reloj
Pker
Backgammon
Taxi Circulando
Diagnostico Medico
Anlisis de Imagen
Robot Clasificador
Controlador de
Refinera

Tutor de Ingles
TIPOS DE AMBIENTES

Ejemplos de entornos de trabajo y sus caractersticas


Agente Accesible Determinista Episodico Estatico Discreto
Crucigrama SI SI NO SI SI
Ajedrez con reloj SI NO NO SEMI SI
Pker
Backgammon
Taxi Circulando
Diagnostico Medico
Anlisis de Imagen
Robot Clasificador
Controlador de
Refinera

Tutor de Ingles
TIPOS DE AMBIENTES

Ejemplos de entornos de trabajo y sus caractersticas


Agente Accesible Determinista Episodico Estatico Discreto
Crucigrama SI SI NO SI SI
Ajedrez con reloj SI NO NO SEMI SI
Pker PARCIAL NO NO SI SI
Backgammon
Taxi Circulando
Diagnostico Medico
Anlisis de Imagen
Robot Clasificador
Controlador de
Refinera

Tutor de Ingles
TIPOS DE AMBIENTES

Ejemplos de entornos de trabajo y sus caractersticas


Agente Accesible Determinista Episodico Estatico Discreto
Crucigrama SI SI NO SI SI
Ajedrez con reloj SI NO NO SEMI SI
Pker PARCIAL NO NO SI SI
Backgammon SI NO(estocstico) NO SI SI
Taxi Circulando
Diagnostico Medico
Anlisis de Imagen
Robot Clasificador
Controlador de
Refinera

Tutor de Ingles
TIPOS DE AMBIENTES

Ejemplos de entornos de trabajo y sus caractersticas


Agente Accesible Determinista Episodico Estatico Discreto
Crucigrama SI SI NO SI SI
Ajedrez con reloj SI NO NO SEMI SI
Pker PARCIAL NO NO SI SI
Backgammon SI NO(estocstico) NO SI SI
Taxi Circulando PARCIAL NO(estocstico) NO NO NO
Diagnostico Medico
Anlisis de Imagen
Robot Clasificador
Controlador de
Refinera

Tutor de Ingles
TIPOS DE AMBIENTES

Ejemplos de entornos de trabajo y sus caractersticas


Agente Accesible Determinista Episodico Estatico Discreto
Crucigrama SI SI NO SI SI
Ajedrez con reloj SI NO NO SEMI SI
Pker PARCIAL NO NO SI SI
Backgammon SI NO(estocstico) NO SI SI
Taxi Circulando PARCIAL NO(estocstico) NO NO NO
Diagnostico Medico PARCIAL NO(estocstico) NO NO NO
Anlisis de Imagen
Robot Clasificador
Controlador de
Refinera

Tutor de Ingles
TIPOS DE AMBIENTES

Ejemplos de entornos de trabajo y sus caractersticas


Agente Accesible Determinista Episodico Estatico Discreto
Crucigrama SI SI NO SI SI
Ajedrez con reloj SI NO NO SEMI SI
Pker PARCIAL NO NO SI SI
Backgammon SI NO(estocstico) NO SI SI
Taxi Circulando PARCIAL NO(estocstico) NO NO NO
Diagnostico Medico PARCIAL NO(estocstico) NO NO NO
Anlisis de Imagen SI SI SI SEMI NO
Robot Clasificador
Controlador de
Refinera

Tutor de Ingles
TIPOS DE AMBIENTES

Ejemplos de entornos de trabajo y sus caractersticas


Agente Accesible Determinista Episodico Estatico Discreto
Crucigrama SI SI NO SI SI
Ajedrez con reloj SI NO NO SEMI SI
Pker PARCIAL NO NO SI SI
Backgammon SI NO(estocstico) NO SI SI
Taxi Circulando PARCIAL NO(estocstico) NO NO NO
Diagnostico Medico PARCIAL NO(estocstico) NO NO NO
Anlisis de Imagen SI SI SI SEMI NO
Robot Clasificador PARCIAL NO SI NO NO
Controlador de
Refinera

Tutor de Ingles
TIPOS DE AMBIENTES

Ejemplos de entornos de trabajo y sus caractersticas


Agente Accesible Determinista Episodico Estatico Discreto
Crucigrama SI SI NO SI SI
Ajedrez con reloj SI NO NO SEMI SI
Pker PARCIAL NO NO SI SI
Backgammon SI NO(estocstico) NO SI SI
Taxi Circulando PARCIAL NO(estocstico) NO NO NO
Diagnostico Medico PARCIAL NO(estocstico) NO NO NO
Anlisis de Imagen SI SI SI SEMI NO
Robot Clasificador PARCIAL NO SI NO NO
Controlador de PARCIAL NO NO NO NO
Refinera

Tutor de Ingles
TIPOS DE AMBIENTES

Ejemplos de entornos de trabajo y sus caractersticas


Agente Accesible Determinista Episodico Estatico Discreto
Crucigrama SI SI NO SI SI
Ajedrez con reloj SI NO NO SEMI SI
Pker PARCIAL NO NO SI SI
Backgammon SI NO(estocstico) NO SI SI
Taxi Circulando PARCIAL NO(estocstico) NO NO NO
Diagnostico Medico PARCIAL NO(estocstico) NO NO NO
Anlisis de Imagen SI SI SI SEMI NO
Robot Clasificador PARCIAL NO SI NO NO
Controlador de PARCIAL NO NO NO NO
Refinera

Tutor de Ingles PARCIAL NO NO NO SI


CONCLUSIONES

VENTAJAS
Los agentes representan una abstraccin ms para disear y desarrollar
Conclusiones
software, y que entra a ser parte de las abstracciones ya existentes, que han
ayudado a administrar la complejidad inherente al software. Y as como muchos
sistemas pueden ser modelados en forma natural y fcilmente entendibles como
un conjunto de objetos pasivos que interactan entre s, muchos otros sistemas
pueden modelarse como una coleccin de agentes autnomos interactuando
entre si.
La tecnologa de agentes autnomos y sistemas multiagentes es ms apropiada
para construir sistemas en los que:
1. Los datos, control o recursos estn distribuidos.
2. Los agentes dan una metfora natural para dar funcionalidad
al sistema.
3. Sistemas heredados deben interoperar en la red.
Los agentes inteligentes liberan de la tarea de discriminar entre un conjunto de
informacin que se tiene acerca de un tema para poder obtener la informacin
que sea ms conveniente para su uso.
Un agente utiliza la informacin adquirida en el pasado para tomar decisiones en
situaciones futuras en las que se encuentre.
Busqueda de ofertas en el ambiente de comercio
CONCLUSIONES

Conclusiones
EJEMPLOS DE LIBRERIAS PARA CONSTRUIR AGENTES

Cougaar
(acrnimo ingls de Cognitive Agent Architecture) es una plataforma de software
para el desarrollo de agentes, implementada en Java. Es el resultado de un
proyecto de investigacin DARPA que incluye no slo el core de la aplicacin
sino tambin una variedad de componentes que permiten visualizar y manejar
sistemas de agentes complejos.
La figura muestra el diseo bsico de Cougaar basada en agentes, donde los
nodos (JVM) contienen agentes. Los agentes a su vez contienen componentes
pluginns que interactan para definir el comportamiento de ese agente. El nodo
de servicios de nivel, tales como el envi de mensajes entre agentes, se
anuncian por los componentes de la infraestructura pluginns. Toda la
infraestructura est basada en componentes.

Pagina Oficial : http://cougaar.org/


EJEMPLOS DE LIBRERIAS PARA CONSTRUIR AGENTES

Java Agent DEvelopment Framework, o JADE, es una plataforma software para el


desarrollo de agentes, implementada en Java. La plataforma JADE soporta la
coordinacin de mltiples agentes y proporciona una implementacin estndar del
lenguaje de comunicacin.
JADE fue desarrollado originalmente por Telecom Italia y se distribuye como software
libre.
JADE crea mltiples contenedores para los agentes, cada uno de los cuales puede
ejecutarse en uno o en varios sistemas. Un conjunto de contenedores constituye una
plataforma. Cada plataforma debe tener un contenedor principal que tiene dos
agentes especiales denominados AMS y DF.

El AMS (Agent Management System) controla la plataforma. Es el nico que


puede crear y destruir a otros agentes, destruir contenedores y parar la
plataforma.
The DF (Directory Facilitator) proporciona un directorio que anuncia qu
agentes hay disponibles en la plataforma.

Pagina oficial : http://jade.tilab.com/


UNIDAD II: AGENTES INTELIGENTES

Qu es JADE? Java Agent DEvelopment framework


Jade es bsicamente dos cosas:

1. Una plataforma: que permite VIVIR y CONVIVIR a los agentes


dentro de ella.
2. Un conjunto de herramientas para el desarrollo de agentes y sistemas
de forma rpida.

Totalmente realizado en Java. (Portabilidad y Movilidad)

Software libre distribuido por TILAB en cdigo fuente bajo LPGL

http://jade.tilab.com/
UNIDAD II: AGENTES INTELIGENTES

Qu es JADE? Java Agent DEvelopment framework


Foundation for Intelligent Physical Agents (FIPA)
Arquitectura: Integracin de diferentes aplicaciones, incluso con plataformas de
diferentes propietarios.

Lenguaje de comunicacin empleado FIPA-ACL.

Servicios de agentes: ciclo de vida, pginas blancas, pginas amarillas,


transporte de mensajes,...

Conjunto de herramientas grficas que soportan la depuracin y ejecucin de


agentes (RMA, sniffer, ...)

http://www.fipa.org
UNIDAD II: AGENTES INTELIGENTES

Qu es JADE? Java Agent DEvelopment framework


Foundation for Intelligent Physical Agents (FIPA)
Arquitectura bsica

Plataforma distribuida
Comunicacin entre plataformas
Protocolos estndares
Internet

UNIDAD II: AGENTES INTELIGENTES

Qu es JADE? Java Agent DEvelopment framework


Foundation for Intelligent Physical Agents (FIPA)
Plataforma

Especificacin FIPA
Agentes y servicios
Comunicacin

UNIDAD II: AGENTES INTELIGENTES

Qu es JADE? Java Agent DEvelopment framework


FIPA: Arquitectura de Agentes

AMS . Agent Management System:

G
arantiza que cada agente en la plataforma tenga un nico nombre.
Encargado de proporcionar los servicios de pginas blancas y ciclo de vida, y
de mantener el directorio de los identificadores de agentes (AID: Agent
Identifier) y su estado.
Cada agente debe registrarse con el AMS para obtener un AID valido

DF . Directory Facilitator:

Agente que proporciona el servicio de pginas amarillas.


Un agente puede encontrar otros agentes que proporcionan
los servicios que requiere para cumplir sus objetivos

ACC . Agent Communication Channel:

Software que controla el intercambio de mensajes.


UNIDAD II: AGENTES INTELIGENTES

Instalacin de JADE
Requisitos para instalar el Jade:
Java Run Time version 1.2 o superiores.
Lo cual implica que este configurado correctamente el path y classpath de java.
(en la lnea de comandos se debe permitir ejecutar los comandos javac, y java )
El software de JADE se debe descargar del sitio web http://jade.tilab.com . Para
poder acceder a la zona de descargas debe registrarse. El archivo bsico de la
zona de descargas es el binario y normalmente lleva el siguiente nombre JADE-
bin-Y.X.zip
NetBeans la versin actual es 8.2
UNIDAD II: AGENTES INTELIGENTES

Instalacin de JADE
Requisitos para instalar el Jade:
Java Run Time version 1.2 o superiores.
Lo cual implica que este configurado correctamente el path y classpath de java.
(en la lnea de comandos se debe permitir ejecutar los comandos javac, y java )
El software de JADE se debe descargar del sitio web http://jade.tilab.com . Para
poder acceder a la zona de descargas debe registrarse. El archivo bsico de la
zona de descargas es el binario y normalmente lleva el siguiente nombre JADE-
bin-Y.X.zip
NetBeans la versin actual es 8.2
UNIDAD II: AGENTES INTELIGENTES

1.1 Definicin de agente JADE


Programar un agente JADE consiste en:
Definir una clase Java que representa al agente (la cual debe heredar de la clase jade.core.Agent).
Implementar los comportamientos que va a manifestar.

Un agente JADE cumple las siguientes caractersticas:


Tiene un nombre nico en el entorno de ejecucin.
Se implementa como un nico hilo de ejecucin (single-threaded).
Tiene un mtodo de inicio (setup) y otro de fin (takeDown).
El mtodo protegido setup() sirve para inicializar el agente incluyendo instrucciones que especificarn
la ontologa a utilizar y los comportamientos asociados al agente. Se invoca al comenzar la ejecucin
del agente.
El mtodo protegido takeDown() sirve para liberar recursos antes de la eliminacin del agente. Este
mtodo es invocado cuando se realiza una llamada al mtodo doDelete(), que es el que realmente da
por finalizada la ejecucin del agente.
Ambos mtodos deben ser sobrescritos.
En su implementacin se define una clase interna por cada uno de los comportamientos asociados al
agente. Estos comportamientos se utilizan bsicamente para el envo y recepcin de mensajes, aunque
tambin se pueden utilizar para realizar otras tareas.

import jade.core.Agent;

public class MiAgente extends Agent {


protected void setup(){ // inicializacin de MiAgente }
protected void takeDown() { // liberacin de recursos del agente }
}
UNIDAD II: AGENTES INTELIGENTES

1.1.1 Clase Agent


La clase Agent:
Es una superclase comn que permite a los usuarios crear software de
agentes.
Suministra mtodos que permiten ejecutar las tareas bsicas de los
agentes como:
Pasar mensajes utilizando objetos ACLMessage, con
correspondencia de patrones.
Dar soporte al ciclo de vida de un agente.
Planificar y ejecutar mltiples actividades concurrentemente.

Los programadores de aplicaciones basadas en agentes deben escribir sus


propios agentes como subclases de Agent, aadiendo tantos
comportamientos especficos como sean necesarios y explotando las
capacidades de la clase Agent.
UNIDAD II: AGENTES INTELIGENTES
1.2 Ciclo de vida de un agente
Un agente est sujeto a un ciclo de vida en el que se definen los estados en los
cuales se puede encontrar el agente, as como los cambios que se pueden realizar
entre los diferentes estados.
El ciclo de vida de un agente JADE sigue el ciclo propuesto por FIPA, es decir,
cumple con la propuesta del estndar de interoperabilidad entre agentes ms
aceptado.

1.2.1. Estados de un agente


Un agente puede estar en los siguientes estados:
1. Iniciado: El objeto Agente est creado pero todava no se ha registrado en el AMS, no tiene nombre ni
direccin y tampoco se puede comunicar con otros agentes.
2. Activo: El Agente est registrado en el AMS, tiene un nombre, una direccin y puede acceder a todas las
opciones de JADE.
3. Suspendido: El Agente est parado. Su hilo de ejecucin est detenido y no ejecuta ningn
Comportamiento.
4. En espera: El Agente est bloqueado esperando por algo. Su hilo de ejecucin est dormido en un
monitor de java y se despertar cuando se cumpla una cierta condicin (cuando reciba un mensaje).
5. Desconocido: El Agente ha sido eliminado. El hilo de ejecucin ha terminado y se ha eliminado del
registro del AMS.
6. Trnsito: Un Agente mvil entra en este estado mientras est migrando a una nueva localizacin. El
sistema sigue guardando los mensajes en el buffer hasta que el agente vuelve a estar activo.
UNIDAD II: AGENTES INTELIGENTES
UNIDAD II: AGENTES INTELIGENTES
UNIDAD II: AGENTES INTELIGENTES

1.3 Creacin de agentes


En el momento de crearse un agente se realizan varias tareas de forma automtica:
1. Se llama al constructor del agente.
2. Se crea un identificador del agente (AID).
3. Se registra el agente en el AMS.
4. Se ejecuta el mtodo setup(), que debe contener nicamente el cdigo relativo a las tareas de
inicializacin.

En el mtodo setup() del agente adems puede:


Modificar el registro del AMS.
Registrar el agente de forma explcita en el DF.
Aadir las tareas/comportamientos/behaviors que ejecutar el agente.
Etc.

El esqueleto de la creacin de un agente es bastante simple. El siguiente cdigo


muestra un ejemplo de creacin de un agente que lo nico que hace es visualizar el
texto Hola Mundo, El agente se ha iniciado.".
// Esqueleto de un agente JADE

import jade.core.Agent;

public class MiAgente extends Agent {


protected void setup() {
System.out.println(Hola Mundo, El agente se ha iniciado.");
}
}

También podría gustarte