You are on page 1of 35

Un agente es algo que razona (agente viene del latín agere, hacer).

Pero de los agentes informáticos se


espera que tengan otros atributos que los distingan de los programas convencionales, como que estén
dotados de controles autónomos, que perciban su entorno, que persistan durante un período de tiempo
prolongado, que se adapten a los cambios, y que sean capaces de alcanzar objetivos diferentes.

Un agente es cualquier cosa capaz de percibir su medioambiente con la ayuda de sensores y actuar en
ese medio utilizando actuadores.
Un agente racional es aquel que actúa con la intención de alcanzar el mejor resultado o, cuando hay
incertidumbre, el mejor resultado esperado.

Un agente racional es aquel que hace lo correcto. Lo correcto es aquello que permite al agente obtener
el mejor desempeño. Es necesario decir cómo y cuando evaluar ese buen desempeño. El término
medición del desempeño, se aplica al cómo: es el criterio que sirve para definir que tan exitoso ha sido
un agente. El cuando evaluar el desempeño es importante. Lo importante es medir el desempeño a largo
plazo.

La racionalidad tiene que ver con un éxito esperado, tomando como base lo que se ha percibido si se
especifica que un agente inteligente siempre debe hacer lo que realmente es lo correcto, será imposible
diseñar un agente que lo satisfaga. El carácter de racionalidad de lo que se hace en un momento dado
depende de 4 factores:
rDe la medida con lo que se evalúa el grado de éxito logrado.
rDe todo lo que hasta ese momento haya percibido el agente. A esta historia perceptual se llama la
secuencia de percepciones.
rDel conocimiento que posea el agente acerca del medio.
rDe las acciones que el agente pueda emprender.

Con esto podemos definir lo que es un agente racional ideal: En todos los casos de posibles secuencias
de percepciones, un agente racional deberá emprender las acciones que favorezcan obtener el máximo
de su medida de rendimiento, basándose en las evidencias apartadas por la secuencia de percepciones y
en todo conocimiento incorporado en tal agente. El emprender acciones con el fin de obtener
información útil es parte de la racionalidad.
El cometido de la inteligencia artificial es el diseño de un Programa de Agente: una función que permita
implantar el mapeo del agente para pasar de percepciones a acciones. Este programa se ejecutará en
algún tipo de dispositivo de cómputo, al que se lo denomina Arquitectura. La arquitectura pone al alcance
del programa las percepciones obtenidas mediante los sensores, lo ejecuta y alimenta al efector con las
acciones elegidas por el programa.

La relación entre agente, arquitectura y programa es


Agente = Arquitectura + Programa

Lo que importa no es la diferencia entre ambientes ´realesµ y ´artificialesµ, sino la relación que existe
entre la conducta del agente, la secuencia de percepciones que produce el ambiente y las metas que se
espera alcance el agente. Algunos ambientes considerados como ´realesµ, son sencillos y hay otros muy
ricos e ilimitados. Para los muy ricos se utilizan agentes de software o robots de software o software.
Las Medidas de Rendimiento incluyen los criterios que determinan el éxito en el comportamiento del
agente. Cuando se sitúa un agente en un medio, éste genera una secuencia de acciones de acuerdo con
las percepciones que recibe. Esta secuencia de acciones hace que su hábitat pase por una secuencia de
estados. Si la secuencia es la deseada, entonces el agente habrá actuado correctamente. Obviamente, no
hay una única medida adecuada para todos los agentes. Se puede preguntar al agente por su opinión
subjetiva acerca de su propia actuación, pero muchos agentes serían incapaces de contestar, y otros
podrían engañarse a sí mismos.
Un agente omnisciente conoce el resultado de su acción y actúa de acuerdo con él; sin embargo, en
realidad la omnisciencia no es posible. Considerando el siguiente ejemplo: estoy paseando por Las Peñitas
y veo un amigo al otro lado de la calle. No hay tráfico alrededor y no tengo ningún compromiso,
entonces, actuando racionalmente, comenzaría a cruzar la calle. Al mismo tiempo, a 33.000 pies de altura,
se desprende la puerta de un avión, y antes de que termine de cruzar al otro lado de la calle me
encuentro aplastado. ¿Fue irracional cruzar la calle? Sería de extrañar que en El Meridiano apareciera
´Muere un idiota intentando cruzar la calleµ.
La configuración inicial del agente puede reflejar un conocimiento preliminar del entorno, pero a medida
que el agente adquiere experiencia éste puede modificarse y aumentar. Hay casos excepcionales en los
que se conoce totalmente el entorno a priori. En estos casos, el agente no necesita percibir y aprender;
simplemente actúa de forma correcta. Por supuesto, estos agentes son muy frágiles.

