Tipos de agentes

Anuncio
Tipos de agentes
Clasificación AEIOU
Los criterios de clasificación de los agentes están inspirados en la observación de los agentes desde
distintas perspectivas. En primer lugar, nos podemos fijar en sus características individuales, en
segundo lugar, podemos observar el entorno y su comportamiento externo; finalmente, podemos
considerar su utilidad. Yves Demazeau propuso un modelo de clasificación llamado de las vocales
(AEIOU).
La A de Agente, caracteriza sus rasgos individuales: arquitectura, funcionamiento interno,
complejidad, etc.
La E de Entorno, caracteriza los requisitos computacionales para que el agente funcione
adecuadamente.
La I de Interacción, considera las capacidades de comunicación del agente, con quien se comunica y
la forma de comunicación (tipo de mensajes, contenido, protocolos, etc.).
La O de Organización, considera el papel del agente en el conjunto del sistema y el modelo de
cooperación con otros agentes.
La U de Utilidad, toma en cuanta la utilidad, es decir, la aplicación de la que forma parte el agente.
A: Tipos de agentes según sus características individuales
- Agentes reactivos – realizan tareas sencillas. Su modelo computacional está basado en un ciclo
recepción de eventos externos/reacción (condición-acción). La reacción consiste en la ejecución
de procedimientos o rutinas sencillas según el estado interno del agente. El comportamiento
reactivo puede consistir en cambiar el estado interno, o en ejecutar funciones internas o externas
sobre el entorno. Este tipo de agentes no realizan procesos de razonamiento, ni tienen
mecanismo explícito de representación del conocimiento. El mecanismo de control se basa
normalmente en autómatas de estado finito extendidos. Puede sustituirse este mecanismo por
una red neuronal.
-
Agentes cognitivos – realizan tareas complejas. Utilizan algún tipo de representación explícita
(simbólica) del conocimiento. Para la realización de tareas necesitan llevar a cabo procesos de
razonamiento y otros procesos cognitivos como la planificación y aprendizaje. Su arquitectura
tiene como núcleo central algún tipo de procesador de conocimiento que integra la información
procedente del entorno y controla el comportamiento interno y las acciones del agente de
acuerdo con el conocimiento de éste. Su modelo computacional se basa en un ciclo percepciónasimilación-razonamiento-actuación.
La percepción permite recibir información del entorno. En la asimilación la información
percibida se transforma para integrarla en el conocimiento interno. El razonamiento determina
la forma de utilizar la información en la resolución de objetivos y tareas internas. Las acciones
(actuación) se ejecutan como consecuencia de los procesos de razonamiento; tienen una
finalidad y en consecuencia una justificación.
El formalismo de representar el conocimiento puede estar basado en formalismos lógicos (lógica de
predicados, lógica modal, lógica deóntica, lógica temporal, etc.) o en formalismos computacionales
(objetos, frames u ontologías, combinados con reglas y procedimientos).
1
La resolución de problemas puede basarse en alguna de las aproximaciones siguiente:
- Resolución basada en objetivos – el agente genera objetivos e intenta resolverlos mediante
procesos de descomposición en subobjetivos e inferencias y búsqueda de información.
-
Resolución dirigida por eventos o creencias – el control de la resolución del problema está
dirigido por la recepción de información, que desencadena procesos de inferencia que a su vez
permiten generar nuevas informaciones o realizar acciones.
-
Planificación – implica modelar el problema a resolver en términos de objetivos que representan
estados a alcanzar por el agente. Resolver el objetivo implica la búsqueda de las acciones
necesarias para pasar del estado actual del agente al estado que representa el objetivo a resolver.
El componente de planificación obtiene la secuencia de acciones para realizar un objetivo. Es
necesario supervisar la ejecución del plan, ya que algunas de las acciones planificadas puede
fallar o no dar los resultados esperados. En este caso el agente debe de elaborar un nuevo plan,
bien a partir del estado actual o bien volviendo a la situación en que se encontraba antes
deshaciendo las acciones ya ejecutadas.
Si se considera el componente de percepción se pueden distinguir distintos tipos de agentes. Los
agentes reactivos más simples perciben la información exterior en forma de eventos. Los agentes
cognitivos además de eventos reciben mensajes expresados en un lenguaje de comunicación que
entienda, de aquí se derivan los agentes FIPA y los agentes KQML.
Otros aspectos que se pueden considerar para identificar tipos de agentes son los siguientes:
- Autonomía – caracteriza el control del agente sobre sus propias acciones y su estado interno. Un
agente autónomo debe ser capaz de decidir qué acciones ejecutar o qué objetivos elegir sin un
control exterior explícito. Según sea su autonomía, el agente puede ser autónomo, semiautónomo o dependiente. Un agente reactivo no es un agente autónomo, el agente cognitivo si lo
es.
-
Movilidad – capacidad de un agente de desplazarse en el entorno, conservando su estado
interno. Puede hablarse de agentes fijos y agentes móviles. Los agentes móviles son casi
siempre reactivos, y los agentes fijos tienden a ser fijos por su complejidad interna.
-
Aprendizaje – capacidad del agente de cambiar su comportamiento según su experiencia, es
decir, según la interacción con el entorno y con otros agentes, y de sus propios procesos
internos. Tanto los agentes reactivos como los cognitivos pueden incorporar aprendizaje. Los
primeros a través de mecanismos de aprendizaje simbólico de modelos explícitos (clasificación,
metamodelado, reglas, etc.), y los segundos a través de mecanismos subsimbolicos (redes
neuronales).
E: Tipos de agentes según el entorno en el que funcionan
Se puede considerar como el entorno de un agente toda la infraestructura computacional que le
rodea, por ejemplo, sistema operativo, protocolos de comunicación, software de utilidad, etc. El
entorno proporciona los medios necesarios para que un agente desarrolle su ciclo de vida, esto es,
pueda ser creado, funcione y desaparezca. Se pueden considerar dos tipos de agentes: los que
requieren un entorno especial, es decir una plataforma de software específica para su
funcionamiento, y los que se ejecutan en las plataformas computacionales existentes.
Ejemplos de agentes que requieren de una plataforma específica son los agentes móviles, agentes
FIPA.
2
Los agentes que no usan plataformas específicas se crean mediante los recursos del sistema
operativo y siguen el ciclo de vida de cualquier aplicación. La tendencia general es implementarlos
en un lenguaje independiente de la plataforma – por ejemplo Java – que proporcione también
mecanismos de comunicación.
I: Tipos de agentes según el modo de interacción
La interacción comprende la comunicación y el intercambio de información entre un agente y otras
entidades. Se distinguen tres tipos de interacciones: agente-agente, agente-entorno y agentepersona.
Las comunicaciones agente-agente pueden llevarse a cabo mediante lenguajes estándar de
comunicación entre agentes, como ACL y KQML. Puede implicarse el uso de protocolos de
comunicación para sistemas distribuidos y telecomunicaciones como: RMI, CORBA, SOAP,
HTML, XML, INAP, CMIP, etc. y en ocasiones el uso de protocolos propietarios.
Las comunicaciones agente-persona deben hacerse utilizando los medios adecuados para que las
personas entiendan y se expresen como la mayor sencillez y naturalidad, como el lenguaje natural
(voz o texto), los sensores y efectores adecuados o, según el dominio, lenguajes semiformales,
gráficos, información estructurada, animaciones, etc.
Los agentes especializados en la interacción con el usuario se llaman agentes de interfaz.
La interacción con el entorno comprende la comunicación con distintos tipos de elementos de los
cuales tiene que obtener información o recibirla de forma espontánea: sistema operativo, pilas de
protocolos, librerías, interfaces de usuario, bases de datos, sistemas de mensajería, servidores
vocales, etc.
Los agentes especializados en la interacción con los recursos se han catalogado según el recurso con
el que interactúan y según el protocolo utilizado (ORB, TCP/IP, HTTP, CMIP, RMI, SOAP, etc.).
Así se pueden tener agentes de bases de datos con ORB o SOAP, agentes de mensajería con HTML,
agentes de generación de voz con RMI, etc.
O: Tipos de agentes según el modo de organización
Desde el punto de vista de la organización permite considerar a los agentes como entidades
individuales que tienen un rol o función dentro de un conjunto o sistema multiagente (SMA) con
una finalidad común. Para llevar a cabo esta finalidad común se requiere una estructura organizativa
y unas capacidades de los agentes. Se pueden distinguir los agentes siguientes:
- agentes individualistas – no tienen capacidad de cooperación y realizan sus tareas solos, sin
requerir la colaboración de otros agentes.
-
agentes cooperantes – realizan tareas solos o colaborando con otros agentes. En el caso de los
agentes que forman parte de organizaciones pueden ser clasificados de acuerdo con diferentes
criterios:
o representación del modelo de cooperación – puede ser implícita o explícita. Los agentes
reactivos tienen una representación implícita expresada mediante reglas simples o
algoritmos codificados en los mecanismos de control. La cooperación y organización
emergen a partir de los procesos de interacción con otros agentes. Los agentes cognitivos
tienen una representación explícita que incluye la definición de roles, responsabilidades,
planes comunes, normas organizativas, mecanismos de resolución de conflictos, etc.
3
o rol del agente en la organización – puede ser fijo o variable. Los agentes que tienen un rol
fijo son agentes estáticos: realizan un conjunto de tareas fijas y sus relaciones o
dependencias de control con el resto de los agentes de la organización son estáticas (tienen
relaciones jerárquicas o siguen un modelo cliente-servidor, ofertante-contratista, etc.). Los
agentes con rol variable se les denomina agentes flexibles o evolutivos: pueden cambiar sus
objetivos y responsabilidades durante el ciclo de funcionamiento y en consecuencia pueden
cambiar sus relaciones con otros agentes (en ocasiones pueden ser ofertantes y en otras
contratistas, por mencionar un ejemplo). En una organización jerárquica donde hay
ascensos, cualquier agente puede llegar a asumir un determinado rol (director, presidente,
etc.).
o resolución de conflictos - un agente puede tener conflictos internos o externos. Los
primeros sedan en agentes cognitivos, debido a los mecanismos de definición y de
procesado de conocimiento. Los formalismos declarativos son abiertos e incrementales, pero
durante su interpretación surgen conflictos que el procesador debe resolver, por ejemplo: un
objetivo puede ser resulto de distintas formas, una creencia puede ser interpretada de
distintas formas, la asimilación de una información puede dar lugar a creencias
contradictorias o inconsistentes con otras, etc.
Los conflictos externos surgen de la interacción entre varios agentes: competición por un
determinado recurso, envío de información irrelevante o no demandada, producción de
información falsa, errónea, incompleta o incomprensible, obstaculización o bloqueo del
progreso de la información hacia otros agentes, etc.
El objetivo de la estructura organizativa es mantener la coherencia entre los agentes y
minimizar los conflictos. Tanto los agentes como la propia estructura organizativa pueden
tener mecanismos explícitos de resolución de conflictos, entre los que surgen otros tipos de
agentes:

