You are on page 1of 12

1. Agentes.

Caractersticas. Wilson

- Autonoma: el agente inteligente acta sin ningn tipo de intervencin humana directa y tiene
control de sus propios actos.

- Capacidad de reaccin o reactividad: los agentes pueden detectar cambios en su entorno y


reaccionar ante ellos.

- Adaptabilidad: es una consecuencia directa de la caracterstica de reaccin, ya que los cambios


producidos por el entorno provocan que los agentes se estn continuamente adaptando a dichos
cambios.

- Comunicacin o sociabilidad: el agente es capaz de comunicarse por medio de un lenguaje


comn con otros agentes e incluso con las personas.

- Iniciativa o pro-actividad: el agente tiene un propsito u objetivo determinado y emprende las


acciones necesarias hasta conseguirlo.

- Continuidad temporal: los agentes no slo realizan ejecuciones en un momento determinado


sino que, desde su creacin, pasan a un estado de espera hasta cualquier evento provocado por
otro agente o usuario, o cualquier cambio producido en el entorno les haga reaccionar.

Las caractersticas anteriores son fundamentales, pero a su vez los agentes inteligentes pueden
presentar otras peculiaridades tales como, cooperacin (capacidad de interactuar con otros
agentes), movilidad (de un sistema a otro para acceder a recursos remotos o reunirse con otros
agentes), benevolencia (disponibilidad para ayudar a otros agentes cuando no entre en conflicto
con sus propios objetivos).

Un agente inteligente esta diseado especialmente para prestar servicio al usuario con el que se
comunica a travs de consultas, y para ello posee al menos unos de los siguientes elementos:

- Capacidad de proceso: es capaz de descomponer las consultas en subconsultas y asociar los


trminos resultantes de esta operacin con otros afines.

- Conocimiento del entorno donde se mueve: un agente debe saber en todo momento a qu
informacin acceder o a qu otro agente dirigirse para obtener esta informacin.

Clases de agentes (pasivo, activo, autnomo, racionales, inteligente, sociales,


autnomo, reactivo, deliberativo, cooperativo, basados en metas, basados en
utilidad, .... ). Wilson
Agentes Inteligentes
Editar 0 5

Agente:
Es un ente que situado en un entorno es capaz de percibir cambios
dentro del mismo, y actuar dependiendo de dichos cambios.
Caractersticas:
Un agente debe tener un prontuario de acciones que pueda utilizar
dependiendo de la necesidad
Los agentes aunque tienen un punto de vista parcial de su entorno,
pueden hallar soluciones aproximadas a las necesidades del
momento.
Una de las caractersticas ms importantes de un agente es que se
mueven dentro de un ambiente virtual.
Agente Inteligente:
Agente capaz de proceder de manera racional ante los cambios de su
entorno.

Agentes inteligentes 1 from jucagi

TIPOS DE AMBIENTES PARA AGENTES INTELIGENTES

Totalmente observable vs parcialmente observable.


Determinista vs Estocastico
Episodico vs Secuencial.
Estocastico vs Dinamico.
Discreto vs Continuo

Herramientas para Implementacin de Agentes


Los agentes inteligentes pueden ser implementados con diferentes herramientas
basadas en lenguajes de programacin como C++, LISP o JAVA. Cada una de
estas herramientas ofrece tcnicas o componentes que facilitan la implementacin
de agentes inteligentes.
Algunas herramientas conocidas para trabajar con agentes en lenguajes como
C++ y Java son las siguientes:
LALO: Una herramienta bastante conocida para el desarrollo de agentes en C++
es LALO, este es un lenguaje de programacin orientado a objetos para agentes,
todo el cdigo desarrollado en este lenguaje es convertido a C++. Esta
herramienta ofrece caractersticas para desarrollo de agentes que puedan
comunicarse entre s, aceptar o rechazar tareas o colaborarse entre s. En este
lenguaje la comunicacin entre agentes es desarrollada con un lenguaje llamada
KQML (Knowledge Query Manipulation Language).
IBM Agent Building Environment: Es una herramienta que facilita el desarrollo
de agentes, en esta herramienta los agentes se toman sus decisiones basados en
reglas de implicacin, posee una interfaz que le permite interactuar con la web
para hacer desarrollo de agentes para Internet.
JADE: Es una herramienta para desarrollo de agentes independientes de la
plataforma, con base en JAVA, tiene caractersticas similares a las de los
mencionados anteriormente para C++, la diferencia radica en que la comunicacin
entre agentes est basada en paso de mensajes.
Aglets: Es una herramienta para desarrollo de agentes basada en JAVA, que
implementa facilidades para desarrollo de agentes mviles independientes de la
plataforma para Internet y sistemas distribuidos, debido a esto se dar una mayor
profundidad a la presentacin de esta herramienta.