Considérese el caso del humilde escarabajo estercolero. Después de cavar su nido y depositar en él su
huevos, toma una bola de estiércol de una pila cercana para tapar su entrada. Si durante e1 trayecto se le
quita la bola, el escarabajo continuará su recorrido y hará como si estuviera tapando la entrada del nido,
sin tener la bola y sin darse cuanta de ello. La evolución incorporó una suposición en la conducta del
escarabajo, y cuando se viola, el resultado es un comportamiento insatisfactorio.
Si las acciones que emprende el agente se basan exclusivamente en un conocimiento integrado, con lo
que se hace caso omiso de sus percepciones, se dice que el agente no tiene autonomía.

La conducta, son aquellas acciones que se producen después de una determinada secuencia de
percepciones.

La conducta de un agente se basa tanto en la experiencia propia como en el conocimiento integrado. Un


sistema será autónomo en la medida que su conducta está definida por su propia experiencia. La
autonomía no solo tiene cabida en lo que nos indica nuestra intuición, también es un ejemplo del sólido
manejo de la práctica. Cuando un agente opera basándose en suposiciones en él integradas, su actuación
será satisfactoria sólo en la medida en que tales suposiciones sean vigentes, carecerá de flexibilidad.

El autentico agente inteligente autónomo debe ser capaz de funcionar satisfactoriamente con una amplia
gama de ambientes, dándole tiempo para adaptarse.
El entorno de trabajo es el ´problemaµ para el cual, el Agente Racional es la ´soluciónµ.

En una discusión de la racionalidad, se deben especificar las medidas de rendimiento, el entorno, y los
aceleradores y sensores del agente. Todo ello forma lo que se llama el entorno de trabajo, para cuya
denominación se utiliza el acrónimo REAS (Rendimiento, Entorno. Actuadores, Sensores). En el diseño de
un agente, el primer piso debe siempre especificar el entorno de trabajo de la forma más completa
posible.

Consideremos ahora un problema más complejo: un taxista automático.


Totalmente observable vs. parcialmente observable.
Si los sensores del agente le proporcionan acceso al estado completo del medio en cada momento,
entonces se dice que el entorno de trabajo es totalmente observable.

Un entorno de trabajo es, efectivamente totalmente observable si los sensores detectan todos los
aspectos que son relevantes en la toma de decisiones; la relevancia, en cada momento, depende de las
medidas de rendimiento. Entornos totalmente observables son convenientes ya que el agente no necesita
mantener ningún estado interno para saber qué sucede en el mundo. Un entorno puede ser parcialmente
observable debido al ruido y a la existencia de sensores poco exactos o porque los sensores no reciben
información por parte del sistema.

Determinista vs. estocástico.


Si el siguiente estado del medio está totalmente determinado por el estado actual y la acción ejecutada
por el agente, entonces se dice que el entorno es determinista; de otra forma es estocástico. En principio,
un agente no se tiene que preocupar de la incertidumbre en un medio totalmente observable y
determinista. Sin embargo, si el medio es parcialmente observable entonces puede parecer estocástico.
Esto es particularmente cierto si se trata de un medio complejo, haciendo difícil el mantener constancia
de todos las aspectos observados.
continuación