agente especialista – detectan los conflictos o reciben quejas de los agentes implicados,
comprueban si existen los conflictos y los resuelven enviando directrices a los agentes
adecuados. La resolución de conflictos forma parte del rol del agente. En los modelos
jerárquicos los conflictos se generan en los niveles inferiores e intentan ser resueltos por
el agente superior, quien si no puede hacerlo lo reporta a su superior que a su vez
intentará resolverlo o reportarlo.

agente de negociación – los conflictos se resuelven intercambiando información y si es
necesario relajando las exigencias en la resolución de los objetivos. El conflicto cesa
cuando la negociación tiene éxito, es decir, cuando las partes convergen en una solución
aceptable para todos. Para que los agentes sean capaces de negociar necesitan un modelo
de negociación – por ejemplo, red de contratos, mercado, subasta, etc. – y un protocolo
de negociación donde se indiquen los tipos de mensajes y las reglas de generación y
respuesta para llevar a cabo el proceso de negociación.
U: Utilidad
Permite clasificar a los agentes de acuerdo a su finalidad o el propósito con el que fueron
construidos. Por lo general se utilizan dos criterios: el dominio de la aplicación y el tipo de tarea
que realiza dentro de él.
Áreas: comercio electrónico, telecomunicaciones, economía, gestión de procesos de negocio,
administración, defensa, optimización de procesos de fabricación, diseño colaborativo, ocio y
entretenimiento, etc.
4
Las tareas que realizan los agentes comprenden actividades especializadas como: monitorización, el
diagnóstico, el control de sistemas, búsqueda de información, clasificación, asesoría, ayuda
inteligente, etc.; tareas de mediación (recubrimiento de recursos), por ejemplo bases de datos o
interfaces de usuario; tareas de coordinación entre agentes y de resolución de conflictos.
La taxonomía o clasificación presentada nos puede ayudar a comprender el funcionamiento de un
sistema basado en agentes, identificando los agentes que lo conforman (A), su comportamiento
externo (I), las relaciones con otros agentes (O), el entorno computacional (E) y su finalidad (U).
Para un equipo de ingeniería el problema se plantea de la forma siguiente: a partir de los requisitos
de la aplicación (U) y posiblemente parte del entorno computacional (E) se debe decidir en primer
lugar si se deben o no utilizar agentes. En caso afirmativo se debe determinar qué tipo de agentes
son los adecuados (A); cuál es su comportamiento (I); y cuál su organización(O).
ACL – Agent Communication Language
KQML Knowledge Query and Manipulation language
RMI – Remote Method Invocation
CORBA - Common Object Request Broker Architecture
SOAP – Simple Object Access Protocol
HTML – HyperText Markup Language
INAP - Intelligent Network Application Protocol
CMIP - Common Management Information Protocol
XML – Extensible Markup Language
ORB - Object Request Broker
TCP/IP – Transmission Control Protocol/Internet Protocol
HTTP – HyperText Transfer Protocol
Información obtenida del libro:
Agentes software y sistemas multiagente: conceptos, arquitecturas y aplicaciones
Ana mas
Prentice Hall-Pearson
5
Descargar