Clases de Agentes.

Los agentes autnomos: Son sistemas que sienten el entorno y actan sobre l a travs del
tiempo, sin perder de vista su objetivo ni afectar lo que sienta en el futuro.
Los agentes humanos: Son los sistemas que tienen sensores (ojos, odos, otros rganos). Como
por ejemplo robots, cmaras, telmetros infrarrojos; y efectores (manos, piernas, boca y otras
partes del cuerpo). Por ejemplo, robots con motores.
Los agentes robticos: Son sistemas a los que se les sustituyen los sensores por cmaras
infrarrojas y los efectores por motores.
Los agentes racionales: Son sistemas que hacen lo correcto; es decir, que puedan medir su
propio desempeo.
Los agentes de software: Son sistemas cuyos bits codificados representan las percepciones y las
acciones.
Los agentes Inteligentes: Son sistemas capaces de autoaprender, autoevaluarse y cambiar de
accin de acuerdo con el ambiente en el que se desenvuelven. Segn Nikola Kasabov, un agente
inteligente es el que tiene capacidad para aprender nuevos problemas e incrementar normas de
solucin; que tiene capacidad de adaptacin en lnea y en tiempo real; que es capaz de analizar
condiciones en trminos de comportamiento, el error y el xito; el que es capaz de aprender y
mejorar a travs de la interaccin con el medio ambiente; que es capaz de aprender rpidamente
de grandes cantidades de datos que estn en un medio de almacenamiento masivo y recuperar
dicha capacidad de aprender
Agentes Inteligentes y SMA
Editar 0 2

Agentes Inteligentes y Sistemas Multiagente

Agentes Inteligentes

Aunque los autores definen los agentes con conceptos variados la mayora est de
acuerdo en afirmar que: Un agente racional es una entidad fsica o virtual que acta en
forma autnoma para cumplir sus objetivos. Un agente para cumplir sus metas debe
poder percibir su ambiente a travs de sensores, evaluar las percepciones obtenidas y
escoger la accin a efectuar por medio de mecanismos de decisin e interactuar con el
ambiente en el que se desenvuelve.
De la aparicin de los agentes e interaccin entre ellos surge el concepto de Sistema
Multiagente (SMA), constituido por un conjunto de entidades racionales (agentes) que
coordinan sus habilidades para la resolucin de problemas individuales y/o globales.
En la vida real la resolucin de problemas complejos es llevada a cabo por un equipo de
trabajo en el cual existen personas especializadas en funciones especficas, tambin se
pueda aplicar este esquema en los sistemas Multiagente, de manera que un agente se
puede clasificar, por su especialidad o actividad en la que es experto, por sus objetivos o
metas en el SMA, por su funcionalidad, por lo que es capaz de hacer, por su capacidad de
comunicacin o por su capacidad de aprendizaje.
Podemos clasificar los agentes en dos grandes categoras: Agentes Cognitivos y Agentes
Reactivos, los agentes cognitivos son capaces de efectuar operaciones complejas con
algoritmos inteligentes, pueden comunicarse con otros agentes y tomar decisiones en
conjunto o individualmente. Un Agente Reactivo es un agente de bajo nivel, es decir solo
responde a estmulos producidos por su entorno o por otros agentes. Debido a la
naturaleza de los agentes cognitivos, varios de estos agentes pueden interactuar de forma
cooperativa para la resolucin de problemas complejos.