Episódico vs. Secuencial.


En un entorno de trabajo episódico, la experiencia del agente se divide en episodios atómicos. Cada
episodio consiste en la percepción del agente y la realización de una única acción posterior. Es muy
importante tener en cuenta que el siguiente episodio no depende de las acciones que se realizaron en
episodios previos. En los medios episódicos la elección de la acción en cada episodio depende sólo del
episodio en sí mismo.

En entornos secuenciales, por otro lado, la decisión presente puede afectar a decisiones futuras.

Estático vs. Dinámico.


Si el entorno puede cambiar cuando el agente esta deliberando. enitonces se dice que el entorno es
dinámico para el agente; de otra forma se dice que es estático. Los medios estáticos son difíciles de
tratar ya que el agente no necesita estar pendiente del mundo mientras está tomando una decisión
sobre una acción, ni necesita preocuparse sobre el paso del tiempo. Los medios dinámicos, por el
contrario, están preguntando continuamente al agente que quiere hacer; si no se ha decidido aún,
entonces se entiende que ha tomado la decisión de no hacer nada. Si el entorno no cambia con el paso
del tiempo, pero el rendimiento del agente cambia, entonces se dice que el medio es semidinámico. El
taxista es claramente dinámico: tanto los otros coches como el taxi se están moviendo mientras el
algoritmo que guía la conducción indica qué es lo próximo a hacer. El ajedrez, cuando se juega con un
reloj, es semideterminista. Los crucigramas son estáticos.
continuación

Discreto vs. Continuo.


La distinción entre discreto y continuo se puede aplicar al estado del medio, a la forma como se maneja
el tiempo y las percepciones y acciones del agente.

Agente Individual vs. Multiagente.


La distinción entre el entorno de un agente individual y el de un sistema multiagente puede parecer
simple. Un agente resolviendo un crucigrama es un entorno de agente individual, mientras que una
agente que juega al ajedrez esta en un entorno con dos agentes. Sin embargo hay algunas diferencias
sutiles. Primero, se ha descrito que una entidad puede percibirse como un agente, pero no se ha
explicado que entidad se puede considerar agente.

La distinción clave está en identificar si el comportamiento de B está mejor descrito como una
maximización de una medida de rendimiento cuyo valor depende del rendimiento de A. Por ejemplo, en
el ajedrez, la entidad oponente B intenta maximizar su medida de rendimiento, la cual, según las reglas,
minimiza la medida de rendimiento del agente A. Por tanto, el ajedrez es un entorno multiagente
competitivo. Por otro lado, en el medio definido por el taxista circulando, el evitar colisiones maximiza las
medidas de rendimiento a todos lo agentes, así pues es un entorno multiagente parcialmente
cooperativo. Pero también es parcialmente competitivo al tratar de ocupar un lugar de estacionamiento
o un turno para prestar un servicio
Los agentes deben ser parte de un ambiente, deben poder monitorear su entorno y actuar sobre el, y
deben responder según los objetivos para los cuales fueron diseñados. Deben entonces poseer una serie
de atributos o propiedades que lo definen como agente.

Habilidad Social: Un agente debe ser comunicativo. Debe tener habilidad para interactuar con otros
agentes o incluso con alguna persona, para solicitar información o bien para exponer los resultados
obtenidos de la ejecución de las tareas planeadas. La naturaleza de la comunicación depende del tipo de
agente con quien se comunique (humanos o no), en ambos casos debe establecer un protocolo común
de intercambio de información entre ambas partes. Los agentes deben poseer algún tipo de interfaz para
comunicarse con sus usuarios. Dicha interfaz puede establecerse simplemente mediante el envío de
mensajes por correo electrónico o puede ser todo lo sofisticada que se desee.

