programacion lego ev3 java

download programacion lego ev3 java

of 82

Transcript of programacion lego ev3 java

  • 8/18/2019 programacion lego ev3 java

    1/82

    i

    INSTITUTO TECNOLÓGICO SUPERIOR DE ÁLAMO TEMAPACHE

     ÁREA DE INVESTIGACIÓN

     Análisis de la arquitectura integral de los Agentes

    Móviles

    TESIS

    PARA OBTENER EL TÍTULO DE

    INGENIERO EN SISTEMAS COMPUTACIONALES 

    PRESENTAN:

    BOGAR ALBERTO GOMEZ ALEJANDRE

    JULIO CESAR LEMUS PEREZ

    ASESOR EXTERNO:

    MTI. DALIA DOMÍNGUEZ DÍAZ

    ASESOR INTERNO:

    MTI.KARYME VIZCARRA CAN

    XOYOTITLA, ÁLAMO-TEMAPACHE, VER; A 03 DE FEBRERO DE 2016

  • 8/18/2019 programacion lego ev3 java

    2/82

    2

    Índice de tablas

    TABLA 1 CARACTERÍSTICAS PRINCIPALES DE LAS ARQUITECTURAS ............................ 58 

    TABLA 2 EJEMPLOS Y APLICACIONES DE LOS TRES TIPOS DE ARQUITECTURAS ........ 59 

    TABLA 3 COMPARATIVA ENTRE LOS TRES TIPOS DE ARQUITECTURAS......................... 60 

    TABLA 4 COMPARACIÓN DE ARQUITECTURAS DE HARDWARE ....................................... 64 

    ´

  • 8/18/2019 programacion lego ev3 java

    3/82

     

    3

    Índice de imágenes

    ILUSTRACIÓN 1 ARQUITECTURA DE UN AGENTE DELIBERATIVO [BRENNER, 98] ......... 23 

    ILUSTRACIÓN 2 ARQUITECTURA GRATE [JENNINGS, 92] .................................................. 27 

    ILUSTRACIÓN 3 ARQUITECTURA IRMA.................................................................................. 30 

    ILUSTRACIÓN 4 ARQUITECTURA DE UN AGENTE ADEPT [JENNINGS, 97] ...................... 31 

    ILUSTRACIÓN 5 ARQUITECTURA DE UN AGENTE REACTIVO [IGLESIAS, 97] .................. 35 

    ILUSTRACIÓN 6 ARQUITECTURA SUBSUMPCIÓN [BRENNER, 98] .................................... 38 

    ILUSTRACIÓN 7 ARQUITECTURA DE UN AGENTE HÍBRIDO ............................................... 40 

    ILUSTRACIÓN 8 ARQUITECTURA INTERRAP [VOLKER, 97]................................................. 42 

    ILUSTRACIÓN 9 MODELO DE AGENTE CONCEPTUAL INTERRAP [VOLKER, 97] .............. 44 

    ILUSTRACIÓN 10 ARQUITECTURA TOURING MACHINES DE [FERGUSON, 92] ................ 45 ILUSTRACIÓN 11 ARQUITECTURA 3T [BONASSO, 96] ........................................................ 47 

    ILUSTRACIÓN 12 ARQUITECTURA ARTIS .............................................................................. 48 

    ILUSTRACIÓN 13 COMPORTAMIENTO DE UN AGENTE INTERNO ...................................... 50 

    ILUSTRACIÓN 14 CONJUNTO DE CLASES ............................................................................. 61 

    http://c/Users/blink182/Desktop/tesis-revjulio-y-bogar.docx%23_Toc432207226http://c/Users/blink182/Desktop/tesis-revjulio-y-bogar.docx%23_Toc432207226http://c/Users/blink182/Desktop/tesis-revjulio-y-bogar.docx%23_Toc432207226

  • 8/18/2019 programacion lego ev3 java

    4/82

     

    4

    Contenido

    Índice de tablas ............................................................................................................................. 2 

    Índice de imágenes ....................................................................................................................... 3 

    Capítulo 1 Introducción ................................................................................................................. 6 

    1.1 Introducción ......................................................................................................................... 6 

    1.2 Antecedentes ...................................................................................................................... 8 

    1.3 Planteamiento del problema ............................................................................................. 10 

    1.4 Justificación ....................................................................................................................... 10 

    1.5 Objetivos Generales y Particulares ................................................................................... 11 

    1.6 Hipótesis ............................................................................................................................ 12 

    1.7 Metas ................................................................................................................................. 12 

    1.8 Descripción de la organización del documento ................................................................ 12 

    Capítulo 2 Marco teórico ............................................................................................................. 13 

    2.1 Movilidad de los Agentes. ................................................................................................. 14 

    2.2 Arquitecturas de hardware ................................................................................................ 15 

    Poliarticulados ..................................................................................................................... 15 

    Robots Híbridos ................................................................................................................... 20 

    2.3 Arquitecturas de software ................................................................................................. 21 

    2.3.1 Arquitecturas Deliberativas ............................................................................................ 21 

    2.3.2 Arquitectura formal BDI (Belief, Desire, Intention) ......................................................... 24 

    2.3.3 GRATE ........................................................................................................................... 26 

    2.3.4 IRMA .............................................................................................................................. 28 

    2.3.5 ADEPT ........................................................................................................................... 31 

    2.3.6 Arquitecturas Reactivas ................................................................................................. 34 

    2.3.7 Arquitectura subsumpción .............................................................................................. 37 

    2.3.8 Arquitecturas Híbridas .................................................................................................... 40 

    2.3.9 Arquitectura InteRRaP ................................................................................................... 41 

    2.3.10 Touring Machines ......................................................................................................... 45 

    2.3.11 Arquitectura 3T ............................................................................................................. 47 

    2.3.12 Arquitectura Artis .......................................................................................................... 48 

    Capítulo 3 Estado del arte ........................................................................................................... 51 

  • 8/18/2019 programacion lego ev3 java

    5/82

  • 8/18/2019 programacion lego ev3 java

    6/82

    6

    Capítulo 1 Introducción

    1.1 Introducción 

    Qué es un agente inteligente y un agente móvil.

    Podemos definir al agente inteligente como una entidad software que,

    basándose en su propio conocimiento, realiza un conjunto de operaciones

    destinadas a satisfacer las necesidades de un usuario o de otro programa, bien

    por iniciativa propia o porque alguno de éstos se lo requiere.

    Todos los agentes inteligentes son programas, pero no todos los programasque realizan búsquedas son agentes inteligentes. Los agentes en sí mismos

    pueden ser considerados como entidades individuales (partes de programa que

    tienen control sobre sus propias vidas y movimientos). Continuamente están

    realizando procesos que les indican qué hacer y cómo. Se comunican con otros

    agentes para resolver de forma adecuada su trabajo.

    De acuerdo con el punto de vista de la inteligencia artificial un agente posee las

    siguientes propiedades: autonomía, sociabilidad, capacidad de reacción,

    iniciativa, benevolencia y racionalidad (Wooldridge y Jennings, 1995).

    «Un agente inteligente es una entidad software que, basándose en su propio

    conocimiento, realiza un conjunto de operaciones para satisfacer las

    necesidades de un usuario o de otro programa, bien por iniciativa propia o

    porque alguno de éstos se lo requiere(V.Julián, V.Botti)

    Los agentes móviles, son capaces de ejecutarse en varias máquinas sin

    necesidad de que en ellas se encuentre su código. Como su nombre lo indican

    su código es móvil. También operan sin conexión, pueden trabajar si la red no

    está funcionando. Si los agentes necesitan buscar información en la red el

    mismo puede esperar a que esta se reanude.

    Se entiende por agente móvil a aquél que no está limitado al sistema donde se

    ejecutó, el mismo será capaz de moverse de una máquina a otra a través de la

  • 8/18/2019 programacion lego ev3 java

    7/82

     Capítulo 1 Introducción

    7

    red. De esta forma podrá interactuar con el objeto deseado de forma directa

    sobre el sistema donde se encuentre dicho objeto.

    Arquitectura de los robots 

    Existen diferentes tipos de robots, algunos son de forma humana, de plantas o

    animales, incluso de elementos arquitectónicos pero todos se diferencian por

    sus capacidades y tienen 4 clasificaciones.

    1° Androides: robots con forma humana., estos son los que imitan el

    comportamiento humano.

    2°Móviles: son robots que se desplazan de un lado a otro y y teniendo objetivos

    como llevar un objeto de un lugar a otro

    3° Zoomórficos: estos son robots con arquitecturas de animales se usan para la

    exploración de otros planetas.

    4° Poliarticulados: esta arquitectura se usa en las empresas industriales, esto

    para mover o crear artículos que requieren cuidados especiales

  • 8/18/2019 programacion lego ev3 java

    8/82

     Capítulo 1 Introducción

    8

    1.2 Antecedentes

    Un agente inteligente considerando sus objetivos, evalúa un conjunto de

    opciones para alcanzar la objetivo definida y tomar la decisión final. La decisión

    determina el conjunto de acciones que debe realizar el robot para llevar a cabo

    su objetivo, estas decisiones tomadas anteriormente influirán en decisiones y

    trabajos futuros.

    Los agentes móviles permiten la creación de agentes (objetos) que pueden

    moverse autónoma y libremente por distintos servidores de Internet para

    procesar tareas, recopilar y filtrar datos y finalmente regresar al sitio de origen

    con los resultados obtenidos. Permitiendo con ello, autonomía en el proceso dela información y mejor desempeño de las aplicaciones al permitir la interacción

    local en el proceso de la información en vez de mantener una conexión abierta

    a través de la red. (José F. Vélez Serrano, 2010)

    Se define una arquitectura de agentes como una metodología particular para

    construir agentes. Esta especifica como el agente puede descomponerse en la

    construcción de un conjunto de módulos de componentes y cómo éstos

    módulos deben interactuar. El conjunto total de módulos y sus interaccionesdeben proveer una respuesta a la pregunta de cómo los datos del sensor y el

    actual estado interno del agente determina las acciones y el futuro estado

    interno. Una arquitectura comprende técnicas y algoritmos que apoyan ésta

    metodología. El enfoque clásico para construir agentes, es verlos como un tipo

    particular de sistemas basados en conocimiento. Este paradigma es conocido

    como IA Simbólica Para diseñar el programa de un agente hay que formarse

    una idea de las posibles percepciones y las acciones, los objetivos o quémedida de actuación puede alcanzar el agente, y además en que tipo de

    entorno se situará. Los agentes que participan en sistemas multiagente pueden

    desarrollar diferentes actividades, entre las cuales se puede incluir la

    planeación, negociación, deliberación y toma de decisiones. Para definir un

    entorno en el que los agentes puedan ser añadidos y coexistir es necesaria una

    arquitectura. El paradigma de los sistemas multiagente se fundamenta en la

    idea de superar las limitaciones inherentes a cualquier sistema inteligente,natural o artificial, formando agrupaciones de sistemas simples de tal forma que

  • 8/18/2019 programacion lego ev3 java

    9/82

     Capítulo 1 Introducción

    9

    puedan compartir conocimientos y capacidades de la misma manera que la

    gente supera sus limitaciones individuales agrupándose en sociedades. Un

    agente estaría constituido por cada uno de éstos sistemas simples que se

    agrupan y la comunidad considerada globalmente formaría un sistema

    multiagente.Los agentes que participan en un sistema multiagentes pueden ser

    de diferentes clases, dependiendo de las actividades que puedan desarrollar,

    así como de la concepción de cuál es el sistema multiagente que se está

    trabajando. Una arquitectura es necesaria para crear un entorno abierto, es

    decir un entorno en el que puedan coexistir diferentes estructuras de datos o de

    control, en donde los agentes puedan ser añadidos en aplicaciones ya

    existentes, así como para la creación de sistemas en los que participan variosagentes. Las arquitecturas de agentes describen la interconexión de los

    módulos de software/hardware que permiten a un agente exhibir la conducta

    enunciada en la teoría de agentes. En arquitecturas en las que participan

    diferentes agentes, cada actividad requiere un protocolo especial, esto es

    esencial, ya que los protocolos habilitan a los agentes a interactuar de una

    forma organizada.(Pattie maes)

  • 8/18/2019 programacion lego ev3 java

    10/82

  • 8/18/2019 programacion lego ev3 java

    11/82

     Capítulo 1 Introducción

    11

    consideran inteligentes, para lo cual debe contar con los siguientes atributos:

    ser autónomo, percibir y actuar sobre su ambiente, contar con objetivos o

    motivaciones , capaz de aprender de experiencias y de adaptarse a nuevas

    situaciones. El robot Institute of América define un robot como un manipulador

    programable capaz de realizar diversas funciones diseñado para desplazar

    materiales, partes, herramientas o determinados artefactos mediante

    movimientos programados variables y cuyo objetivo es la realización de ciertas

    tareas. También un robot podría definirse simplemente como un agente artificial

    activo, cuyo entorno es el mundo físico. (Rodríguez, 2002)

    1.5 Objetivos Generales y Particulares

    Elegir una arquitectura para que los agentes móviles trabajen en diferentes

    tipos de ambientes y adaptándose a ellos dependiendo de los objetivos, los

    agentes tomaran decisiones después de investigar el ambiente y así facilitar su

    meta.

      Documentar y analizar las características generales de los agentes

    móviles.

      Analizar todas las arquitecturas que favorecen la estructura de los

    agentes móviles.

      Comparación de las arquitecturas de los agentes móviles

      Investigar los diferentes tipos de agentes móviles, sus funciones,

    características, su estructura, plataformas, lenguajes y seleccionar el

    mejor para la implementación de acuerdo a nuestra investigación.

      Resultados, ventajas y desventajas de cada arquitectura.

      Selección de las arquitecturas que se van a utilizar para trabajar con losagentes.

  • 8/18/2019 programacion lego ev3 java

    12/82

     Capítulo 1 Introducción

    12

    1.6 Hipótesis

    Se intenta probar que la arquitectura que estamos proponiendo sea la más

    óptima de acuerdo al protocolo de comunicación y lenguaje de programación

    en el cual será desarrollado el agente móvil.

    1.7 Metas

    Proponer una arquitectura eficiente que brinde las mejores funciones y ventajas

    de comunicación, para tener la plataforma en la cual será programado el

    agente.

    1.8 Descripción de la organización del documento

    La presente tesis se encuentra organizada en 6 capítulos los cuales se

    describen a continuación:

    En el capítulo 1, Introducción se aborda la problemática en cuanto a la

    comunicación de agentes inteligentes, los objetivos que se deben de lograr

    para cumplir las metas propuestas.

    En el capítulo 2, Marco teórico, se incluyen definiciones de agentes,

    comunicación, arquitecturas, modelos de movilidad, lenguajes utilizados para la

    comunicación, entre otros. Todo lo relacionado a nuestro caso de estudio.

    Capítulo 3, Experimentación y análisis de resultados, en este penúltimo

    capítulo primeramente encontraremos las experimentaciones y análisis

    realizados, así mismo los resultados obtenidos en cuanto a nuestra propuesta

    realizada.

    Capítulo 4, Estado del Arte, se detallan a grandes rasgos algunos de los

    trabajos más recientes sobre nuestra problemática, comunicación y

    coordinación de agentes los cuales son de ayuda para para nuestro proyecto y

    así facilitar la búsqueda de la arquitectura

    Lo que corresponde al capítulo 5, Metodología se explica la metodología

    utilizada para alcanzar nuestro objetivo de manera clara y sencilla.

    Y el último capítulo 6, Conclusiones, corresponde a las conclusiones a nuestropunto de vista de acuerdo a la investigación, propuesta y resultados obtenidos.

  • 8/18/2019 programacion lego ev3 java

    13/82

     

    13

    Capítulo 2 Marco teórico

    La robótica es una ciencia de la tecnología, la cual se dedica al diseño,construcción y aplicación de los robots. 

    La robótica consta de diferentes disciplinas como son: la mecánica,  la

    electrónica,  la informática,  la inteligencia artificial y la física. Otras áreas

    importantes en robótica son el álgebra,  los autómatas programables y

    animatrónica. 

    El término robot se popularizó con el éxito de la obra R.U.R. (Robots

    Universales Rossum),  escrita por Karel Čapek  en 1920. En la traducción al

    inglés de dicha obra, la palabra checa robota, que significa trabajos forzados,

    fue traducida al inglés como robot.

    Se entiende por agente móvil a aquél que no está limitado al sistema donde se

    ejecutó, el mismo será capaz de moverse de una máquina a otra a través de la

    red. De esta forma podrá interactuar con el objeto deseado de forma directa

    sobre el sistema donde se encuentre dicho objeto. (Valdés, 2007)

     Actualmente hay tres disciplinas informáticas fundamentales en el desarrollo y

    definición de agentes.

    1. Inteligencia artificial.

    2. Programación orientada a objetos y programación concurrente.

    3. Diseño de interfaces hombre-máquina.

    La definición formal de agente de software es de las grandes ausentes cuando

    se trabaja con la tecnología de agentes.

    Los agentes móviles tienen la capacidad de moverse por diferentes nodos de la

    red una o más veces, son autónomos con la función de ejecutar tareas, se

    envían como objetos a través de plataformas conservando su código, datos y

    estado de ejecución.

    http://es.wikipedia.org/wiki/Robothttp://es.wikipedia.org/wiki/Mec%C3%A1nicahttp://es.wikipedia.org/wiki/Electr%C3%B3nicahttp://es.wikipedia.org/wiki/Inform%C3%A1ticahttp://es.wikipedia.org/wiki/Inteligencia_artificialhttp://es.wikipedia.org/wiki/%C3%81lgebrahttp://es.wikipedia.org/wiki/Aut%C3%B3mata_programablehttp://es.wikipedia.org/wiki/Animatr%C3%B3nicahttp://es.wikipedia.org/wiki/Robothttp://es.wikipedia.org/wiki/R.U.R._(Robots_Universales_Rossum)http://es.wikipedia.org/wiki/R.U.R._(Robots_Universales_Rossum)http://es.wikipedia.org/wiki/Karel_%C4%8Capekhttp://es.wikipedia.org/wiki/Karel_%C4%8Capekhttp://es.wikipedia.org/wiki/Idioma_ingl%C3%A9shttp://es.wikipedia.org/wiki/Idioma_ingl%C3%A9shttp://es.wikipedia.org/wiki/Karel_%C4%8Capekhttp://es.wikipedia.org/wiki/R.U.R._(Robots_Universales_Rossum)http://es.wikipedia.org/wiki/R.U.R._(Robots_Universales_Rossum)http://es.wikipedia.org/wiki/Robothttp://es.wikipedia.org/wiki/Animatr%C3%B3nicahttp://es.wikipedia.org/wiki/Aut%C3%B3mata_programablehttp://es.wikipedia.org/wiki/%C3%81lgebrahttp://es.wikipedia.org/wiki/Inteligencia_artificialhttp://es.wikipedia.org/wiki/Inform%C3%A1ticahttp://es.wikipedia.org/wiki/Electr%C3%B3nicahttp://es.wikipedia.org/wiki/Mec%C3%A1nicahttp://es.wikipedia.org/wiki/Robot

  • 8/18/2019 programacion lego ev3 java

    14/82

    Capítulo 2 Marco teórico

    14

    Se entiende por agente móvil a aquél que no está limitado al sistema donde se

    ejecutó, el mismo será capaz de moverse de una máquina a otra a través de la

    red. De esta forma podrá interactuar con el objeto deseado de forma directa

    sobre el sistema donde se encuentre dicho objeto.

    Una arquitectura es a grandes rasgos, una vista del sistema que incluye los

    componentes principales del mismo, la conducta de esos componentes según

    se la percibe desde el resto del sistema y las formas en que los componentes

    interactúan y se coordinan para alcanzar la misión del sistema. La vista

    arquitectónica es una vista abstracta, aportando el más alto nivel de

    comprensión y la supresión o diferencia del detalle inherente a la mayor parte

    de las abstracciones. (Carlos Billy Reynoso)

    2.1 Movilidad de los Agentes.

    Una vez conocidas las diferentes arquitecturas de los agentes móviles de cada

    una de las compañías de estandarización internacional, es necesario conocer

    también los aspectos de comunicación e intercambio de información entre

    ellos.

    La interoperabilidad entre estos sistemas es muy importante debido a que si

    dos sistemas de distinto origen no pueden intercambiar agentes, la movilidad

    se queda como una capacidad no aprovechable.

    Para lograr la movilidad de los agentes se puede trabajar con dos soluciones:

    Migración: este modelo es más complejo ya que requiere la transferencia de

    códigos y datos del agente a la plataforma remota. Cuando un agente va amigrar se suspende, se transfiere por la red y se despierta en el otro extremo

    siguiendo su ejecución en el mismo punto donde la había dejado. (Gómez,

    2003)

  • 8/18/2019 programacion lego ev3 java

    15/82

    Capítulo 2 Marco teórico

    15

    2.2 Arquitecturas de hardware

    Es el soporte físico al conjunto de elementos materiales, corresponde a todaslas partes físicas y tangibles, sus componentes eléctricos, electrónicos,

    electromecánicos y mecánicos; sus cables,periféricos de todo tipo y cualquier

    otro elemento físico involucrado.

    Poliarticulados

    La gama de los robots poliarticulados permite actualmente, según las cargas a

    transportar y el espacio en el que el despaletizador tiene que evolucionar, una

    respuesta personalizada a cada necesidad.

    Este despaletizador puede estar equipado con herramientas de toma de capas

    completas o parciales. Su precisión, velocidad y flexibilidad, lo convierten en un

    despaletizador cuya calidad está sobradamente demostrada.

     Además, según las aplicaciones, puede alimentar varias líneas de producción

    simultáneamente con productos diferentes. En este caso, la herramienta se

    adapta al producto durante la transferencia de una línea a otra.

  • 8/18/2019 programacion lego ev3 java

    16/82

    Capítulo 2 Marco teórico

    16

    Móviles

    Un robot móvil es una máquina automática que es capaz de trasladarse en

    cualquier ambiente dado.

    Los robots móviles tienen la capacidad de moverse en su entorno y no se fijana una ubicación física. En contraste, existen robots industriales fijos, que

    consisten en un brazo articulado (manipulador de multi-ligado) y una pinza de

    montaje (o efector de extremo) que está unida a una superficie fija.

    Los robots móviles son un foco importante de la investigación actual y casi

    cada universidad importante que tenga uno o más laboratorios que se centran

    en la investigación de robots móviles. Los robots móviles se encuentran

    también en la industria y los servicios. Los robots domésticos son productos deconsumo, incluyendo robots de entretenimiento y las que realizan ciertas tareas

    del hogar, como pasar la aspiradora o la jardinería

  • 8/18/2019 programacion lego ev3 java

    17/82

    Capítulo 2 Marco teórico

    17

    Androide

     Androide es la denominación que se le da a un robot u organismo sintético

    antropomorfo que, además de imitar la apariencia humana, imita algunos

    aspectos de su conducta de manera autónoma. Es un término mencionado porprimera vez por Alberto Magno en 1270 y popularizado por el autor

    francés Auguste Villiers en su novela de 1886 L'Ève future.

    Etimológicamente "androide" se refiere a los robots humanoides de fisionomía

    masculina, y a los robots de apariencia femenina se les llama

    ocasionalmente ginoides, principalmente en las obras de ciencia ficción. En el

    lenguaje Un robot humanoide que se limita a imitar los actos y gestos de un

    controlador humano, no es visto por el público como un verdadero androide,

    sino como una simple marioneta animatrónica.  El androide siempre ha sido

    representado como una entidad que imita al ser humano tanto en apariencia,

    como en capacidad mental e iniciativa. Antes incluso de haber visto un

    verdadero robot en acción, la mayoría de las personas asocian la idea de robot

    con la de androide, debido a su extrema popularidad como cliché de la ciencia

    ficción. 

    La actitud de base entre el público frente a los androides varía en función del

    bagaje cultural que posea dicho público. En la cultura occidental la criatura

    humanoide, fabricada casi siempre por un sabio, es con bastante frecuencia

    un monstruo que se rebela contra su creador y en ocasiones lo destruye como

    castigo por su hubris;  y el primero de los cuales no es necesariamente el

    monstruo deFrankenstein de Mary Shelley.  Bien que dicho monstruo sea

    fácilmente el más famoso.

    Desde los Grecia Antigua existen leyendas y folklore narrando sobre seres

    humanoides fabricados en metal por el artesano y herrero de los

    dioses, Hefesto. Aunque el carácter monstruoso del androide parece haberse

    ganado con la cristianización del mundo occidental.

    De hecho es tan notorio este fenómeno, que el reconocido experto

    en inteligencia artificial Marvin Minsky,  llegó a narrar como en ocasiones

    llegaba a sentirse incómodo frente a una de sus creaciones, el androide Cog, 

    cuando éste presentaba conductas inesperadas.

    http://es.wikipedia.org/wiki/Humanoidehttp://es.wikipedia.org/wiki/Animatr%C3%B3nicahttp://es.wikipedia.org/wiki/Clich%C3%A9http://es.wikipedia.org/wiki/Ciencia_ficci%C3%B3nhttp://es.wikipedia.org/wiki/Ciencia_ficci%C3%B3nhttp://es.wikipedia.org/wiki/Cultura_occidentalhttp://es.wikipedia.org/wiki/Monstruohttp://es.wikipedia.org/wiki/Hubrishttp://es.wikipedia.org/wiki/Monstruo_de_Frankensteinhttp://es.wikipedia.org/wiki/Mary_Shelleyhttp://es.wikipedia.org/wiki/Grecia_Antiguahttp://es.wikipedia.org/wiki/Hefestohttp://es.wikipedia.org/wiki/Inteligencia_artificialhttp://es.wikipedia.org/wiki/Marvin_Minskyhttp://es.wikipedia.org/wiki/Coghttp://es.wikipedia.org/wiki/Coghttp://es.wikipedia.org/wiki/Marvin_Minskyhttp://es.wikipedia.org/wiki/Inteligencia_artificialhttp://es.wikipedia.org/wiki/Hefestohttp://es.wikipedia.org/wiki/Grecia_Antiguahttp://es.wikipedia.org/wiki/Mary_Shelleyhttp://es.wikipedia.org/wiki/Monstruo_de_Frankensteinhttp://es.wikipedia.org/wiki/Hubrishttp://es.wikipedia.org/wiki/Monstruohttp://es.wikipedia.org/wiki/Cultura_occidentalhttp://es.wikipedia.org/wiki/Ciencia_ficci%C3%B3nhttp://es.wikipedia.org/wiki/Ciencia_ficci%C3%B3nhttp://es.wikipedia.org/wiki/Clich%C3%A9http://es.wikipedia.org/wiki/Animatr%C3%B3nicahttp://es.wikipedia.org/wiki/Humanoide

  • 8/18/2019 programacion lego ev3 java

    18/82

    Capítulo 2 Marco teórico

    18

    En otras culturas las reacciones pueden ser bastante diferentes. Un ejemplo

    meritorio es la actitud japonesa de cara a los androides, donde el público no

    teme la antropomorfización de las máquinas, y aceptan por lo tanto con menos

    problemas la idea que un robot tenga apariencia humana, para poder así

    interactuar más fácilmente con seres humanos.

    coloquial el término androide suele usarse para ambos casos, aunque también

    se emplea el término genérico "robot antropoide".

    http://es.wikipedia.org/wiki/Jap%C3%B3nhttp://es.wikipedia.org/wiki/Jap%C3%B3n

  • 8/18/2019 programacion lego ev3 java

    19/82

    Capítulo 2 Marco teórico

    19

    Zoomórficos.

    Los Robots zoomórficos, que considerados en sentido no restrictivo podrían

    incluir también a los androides, constituyen una clase caracterizada

    principalmente por sus sistemas de locomoción que imitan a los diversos seresvivos. 

     A pesar de la disparidad morfológica de sus posibles sistemas de locomoción

    es conveniente agrupar a los Robots zoomórficos en dos categorías

    principales: caminadores y no caminadores. El grupo de los Robots

    zoomórficos no caminadores está muy poco evolucionado. Cabe destacar,

    entre otros, los experimentados efectuados en Japón basados en segmentos

    cilíndricos biselados acoplados axialmente entre sí y dotados de un movimiento

    relativo de rotación. En cambio, los Robots zoomórficos caminadores

    multípedos son muy numeroso y están siendo experimentados en diversos

    laboratorios con vistas al desarrollo posterior de verdaderos vehículos terrenos,

    piloteando o autónomos, capaces de evolucionar en superficies muy

    accidentadas. Las aplicaciones de estos Robots serán interesantes en el

    campo de la exploración espacial y en el estudio de los volcanes. 

  • 8/18/2019 programacion lego ev3 java

    20/82

    Capítulo 2 Marco teórico

    20

    Robots Híbridos

    Estos Robots corresponden a aquellos de difícil clasificación cuya estructura se

    sitúa en combinación con alguna de las anteriores ya expuestas, bien sea por

    conjunción o por yuxtaposición. Por ejemplo, un dispositivo segmentado

    articulado y con ruedas, es al mismo tiempo uno de los atributos de los Robots

    móviles y de los Robots zoomórficos. De igual forma pueden considerarse

    híbridos algunos Robots formados por la yuxtaposición de un cuerpo formado

    por un carro móvil y de un brazo semejante al de los Robots industriales. En

    parecida situación se encuentran algunos Robots antropomorfos y que no

    pueden clasificarse ni como móviles ni como androides, tal es el caso de los

    Robots personales.

  • 8/18/2019 programacion lego ev3 java

    21/82

    Capítulo 2 Marco teórico

    21

    2.3 Arquitecturas de software

    2.3.1 Arquitecturas Deliberativas

    Los agentes con una arquitectura deliberativa se caracterizan porque contienenexplícitamente un modelo simbólico del entorno, y las decisiones (por ejemplo

    sobre qué acciones realizar) son tomadas vía razonamiento lógico (o al menos

    pseudo-lógico) basado en equiparación de patrones y manipulación simbólica.

    Los agentes deliberativos mantienen la tradición de la Inteligencia Artificial

    clásica, basada en la hipótesis de los sistemas de símbolos físicos enunciada

    por Newell y Simon [Newell & Simon, 72].

     Además de una representación simbólica del entorno, los agentes deliberativos

    tienen capacidad para llevar a cabo decisiones lógicas utilizando el

    conocimiento que con el que cuentan y modificando su estado interno, que

    frecuentemente de denomina estado mental .

    Lo más común es que el estado mental de los agentes deliberativos, que

    normalmente son llamados agentes BDI  (belief, desire, intention), esté formado

    por cinco componentes:

      Creencias: conocimiento que el agente tiene de si mismo y de su entorno,

    que puede ser incompleta o incorrecta.

      Deseos: objetivos que el agente desea cumplir a largo plazo

      Metas: subconjunto de los deseos que el agente puede conseguir. Han se

    ser realistas y no tener conflictos entre ellas.

      Intenciones: subconjunto de las metas que el agente intenta conseguir.

      Planes: combinan las intenciones en unidades consistentes. Las intenciones

    constituyen subplanes del plan global del agente, de manera que el

    conjunto de todos los planes refleja las intenciones del agente.

    El resultado de aplicar este el modelo BDI a la hora de diseñar la arquitectura

    de un agente deliberativo se puede observar en la ¡Error! No se encuentra el

    rigen de la referencia., en la que se muestran los componentes principales de

    un agente de este tipo. En esta figura la base de conocimiento  del agente

  • 8/18/2019 programacion lego ev3 java

    22/82

    Capítulo 2 Marco teórico

    22

    contiene el modelo simbólico de entorno, es decir, lo que antes se ha

    denominado creencias.

    Un agente deliberativo funciona de forma muy parecida a un sistema de

    planificación, es decir, dados un estado inicial, un estado meta y un conjunto deoperadores (acciones), intenta encontrar una secuencia de acciones que le

    lleven a conseguir el estado meta [Iglesias, 97]. En concreto, siguiendo el

    esquema de la figura 1, se puede decir que el funcionamiento es como sigue: a

    partir de la base de conocimiento se derivan, por medio de un resolutor , los

    deseos, metas e intenciones. El planificador  toma las intenciones y las combina

    formando un plan global consistente en un proceso incremental dinámico, es

    decir, el planificador testea nuevas intenciones por si hay dependencias con losplanes existentes, y de esta forma los planes están continuamente

    adaptándose a las situaciones que se producen por la llegada de nuevas

    intenciones.

    El organizador   recibe del planificador los planes actuales, donde cada plan

    consiste en un número determinado de acciones simples que pueden ser

    procesadas de forma secuencial o de forma paralela, y decide cuando se

    ejecutan las acciones que contienen, asociando un tiempo de ejecución a cada

    acción. Para esto es necesario que el organizador conozca continuamente los

    recursos disponibles para el agente. El organizador pasa cada acción con su

    información complementaria al ejecutor , que ejecuta la acción y monitoriza su

    correcto funcionamiento.

    Según si los agentes son capaces de razonar sobre otros agentes o no, se

    pueden distinguir dos tipos principales de arquitecturas deliberativas:

    arquitecturas intencionales y arquitecturas sociales [Iglesias, 97].

    Los agentes intencionales son capaces de razonar sobre sus creencias e

    intenciones. Se pueden considerar como sistemas de planificación que incluyen

    creencias e intenciones en sus planes.

    Los agentes sociales se pueden considerar como agentes intencionales que

    cuentan además con modelos explícitos de otros agentes y son capaces de

    razonar sobre estos modelos.

  • 8/18/2019 programacion lego ev3 java

    23/82

    Capítulo 2 Marco teórico

    23

    La construcción de agentes con arquitectura deliberativa presenta

    principalmente dos problemas [Brenner, 98]:

      El modelado del entorno y la elección de un lenguaje de representación

    simbólico adecuado y práctico puede crear muchas dificultades y supone ungran esfuerzo.

      Actualizar a tiempo todo el conocimiento necesario también ocasiona

    dificultades, ya que normalmente el conocimiento y los recursos necesarios

    no están disponibles en un tiempo limitado. Si además el entorno en el que

    se encuentra el agente es dinámico y por lo tanto cambia relativamente

    rápido, el problema se acrecenta aún más, ya que si la visión que tiene

    agente sobre el mundo no es actual no puede ser muy proactivo.

    Es decir, para construir un agente deliberativo el modelo simbólico del mundo

    deberá ser lo suficientemente complejo como para proporcionar al agente el

    conocimiento que necesita para realizar razonamientos lógicos, pero por otro

    lado deberá ser lo suficientemente simple como para que el sistema pueda ser

    actualizado a tiempo. Por otro lado, las teorías BDI proporcionan un modelo

    conceptual claro de conocimiento, metas y cometidos de un agente, pero

    deben de ser extendidas para soportar el diseño en aplicaciones prácticas deagentes limitados por recursos y de agentes dirigidos a metas.

    Reasoner

    Output

    (actions)

    Manage

    r

    Executor Scheduler Planner

    Intention

    Goals

    Desires

    Knowledge Base (symbolic

    environment model)

    Information

    receiver

    INTER ACTION

    Input

    (perception)

    Ilustración 1 Arquitectura de un agente deliberativo [Brenner, 98] 

  • 8/18/2019 programacion lego ev3 java

    24/82

    Capítulo 2 Marco teórico

    24

    Como ejemplos de arquitecturas deliberativas se presentan: la arquitectura

    formal BDI [Rao, Georgeff, 95], GRATE [Jennings, 92], IRMA [Bratman et al.,

    88] y ADEPT [Alty, 94], [Jennings, 97] aunque existen muchas otras como

     AGENT0 [Shoham, 92, Shoham, 93], PRS [Georgeff & Lansky, 86], SOAR

    [Rosembloom et. al., 91] [Tambe, 97] [soar], etc.

    2.3.2 Arquitectura formal BDI (Belief, Desire, Intention)

    En 1995 Rao y Georgeff [Rao, Georgeff, 95] desarrollaron un modelo para

    implementar agentes BDI. Los agentes BDI que siguen este modelo pueden

    realizar tareas de control en un entorno dinámico complejo.

    Los dominios de aplicación dinámicos en tiempo real tienen, por lo general, las

    siguientes características:

      En un momento dado, pueden existir muchas formas de que el entorno

    varíe.

      En un momento dado, pueden existir muchas acciones o procedimientos

    que el sistema puede ejecutar.

      En un momento dado, el sistema puede tener muchos objetivos.

      El entorno sólo se puede percibir localmente.

      El tiempo en el que las acciones son llevadas a cabo debe estar limitado de

    una forma razonable, teniendo en cuenta la rapidez con la que evoluciona el

    entorno.

    Según Rao y Georgeff [Rao, Georgeff, 95], los árboles de decisión son unas

    estructuras formales adecuadas para describir estos sistemas que son no

    deterministas, según las dos primeras características. Cada rama en el árbolrepresenta un camino de ejecución alternativo, cada nodo representa un estado

    del mundo y cada transición una acción primitiva del agente y/o un evento en el

    entorno. De las acciones primitivas de agente resultan nodos de decisión y de

    los eventos, nodos casuales.

    En este modelo formal se pueden identificar los objetivos del sistema como

    caminos concretos en la estructura de árbol.

  • 8/18/2019 programacion lego ev3 java

    25/82

    Capítulo 2 Marco teórico

    25

    Para que el agente actúe, debe seleccionar las acciones apropiadas de todas

    las opciones disponibles. Para diseñar la función de selección debe tener

    información sobre el estado del entorno, contenida en algún componente del

    estado del sistema (creencias). Además debe tener información sobre los

    objetivos a conseguir (deseos) en otro componente. El curso de ejecución de la

    acción actual también debe ser conocido (intenciones) por si el entorno varía

    durante la ejecución de la acción elegida, o de la función de selección.

    Como los nodos casuales representan eventos que dependen exclusivamente

    del entorno el agente no tiene ningún control sobre ellos. Por esta razón [Rao,

    Georgeff, 95] proponen eliminarlos del árbol de decisión, creando para cada

    conexión que sale de un nodo casual un nuevo árbol de decisión, en el que elnodo casual se ha eliminado y el arco que incidía en él, incida ahora en su

    sucesor. De esta forma se generan una serie de árboles de decisión donde

    cada uno de ellos representa un estado potencial del entorno (mundo posible)

    con su probabilidad de ocurrencia asociada y con el beneficio que obtiene el

    agente con cada camino. Con las probabilidades asociadas a los mundos

    posibles el agente obtiene lo que cree que es posible, con los beneficios lo que

    desea que sea posible y utiliza esta información para encontrar los mejorescaminos de acción, a partir de los cuales el agente conoce lo que intenta.

    [Rao, Georgeff, 95] desarrollaron una lógica formal basada en este modelo, que

    permite al agente realizar razonamiento y crear intenciones. Pero desde el

    punto de vista práctico es más relevante la arquitectura abstracta de un

    intérprete BDI introducida también por ellos. El intérprete BDI utiliza tres

    estructuras de datos dinámicas: una para creencias, otra para deseos y otra

    para intenciones, y una cola de eventos en la que se encuentran todos loseventos que ocurren.

  • 8/18/2019 programacion lego ev3 java

    26/82

    Capítulo 2 Marco teórico

    26

    En cada pasada en intérprete primero lee la cola de eventos y genera una lista

    de opciones (posibles metas a conseguir). Después selecciona las mejores de

    estas acciones y las añade a la estructura de intenciones. Si hay alguna

    intención que realice una acción atómica el agente la ejecuta. Los eventos que

    han ocurrido durante el ciclo de ejecución del intérprete se añaden a la cola.

    Por último el agente modifica las estructuras de intenciones y de deseos

    eliminando tanto las intenciones y deseos que se han llevado a cabo con éxito

    como las que no son posibles.

    Con este modelo los sistemas deliberativos se adecuan más a entornos

    dinámicos y también son más adecuados para aplicaciones que funcionan en

    tiempo real.

    2.3.3 GRATE

    La arquitectura GRATE (Generic Rules and Agent model Tesbed Environment)

    [Jennings, 92] sigue un esquema en capas en él que el comportamiento del

    agente se guía por creencias, deseos e intenciones. Esta arquitectura está

    especialmente diseñada para construir aplicaciones en las que los agentes

    deben cooperar entre si para conseguir una serie de metas. Por este motivo se

    deben reflejar en la arquitectura los dos posibles roles que un agente puede

    tomar: como entidad individual, y como miembro de una comunidad. Los

    agentes que se construyen siguiendo esta arquitectura se caracterizan porque

    contienen una cantidad significativa de conocimiento de cooperación y control.

    El conocimiento de los agentes GRATE se divide en tres partes, como se

    observa en la figura 2:

      El almacén de información (information store): que contiene un repositorio

    de toda la información del dominio que se ha generado por el propio agente

    o que ha sido recibida como resultado de un proceso de interacción con

    otros agentes de la comunidad.

      El modelo propio (self model): que contiene conocimiento sobre el propio

    agente.

  • 8/18/2019 programacion lego ev3 java

    27/82

    Capítulo 2 Marco teórico

    27

      El modelo de otros agentes (acquaitances model): que contiene

    representaciones de los agentes de la comunidad con los que el agente

    interactúa.

    El conocimiento que contienen estos dos últimos módulos se puede clasificaren función del tipo de conocimiento en: conocimiento del estado (progreso de

    las tareas), conocimiento sobre capacidades (descripción de tareas, recetas,

    ...), conocimiento intencional (intenciones), conocimiento de evaluación (tiempo

    para completar las tareas) y conocimiento del dominio.

    Desde un punto de vista funcional, los agentes GRATE se dividen en dos

    componentes bien diferenciados, como se aprecia en la figura 2: Un nivel del

    dominio y una capa de cooperación y control. El nivel del dominio se resuelven

    problemas del dominio (de control industrial, financias, transporte, etc.). El nivel

    de cooperación y control es un meta-nivel controlador que opera en el nivel del

    dominio, cuyo objetivo es asegurar que las actividades del agente están

    coordinadas con las de otros agentes en la comunidad.

    Ilustración 2 Arquitectura GRATE [Jennings, 92]

    La capa de cooperación está compuesta de tres módulos genéricos: un módulo

    de control (control module), un módulo de evaluación de situaciones (situation

    assessment module) y un módulo de cooperación (cooperation module). Lasfunciones que realizan estos módulos se describen a continuación:

  • 8/18/2019 programacion lego ev3 java

    28/82

    Capítulo 2 Marco teórico

    28

      Módulo de evaluación de situaciones: este módulo actúa de interfaz entrelos mecanismos de control local y cooperativo. Las actividades que realizason relativas a las decisiones sobre qué actividades deben ser llevadas acabo localmente y cuáles deben realizarse de forma cooperativa, qué

    peticiones de cooperación deben acordarse y cuáles no, qué prioridadtienen las tareas que el agente debe realizar, etc.

      Módulo de control: este módulo es el responsable de asegurar que lastareas que el agente va a realizar son llevadas a cabo. El módulo deevaluación de situaciones informa al módulo de control de las tareas queéste debe monitorizar y de sus prioridades.

      Módulo de cooperación: este módulo es el responsable de realizar lasactividades sociales. También es informado de estas actividades por elmódulo de evaluación de situaciones, que previamente ha detectado lanecesidad de iniciar una actividad social.

    El funcionamiento de un conjunto de agentes GRATE ha sido evaluado contra

    agentes que sólo tienen intenciones individuales y contra agentes que se

    comportan de una manera interesada en problemas de dominio real.

    2.3.4 IRMA

    IRMA (Intelligent Resource-bounded Machine Architecture) es una arquitectura

    que sigue el modelo BDI, diseñada por [Bratman et al., 88]. Esta arquitectura seha tomado como base en el diseño de otras muchas arquitecturas que han

    aparecido posteriormente.

    La arquitectura IRMA mantiene cuatro estructuras de datos simbólicos,

    denotados mediante ovales en la figura 3: la librería de planes, el conjunto de

    intenciones estructuradas como planes, el conjunto de creencias y el conjunto

    de deseos.

    La librería de planes contiene los planes sobre los que el agente tiene

    información, a modo de recetas. Esta librería de planes puede ser vista como

    un subconjunto de las creencias del agente, que concretamente contiene las

    creencias del agente sobre qué acciones deberían ser útiles para conseguir

    qué efectos bajo unas determinadas condiciones. Por el contrario, el conjunto

    de intenciones estructuradas como planes contiene los planes del agente en el

    momento actual.

  • 8/18/2019 programacion lego ev3 java

    29/82

    Capítulo 2 Marco teórico

    29

     Analizando la arquitectura desde un punto de vista funcional, se puede decir

    que un agente IRMA debe realizar un conjunto de procesos. Estos procesos

    son llevados a cabo por los módulos denotados mediante rectángulos en la

    ¡Error! No se encuentra el origen de la referencia.: un motor de

    azonamiento (means-end reasoner), un analizador (opportunity analyser), un

    proceso de filtrado (filtering process) y un proceso de deliberación (deliberation

    process).

     Antes de comenzar con la explicación de las funciones que realiza cada

    módulo es necesario aclarar dos cuestiones. En primer lugar, [Bratman et al.,

    88] asumen que los planes de un agente no sólo se utilizan para producir

    acciones en un momento dado, sino que también pueden ser de ayuda enrazonamientos que haya que realizar posteriormente: dirigiendo el

    razonamiento que hay que realizar para conseguir ciertas metas finales y

    proporcionando restricciones sobre las opciones que necesitan ser

    consideradas más seriamente. En segundo lugar, también se debe tener en

    cuenta que los planes del agente deben ser parciales, en el sentido de que no

    deben ser muy detallados, porque se puede dar el caso de que el entorno del

    agente cambie de forma que el agente no esté preparado para anticiparse aese cambio. Si ocurre esto y los planes del agente son muy detallados, se les

    podrá dar muy poco o ningún uso. Por este motivo, los agentes frecuentemente

    deciden qué quieren conseguir, pero dejan abierta para una deliberación

    posterior las cuestiones relativas a cómo conseguirlo. Esta es la razón de que

    se hable de la descomposición de planes en intenciones. Una vez realizadas

    estas aclaraciones, veamos de qué se encarga cada uno de los procesos que

    aparecen en la arquitectura:

      Motor de razonamiento: el motor de razonamiento es invocado por cada

    uno de los planes parciales existentes y su función es proponer subplanes

    para completarlo. El motor de razonamiento puede proponer una serie de

    opciones diferentes para conseguir el objetivo de cada plan parcial.

      Analizador: este módulo propone nuevas opciones en respuesta a los

    cambios que se perciban en el entorno. No todas las opciones se proponen

    por el motor de razonamiento. Las opciones que propone en analizador, al

  • 8/18/2019 programacion lego ev3 java

    30/82

    Capítulo 2 Marco teórico

    30

    provenir de cambios en el entorno, no tienen por qué referirse a cómo

    conseguir un objetivo que ya estaba planificado.

      Proceso de filtrado: este proceso se encarga de filtrar las opciones que han

    sido propuestas por el motor de razonamiento o por el analizador. Losplanes del agente deben ser consistentes tanto internamente como con las

    creencias que éste tiene. Por este motivo las opciones que no son

    consistentes con los planes y las creencias del agente se pueden

    descartar. El filtrado se realiza para que el proceso de deliberación sea más

    eficiente.

      Proceso de deliberación: este proceso produce nuevas intenciones a partir

    de las opciones que han sobrevivido al proceso de filtrado, tomando lasmejores de estas opciones. Básicamente el proceso de deliberación realiza

    lo que se llama toma de decisiones en la teoría tradicional. Las nuevas

    intenciones se incorporan a los planes del agente.

    Ilustración 3 Arquitectura IRMA

    La arquitectura IRMA que se diseñó principalmente para agentes inteligentes

    que tienen recursos limitados, ha sido evaluada en un escenario conocido

    como Tileworld [Pollack and Ringuette, 90], que se ha desarrollado para

    experimentar con agentes situados en un entorno dinámico. El Tileworld

    consiste en un entorno dinámico simulado que contiene un agente. Éste debe

    portar bloques alrededor de una malla bidimensional y depositarlos en ciertoslugares evitando obstáculos.

  • 8/18/2019 programacion lego ev3 java

    31/82

    Capítulo 2 Marco teórico

    31

    En definitiva se ha llegado a la conclusión de que es apropiado que se realice

    un proceso de filtrado como el que IRMA propone, tanto en un agente individual

    como en un sistema multiagente, ya que ayuda a un agente tanto a focalizar su

    razonamiento como a coordinar sus actividades con otros.

    2.3.5 ADEPT 

    El proyecto ADEPT (Advanced Decision Environment for Process Tasks) [Alty,

    94], [Jennings, 97] fue un proyecto para investigar la tecnología y los métodos

    que se deben de utilizar para tratar la información, tanto su recopilación como

    su gestión, distribución y presentación. Para este fin, en ADEPT se construyó

    un sistema compuesto de muchos agentes autónomos.

    En este dominio, cada agente controla y gestiona el abastecimiento de un

    número de servicios a otros agentes en la infraestructura, de forma que cada

    agente se caracteriza por los servicios que proporciona. Para este

    abastecimiento de servicios es necesario que los agentes se comuniquen y

    negocien.

    Ilustración 4 Arquitectura de un agente ADEPT [Jennings, 97]

  • 8/18/2019 programacion lego ev3 java

    32/82

    Capítulo 2 Marco teórico

    32

    La arquitectura de un agente ADEPT se muestra en la ¡Error! No se

    ncuentra el origen de la referencia., en ella se pueden observar los

    siguientes módulos. El primero de ellos contiene la información con la que

    cuenta el agente, mientras que los otros tres son funcionales:

      El módulo que contiene el modelo del propio agente y los modelos de los

    demás agentes con los que se comunica (self and acquaitance models),

    que contiene información sobre los servicios que proporciona el agente,

    sobre las capacidades de negociar con otros agente, sobre los agentes que

    proporcionaron servicios en el pasado, sobre los contratos que el agente

    realizó con otros agente, etc.

      El módulo de comunicación (communication module), que se encarga de

    enrutar mensajes, tanto entre un agente y su agencia local, como con el

    resto de la comunidad. Esta última incluye planificación de servicios

    concurrentes, comienzo de nuevos servicios, paso de información a

    servicios y monitorización del estado de los servicios en curso.

      El módulo de evaluación de situaciones (situation assesment module), que

    sirve de link entre el rol individual y el rol social del agente. Cuando este

    módulo indica que se debe establecer algún contrato con algún agente

    externo para que proporcione algún servicio, invoca al módulo de ejecución

    de servicios.

      El módulo de ejecución de servicios (service execution module), que

    gestiona la negociación para llevar a cabo un acuerdo.

    Todos los módulos funcionales del agente hacen uso del modelo propio del

    agente y del modelo de los demás agentes.

    Los agentes en ADEPT están organizados de la siguiente manera: los agentes

    se agrupan en agencias. Un agente tiene bajo su control una serie de tareas y

    se puede comunicar con otros agentes bien de forma holgada, o bien de forma

    estrecha. La comunicación en forma holgada implica que no existe ningún

    agente controlador. La comunicación en forma estrecha implica la existencia de

    un agente controlador, de forma que los agentes de fuera de la agencia tienen

    restringido el acceso.

  • 8/18/2019 programacion lego ev3 java

    33/82

    Capítulo 2 Marco teórico

    33

    En la agencia residen los agentes servidores, que se comunican de forma

    holgada con los demás agentes de la misma agencia, pero de forma estrecha

    con el agente controlador. Las agencias normalmente están organizadas de

    forma jerárquica, de manera que los agentes de una agencia pueden ser

    controladores de otras agencias de más bajo nivel. Para dar un servicio es

    posible seleccionar agentes de diferentes agencias y formar una agencia

    virtual.

  • 8/18/2019 programacion lego ev3 java

    34/82

    Capítulo 2 Marco teórico

    34

    2.3.6 Arquitecturas Reactivas

    Los agentes reactivos se caracterizan porque pueden operar rápida y

    efectivamente sin la necesidad de procesar una representación simbólica del

    entorno, ya que representan una categoría de agentes que no posee modelossimbólicos externos del entorno en el que se encuentran. Los agentes reactivos

    toman decisiones basadas totalmente en el presente, sin hacer uso de lo que

    ha ocurrido en el pasado, porque no conocen su historia [Weiss, 99]. Este tipo

    de agentes actúan siguiendo un esquema estímulo de respuesta según el

    estado actual del entorno en el que están embebido. La característica más

    importante de los agentes reactivos es el hecho de que los agentes son

    relativamente simples e interaccionan con otros agentes de manera sencilla.

    Sin embargo, si se observa de una forma global el conjunto de agentes, las

    interacciones pueden dan lugar a patrones de comportamiento muy complejos.

    Por el hecho de ser agentes sencillos, la capacidad de realizar razonamientos

    complejos desaparece en su mayor parte, y al contrario que los agentes

    deliberativos la inteligencia que puedan mostrar no proviene de modelos

    internos, sino de la interacción con su entorno [Brenner, 98].

    Un agente reactivo está formado por los siguientes tipos de módulos:

      Módulos de interacción con el entorno (sensores y actuadores en la figura

    5).

      Módulos de competencia (cada una de la capas en la figura 5).

    Los módulos de competencia se desarrollan a partir de un conjunto de

    dependencias que el agente reconoce observando su entorno. Estos módulos

    son capaces de chequear continuamente el entorno, identificar una situación

    específica que está ocurriendo en él e iniciar una reacción directa ante esa

    situación.

    Un módulo de competencia es responsable de una tarea claramente definida,

    aunque no tiene por qué serlo de una tarea completa. En los agentes reactivos

    no existen componentes centralizados como el planificador o el organizador en

    los agentes deliberativos, así que cada módulo de competencia debe poseer

    todas las capacidades necesarias para procesar sus tareas. Por este motivo,

  • 8/18/2019 programacion lego ev3 java

    35/82

    Capítulo 2 Marco teórico

    35

    los módulos de competencia tienen completamente especificadas las tareas

    que resuelven y proporcionan la solución específica a esas tareas, es decir, un

    agente reactivo no resuelve ninguna tarea para la cual no exista un módulo de

    competencia, en contraste con los agentes deliberativos, que pueden utilizar el

    conocimiento de la base de conocimiento para resolver un rango de problemas.

    Ilustración 5 Arquitectura de un agente reactivo [Iglesias, 97] 

    El funcionamiento de un agente reactivo es básicamente como sigue: los

    sensores recogen información, que es directamente enviada a los módulos de

    competencia. La información que los sensores mandan a los módulos de

    competencia no recibe ningún tipo de tratamiento, es decir, no se traduce

    ninguna representación simbólica. La llegada de información a uno de estos

    módulos provoca en él una reacción que se transfiere al entorno a través de los

    actuadores.

    Si los módulos de competencia trabajan en paralelo lo más normal es que

    aparezcan dependencias, por este motivo se deben poder comunicar entre

    ellos. La comunicación normalmente utiliza tanto mecanismos como lenguajes

    de comunicación simples, y puede ser uno-a-uno o se puede realizar a través

    del entorno. La comunicación uno-a-uno proporciona una gran capacidad de

    reacción, ya que es una comunicación directa, que no necesita de ningún

    intermediario, entre los dos módulos de competencia que se comunican, con lo

    que no existen retardos. En la comunicación a través del entorno un módulo

    realiza cambios en el entorno que son apreciados por otro módulo. Esta

  • 8/18/2019 programacion lego ev3 java

    36/82

    Capítulo 2 Marco teórico

    36

    variante es más lenta que la comunicación directa, pero permite reaccionar

    ante situaciones más complejas.

    La mayoría de las arquitecturas reactivas están basadas en reglas situación-

    acción, cuyo funcionamiento es similar al de una base de reglas. Así losagentes actúan de forma apropiada según su situación, donde una situación es

    una combinación de eventos internos y externos potencialmente compleja

    [Connah, 94]. Los agentes situación-acción se han utilizado en PENGI, un

     juego de ordenador [Agre, 87]. Los investigadores de los laboratorios Philips en

    Redhill, UK, han implementado un lenguaje situación-acción llamado RTA

    [Grahan & Wavish, 91] y lo han utilizado para implementar caracteres en juegos

    de computador. [Kaebling & Rosenschein, 91] han propuesto otro lenguaje queutiliza lógica modal que está basado en un paradigma llamado situated

    automata, en el que un agente se especifica en términos declarativos.

    El área de aplicación usual de los agentes sotfware reactivos es el mundo de

    los juegos o la industria del entretenimiento y robots.

    De forma resumida, las arquitecturas reactivas presentan las siguientes

    ventajas [Weiss, 99] :

      Simplicidad.

      Economía.

      Eficiencia computacional.

      Robustez ante fallos

    Y los siguientes inconvenientes:

      Es necesaria una gran cantidad de información local.

      El aprendizaje es problemático.

      La construcción de agentes reactivos requiere experimentación, por lo que

    supone una gran cantidad de tiempo.

      La construcción de sistemas grandes es imposible.

      Los sistemas reactivos únicamente pueden ser utilizados para su propósito

    original.

  • 8/18/2019 programacion lego ev3 java

    37/82

    Capítulo 2 Marco teórico

    37

      Existen pocas aplicaciones basadas en estas arquitecturas.

    La crítica principal que han tenido las arquitecturas reactivas es que son

    excesivamente rígidas y simples como para producir comportamientos

    inteligentes como planificación o aprendizaje.

    Como ejemplo de arquitectura reactiva se presenta a continuación la

    arquitectura subsumpción de Brooks [Brooks, 91], que es las más conocidas y

    representativas de las pocas arquitecturas reactivas que existen.

    2.3.7 Arquitectura subsumpción

    Un agente basado en los principios de la arquitectura subsumpción [Brooks, 91]

    consiste en una serie de módulos de competencia (cada una de las capas de la¡Error! No se encuentra el origen de la referencia.) orientados a tareas que

    stán organizados jerárquicamente, es decir, en este caso la descomposición no

    es funcional como en los agentes deliberativos sino que es una simple división

    de tareas. Cada módulo de competencia es responsable de un comportamiento

    concreto del agente, siendo los módulos situados abajo en la jerarquía los que

    se encargan de tareas básicas o primitivas, y los módulos más altos los que se

    encargan de patrones de comportamiento más complejos. Cada módulo de

    competencia puede operar de forma autónoma, pero los módulos de alto nivel

    incorporan un subconjunto de tareas de los módulos subordinados y pueden

    tanto inhibir sus salidas como modificar o suprimir sus entradas.

    Los módulos de competencia se describen utilizando un lenguaje basado en

    principios de máquinas de estados finitos aumentadas con temporizadores

    (AFMS) que no contienen representación o modelo simbólico de tipo alguno.

    Una AFSM desencadena una acción cuando su señal de entrada sobrepasa unumbral, es decir, continuamente lleva de una entrada percibida a una acción de

    salida. En algunas implementaciones esto se lleva a cabo mediante reglas

    situaciónacción que simplemente determinan una acción a realizar en base al

    estado actual del agente. Las implementaciones de Brooks [Brooks, 91], son

    algo más complicadas porque permiten, por ejemplo, retroalimentar desde

    decisiones previas. El comportamiento de una AFSM se define a priori y no

    puede ser modificado (por ejemplo evitar obstáculos). Cada AFSM opera

  • 8/18/2019 programacion lego ev3 java

    38/82

    Capítulo 2 Marco teórico

    38

    independientemente y de forma asíncrona, y está en una competición continua

    con las demás para conseguir el control del agente.

    Ilustración 6 Arquitectura subsumpción [Brenner, 98]

    Construir agentes que exhiban un comportamiento global coherente es un

    proceso de desarrollo y experimentación, situando al agente en su entorno y

    observando los resultados.

    Según [Jennings, 98] la arquitectura subsumpción tiene las siguientes

    desventajas:

      Como los agentes no emplean modelos de su entorno, deben tener

    suficiente información disponible en su entorno local para determinar

    acciones aceptables.

      Como los agentes puramente reactivos toman decisiones basándose en su

    información local (información sobre el estado actual del agente) es difícil

    que la toma de decisiones tenga en cuenta información no local

      Como los agentes puramente reactivos no tienen memoria, es difícil diseñar

    agentes de este tipo que aprendan de la experiencia y de esta formamejoren su actuación a lo largo del tiempo.

      El comportamiento global de un agente reactivo “emerge” de la interacción

    de comportamientos simples, pero el término “emerge” sugiere que la

    relación entre los comportamientos individuales, el comportamiento global y

    el entorno no se entiende bien. Los agentes reactivos se construyen

    mediante ensayo-error, es decir mediante un laborioso proceso de

    experimentación, lo cual supone un gran inconveniente..

  • 8/18/2019 programacion lego ev3 java

    39/82

    Capítulo 2 Marco teórico

    39

      Construir agentes que contienen muchas capas es muy complicado, ya que

    la dinámica de la interacción entre diferentes comportamientos se hace muy

    compleja de entender, es decir, el diseño de agentes reactivos capaces de

    tener comportamientos complejos es muy problemático.

    Como todas las arquitecturas reactivas ésta ha sido principalmente aplicadas

    en la construcción de robots. Por ejemplo, en el MIT se ha utilizado para

    construir al menos 10 robots. Por lo tanto, y en base a la experimentación que

    se ha realizado sobre la arquitectura subsumpción se puede afirmar que es una

    arquitectura útil en aplicaciones en las que los agentes son agentes hardware y

    autónomos que se encuentran en un entorno muy dinámico .

  • 8/18/2019 programacion lego ev3 java

    40/82

    Capítulo 2 Marco teórico

    40

    2.3.8 Arquitecturas Híbridas

    Las arquitecturas híbridas combinan componentes de tipo reactivo con

    componentes de tipo deliberativo, como se observa en la figura 7. La parte

    reactiva interacciona con el entorno y reacciona rápidamente a los eventos queen él se producen sin invertir tiempo en realizar razonamiento, mientras que la

    parte deliberativa planifica y se encarga de la parte de toma de decisiones, es

    decir, realiza tareas a un nivel de abstracción superior.

    Las arquitecturas híbridas pretenden aprovechar los beneficios que

    proporcionan las arquitecturas reactivas y los beneficios que proporcionan las

    deliberativas, ya que para la mayoría de los problemas no es adecuada ni una

    arquitectura puramente deliberativa ni una arquitectura puramente reactiva.

    Típicamente los sistemas híbridos se diseñan siguiendo una arquitectura

     jerárquica en capas, en la que las capas más bajas son principalmente

    reactivas y las capas más altas son principalmente deliberativas.

    Ilustración 7 Arquitectura de un agente híbrido

     Aunque las arquitecturas híbridas como Touring Machines [Ferguson, 92],

    InterRRaP [Müller, 93] y COSY [Burmeister & Sundermeyer, 92] tienen algunas

    ventajas sobre las puramente deliberativas y las puramente reactivas, tienen la

    dificultad potencial de que tienden a ser ad-hoc y aunque sus estructuras están

    bien motivadas desde el punto de vista de diseño, no está claro que sean

    motivadas por una teoría muy formal, o en general no se suele especificar una

    teoría que las soporte. En particular, arquitecturas Touring Machines, quecontienen un número de capas independientes que compiten unas con otras en

  • 8/18/2019 programacion lego ev3 java

    41/82

    Capítulo 2 Marco teórico

    41

    tiempo real para controlar la actividad del agente parecen estar faltas de

    formalización Lo que no está claro es que la falta de formalización sea una

    desventaja seria ya que al menos se cuenta con un buen modelo para un

    agente particular, a pesar de que sea muy dificultoso generalizar y reproducir

    sus resultados en dominios distintos.

     A continuación se muestran algunos ejemplos de arquitecturas híbridas. En

    concreto las arquitecturas InteRRaP [Müller, 93], Touring Machines [Ferguson,

    92], 3T [Bonasso, 96] y Artis [Botti, 99].

    2.3.9 Arquitectura InteRRaPEl ejemplo más común de arquitectura híbrida es la arquitectura en capas

    InteRRaP [Müller, 93, 96], [Mueller & Fischer, 98], [Jung, 98]. InteRRaP permite

    modelar agentes autónomos y limitados por recursos, que interactúan con otros

    en un entorno multiagente dinámico, combinando reactividad, deliberación y

    cooperación. Para esto combina las ventajas de BDI y de las arquitecturas en

    capas. Las arquitecturas BDI proporcionan un modelo conceptual claro de los

    conocimientos, metas y cometidos de un agente, pero deben de ser extendidas

    para soportar el diseño en aplicaciones prácticas de agentes limitados por

    recursos y de agentes dirigidos a metas. En cambio las arquitecturas en capas

    son potentes para el diseño de agentes limitados por recursos.

    Un agente InteRRaP está compuesto de una Base de Conocimiento que está

    asociada a una Unidad de Control situada sobre un Componente Percepción-

     Acción que gestiona las comunicaciones de bajo nivel, como se observa en la

    ¡Error! No se encuentra el origen de la referencia..

    La Base de Conocimiento se estructura en tres modelos:

      Un modelo del mundo, que contiene las creencias relacionadas con el

    entorno del agente.

      Un modelo mental, que contiene las creencias del agente sobre si mismo.

      Un modelo social, que contiene las creencias sobre otros agentes.

  • 8/18/2019 programacion lego ev3 java

    42/82

    Capítulo 2 Marco teórico

    42

    Ilustración 8 Arquitectura InteRRaP [Volker, 97]

    La Unidad de Control consiste en tres capas que actúan asíncronamente ycorresponden a diferentes niveles funcionales del agente:

      Capa de comportamiento (BBL): Implementa la parte reactiva, por lo que

    permite al agente reaccionar ante situaciones críticas y también tratar con

    situaciones rutinarias. La capa de comportamiento contiene un conjunto de

    patrones de comportamiento (PoBs) que se llevan a cabo mediante reglas

    situación-acción que describen las habilidades reactivas del agente. Con un

    rápido reconocimiento de patrones el agente puede reaccionar ante

    situaciones críticas. Esta capa proporciona eficiencia reactividad y robustez.

      Capa de planificación local (LPL): Proporciona al agente la habilidad de

    deliberar. Se construye sobre información del modelo del mundo pero

    adicionalmente utiliza las metas actuales de agente, las intenciones locales

    mantenidas en el modelo mental y algunos mecanismos de planificación

    dependientes del dominio.

      Capa de planificación cooperativa (CPL): Extiende la funcionalidad de

    planificación de un agente a planes conjuntos con cooperación. Utiliza el

    modelo del mundo, el modelo mental e información sobre otros agentes

    (metas, habilidades, compromisos almacenados en el modelo social).

    Estas dos últimas capas son más deliberativas. Todas las capas trabajan con

    los diferentes modelos que se encuentran en la base de conocimiento: La capa

    BBL opera con el modelo del mundo, la capa LPL con el modelo mental y lacapa CPL con el social.

  • 8/18/2019 programacion lego ev3 java

    43/82

    Capítulo 2 Marco teórico

    43

    Cada capa de InteRRaP consiste en dos procesos, SG (reconocimiento de

    situación y activación de metas) y PS (planificador y organizador), que

    interactúan entre ellos y con las capas vecinas. El SG realiza todas las

    funciones descritas en el modelo conceptual antes de la creación de opciones.

    El PS realiza la planificación y organización y la creación de intenciones.

    La arquitectura en capas que sigue InteRRaP se puede clasificar como vertical,

    ya que el proceso de control es de abajo arriba (bottom-up), mientras que el de

    ejecución es de arriba abajo (top-down).

    El proceso de control empieza en la capa más baja y termina en la más alta

    (bottom-up), teniendo sólo acceso directo al interfaz con el mundo la capa de

    comportamiento. Las otras capas sólo reciben la información que necesitan. Si

    ocurre una nueva situación, la capa de comportamiento la reconoce y si puede

    reaccionar apropiadamente a ella lo hace sin informar a las capas de control

    que están por encima de ella. Si la capa de comportamiento no tiene

    capacidades suficientes para reaccionar a la situación, pasa el control al

    proceso SG de la capa de planificación local. Si la situación requiere

    cooperación con otros agentes la capa de planificación local se la pasa a la

    capa de planificación cooperativa.

    El proceso de ejecución empieza en la capa más alta y termina en la más baja

    (top-down). Sólo la capa de comportamiento puede llevar a cabo una acción,

    porque es la única que tiene acceso a los actuadores.

    El modelo conceptual de un agente InteRRaP que se muestra en la figura 9

    puede ayudar a entender mejor el comportamiento que tiene un agente basado

    en esta arquitectura, como se explica a continuación:

    Los hechos que el agente obtiene de los sensores forman sus creencias, que

    se van actualizando a medida que los sensores proporcionan nuevos hechos

    [Brenner, 98]. Las creencias se agrupan, como ya se ha mencionado, en tres

    modelos separados: el modelo del mundo, el modelo mental, y el modelo

    social.

  • 8/18/2019 programacion lego ev3 java

    44/82

    Capítulo 2 Marco teórico

    44

    Ilustración 9 Modelo de agente conceptual INTERRAP [Volker, 97]

    Para que el uso de las creencias sea práctico, se generan a partir de ellas

    situaciones. Las situaciones son subconjuntos de creencias que representan

    estados en los que el agente tiene un interés concreto. Las situaciones seorganizan a su vez en tres capas: situaciones simples o de emergencia,

    situaciones que requieren planificación local y situaciones que requieren

    planificación cooperativa.

    Las metas del agente se dividen en reacciones, metas locales y metas

    cooperativas. La ocurrencia de una situación normalmente activa una o más

    metas. Con el conjunto de metas que satisfacen una situación particular se

    construyen las opciones. El planificador y organizador permite al sistema

    derivar intenciones a partir de las opciones y dependiendo de la opción será

    diferente: una simple reacción se define como patrones de comportamiento

    (PoBs), mientras que las metas locales y cooperativas requieren la aplicación

    de un proceso de planificación. Cuando las intenciones han sido generadas, se

    ejecutan.

    La arquitectura InteRRaP ha sido evaluada al menos en tres aplicaciones

    [Muller, 93]: el sistema FORKS que simula robots que actúan de elevadores

  • 8/18/2019 programacion lego ev3 java

    45/82

    Capítulo 2 Marco teórico

    45

    situados en una plataforma de carga. En este escenario los agentes se viven

    en un entorno muy dinámico que continuamente demanda respuestas rápidas

    pero por otra parte se requiere planificación compleja a largo plazo. El sistema

    DMARS, que simula la cooperación entre compañías de transporte, y el

    sistema COSMA, un planificador distribuido de citas.

    2.3.10 Touring Machines

    La arquitectura Touring Machines [Ferguson, 92] es otro buen ejemplo de

    arquitectura híbrida para agentes dinámicos, racionales y autónomos. Esta

    arquitectura, que es similar a la arquitectura subsumpción de Brooks [Brooks,

    91], consiste en tres capas que funcionan concurrentemente (figura 10):

      La capa reactiva, que está compuesta por reglas situación-acción, por lo

    que proporciona al agente la capacidad de reacciones inmediatas ante

    cambios del entorno.

      La capa de planificación, que tiene como componente principal un

    planificador parcial jerárquico. Esta capa es responsable de decidir que

    acciones realiza el agente en circunstancias normales.

      La capa de modelos, que representa las entidades del mundo del agente,incluyendo tanto al propio agente como a los demás. Esta capa permite

    predecir conflictos entre agentes y genera nuevas metas para resolver los

    conflictos.

    Ilustración 10 Arquitectura Touring Machines de [Ferguson, 92]

  • 8/18/2019 programacion lego ev3 java

    46/82

    Capítulo 2 Marco teórico

    46

    Cada capa describe el mundo del agente en un nivel de abstracción diferente y

    por lo tanto, está dotada de capacidades diferentes. Como las acciones

    propuestas por una capa pueden estar en conflicto con las de otra es necesaria

    alguna política de control (control policy) que sirva de mediación y posibilite que

    los agente puedan comportarse adecuadamente. La política de control permite

    a cada capa examinar los datos de las demás y tanto añadir como eliminar

    datos en las mismas, es decir, puede alterar el flujo de control normal de las

    capas.

    Las entradas y salidas de las capas son generadas de forma asíncrona con

    reglas de control activadas por el contexto, que se aplican a estas entradas y

    salidas en cada punto de sincronización. De esta forma, las reglas actúan comofiltros entre los sensores y las capas internas del agente. La mediación

    permanece activa todo el tiempo y es transparente a las capas. Así cada capa

    actúa como si controlara al agente ella sola, sin ser consciente de

    interferencias con sus entradas y salidas, bien producidas por las otras capas o

    por la política de control. La política de control global contiene un régimen de

    planificación que la permite ser sensitiva a las metas con alta prioridad de bajo

    nivel, mientras da servicio a las tareas de alto nivel del agente.

    La principal diferencia con InteRRaP es que Touring Machines es una

    arquitectura en capas horizontal, mientras que InteRRaP es vertical. En las

    arquitecturas horizontales todas las capas tienen acceso a los datos de

    sensores y pueden contribuir en las acciones mientras que en las arquitecturas

    verticales sólo la capa más baja tiene acceso a las percepciones. Para

    conseguir coordinación entre capas en una arquitectura horizontal como

    Touring Machines es necesario contar con unas reglas de control que permitansuprimir la entrada de una determinada capa, es decir, que actúan de forma

    autónoma, similar al mecanismo de inhibición de la arquitectura subsumpción

    de Brooks [Brooks, 91].

    La arquitectura Touring Machines ha sido especialmente utilizada en la

    construcción robots [Ferguson, 92].

  • 8/18/2019 programacion lego ev3 java

    47/82

    Capítulo 2 Marco teórico

    47

    2.3.11 Arquitectura 3T

    La arquitectura 3T [Bonasso, 96] es útil para coordinar en tiempo real el

    comportamiento de un agente que habita en un mundo dinámico. Esta

    arquitectura, que también está principalmente orientada a la construcción derobots, utiliza tres niveles de abstracción o tres diferentes capas.

      Un conjunto dinámicamente reprogramable de habilidades reactivas queson coordinadas por un coordinador.

      Un secuenciador, que activa y desactiva conjuntos de habilidades paracrear redes que cambien el estado del mundo y lleven a cabo tareasespecíficas. Para esto de usa el sistema Reactive Action Packages (RAPs).

      Un planificador deliberativo que pueda realizar razonamientos complejossobre las metas, los recursos y las restricciones de tiempo. Para esteplanificador se utiliza un sistema llamado Adversative Planner (AP).

    Ilustración 11 Arquitectura 3T [Bonasso, 96]

    3T se centra en el caso en que hay un solo agente actuando en un mundo

    dinámico, mientras que InteRRaP extiende el clásico planificador reactivo con

    la capa cooperativa, para agentes que viven en un mundo multiagente, dondeel dinamismo es causado por la presencia de otros agentes.

    Se ha implementado en una gran variedad de robots, por ejemplo: un robot

    móvil que reconoce a personas, un robot móvil que recolecta basura, un robot

    móvil que navega por edificios de oficinas, un robot para estaciones espaciales

    [Bonasso, 96].

  • 8/18/2019 programacion lego ev3 java

    48/82

    Capítulo 2 Marco teórico

    48

    2.3.12 Arquitectura Artis

    La arquitectura ARTIS [Botti, 99] es una arquitectura de agente pensada para

    modelar agentes que habitan en entornos dinámicos y tienen impuestas unas

    restricciones de tiempo muy fuertes, hasta el punto de que no realizar una tareaen un determinado tiempo puede llevar a efectos catastróficos. Un agente

     ARTIS es autónomo, reactivo, proactivo y tiene continuidad temporal.

    La arquitectura ARTIS es una extensión del modelo de pizarra adaptándolo

    para trabajar en entornos de tiempo real con fuertes restricciones de tiempo.

    Esta arquitectura cuenta con dos niveles de agentes: El agente ARTIS y un

    conjunto de agentes internos (in-agents) que están incluidos en él. La

    comunicación entre el agente ARTIS y los agentes internos se realiza a travésde una pizarra.

    Ilustración 12 Arquitectura Artis

    El agente ARTIS (figura 12) cuenta con los siguientes componentes:

      Un conjunto de sensores y efectores que permiten interaccionar con el

    entorno.

      Un módulo de control que es responsable de la ejecución en tiempo real de

    cada componente del agente. Este módulo permite que se implementen

    algunas características de comportamiento para proporcionar al agente

    algunos atributos específicos (como comunicación, adaptatividad, interfaz

    de usuario, movilidad, etc.), con los que el agente deberá contar o no

    dependiendo del tipo de problema que deba resolver.

      Un nivel reactivo que asegura una respuesta ante cualquier evento crítico

    del entorno. Este nivel reactivo está formado por los niveles reactivos de los

    diferentes agentes internos que forman el agente ARTIS.

  • 8/18/2019 programacion lego ev3 java

    49/82

    Capítulo 2 Marco teórico

    49

      Un servidor inteligente, que se utiliza para construir respuestas de alta

    calidad (calculadas por los niveles cognitivos de los diferentes agentes

    internos), cuando hay tiempo suficiente para ello, y para gestionar eventos

    esporádicos del entorno que no son críticos.

    Desde un punto de vista formal un agente ARTIS puede ser visto como una

    tupla formada por tres elementos:

      Un conjunto de agentes internos (in-agents).

      Una función de selección de agentes internos, que se lleva a cabo por el

    módulo de control y por el servidor inteligente.

      Un conjunto de creencias que representan el entorno y los estados internosdel agente, compuesto por las creencias de todos los agentes internos y un

    conjunto de creencias globales.

    Un agente interno es una entidad interna que tiene el conocimiento necesario

    para resolver un problema particular, y periódicamente realiza una tarea

    específica. De acuerdo con la definición de agente, es un agente con las

    siguientes características:

      Reactividad: Periódicamente testea el entorno en busca de cambios.

      Funcionamiento colaborativo: Todos los agentes internos cooperan para

    resolver un problema particular, basando su comunicación en el modelo de

    pizarra.

      Actividad en tiempo real: Cada agente interno debe tener un plazo y un

    periodo que le permita trabajar en entornos con fuertes restricciones de

    tiempo.

  • 8/18/2019 programacion lego ev3 java

    50/82

    Capítulo 2 Marco teórico

    50

    Ilustración 13 Comportamiento de un agente interno

    Un agente interno consiste en tres niveles (figura 13), que le permiten tener

    este comportamiento:

      Un nivel reactivo: Para asegurar una respuesta mínima (respuesta de bajacalidad en tiempo limitado) a un problema particular.

      Un nivel cognitivo: Para calcular una respuesta razonada a través de unproceso deliberativo (en tiempo ilimitado).

      Un nivel de acción, que ejecuta la acción independientemente del nivel quela haya generado.

    En cada periodo el agente interno decide entre una respuesta reactiva o una

    respuesta deliberativa. Esta decisión depende principalmente del tiempo

    disponible para mejorar la respuesta

    Un agente que sigue la arquitectura ARTIS puede ser integrado en un sistema

    multiagente, aunque para ello habría que extender la arquitectura como mínimo

    con un lenguaje de comunicación entre agentes.

    La arquitectura ARTIS ha sido evaluada mediante algunos prototipos para

    controlar de sistemas simulados, por ejemplo en un purificador de plantas y en

    una cinta transportadora [Botti, 9

  • 8/18/2019 programacion lego ev3 java

    51/82

     

    51

    Capítulo 3 Estado del arte

    3.1 Descripción y análisis de los trabajos realizados

    El objetivo nuestra proyecto es realizar investigaciones sobre las diferentesarquitecturas que existen para diseñar un agente que forma parte de un

    sistema multiagente. Antes de iniciar con la investigación de las arquitecturas,

    se da a mencionar el significado de agente y sistema multiagente

    En estos últimos años el tema de los agentes y de los sistemas multiagentes

    son campos dominantes en las áreas de investigación. Inteligencia Artificial.

    Gracias a la facilidad y naturalidad con que es posible caracterizar en términos

    de agentes una gran variedad de aplicaciones, la tecnología de agentes

    inteligentes se puede considerar más apropiada y potente que otras

    tecnologías para la construcci