Cooperacin
El concepto de Cooperacin, significa operacin simultnea y concurrente para la
resolucin de problemas, esta colaboracin implica utilizar ciertos mecanismos asociados
en un SMA como:

La coordinacin: se encarga de sincronizar las acciones que deben realizar los agentes,
para llevar a cabo las tareas de manera concurrente.
La colaboracin: se encarga de la resolucin de las tareas y la asignacin de recursos
para ser utilizados por los agentes.
La resolucin de conflictos: se encarga de resolver la incompatibilidad de objetivos que
puede existir entre varios agentes

Para llevar a cabo tareas cooperativas es conveniente que los agentes sean diseados
con algn tipo de inteligencia, bien sea por un base del conocimiento, por reglas de
produccin o por cualquier tcnica basada en una representacin del conocimiento.

Representaciones del conocimiento


El desarrollo de sistemas inteligentes ha llevado a crear mecanismos que permitan hacer
una abstraccin de la estructura del conocimiento, para poder modelarlo en una mquina.
Una representacin es un conjunto de convenciones sobre la forma de describir un tipo
de cosas o hecho. Una descripcin aprovecha las convenciones de una representacin
para describir alguna cosa o hecho que es aquello que queremos representar en
particular. Existen diferentes formas de representaciones del conocimiento, cada una
diseada para diversos tipos de problemas:

Demostradores de teoremas o razonadores automatizados: Se utilizan en la resolucin


para demostrar oraciones expresadas en lgica de primer orden y se utilizan para
razonamiento matemtico y cientfico. Solo es til cuando se dispone de un mecanismo
de inferencia, por ejemplo los que razonan a partir de hechos para llegar a conclusiones o
los que parten de las conclusiones para llegar a los hechos.
Sistemas de produccin: Utilizan la implicacin como elemento primario la cual se
interpreta como recomendacin de la accin y no como colusin, entre las acciones
tenemos las inserciones y eliminaciones de la base del conocimiento, as como las
entradas y las salidas. Funciona como una estructura de control secuencial.
Sistema de cuadro y Redes Semnticas o Conocimiento Heredable: La representacin de
los objetos son nodos en una grfica y se organizan de acuerdo a una estructura
taxonmica o como una jerarqua de generalizaciones las cuales pueden heredas
atributos y valores de otros objetos ms generales. Y existen los vnculos entre los nodos
los cuales son las relaciones que existen entre ellos es decir los atributos. Varios autores
la denominan estructura de ranura y relleno.
Sistemas Lgicos por Descripcin: son la evolucin de las redes semnticas las cuales
formalizan el significado de la redes sin dejar de lado la estructura taxonmica, utilizan
como medio de expresin y de razonamiento definiciones complejas de objetos y clases y
sus relaciones entre ellos
Estas representaciones son tiles hoy en da en el diseo de soluciones inteligentes y en
el desarrollo de aplicaciones de e-commerce, juegos, seguridad y el diseo de sistemas
con agentes inteligentes.

Agentes Mviles
Editar 0 1
Los agentes mviles tienen la capacidad de moverse por diferentes nodos de la red una o ms
veces, son autnomos con la funcin de ejecutar tareas, se envan como objetos a travs de
plataformas conservando su cdigo, datos y estado de ejecucin.
Los agentes mviles, son capaces de ejecutarse en varias mquinas sin necesidad de que en ellas
se encuentre su cdigo. Como su nombre lo indican su cdigo es mvil. Tambin operan sin
conexin, pueden trabajar si la red no esta funcionando. Si los agentes necesitan buscar
informacin en la red el mismo puede esperar a que esta se reanude.
Se entiende por agente mvil a aqul que no est limitado al sistema donde se ejecut, el mismo
ser capaz de moverse de una mquina a otra a travs de la red. De esta forma podr interactuar
con el objeto deseado de forma directa sobre el sistema donde se encuentre dicho objeto.
Un agente mvil no slo realiza sus funciones en el ordenador que se encuentre, sino en otras que
se encuentren en red, con el fin de buscar la informacin que se haya ordenado. Los mismos
tienen la capacidad de decidir a qu servidor moverse. Estos agentes tienen la capacidad para su
ejecucin y cambiar hacia otro nodo sin cambiar su estado y seguir con su ejecucin.