Reactividad: Se refiere al hecho de que un agente debe poder censar el estado del ambiente dentro del
cual se encuentra inmerso y en función de esto actuar, respondiendo de manera adecuada a cambios
producidos en el mismo. Los efectos producidos pueden modificar el estado de su entorno. Por ejemplo,
un agente de filtrado de correo electrónico está censando su ambiente, alerta a la llegada de nuevos
mensajes. La llegada de un nuevo mensaje (cambio en el medio) produce que el agente responda de
acuerdo a las tareas asignadas.
continuación

Orientación por objetivos: Un agente no sólo debe actuar por cambios detectados en el medioambiente,
sino que debe trabajar en función de los objetivos para los cuales fue diseñado y las tareas que le fueron
delegadas en cada momento. Un agente busca permanentemente satisfacer su agenda interna. En las
aplicaciones convencionales, cuando un usuario ejecuta un comando, se activa un proceso que se ejecuta
por determinado tiempo, algunos solicitan datos al usuario, retornan resultados y así sucesivamente. Esta
es una visión pasiva de computación, ya que la motivación viene de parte del usuario. En un modelo
basado en agentes, el proceso es auto-motivado, es decir, el agente busca satisfacer cierto estado interno
con mínima intervención humana. Por ejemplo, un agente recuperador de archivos tiene especificada una
tarea. El agente debe intentar permanentemente satisfacer la tarea que le fue delegada con base en las
estrategias de búsqueda y recuperación con las cuales fue construido, hasta cumplir con el objetivo.

Continuidad temporal: Un agente es un proceso temporalmente continuo. A diferencia de un programa


convencional del cual se conoce su inicio y fin, un agente debe ejecutarse hasta que se haya alcanzado
con el conjunto de objetivos solicitados, o bien, mientras su ciclo perdure y su usuario no desee
detenerlo. La continuidad temporal es la propiedad que da ´vidaµ al agente, posibilitando que se
mantenga alerta a una solicitud o a algún cambio en el medio. El ciclo de vida de un agente depende de
sus características, de las tareas que realice y de los deseos de su usuario en cuanto al tiempo durante el
cual el agente debe ejecutarse.
continuación

Movilidad: Es la capacidad de un agente de ´viajarµ por las redes de computadores, de nodo a nodo, en
busca de los recursos que le permitan cumplir con su agenda. El término ´viajarµ se refiere a que en un
determinado instante de tiempo el agente detiene su ejecución, almacena su estado interno y se dirige a
otro sitio dentro de una red de computadores para luego continuar con su ejecución en la nueva
ubicación. Los recursos a los que puede acceder pueden ser de software o hardware. Por ejemplo, un
agente puede ir en busca de una base de datos que se encuentra en cierta máquina o bien ejecutarse
remotamente haciendo uso del procesador y memoria del equipo destino. La movilidad no es una
propiedad indispensable para un agente, sino que modifica la forma por la cual el agente cumple con sus
objetivos, en este caso recurriendo a los recursos que puede ofrecer una red de computadores. Aporta
una nueva forma de computación distribuida.

Autonomía: Un agente debe poder controlar sus propias acciones y estado interno. Una vez que el
usuario activa el agente indicando algún objetivo de alto nivel, éste actúa independientemente,
seleccionando estrategias y monitoreando el progreso en busca de la meta. Si falla con una estrategia, usa
otra, pero sin intervención humana o con la mínima indispensable.
Los agentes pueden clasificarse de varias maneras, teniendo en cuenta algunas de las propiedades que
poseen o bien haciendo hincapié en alguna en particular.

De esta manera puede armarse un árbol taxonómico que abarque todas las combinaciones de
propiedades y tareas que se quieran. Partiendo de lo anterior, se presenta la siguiente clasificación de los
agentes de acuerdo con la función u objetivo principal del mismo.

Agentes de interfaz

