Agentes inteligentes: ¿lenguaje o plataforma?

0

A la hora de desarrollar un SMA se pueden considerar dos filosofías de trabajo, una basada en la utilización de un lenguaje de especificación de agentes y la otra a través del desarrollo de un sistema de software a partir de una plataforma que sirve de base a la construcción del SMA, dicha plataforma proporciona servicios básico de comunicación, gestión de agentes y una arquitectura de agente. En cualquiera de los dos casos, y sobre todo cuando el sistema a desarrollar es grande, se necesita metodologías que estructuren el desarrollo de acuerdo con las prácticas de ingeniería de software.

Tenemos que un SMA se puede abordar de dos formas:
1. Utilizando un lenguaje de especificación de agentes.
2. Utilizando una plataforma (sistema de software).

Lenguajes de especificación de agentes

Existen diferentes lenguajes específicos para agentes. Aunque vale decir que también se pueden desarrollar los SMA a tr5aves de lenguajes de propósito general tales como C++, Java, Pascal, etc. Pero seria mas engorrosa su implementación ya que se parte de cero y hay que construirlo todo, mientras los lenguajes de agentes ya ofrecen ciertas herramientas que facilitan la elaboración de los SMA.

El lenguaje de agente mas conocido es Agent0, donde se utilizo, por primera vez, la definición de programación orientada a gentes. Y propuso un nuevo paradigma de programación en el que la entidad principal es el agente. En Agent0, un agente es una entidad cuyo estado se ve como un conjunto de componentes mentales tales como creencias, habilidades, elecciones y compromisos, con estas entidades y un conjunto de primitivas, como son: enviar mensajes, comprometerse o solicitar la ejecución de una tarea, es posible elaborar un lenguaje de descripción de agentes. Existen otros lenguajes que siguen el modelo de Shohan como CASA o PLACA, estos lenguajes añaden la capacidad de planificar acciones a los agentes en el SMA.

Han surgido otros enfoques orientados a teorías de agentes, donde se enuncian definiciones formales para la construcción de los SMA. que permite la confirmación de las propiedades del mismo, lo cual permite manipular la intencionalidad de los agentes. Dentro de estos nuevos enfoques se encuentra ConGOLOG el cual se centra en modelar la ejecución de tareas asignadas a varios agentes y su efecto en el entorno y se tiene en cuenta la modificación de los conocimientos que sufren la entidades en la ejecución de las tareas (fluents) y defines axiomas: de ejecución de tareas, de precondición de tareas de marco (especifica a que fluents afecta la ejecución de la tarea). La ejecución del SMA consiste en descubrir que acciones se pueden ejecutar en el SMA que no creen inconsistencias en el conjunto de axiomas acumulados, que son el conjunto de precondiciones asociadas a las acciones posibles de los agentes.

Lenguajes de agentes:
1. Agent0
2. CASA
3. ConGOLOG.

Plataformas para el diseño de Sistemas Multi-Agentes

La tendencia actual en el desarrollo de SMA es la utilización de plataformas de desarrollo. Esto se debe en gran parte al nivel de conocimientos necesarios que generalmente implica programar con un lenguaje de agentes. Para suplir dicha complejidad han surgido dos tendencias por un lado armazones de software de SMA adaptables a diferentes dominios de aplicación (herramientas) y por otro lado plataformas de desarrollo de ámbito genérico que son implementaciones de estándares de agentes. Aunque el desarrollo con los armazones es más sencillo hoy en día predominan los segundos.

Tipos de plataformas:
1. Herramientas o armazones.
2. Plataformas genéricas.

La mayoría de las plataformas implementan las arquitecturas abstractas FIPA

Leave a Comment

Fields marked by an asterisk (*) are required.