VENTAJAS DE LOS AGENTES MVILES

Eficiencia
Adaptacin al cliente
Reduce el trfico de la red
Gestiona gran volumen de informacin
Permite la comunicacin en tiempo real

Para entender mejor a los agentes mviles y su comportamiento, debemos ver las arquitecturas de
red tradicionales. En la siguiente imagen se ilustra el comportamiento de la red de un uso tpico
cliente/servidor.

agentesmoviles.jpg

Cuando el cliente necesita informacin que se encuentre en el servidor este les enva peticiones al
mismo. Luego el servidor enva respuesta a las peticiones al cliente.

CARACTERSTICAS DE LOS AGENTES

Movilidad: Tienen la capacidad de moverse de una mquina a otra.


Proaccin: Toman la iniciativa para alcanzar sus propios objetivos.
Sociabilidad: Tienen la capacidad de comunicarse con otros agentes, personas, programas.
Adaptacin: Se comportan segn sus experiencias.

Los agentes mviles proveen una nueva forma de generar aplicaciones que se adapten mejor a
problemas o tareas que tiene que ver con:

Redes de cmputo
Cmputo distribuido
Diferentes plataformas y arquitecturas
Redes de baja confiabilidad y desconexin parcial
Sistemas de cmputo mviles inalmbricos

COMUNICACIN ENTRE AGENTES


Los agentes que forman un sistema pueden comunicarse entre ellos. Los agentes mviles pueden
rechazar peticiones de otros agentes.

CMO SE MUEVE UN AGENTE?


Los agentes se transfieren de un sistema a otro en las siguientes fases:

1.

INICIO DE LA TRANSFERENCIA:

El agente identifica el destino deseado, realiza una peticin de viaje al sistema, si es aceptada
recibe el permiso para realizar la transferencia. El sistema suspende la ejecucin del agente e
identifica el estado y las partes que sern enviadas. Se realiza la conversin del cdigo y estado
del agente (seriacin) y se codifica segn el protocolo seleccionado. El sistema realiza la
autentificacin del agente y se realiza la transferencia.

2.

RECEPCIN DEL AGENTE:


El sistema destinatario acredita al cliente. Se realiza la descodificacin del agente y la conversin
del cdigo y estado del agente (diseriacin), el sistema crea la instancia del agente, restaura su
estado y contina su ejecucin.

3.

TRANSFERENCIA DE OTRAS CLASES (SISTEMAS ORIENTADOS A OBJETOS):

Este proceso se realiza cuando el agente se mueve de un sistema a otro, cuando se crea
remotamente o necesita de otros objetos. Estas transferencias de las clases pueden realizarse
durante la transferencia del agente o realizar peticiones cuando sea necesario. Llamamos
seriacin al proceso en el que se representa el estado de un agente mediante una serie. El
proceso de descodificacin de esta serie en el agente se le llama: diseriacin.
LENGUAJES PARA AGENTES
Pueden ser lenguajes de propsito general como:

Java
C++
Lisp
Prolog

O lenguajes especficos como:

April
Prolog/C
CLOS/C

LENGUAJE DE COMUNICACIN DE AGENTE


Podemos encontrar los procedimentales:

Perl
TCL

Declarativos:

ACL
QU ES ACL?
ACL Agent Communication Language surgi con el objetivo de crear un lenguaje que permitiera
la interoperabilidad entre agentes. ACL cuenta con tres componentes:

Vocabulario
Lenguaje de contenido llamado KIF Knowledge Interchange Format
Lenguaje de comunicacin llamado KQML Knowledge Query Manipulation Language