Un agente de interfaz es un software cuasi-inteligente que asiste a un usuario cuando interactúa con una
o más aplicaciones. La motivación es que se les pueda delegar tareas aburridas y laboriosas. Son
asistentes personales que reducen el trabajo por la sobrecarga de información, como por ejemplo el
filtrado de los mensajes de correo electrónico o la recuperación de archivos de Internet. Esta categoría
de agentes apoyan y proveen asistencia a su usuario. El agente observa y monitorea las acciones que
toma el usuario en la interfaz, aprende nuevos atajos, y sugiere mejores formas de hacer las tareas. La
idea es que el agente pueda adaptarse a las preferencias y hábitos de sus usuarios. Enfatizan la autonomía
y el aprendizaje para llevar a cabo tareas para sus dueños y trabajan en el mismo ambiente que éstos.
continuación

Agentes colaborativos

Los agentes colaborativos constituyen un sistema multiagentes, es decir existe mas de un agente
dedicado a satisfacer los requerimientos de sus usuarios. Para ello es necesario contar con esquemas de
comunicación entre agentes que posibiliten la cooperación y el intercambio de conocimiento. Además,
deben poseer un alto grado de autonomía para actuar interactuando con sus pares. La motivación detrás
de la construcción de agentes colaborativos es que los sistemas construidos con unidades relativamente
simples proveen mayor funcionalidad que un ente mayor, pudiendo extender la funcionalidad del sistema
mas allá de las capacidades de uno de sus miembros.

Además, estas arquitecturas posibilitan contar con mayor confiabilidad (debido a la redundancia) y mayor
velocidad (debido al paralelismo) en el sistema conjunto.

Las áreas de aplicación de este tipo de agentes incluyen:


: Resolución de problemas demasiado grandes.
: Interconexión de múltiples sistemas.
: Manejo de información proveniente de fuentes distribuidas.
continuación

Los agentes móviles

Son procesos capaces de viajar por una red de computadores, interactuando con hosts externos,
recolectando información en nombre de su dueño y retornando a casa luego de completar las tareas
establecidas . Los agentes forman un nivel de abstracción más para el usuario, detrás del cual se
encuentran soluciones a cuestiones técnicas en algunos casos complicadas. Una de estas cuestiones es la
distribución, es decir, como manejar recursos computacionales distribuidos. Con la idea de agentes
móviles los recursos distribuidos no son completamente ocultados al usuario pero tampoco
completamente expuestos. La noción de movilidad viene del objetivo de reducir el tráfico innecesario
dentro de una red, con lo que se pueden reducir los costos de comunicación. Además, al aportar una
nueva forma de computación distribuida posibilita el mejor aprovechamiento de los recursos de la red y
permite que los usuarios tengan acceso a una cantidad mayor de recursos. Por ejemplo, debido a que las
sesiones en busca de un recurso determinado ciertas veces son largas, la idea de agentes móviles provee
una solución. Un usuario delega la tarea de búsqueda de información a un agente, establece una
comunicación con la red y envía al agente a cumplir con su misión. La próxima vez que el usuario se
conecte, el agente retorna con los resultados obtenidos.
continuación

Agentes de recuperación de información.

El objetivo principal de los agentes dedicados específicamente a la recuperación de información es


obtener información por el usuario. La motivación para su construcción es que con el crecimiento
vertiginoso de Internet, la cantidad de información accesible supera la cantidad de tiempo disponible para
analizarla.

Los agentes de recuperación de información poseen métodos para permitir el rápido acceso y
recuperación de información relevante. Tienen la tarea de administrar, manipular y juntar información de
fuentes distribuidas. Pueden tener mecanismos de búsqueda y navegación flexibles y algoritmos de
clasificación poderosos. El objetivo es construir agentes capaces de armar un diario personalizado,
sabiendo dónde buscar, cómo encontrar lo buscado y cómo armarlo luego. Los agentes se presentan
como una herramienta muy útil en la tarea de resolver el problema de la sobrecarga de información,
debido a que éstos pueden realizar sus tareas mucho más rápido que las personas y, además, se
encuentran disponibles las veinticuatro horas.
Existen dos tipos de sistemas para poder desarrollar planes:

