Agentes Inteligentes. Figura 1. Agente Inteligente

Desarrollo y aplicación de escenarios de pruebas en Inteligencia Artificial. Experiencias de laboratorio y perspectivas a futuro en la Universidad Nac

0 downloads 112 Views 289KB Size

Recommend Stories


NTK. App for ipad. Gente Inteligente Ideas Inteligentes Herramientas Fuertes
NTK Gente Inteligente Ideas Inteligentes Herramientas Fuertes App for iPad www.ntkcuttingtools.com www.youtube.com/ntkcuttingtools FUNDICION DE H

Figura 5-1. Figura 5-2
Pag 1 OPERACION DE INSTRUMENTOS MIDI 1 NORMA MIDI 1.0 La norma MIDI (Musical instruments digital interface) o Interfase Digital para Instrumentos Mu

(6. Figura 1
UNPRG Escuela Sup. de Ing. de Sistemas. SISTEMAS DIGITALES. &217$'25(6',*,7$/(6  En casi todos los tipos de equipo digital se encuentran flip-f

Patrimonio inteligente, territorio inteligente
x CONGRESO INTERNACIONAL Patrimonio inteligente, territorio inteligente VALLADOLID del 10 al 12 de noviembre de 2016 na bie / om k.c oo b ace w.f

Story Transcript

Desarrollo y aplicación de escenarios de pruebas en Inteligencia Artificial. Experiencias de laboratorio y perspectivas a futuro en la Universidad Nacional del Sur, Argentina Dr. Diego C. Martínez Comisión de Investigaciones Científicas y Técnicas – CONICET Laboratorio de Investigación y Desarrollo en Inteligencia Artificial – LIDIA Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur – Bahía Blanca, Buenos Aires, República Argentina

Introducción A principios de la década del 50, un grupo de científicos comenzó a indagar sobre los alcances de una rama de la ciencia que apenas nacía: la computación. Una de las inquietudes más interesantes que surgieron en ese momento fue el hecho de si las máquinas pueden o no pensar. Era evidentemente una incertidumbre avanzada para la época, más aún si consideramos el estado de la computación en esos años. Por supuesto, el primer problema aquí era definir en forma precisa qué significa “pensar”, más aún en un contexto donde la noción de computabilidad era relativamente nueva. Un joven matemático llamado Alan Turing fué uno de los primeros en eliminar ese inconveniente al proponer un Test de inteligencia basado en lo que se conoce como el Juego de Imitación [1]. En este juego intervienen tres personas: un hombre (A), una mujer (B) y un interrogador (C). Este último se sitúa en una habitación aparte y por medio de preguntas debe determinar quién es el hombre y quién es la mujer. Los conoce simplemente por las referencias X e Y. Al final, debe concluir si “X es el hombre e Y es la mujer”, o al revés. Nada, excepto las respuestas a las preguntas enunciadas, puede inducir quién es quién. Podemos suponer que las respuestas son mecanografiadas, para eliminar influencias dadas por el tono de voz o el estilo caligráfico de los interrogados. El juego sería algo aburrido a no ser por una pequeña trampa que complica la tarea del interrogador: el sujeto A tiene como objetivo lograr que C efectúe una identificación errónea, mientras que el objetivo de B es ayudar al interrogador a descubrir la verdad. Las preguntas pueden ser absolutamente de cualquier tema, sin limitaciones. Puede hablarse sobre aspectos personales, sobre gustos musicales, el clima, los deportes, literatura o historia antigua. Cualquier pregunta es válida, como lo es en cualquier diálogo convencional. Hasta ahí, un juego simple entre seres humanos. La pregunta que Alan Turing formula en relación a este juego es ¿qué sucede si reemplazamos al sujeto A por una máquina? ¿el interrogador se equivocará tanto como cuando participan un hombre y una mujer? Turing afirmaba que este test reemplazaría la pregunta inicial de si las máquinas pueden pensar. Vale decir, no es necesario indagar en forma abstracta si las máquinas pueden pensar, simplemente es suficiente verificar si pueden superar este test. De hacerlo, arribaremos a la respuesta buscada originalmente. Turing aventuró, incluso, que la superación de este test por una máquina es posible en el futuro e indicó que, según sus estimaciones, algún día las máquinas efectivamente pensarían. Desde entonces, hubo partidarios y detractores de esta idea. El test propuesto por Alan Turing puede pensarse como un criterio cuya consecuencia directa es la clasificación de las máquinas en dos tipos: aquellas que pueden pensar y aquellas que se considera que no pueden hacerlo. Una máquina será considerada pensante si supera el Test. Con su trabajo, Turing planteaba implícitamente un nuevo desafío en esta ciencia naciente: la de la construcción de entidades inteligentes, denominada hoy en día la Inteligencia Artificial. Tal vez sin saberlo, fué el primero en la definición de criterios para la consideración de las capacidades mentales de una máquina computacional. De la misma manera que un alumno se prepara para un examen de la Universidad, un grupo de investigadores podría preparar una máquina únicamente para que enfrente el Test de Turing. Sin embargo, la universalidad del Test y la necesidad de la máquina de enfrentar cualquier pregunta del interrogador dificulta mucho este emprendimiento. Imaginemos pues que esta máquina debe ser capaz de responder naturalmente, y sin despertar sospechas, una pregunta sobre matemática y luego tal vez otra sobre mitología escandinava o el fútbol africano (incluso manifestando una ignorancia razonable). Este es un requerimiento de diseño simple, pero a la vez muy fuerte y agobiante. ¿No sería más fácil definir un problema mucho más limitado que nuestra máquina pueda enfrentar? Nos ayudaría a concentrarnos en aspectos puntuales del comportamiento de las entidades pensantes que llevarán paulatinamente al progreso deseado. De hecho, no siempre es necesario producir una máquina que pueda enfrentar un diálogo con los humanos. Muchos otros aspectos de la inteligencia necesitan ser estudiados y modelados computacionalmente. La idea es plantear escenarios simples y acotados en los cuales sea necesaria la actividad inteligente, expresada con diferentes complejidades. De esta forma las tecnologías desarrolladas encuentran un campo de prueba de sus capacidades computacionales, en lo que constituyen nuevas y limitadas versiones del Test de Turing. Los protagonistas principales en estos escenarios son los denominados agentes inteligentes.

Agentes Inteligentes En términos generales, dentro de las Ciencias de la Computación, la Inteligencia Artificial es el estudio de la automatización del comportamiento inteligente. Como es natural, esta tarea sumamente complicada abarca diversos aspectos y, a su vez, diferentes objetivos particulares. Por ejemplo, es de interés dotar a un dispositivo móvil (como un vehículo) de la habilidad necesaria para evitar obstáculos, y por otro lado también es interesante modelar los procesos de razonamiento humanos. En el primer caso, una parte del problema es ingenieril, como la determinación de la estructura física del dispositivo, sus sensores y las consideraciones de eficiencia pertinentes. En el segundo caso, la administración del conocimiento y sus modelos matemáticos son los que llevan la mayor atención. Esta diversidad de enfoques, si bien presenta puntos en común, es inherente a la Inteligencia Artificial desde sus comienzos. Durante los últimos años, sin embargo, algunas nociones son de aceptación general para esta comunidad científica, y radican en la identificación de un ente inteligente en términos que todos pueden asimilar. Básicamente, un agente inteligente es una entidad que puede realizar ejecuciones de acciones en forma autónoma, puede percibir su entorno, incluyendo el efecto de sus acciones, y puede modificar su accionar en función de esta percepción. Otras definiciones similares son aceptadas, poniendo énfasis en diferentes aspectos, como el grado de autonomía de los agentes, o su actitud al entorno que los rodea. Por ejemplo, un agente inteligente puede ser reactivo, al estar guiada su actividad por reacción ante eventos externos, o proactivo, al poseer mayor independencia y tomar iniciativa propia en pos de sus metas u objetivos individuales. En la Figura 1 puede verse esquemáticamente la composición básica general de un agente inteligente. Este percibe el estado del mundo por medio de sensores.

Figura 1. Agente Inteligente.

Esta información conforma su visión del entorno que lo rodea, para luego, en función de ella, determinar qué acción realizar de acuerdo a sus metas. Esta acción, a su vez, producirá posiblemente cambios en el entorno. No existe una definición precisa de la noción de agente inteligente, pero su concepción general es la mencionada anteriormente. Y es lo suficientemente general para admitir varias instanciaciones. Por ejemplo, un robot explorador de la superficie de Marte que, dada la demora en las comunicaciones desde la Tierra, toma ciertas decisiones por cuenta propia para recorrer una porción de terreno, es considerado un auténtico agente inteligente. También lo es una aplicación de software que observa las costumbres del usuario al navegar por Internet y procura facilitarle la tarea. Incluso el termostato de aire acondicionado de un centro comercial también puede verse como un agente inteligente, dado que es capaz de percibir la temperatura ambiente y modificarla si es necesario hasta alcanzar los valores deseados. Particularmente interesante es el escenario en el cual varios agentes inteligentes conviven simultáneamente. En los sistemas multiagente, un agente participa en diálogos y negocia y coordina transferencias de información con otros agentes, ubicados probablemente en un ambiente distribuído. Puede ser visto como una sociedad en la cual cada agente realiza sus actividades cooperando con otros agentes para alcanzar metas comunes o compitiendo por ellas. La interacción entre agentes inteligentes es actualmente un área de estudio intensivo en sistemas multiagente. Dos o más agentes pueden intercambiar información estableciendo un diálogo regido por ciertas reglas específicas. Por ejemplo, un agente X puede requerir acceso a un servidor de datos administrado por un agente Y. El agente X inicia entonces un pedido a Y, el cual puede analizar varios parámetros como la situación actual o la confiabilidad del agente X y sus razones para acceder al servidor. Luego el agente Y comunica su decisión al agente X y el proceso continúa si es necesario de acuerdo a las reglas establecidas. Entre los diversos diálogos sociales se encuentran la negociación, aquel proceso centrado en el alcance de un acuerdo en pos de objetivos individuales y la coordinación o la colaboración, donde se buscan acuerdos dependiendo de los objetivos comunes perseguidos. Gran parte de las actividades de investigación exploran estas formas de interacción entre agentes, definiendo lenguajes eficientes y formalizando algún protocolo dialéctico específico.

Agentes Inteligentes y escenarios de prueba El desarrollo de agentes inteligentes es particularmente delicado, no sólo porque a veces requiere la elaboración de artefactos físicos (como robots) sino también porque la información tratada por los agentes representa conocimiento sobre el mundo que lo rodea y es la base para la toma de decisiones. Esto no es más que la afirmación de la importancia que la Representación de Conocimiento y el Razonamiento poseen en esta rama de la Inteligencia Artificial. Siguiendo la misma motivación de Alan Turing, y dada la diversidad de formalismos, técnicas y lenguajes existentes para la creación de agentes inteligentes, es interesante emplear un campo de prueba común para la evaluación de las tecnologías emergentes en este ámbito. Una especie de Test de Turing, reducido, con una motivación específica y reglas acotadas, permitiría concentrar el esfuerzo en aspectos puntuales del comportamiento inteligente. Es así que surgen propuestas como, por ejemplo, el fútbol de robots [2,3]. En este escenario, varios agentes inteligentes procuran jugar al fútbol de manera respetable. La ventaja principal es que las reglas son simples y conocidas por todos y de esta forma distintos investigadores que desarrollan tecnologías diferentes pueden aplicarlas a un mismo campo. Cada agente es programado con la tecnología elegida y desarrollada por cada equipo, permitiendo así ver el resultado de las investigaciones aplicadas a un problema concreto con un objetivo específico: realizar la mayor cantidad de goles posibles. Tal vez el principal referente de esta competencia es RoboCup [3]. Esta organización promueve varias categorías, pero la meta más ambiciosa es desarrollar un equipo de humanoides autónomos que pueden ganarle al equipo campeón mundial de fútbol. De humanos, por supuesto. Esta misma organización propone una categoría especial, denominada RoboCup Rescue cuyo objetivo es promover la investigación y el desarrollo en la asistencia automatizada de operativos de rescate ante desastres urbanos. En todos los casos existen diferentes categorías de acuerdo al nivel tecnológico empleado. Existen robots físicos que juegan al fútbol y también robots rescatadores de víctimas de accidentes, denominadas a veces “Ligas de Robots”. Asi mismo, cuando no es considerada prioritaria la construcción física de los robots, existen entornos de simulación de agentes de fútbol o rescate, denominadas “Ligas Simuladas”. La principal ventaja de éstas últimas es, por supuesto, el bajo costo de desarrollo. Cabe destacar que RoboCup no es la única organización que promueve estos emprendimientos. La Asociación FIRA (Federation of International Robosoccer Association) [2] es también una institución encargada de diversas competiciones del mismo tipo. Si bien el fútbol es una actividad muy popular, no es la única existente. Otra competición que procura estimular el estudio y la investigación en sistemas multiagente, en particular con el uso de lógica computacional, es un problema basado en laberintos. Básicamente, en un terreno plano con obstáculos existen dos o más competidores que procuran capturar la mayor cantidad de determinados elementos dispersos en ese terreno. En el CLIMA VII Contest [11] se propuso una competición en donde dos equipos de mineros procuran evitar árboles y arbustos para recolectar pepitas de oro dispersas en el bosque. El terreno está dividido en cuadrículas, y en cada una de ellas puede haber obstáculos u oro, o estar vacío simplemente. Los movimientos de los mineros son discretos, pudiendo avanzar una cuadrícula por vez, en cualquier dirección libre de obstáculos. El principal atractivo de esta competencia es su simplicidad en la implementación general. Esto se debe básicamente a que el énfasis es puesto en la aplicación de formalismos basados en lógica para la implementación de los agentes intervinientes. Otras propuestas encaran problemas de diferente naturaleza y complejidad. Existe, por ejemplo, una competencia para emplear agentes inteligentes en el juego de poker [10]. Por otro lado, la competencia de agentes de negociación, denominada Trading Agent Competition (TAC) [3], es un evento anual que promueve la investigación de agentes autónomos para la negociación en mercados electrónicos. La competencia se basa en un escenario de negociación común y un entorno abierto para que los competidores puedan probar sus ideas y desarrollos propios. Una de las últimas categorías se demomina TAC-SCM (Supply Chain Management) y captura muchos de los desafíos que deben enfrentarse al administrar una cadena de provisiones en la industria de manufacturación de productos. En este escenario, los agentes deben construir productos, ganar órdenes de clientes y procurar componentes. También existe la categoría TAC-Classic, donde el agente inteligente es básicamente un agente de viaje cuyo objetivo es construir paquetes de viaje entre ciertas ciudades. Cada agente actúa en representación de ocho clientes, que expresan sus preferencias sobre algunos aspectos del viaje. El objetivo general del agente es, naturalmente, maximizar la satisfacción de sus clientes. De la misma manera pueden desarrollarse otros escenarios interesantes para que los agentes inteligentes pueden demostrarse como tales. En particular es atractiva la búsqueda de juegos de computadora en los cuales un jugador humano puede ser reemplazado por un jugador virtual, en una forma moderna de Test de Turing. Son de especial interés aquellos juegos populares en los cuales los humanos aún exhiben habilidades superiores. Los mejores juegos suceptibles a este experimento son aquellos que admiten la modalidad multijugador (multi-player), donde varios participantes pueden jugar en forma cooperativa o competitiva en un mismo escenario. Los jugadores pueden estar ubicados en la misma sala, o en diferentes

lugares del mundo, por lo que no necesariamente pueden verse y conocerse entre sí. Estos juegos son muy populares precisamente porque los contrincantes a enfrentar son humanos que exhiben un comportamiento inteligente superior a los contrincantes virtuales encontrados al jugar bajo la modalidad de único jugador (single-player). De esta manera el juego es más entretenido al plantear mayores desafíos. Lo que nos interesa puntualmente es el efecto del Test propuesto por Turing en estos juegos, es decir, el reemplazo del jugador humano por uno automatizado, denominado usualmente jugador sintético, sin la percepción del resto de los participantes. Trasladar el Test a este escenario es la motivación primaria. Para ello existen dos tipos de juegos altamente asimilables a estos experimentos, conocidos como RTS y FPS.

Juegos de acción en tiempo real: RTS y FPS Los juegos de computadoras de Estrategia en Tiempo Real (RTS - Real Time Strategy) son muy populares actualmente. Estos juegos, en su expresión más completa, representan un desafío complejo dada la cantidad de variables a tener en cuenta: dos o más bandos compiten por la conquista de un terreno, o por la eliminación del contrincante, para el cual pueden producir diferentes tipos de unidades militares. La producción se basa en una economía simple, la cual consiste generalmente en la obtención de recursos primarios en el escenario (típicamente oro o minerales ficticios), que luego son utilizados para la creación de las unidades de combate. El jugador dirige estas unidades por el terreno intentando vencer al oponente. La principal característica es que toda la acción ocurre en tiempo real y las dificultades del terreno presentan mayor granularidad que en los problemas de laberintos. Ejemplos clásicos de este tipo de juegos, con gran éxito comercial, son Dune [6], Warcraft, Starcraft [5] y Command and Conquer [6], todos con diferentes ediciones. Una propuesta reciente en este tipo de juegos es ORTS - Open Real Time Systems de Michael Buro [16], un entorno de programación para estudiar problemas de Inteligencia Artificial en tiempo real, como la búsqueda de caminos en un terreno, el razonamiento con información imperfecta o la planificación de pasos a seguir. Este emprendimiento procura emular los juegos RTS comerciales, pero bajo la filosofía open source, con el objetivo de poder programar específicamente cada equipo. En los últimos años también acaparan cierta atención en la academia los juegos denominados FPS – First Person Shooters. Estos son juegos de perspectiva en primera persona donde el usuario debe avanzar por diferentes escenarios complejos poblados de enemigos. Tal vez los pioneros en este género de juegos fueron las empresas id-Software [7], creadora de los juegos Wolfenstein, Doom, Quake y sus posteriores versiones, y la empresa 3D-Realms [8], creadora del popular juego Duke Nukem entre otros. En la actualidad la diversidad de productos es considerable. Si bien estos juegos son muy utilizados en su modalidad multi-jugador, la mayoría permite la inclusión de contrincantes virtuales, programados en forma separada, denominados bots. Estos son básicamente jugadores cuyo comportamiento está determinado por una serie de reglas de diversa complejidad, establecidas en forma de guiones o scripts que modelan la inteligencia del agente, al estilo de los sistemas expertos. Esto permite jugar cuando no hay contrincantes humanos. De esta forma existen bots de comportamiento simple, que únicamente saben esconderse para no ser encontrados por el jugador, y otros de comportamiento más elaborado, capaces de comenzar una auténtica cacería virtual. El principal problema con este tipo de aplicaciones es que prácticamente todas son emprendimientos comerciales y la posibilidad de expansión se limita únicamente a la programación de los bots de acuerdo a los mecanismos establecidos en el producto. En muchos casos consiste en la determinación de máquinas de estados finitos e instrucciones de comportamiento limitadas, que si bien son interesantes, a su vez son bastante primitivas para las técnicas de Inteligencia Artificial actuales. En algunos juegos es posible un vínculo con el producto, como fué encarado por el Proyecto Soar/Games [17], con cierto apoyo de la industria. Afortunadamente, en el año 2006, la empresa id Software, liberó el código completo de uno de sus juegos más populares, denominado Quake III Arena, bajo licencia GNU-GPL. Este es un excelente punto de partida para el desarrollo posterior en este tipo de juegos y constituye un acto de apoyo a la comunidad de código abierto. En este sentido, un proyecto denominado OpenArena pretende producir un clon del Quake III de forma tal de librarse de algunos aspectos propietarios del juego original, como las texturas gráficas. Otras modificaciones han sido producidas con éxito, como World of Padman o Tremulous, que también puede ejecutarse en Linux, algo no usual en los juegos comerciales con derecho de copia reservado. Todos estos son buenos señales de tiempos de cambio e integración entre dos ramas de la computación, el entretenimiento como industria y la investigación académica, que en muchos casos recorrieron trayectos en forma separada. Desde el punto de vista académico, en este género es de especial interés la elaboración de juegos multiplayer en donde el énfasis es puesto en la posibilidad de recepcionar bots implementados con diferentes técnicas en Inteligencia Artificial. Esta universalidad del juego es esencial para que sea recibido con agrado por la comunidad de investigadores en el área. Por el momento, los productos FPS alternativos, si bien exhiben en muchos casos un buen grado de inteligencia, no son desarrollados específicamente con objetivos académicos. Es deseable que esta situación cambie lentamente.

Figura 2. Arquitectura general del escenario percepción-acción Una arquitectura apropiada para el desarrollo de estos juegos está basada en un ciclo operacional que se conoce como percepción-acción o ciclo de decisión. La idea general es conocer el entorno y accionar sobre él, de manera repetitiva hasta alcanzar los objetivos deseados. En la Figura 2 puede verse el esquema de esta organización. Un servidor centraliza el conocimiento del mundo modelado (por ejemplo un campo de fútbol, un laberinto, un terreno con obstáculos, etc) y es capaz de informar al cliente todos los parámetros necesarios sobre este mundo virtual. El cliente modela al agente situado en ese escenario, y recibe información desde el servidor, en lo que constituye la percepción del mundo del agente inteligente. El servidor ofrece aquella información que estará disponible para el agente dependiendo de diversos parámetros, como la posición del agente en el escenario y la dirección en la que observa. El agente debe utilizar esta información para decidir sobre sus próximas acciones, las cuales deben ser comunicadas al servidor para actualizar apropiadamente el modelo del mundo. El escenario modelado puede ser virtual o real. En este último caso será sensado adecuadamente por el servidor, y el agente se alimentará de la información procesada en ese aspecto. Esto ocurre, por ejemplo, en las competencias RoboCup, donde la posición de la pelota es detectada por una cámara de video situada sobre el campo de juego. Los agentes conocen esta posición gracias al servidor que constantemente les informa de los cambios en el mundo. Dado que el servidor centraliza el conocimiento del escenario, también es posible incorporar clientes que permiten visualizar lo que está ocurriendo en la simulación. Un cliente de este tipo puede interpretarse como un agente inteligente cuya presencia en el escenario no es relevante para el juego y mantiene una actitud meramente pasiva: simplemente observa y exterioriza la información pertinente. Por ejemplo, en el fútbol de robots existen visualizadores en dos dimensiones del campo de juego, y a su vez se han desarrollado recientemente algunos visualizadores 3D. Todo esto, independientemente de los agentes inteligentes que están enfrentando el partido del fútbol. El sistema ORTS de Michael Buro está organizado de acuerdo al modelo cliente-servidor recién descripto. El servidor simula el terreno de juego y envía a cada cliente (por medio de un protocolo específico) las vistas correspondientes, teniendo en cuenta la visibilidad posible desde la situación en la que se encuentran. De esta forma los clientes descubren el mapa paulatinamente, a medida que avanzan sobre él. Esta característica es la tradicional en los juegos de estrategias en tiempo real, donde solamente se conoce aquello que se ha visitado previamente, el resto del terreno permanece no revelado. El cliente, que es un agente inteligente, debe decidir estratégicamente sus movimientos. Nótese que la información revelada por el servidor constituye parte del conocimiento del agente y por ende éste debe administrarla adecuadamente. Esto es mandatorio para que el agente construya su imagen mental del mundo en el que se encuentra. De la misma manera, el juego Quake III-Arena también posee una arquitectura donde un jugador sintético cumple el rol de cliente y el motor del juego cumple el rol del servidor. El esquema general incluye, sin embargo, otros componentes como un servidor específico para interactuar con jugadores humanos, como es tradicional en el producto. Experiencias en el fútbol de robots El desarrollo basado en escenarios de prueba como los mencionados anteriormente es estimulante y atractivo para muchos investigadores. En particular, en el Laboratorio de Investigación y Desarrollo en Inteligencia Artificial (LIDIA) [18] de la Universidad Nacional del Sur, este tipo de simulaciones ha servido para capturar la atención de muchos estudiantes que no tienen necesariamente una formación matemática sólida en Inteligencia Artificial, pero poseen excelentes habilidades de programación. Las líneas de investigación de nuestro Laboratorio son originariamente de corte teórico, basado en formalismos lógicos para la representación del conocimiento y el razonamiento. Aquellos alumnos renuentes a estos formalismos, pero interesados en los objetivos y el desarrollo en Inteligencia Artificial, pueden realizar su aporte estimulados por el espíritu de las competencias, integrados con otros investigadores con mayor experiencia en el área. En la mayoría de los casos, las últimas generaciones de alumnos de posgrado de

nuestro Laboratorio surgen del interés en estas tecnologías. Muchos dieron sus primeros pasos en la Inteligencia Artificial gracias a estos emprendimientos, lo que les permite en primera instancia comprender las motivaciones de esta área de las Ciencias de la Computación, sus dificultades y desafíos principales. Comprenden luego la importancia de los estudios teóricos para superar los objetivos iniciales y descubren una nueva línea de formación profesional. En el año 2002 se formó en el LIDIA el Grupo de Robótica Cognitiva, formado por docentes y alumnos del Departamento de Ciencias e Ingeniería de la Computación bajo la dirección del Dr. Alejandro García, cuya actividad inicial fué el estudio del fútbol de robots, especialmente en la categoría Robocup E-league. Se utilizaron kits de robótica de bajo costo de la empresa Lego Mindstorms, que cuentan con una microcomputadora (denominada RCX) y mecanismos de movilidad (un motor, ruedas y piezas mecánicas). Esta microcomputadora posee capacidades reducidas, y dispone de un sensor infrarrojo para recibir información. Puede a su vez controlar algunos dispositivos conectados a ella, como el motor. Existe además una estructura de ladrillitos de plástico y dos ruedas tractoras. Cuando el robot gira para buscar la pelota, la computadora hace funcionar una rueda en cada dirección. En la Figura 3 se muestra uno de los robots construídos, junto con el RCX. Este es el cerebro del robot, y en esta versión es un procesador Hitachi H8300, de 8 bits y 16Mhz con 32Kbytes de RAM. Una vez diseñados y construidos los robots (que no es una tarea simple), el equipo se ha dedicado a la programación de los agentes de software que los controlan para poder jugar al fútbol. En el año 2004 parte del grupo viajó a Portugal para participar del Mundial RoboCup 2004 donde nuestros robots, cuyo equipo se denominaba MateBots, jugaron contra equipos de otras universidades. Esta actividad generó un intercambio con otros investigadores que resultó enriquecedor para todos los participantes. Al regreso de la competencia el equipo formado por alumnos organizó una serie de conferencias en la Universidad Nacional del Sur para transmitir las experiencias vividas y plantear desafíos futuros.

Figura 3. Jugador del Equipo MateBot y el RCX utilizado Es importante destacar que puede encararse un desarrollo de agentes inteligentes para el fútbol de robots sin la necesidad de contar con estos dispositivos electrónicos, que no siempre son de fácil acceso aunque el costo sea relativamente bajo. Tanto RoboCup como FIRA proveen una categoría para jugar en forma simulada, como se explicó anteriormente. Esto permite enfocarse en aspecto de la inteligencia de los agentes dejando de lado características ingenieriles de los artefactos físicos. En el LIDIA, parte del entrenamiento es testeado en estas simulaciones. Dado el éxito y la atención que acapararon el fútbol de robots con nuestro equipo, en el Laboratorio de Investigación y Desarrollo en Inteligencia Artificial estamos interesados en entornos de prueba que requieran intensa actividad de razonamiento automatizado. Y efectivamente un género que llama mucho la atención son los juegos de computadoras para el entretenimiento personal. En la actualidad estamos procurando expandir el horizonte en este campo, prestando atención a los juegos de estrategia en tiempo real. Consideramos que en ellos puede aplicarse una buena parte de nuestra investigación. También consideramos atractivos en este sentido los juegos FPS, tal vez los que despiertan mayor curiosidad en los alumnos jóvenes. El interés recae en el desarrollo de jugadores sintéticos inteligentes para emprendimientos académicos como los mencionados anteriormente, y también en la posibilidad de desarrollar juegos nuevos o modificaciones de algunos existentes. Esto último requiere, por supuesto, un mayor esfuerzo de programación. Aún así los costos son bajos dada la ausencia de dispositivos robóticos en los emprendimientos. Esto permite mayor acceso a la tecnología por parte de los docentes y alumnos, lo cual aumenta las prespectivas de la audiencia obtenida. Para ejemplificar en términos generales nuestros proyectos de derivación de los desarrollos teóricos a los escenarios de prueba basados en juegos, en la siguiente sección se explica brevemente la mecánica de la Argumentación Rebatible, una de las principales líneas de investigación del LIDIA.

Un ejemplo: agentes que juegan argumentando La Inteligencia Artificial ataca, entre otros, el problema de la representación formal de determinados aspectos presentes en el mundo real. Uno de estos aspectos, tal vez el más tradicional en esta rama de la ciencia, se refiere al razonamiento y la representación de conocimiento, para lo cual diversos modelos formales han sido propuestos. En particular, la argumentación ha sido utilizada en el mundo real para diferentes propósitos en diferentes áreas, y varios modelos de argumentación han sido desarrollados dentro del área de Inteligencia Artificial. Uno de estos modelos, la argumentación rebatible, se refiere a un grupo particular de patrones de razonamiento, donde argumentos a favor y en contra de una proposición son producidos y evaluados para verificar la aceptabilidad de dicha proposición. La argumentación rebatible ha alcanzado gran popularidad entre la comunidad de Inteligencia Artificial en los últimos años. Usualmente es utilizada bajo diferentes formalizaciones para capturar aspectos del razonamiento del sentido común y la representación de información incompleta y potencialmente inconsistente. Este formalismo es básicamente un mecanismo de razonamiento no monótono en donde la aceptación o el rechazo de una proposición dependen de un análisis entre argumentos a favor y en contra de esa proposición. En términos generales, un argumento es una explicación tentativa de una afirmación específica. Por ejemplo, Argumento A: “El centro de esquí abrirá hoy al público pues la cantidad de turistas en la ciudad es importante y la recaudación esperada supera las expectativas” El argumento A expone una explicación para al afirmación “El centro de esquí abrirá hoy al público”. El siguiente argumento propone algo diferente, fundamentado por otras razones. Argumento B: “El centro de esquí no abrirá hoy sus puertas pues los caminos se encuentran bloqueados por la nieve de la tormenta de anoche” Luego el argumento B contradice al argumento A. Esto implica principalmente que no podemos aceptar ambos argumentos simultáneamente. Más aún, como la información expuesta por B es de mayor relevancia para la apertura del centro (no importa cuántos turistas haya, si no se puede acceder al Centro, éste no abrirá) se dice que el argumento B ataca al argumento A. El siguiente argumento también se relaciona con los anteriores: Argumento C: ”Los caminos no se encuentran bloqueados pues hoy temprano la Dirección de Tránsito envió dos máquinas quitanieves que estuvieron trabajando exitosamente”. El argumento C contradice al argumento B. De hecho lo descalifica pues afirma algo que contradice una suposición de B (los caminos bloqueados), y por ende se dice que C ataca a B. Dado que el argumento A es atacado por B, el cual a su vez es atacado por A, se dice que C defiende al argumento A del ataque recibido por B. Esto es así, dado que si se acepta el argumento C, entonces no debe aceptarse B, y si esto ocurre, se puede aceptar A, ya que éste no tiene oposición. En la Figura 4 se observa una representación de grafos de esta situación, donde los nodos representan los argumentos y los arcos la relación de ataque.

A

B

C

Figura 4. Sistema Argumentativo Simple El argumento rechazado en la Figura 4 es el argumento B, por lo que podemos concluir que el centro de esquí abrirá sus puertas a los turistas. Estos ejemplos simples muestran la mecánica general de la argumentación. Existen varias propuestas formales de sistemas de representación de conocimiento y razonamiento, en particular la Programación en Lógica Rebatible o DeLP (Defeasible Logic Programming) [12,13], desarrollada en el Laboratorio de Investigación y Desarrollo en Inteligencia Artificial LIDIA. También existe un gran desarrollo de marcos argumentativos abstractos donde algunos elementos se mantienen sin especificar, como la estructura de los argumentos, y que sirven para estudiar aspectos semánticos de la argumentación [14]. En el caso puntual de DeLP, los argumentos son conjuntos de reglas de un lenguaje formal, que sustentan una conclusión

determinada. Por ejemplo, en la Figura 5 se muestra un programa argumento para vuela(tweety).

simple en DeLP,

junto con un

vuela(X) -< ave(X). ~vuela(X) -< pinguino(X). ave(X)

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.