Un mensaje de ACL es un mensaje en KQML, el mismo consiste de una directiva de comunicacin y


un contenido semntico en KIF expresado en trminos del vocabulario.

QU ES KIF?
Es una versin en prefijo del clculo de predicados de primer orden con varias extensiones para
incrementar su expresividad.
Fue concebido como un formato de mensajes y como un protocolo que maneja los mensajes para
permitir a un programa identificar, conectarse e intercambiar informacin con otros programas.

SEGURIDAD
El tener un control de la seguridad es un grave problema, ya que los agentes son programas que
viajan de una mquina a otra, como lo realiza un virus. Se deben controlar los siguientes aspectos:

Proteccin de la mquina contra otros agentes


Proteccin de los agentes contra la mquina
Proteccin de la red
Congestionar el sistema con peticiones.
Escuchar por la red para obtener informacin privada.
Modificar, borrar o sustituir cualquier elemento que se transfiera por la red.
Grabar y retransmitir de forma no autorizada una comunicacin.
Falsificar la identidad de un agente, para lograr tener acceso a otros agentes o servicios.
Utilizar algn recurso para que no pueda ser utilizado por otro usuario.
Colocar virus que les permitan recibir informacin confidencial o denegar accesos a recursos.

ATAQUES COMUNES QUE PUEDEN REALIZARSE A UN AGENTE MVIL:


ESTRATEGIAS PARA LOGRAR LA SEGURIDAD:
Es necesario que los agentes mviles refuercen su seguridad para evitar ataques como los antes
mencionados. Los requisitos que se deben garantizar en cada comunicacin son:

Confidencia: Evitar que puedan realizar escuchas.


Integridad: comprobar que los datos no se han modificados durante su transferencia.
Autentificacin: Identificar a los agentes para evitar que puedan acceder a informaciones.
Detectar reproduccin: Evitar que los agentes puedan estar duplicados en una comunicacin.
Comprobar las credenciales de los participantes en cualquier comunicacin.
Restringir o garantizar las operaciones que puede ejecutar un agente.
Establecer privilegios de acceso a recursos.
PARA ELLO SON NECESARIAS LAS SIGUIENTES POLTICAS:
PROTOCOLOS DE COMUNICACIN
Estos protocolos son reglas de comunicacin que permiten la comunicacin entre diferentes
computadoras, si las mismas utilizan diferentes protocolos estas no se podrn comunicar. Un
protocolo es un patrn que se usa para llevar una conversacin.
Entre los protocolos ms importantes podemos encontrar:

MICK: Es Marco de Inter-Comunicacin basado en KQML, en el que cada agente cuenta con un
ruteador capaz de enviar y recibir mensajes en KQML, reconocer un conjunto de palabras y seguir
un protocolo.
ATP: El Protocolo de Transferencia de Agente es un protocolo a nivel de aplicacin para sistemas
distribuidos basados en agentes, puede ser usado para transferir agentes a mviles entre redes de
computadoras. Mientras los agentes mviles pueden ser programados en diferentes lenguajes y
para una variedad de plataformas de agentes. Estos ofrece la oportunidad para manejar la
movilidad de los agentes de una forma general y uniforme.
CORBA: Por sus siglas en ingls Common Object Request Broker Architecture es una
especificacin abierta de OMG para las arquitecturas de las aplicaciones que trabajan sobre redes.
Su interoperabilidad proviene de dos partes principales: OMG Lenguaje de Definicin de Interface
OMG DL y los protocolos estandarizados GIOP e IIOP.
RMI: Remote Method Invocation habilita al programador para crear aplicaciones basadas en
tecnologa Java distribuida, en la cual los mtodos de objetos en Java remotos pueden ser
invocados desde otras mquinas virtuales de Java, posiblemente en diferentes servidores. RMI
utiliza la serializacin de objetos con parmetros oficiales y no oficiales, y no trunca los tipos,
soportando un verdadero polimorfismo orientado a objetos.