1) Planificación centralizada en el cual existe un agente que formula y coordina el plan que es ejecutado
por un conjunto de agentes, este tipo de sistema es conocido como Solución de Problemas
Distribuidos (Distributed Problem Solving - DPS).

2) Planificación descentralizada en donde las tareas de formulación, ejecución y coordinación de los


planes son repartidas a un conjunto de agentes, este tipo de sistema es conocido como Sistemas
Multiagente (MultiAgent System ² MAS).

Cada tipo de sistema visto se puede observar desde una perspectiva externa e interna. La perspectiva
externa se fija en la arquitectura del sistema como una comunidad de agentes (macro-nivel). La
perspectiva interna se fija en la arquitectura de cada agente (micro-nivel).
Solución de Problemas Distribuidos DPS.
Se considera como el trabajo de solucionar un problema en particular, este problema se divide entre los
nodos que conforman el conjunto de agentes, estos cooperan y comparten conocimiento sobre el
problema y la solución desarrollada.

En el sistema DPS todos los agentes tienen conocimiento homogéneo y completo del problema así
como de la solución, están interconectados y el desarrollo de la solución se obtiene a partir de una
secuencia de operaciones.

Sistemas MultiAgente.
Los Sistemas MultiAgente se preocupan por coordinar la conducta inteligente de agentes autónomos.
Estos agentes hacen parte de una colección y pueden coordinar su conocimiento, objetivos, habilidades y
planes juntamente para tomar una acción o resolver una meta global, al igual que los DPS estos pueden
tener conocimiento parcial sobre el problema y las soluciones. En estos sistemas debe haber un proceso
de racionalización para la coordinación del conjunto de agentes.

Por lo general en estos sistemas MA los agentes con sus creencias, deseos e intenciones construyen el
problema y el plan o secuencia de acciones para solucionarlo.
El proceso de generación de un plan es llamado planeación. Los planes son vistos como una secuencia de
acciones de un agente, de tal manera que es capaz de cambiar su entorno y lograr uno o más objetivos.

Las entradas esenciales para un proceso de planeación son: estado inicial del mundo y el conjunto de las
posibles acciones, el agente pude cambiar el mundo o ambiente con sus acciones. Una buena planeación
solo seria efectiva en entornos altamente predecibles, mientras que en dominios caóticos es poco
efectiva, en este caso el agente solo podría reaccionar ante eventos y percepciones.

Los métodos de planeación para DPS y sistemas MA son diferentes, la planeación para múltiples agentes
se utiliza en DPS, mientras que los métodos para planeación distribuida se aplican a los sistemas MA.

Como se vera en las siguientes secciones, en los sistemas DPS un plan debe ser resulto por los agentes,
mientras que en los sistemas multiagente se debe generar y ejecutar un plan por los agentes.
La planeación para múltiples agentes puede ser considerada como un problema distribuido que los
agentes tiene que resolver. Cuando se construye este problema distribuido se tienen que hacer algunas
suposiciones de las principales propiedades de sus elementos.

Existen dos métodos de colaboración entre agentes cuando se soluciona un problema distribuido. La
colaboración esta basada en la repartición de tareas y en compartir resultados.

Repartición de Tareas.
Se basa en la descomposición y repartición de tareas y la habilidad de los agentes para trabajar en
paralelo. El método se basa en la descomposición de subtareas a cargo de un agente cuando este se ve
sobrecargado por una tarea, la asignación de las subtareas resultantes se hace a los agentes del sistema
que tengan las habilidades que se necesiten para resolverla. Una subtarea puede ser dividida y asignada
recursivamente si es necesario. Cuando se termine la subtarea(s) el resultado es devuelto a un agente
que crea la solución final del problema, generalmente este agente es el que descompuso el problema, ya
que es muy probable que este sepa sintetizar los resultados.

