agentes inteligentes

35
SISTEMAS EXPERTOS II

Upload: uribeotero

Post on 30-Jun-2015

394 views

Category:

Documents


4 download

TRANSCRIPT

SISTEMAS EXPERTOS II

1.AGENTES

INTELIGENTES

AGENTEUn 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.

AGENTE RACIONALUn 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:De la medida con lo que se evalúa el grado de éxito logrado.De todo lo que hasta ese momento haya percibido el agente. A esta historia perceptual se llama la secuencia de percepciones.Del conocimiento que posea el agente acerca del medio.De 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.

ESTRUCTURA DE LOS AGENTES INTELIGENTES

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.

ELEMENTOS BASICOS EN LA ELECCIONDE TIPOS DE AGENTES

MEDIDAS DERENDIMIENTO

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.

OMNISCIENCIA

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”.

APRENDIZAJE

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.

AUTONOMIA

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.

NATURALEZA DEL ENTORNO

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.

PROPIEDADES DEL ENTORNO

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 parcialmenteobservable 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.

PROPIEDADES DEL ENTORNO

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

PROPIEDADES DEL ENTORNO

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

continuación

EJEMPLOS DE ENTORNOS

PROPIEDADES DE LOS AGENTES

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.

PROPIEDADES DE LOS AGENTES

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

PROPIEDADES DE LOS AGENTES

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.

continuación

CLASIFICACION DE LOS AGENTES

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.

CLASIFICACION DE LOS AGENTES

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

CLASIFICACION DE LOS AGENTES

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

CLASIFICACION DE LOS AGENTES

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.

continuación

2.COMUNIDAD DE

AGENTES

SISTEMAS DE AGENTES

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).

TIPOS DE SISTEMAS

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.

PLANEACION

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.

PLANEACION DE AGENTES MULTIPLESLa 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.

PLANEACION DE AGENTES MULTIPLESCompartir 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.

continuación

PLANEACION DISTRIBUIDAEn 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.

PLANEACION DISTRIBUIDAPlaneació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.

continuación

COORDINACION

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.

COORDINACION ORGANIZACIONAL

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.

COORDINACION POR CONTRATO

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).

COORDINACION POR PLANEACION MULTIAGENTE

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.

COORDINACION POR INTERCAMBIO DE INFORMACION META-NIVEL

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.