1. Estndares, metodologas, Lenguajes, protocolos. (GAIA, CommonKADS,


ACL, FIPA, KQML, Jess, Java, AgentSpeak, ) Wilson

GAIA

Extiende la metodologa Fusion [Coleman et al. 94]


SMA como organizacin de entidades que interactan
Anlisis: Basado en anlisis de roles en interaccin
Modelo de roles:
Para cada rol (un individuo, departamento u organizacin de la vida real):
Responsabilidades: funcionalidad del agente (como propiedades de viveza
y seguridad)
Permisos: derechos a informacin y recursos
Actividades: acciones privadas (sin interactuar con otros agentes)
Protocolos
Modelo de interacciones: define los protocolos (entre roles)
Atributos: propsito, iniciador, respondedor, entradas/salidas, proceso
Diseo: Basado en agrupacin de roles en agentes
Modelo de agentes: tipos de agentes (agente=conjunto de roles) y sus instancias
Modelo de servicios: funciones de cada rol
Modelo de conocidos: con quienes puede interaccionar

MAS-CommonKADS

Extiende la metodologa CommonKADS [deHoog et al. 93] de desarrollo de sistemas expertos con:

Tcnicas de orientacin a objetos (OMT y OOSE)

Tcnicas de ingeniera de protocolos: SDL y MSC

Modelo de ciclo de vida en espiral dirigido por riesgos

Y modelo en cascada con reutilizacin para proyectos pequeos

El desarrollo de un SMA consiste en rellenar un conjunto de plantillas de un nmero de modelos


interrelacionados

Asociada a cada plantilla hay un estado que caracteriza los hitos en el desarrollo de cada modelo

Para cada variable de estado se pueden asociar varios valores: vaco, identificado, descrito y
validado

Ejemplo de estados hito: identificacin inicial de los agentes, descripcin de objetivos y servicios,
validacin de relaciones entre un modelo y los dems

La especificacin de la FIPA

La FIPA (Fundacin para Agentes Inteligentes Fsicos; Foundation for Intelligent Physical
Agents) es un comit para fomentar la estandarizacin de la tecnologa de agentes. Est en
fase de definicin de dichos estndares, de los que hay algunos borradores pblicos
Las principales caractersticas de esta propuesta son:
Los mensajes se corresponden con actos de habla, al igual que en KQML, y son opacos al
contenido que llevan.
Se definen diferentes tipos de mensajes para abarcar los diferentes actos de habla, as
como una estructura de los mensajes similar a la de KQML. Definen explcitamente los
actos comunicativos primitivos y compuestos, siendo un acto compuesto aquel que se
define en trminos de otros actos comunicativos (p.ej. te pido que me informes si llueve).
Esto tambin se permita en KQML.
Este estndar define un modelo de referencia de gestin de agentes constituido por un
canal de comunicacin de agentes, un servidor de nombres de agentes (pginas blancas), un
facilitador de directorio (pginas amarillas), un sistema de gestin de agentes (supervisin)
y los agentes que se comunican por dicho canal. Se propone la utilizacin (por defecto) del
protocolo IIOP (Inter-Orb Protocol) del grupo de gestin de objetos OMG.
Define un lenguaje de contenido de gestin, que permite describir a los agentes, la
plataforma, los servicios y al servidor de nombres de agentes. Esto no se normalizaba en
KQML, que era dependiente de la ontologa.
Frente a KQML, el nmero de actos comunicativos es mucho mayor, incluyendo
numerosos actos comunicativos para negociar. La definicin de la semntica de los actos de
habla se formaliza con el lenguaje ARCOL [279]. Este lenguaje fue una de las propuestas
para la definicin de la comunicacin entre agentes, junto a otros lenguajes como
AgentTalk y
MAIL del proyecto ESPRIT Imagine.
Define explcitamente tipos de mensajes para agentes mviles.
El concepto de servicio es explcito: un agente ofrece servicios. En KQML un agente
ofertaba tipos de mensaje que era capaz de procesar.
Define una arquitectura para interaccionar con software diferente de agentes software

You might also like