Se puede hacer en diferentes tipos de sistemas según las capacidades de los agentes:
: En sistemas homogéneos la repartición de tareas es sencilla ya que los agentes cuentan con las
mismas capacidades. En este caso las subtareas pueden ser asignadas aleatoriamente a los agentes
inactivos del sistema.
: En sistemas homogéneos la repartición de tareas exige mecanismos más complejos ya que los
agentes poseen diferentes habilidades. En este caso cada subtarea debe ser asignada a un gente que tenga
las capacidades adecuadas para resolverla, esto conlleva a que el agente que descompone el problema
debe guardar información sobre las habilidades de cada uno de los agentes del sistema.
continuación

Compartir Resultados.
Los agentes con capacidades, conocimiento y representaciones del entorno diferentes pueden llegar a
diferentes resultados al ejecutar una misma tarea, de esta manera se busca que estos resultados se
compartan de forma que los agentes cooperen para encontrar la solución global del problema.

Al basarse en las diferentes soluciones de los agentes, se pueden obtener los siguientes beneficios:
: Mayor confianza, debido a que si muchos agentes producen la misma solución para un problema
determinado, incrementa la probabilidad de que el resultado sea correcto.
: Mayor integración, ya que cada agente comparte con otros los resultados de todas las tareas que se
han completado, de esta manera el grupo de agentes puede completar la solución global de la tarea.
: Mayor Precisión, teniendo una mayor visión sobre el conjunto de tareas, se permite a los agentes
refinar cada uno de los resultados.
: Mayor Puntualidad, el intercambio de resultados permite a los agentes trabajar en paralelo,
minimizando el tiempo gastado en la solución de un mismo problema por muchos agentes.
En la planeación distribuida, las tareas y resultados de esta, pueden ser fuente de distribución en un
sistema MA, es decir el proceso de planeación es distribuido entre muchos agentes. El resultado de este
proceso de planeación (el cual es un plan) se distribuye y es ejecutado por varios agentes, a esto se le
conoce con el nombre de plan distribuido.

Los agentes pueden participan en la creación de un plan distribuido, actuar tras un plan distribuido o
participar de las dos maneras.

Las Tecnicas de Planeacion Distribuida son: Planeación centralizada para planes distribuidos, Planeación
distribuida para planes centralizados y Planeación distribuida para planes distribuidos.

Planeación Centralizada para Planes Distribuidos.


En la planeación centralizada un solo agente debe crear un plan. Este plan tiene que ser distribuido entre
los agentes del sistema. El agente que genero el plan o un agente coordinador divide el plan en hilos que
pueden ser ejecutados en paralelo. Los hilos son distribuidos entre los agentes utilizando técnicas de
asignación de tareas y cada agente actúa sobre el subplan que recibe.
continuación

Planeación Distribuida para Planes Centralizados.


La planificación distribuida puede existir incluso cuando el plan resultante es ejecutado por un solo
agente. La distribución se hace necesaria cuando no hay la suficiente capacidad o conocimiento del
agente para hacer el plan y debe buscar cooperación con otros agentes especialistas en planeación. En
este tipo de planeación el problema es descompuesto y distribuido entre los agentes especialistas de
planeación usando alguna técnica de repartición de tareas. La coordinación se puede lograr mediante los
siguientes métodos:
: Intercambio de un plan parcial especializado en el cual un planificador modifica y expande un plan
parcial de acuerdo con sus objetivos.
: Combinación de resultados en el cual los planificadores generan planes parciales en paralelo e
intentan integrarlos para formar un plan general.

Planeación Distribuida para Planes Distribuidos.


En este método tanto la planeación como la ejecución de los planes son distribuidos. Como cada agente
esta generando su plan, puede suceder que los agentes no sean consientes de la conducta de otros
agentes, debido a esto es imposible e innecesario probar un plan multiagente completo que comprenda
todas las acciones que tomen los agentes del sistema. La mejor forma para que cada uno de los agentes
respete los planes de los otros, es tener una buena cooperación entre ellos.
La coordinación es definida como el proceso de razonamiento de una agente sobre sus acciones locales
y las acciones de otros agentes, para tratar de asegurar actos coherentes en la comunidad de agentes.
Debe asegurar que las actividades generadas en un problema global sean incluidas mínimo en un agente,
también que la solución de las actividades desarrolladas sea integrada en una solución global y que al
desarrollar las actividades se logren los objetivos en un entorno donde puede haber recursos limitados.

