Post on 07-Jul-2018
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