Hay tres razones fundamentales por las cuales se deben coordinar las acciones en un sistema de agentes:
: Porque existen dependencias entre las acciones de los agentes. Hay interdependencia cuando las
metas emprendidas por los agentes individuales están relacionadas, de esta forma cualquier decisión local
hecha por un agente tiene un impacto en las decisiones de los miembros de la comunidad.
: Porque existe una necesidad de encontrar restricciones globales. La solución global a desarrollar por
un grupo de agentes debe satisfacer ciertas condiciones.
: Porque ningún agente tiene suficiente capacidad, recursos o información para resolver el problema
entero. Muchos problemas no pueden ser resueltos por agentes individuales ya que no tienen la
especialización necesaria para hacerlo.
Es un método de coordinación entre agentes que utiliza una estructura organizacional (jerárquica, plana)
de la comunidad de agentes. Puede ser vista como un modelo de información y control de las relaciones
entre los individuos. Estas estructuras de control son responsables de la designación de una autoridad
relativa a los agentes y de la formación de los tipos de interacción social que puede ocurrir. De esta
manera estas estructuras pueden proporcionar una coordinación global de los agentes especificando las
acciones que un agente emprenderá, y evitando las redundancias en las tareas emprendidas por los
diferentes agentes.

Es la técnica de coordinación más simple, se asemeja a una arquitectura maestro/esclavo o


cliente/servidor, ya que el agente autoridad (amo) asigna tareas y recursos a los agentes (esclavos). El
agente autoridad puede crear planes y asignar tareas a los agentes de la comunidad de modo que asegure
la coherencia del sistema.
Este método asume una estructura de mercado descentralizada, los agentes pueden asumir dos roles,
gerente (Contratante) y contratista. La idea básica de esta forma de coordinación, es la asignación de un
problema que un agente no puede resolver usando sus propios recursos y capacidad de especialización,
este agente descompondrá el problema en subproblemas y tratará de encontrar a otros agentes
dispuestos que tengan los recursos y especialización necesarios para resolver estos subproblemas.

El problema de asignar los subproblemas se soluciona mediante un mecanismo de contratación que


consiste en el anuncio de un contrato por parte del agente gerente (contratante), la creación de ofertas
por los agentes contratistas en respuesta al anuncio, y la evaluación de las ofertas propuestas por el
contratante que lleva a otorgar un contrato del subproblema al contratista(s) con la oferta(s) más
apropiada(s).
Con el método de planeación multiagente para coordinación, los agentes usualmente forman un plan con
todas sus acciones e interacciones futuras respecto a un objetivo particular a lograr. Antes de que se
comience la ejecución se detallan las áreas de búsqueda y el camino que cada agente deberá tomar en
cada punto de decisión al desarrollar una actividad. Los planes multiagente para coordinación se
construyen normalmente para evitar acciones inconsistencias o conflictivas al usar recursos limitados.

Con este método los agentes conocen exactamente por adelantado las acciones que deberán tomar, las
acciones que emprenderán los miembros de su grupo y las relaciones que ocurrirán. Debido a que los
agentes se pueden encontrar en un ambiente dinámico e impredecible, el plan que forman los agentes
solo sería válido en un intervalo de tiempo pequeño.
El intercambio de información Meta-nivel implica que los agentes envíen a los otros agentes del grupo
información de control por niveles sobre sus objetivos y creencias.

Al compartir información entre agentes, la conducta de solución de un agente hacia un problema local es
influenciada por la información que recibe de los otros agentes. De esta forma la habilidad de un agente
para solucionar un problema depende de sus habilidades de solución y las hipótesis de los otros agentes
del grupo.

You might also like