Foro del Futuro Próximo (FFP 2016)

Foro Futuro PróximoEl Foro del Futuro Próximo 2016 se celebra el 30 de Sept. y 1 de Oct. en la Escuela de Ingenieros Industriales de la Universidad Politécnica de Madrid. Este año analizamos el impacto de las tecnologías de lo mental como son la cognición, la inteligencia artificial o la neurociencia. Entre los temas que se tratarán se incluyen: big data, realidad virtual, robótica social, la singularidad, prospectiva y tecnooptimismo, neurociencia cognitiva, la nueva humanidad o las máquinas autónomas.

Inscríbete gratis y descubre el programa de conferencias en futuroproximo.org.

En mi ponencia exploraremos el impacto en la sociedad de las nuevas tecnologías de Inteligencia Artificial, intentando predecir (o decidir) cómo será el futuro en el que, cada vez de forma más intensa, interaccionamos constantemente con máquinas.

Jugaremos con la idea de un “constructivismo trans-humanista”, en cuyo marco haremos predicciones basadas en un posible curso del desarrollo de la civilización humana. Estableceremos una analogía entre la ontogenia humana y el desarrollo de nuestra civilización, usando la mirada (necesariamente ingenua) de un niño que imagina cómo será su vida cuando sea mayor.

Los bots conscientes ya están aquí

Los bots conscientes ya están aquí

Analizamos la mente del bot ganador del 2K BotPrize 2010

El equipo “Conscious-Robots”, vencedor de la edición 2010 del 2K BotPrize, explica la arquitectura “consciente” de su bot.


  La mayor parte de los esfuerzos en desarrollar bots más realistas – bots que muestra un comportamiento similar al que tendría un humano – están basados en las técnicas clásicas de Inteligencia Artificial. Dichas técnicas tienen su base en ideas relativamente antiguas, las cuales sin embargo han ido mejorando progresivamente o incrementando su rendimiento para satisfacer los requisitos de los nuevos videojuegos. Para el desarrollo de CC-Bot2, nuestro bot en la competición, nos hemos centrado en un nuevo enfoque, tomando como inspiración algunas de las teorías cognitivas propuestas para modelar la conciencia humana.

  En este artículo describimos brevemente el diseño de CC-Bot2 para la competición 2K BotPrize 2010, que tuvo lugar el pasado mes de Agosto en Copenhague. La competición BotPrize nace como una adaptación del test de Turing para videojuegos, en la que se ha seleccionado un juego de disparos en primera persona (FPS): el “Unreal Tournament 2004”. Esta competición internacional, en la que participan investigadores de todo el mundo, es un referente para conocer el avance de las técnicas de Inteligencia Artificial para pasar el test de Turing, es decir, crear programas de ordenador que sean indistinguibles de un ser humano. Aun siendo vencedor de la competición, CC-Bot2 no pudo superar el test de Turing en esta edición, consiguiendo un ratio de humanidad del 31.8%, aún algo distante del 50% que se considera necesario para superar dicho test. Hoy en día no existe programa alguno que haya conseguido superar el test de Turing, y aún existe un largo camino para conseguirlo. Sin embargo, la nueva propuesta que presentamos aquí es una línea de investigación muy prometedora para poder alcanzar dicho objetivo, y no solo en el dominio de los videojuegos.

Continue reading “Los bots conscientes ya están aquí”

Conscious-Robots gana la competición 2K BotPrize 2010

¡¡¡El equipo Conscious-Robots ganador de la competición 2K BotPrize 2010!!!

La tercera edición de la competición 2K BotPrize ha tenido lugar recientemente, habiéndose celebrado la sesión final en  Copenhague, en la conferencia 2010 IEEE Conference on Computational Intelligence and Games. Nos complace anunciar que el equipo español – Conscious-Robots – formado por Jorge Muñoz y Raúl Arrabales ha obtenido la victoria en la edición de este año de esta competición que consiste en un  Test de Turing adaptado al dominio de los videojuegos [1].

botprizepic_1_small

Raúl Arrabales (izquierda) y Jorge Muñoz (derecha) con el trofeo 2K BotPrize (diseñado por Peter Reynolds)

El objetivo de la competición 2K BotPrize es desarrollar un bot (personaje sintético de un videojuego)  capaz de comportarse como un humano, tan bien que no se le pueda distinguir de un verdadero jugador humano, es decir, un bot capaz de pasar el Test de Turing. Aunque el bot de Conscious-Robots no pudo pasar por completo el Test de Turing, logró alcanzar un ratio de “humanidad” del 31.8%. A fecha de hoy no se ha construido ninguna máquina capaz de alcanzar el nivel de inteligencia necesario para pasar el Test de Turing. Sin embargo, este año se ha reducido la distancia entre humanos y bots, con una pequeña diferencia entre el bot de Conscious-Robots (31.8%) y el menos “humano” de los jugadores humanos (35.4%) – ver resultados.

Continue reading “Conscious-Robots gana la competición 2K BotPrize 2010”

Inteligencia Artificial en Juegos y Mundos Virtuales

Inteligencia Artificial (AI Bots) en Videojuegos y Mundos Virtuales

Normalmente cuando hablamos de agentes situados como el objeto de la investigación en Inteligencia Artificial o en Consciencia Artificial siempre pensamos en agentes físicos, como los típicos robots autónomos. Una de las razones por las que tendemos a usar robots físicos como parte de nuestro diseño de experimentos es porque creemos que el cuerpo físico juega un papel crucial en la inteligencia y en la consciencia.

Debido a las limitaciones de coste y tiempo, durante las fases de desarrollo solemos usar herramientas de simulación para poder probar facilmente nuestras hipótesis. Sin embargo, el objetivo final es siempre el robot físico y su aplicación correspondiente en el mundo real. Al menos esta es la conclusión obvia en el campo de la robótica.

Pero, ¿qué pasa con las aplicaciones de la IA que sólo “viven” en mundos virtuales? ¿Merecen menos atención de los campos de investigación de la IA? Recientemente estamos asistiendo a un interés creciente en aplicaciones que residen completamente dentro de mundos virtuales y de videojuegos. Algunos ejemplos relevantes son Second Life y World of Warcraft. Personalmente creo que el éxito de estos productos se basa en la interacción entre humanos (jugadores, colegas, socios, etc.). El problema es que actualmente no conseguimos tener el mismo nivel de interacción entre humanos y AI Bots (en inglés el término AI Bot se usa para designar a los agentes autónomos virtuales controlados por programas de Inteligencia Artificial).

Desde mi punto de vista, no hay duda que los AI Bots son un ejemplo de agentes situados. Si se pueden considerar como agentes con cuerpo (embodied) es otra cuestión. En cualquier caso podríamos decir que son agentes con un cuerpo virtual que responde a las leyes físicas simuladas por el correspondiente mundo virtual o videojuego.

Recursos de desarrollo para investigación con Bots de Inteligencia Artificial

Recientemente he estado buscando entornos de simulación ricos en detalles para probar mi arquitectura de Consciencia Artificial como control de un AI Bot. Así que he confeccionado una pequeña lista de motores, SDK, y herramientas de desarrollo (ten en cuenta que no estoy considerando aquí ninguna plataforma de desarrollo para robótica como MRDS o URBI, también he excluido herramientas de desarrollo completo de juegos. Mi interés es específico en la programación de bots).

Videojuegos

En el campo de los videojuegos, en principio cualquier juego liberado (con el código fuente disponible) podría valer para la experimentación con jugadores autónomos basados en técnicas de IA. Un ejemplo clásico sería el famoso Quake (el código fuente está disponible como GPL a través de ID Software). Para ver una lista completa de juegos liberados puedes visitar http://liberatedgames.com/

De todas formas, tener el código fuento no es un requisito imprescindible para programar los bots de un juego. De hecho, si queremos desarrollar bots con Inteligencia Artificial para los juegos más actuales, lo normal es que no tengamos acceso al código fuente. Sin embargo, la mayoría de los videojuegos modernos proporcionan herramientas para añadir características nuevas al juego como mapas, bots, modificaciones, etc. Algunas de estas herramientas son particularmente útiles para desarrollar interfaces externos, así podemos ejecutar la lógica de los AI bots externamente. Esto también es particularmente útil si lo que queremos es programar los bots en un lenguaje de programación distinto de el del juego.

Un buen ejemplo de esta flexibilidad es la serie Unreal Tournament de Epic Games. Este juego viene con un lenguaje de programación llamado UT Script que ha permitido a los desarrolladores escribir mutators (modificaciones y componentes adicionales para el juego).  En el caso del Unreal Tournament GameBots mutator permite obtener el estado del juego y mandar comandos al servidor de juego.

El componente GameBots se ha usado para construir extensiones de API para que puedas programar tu bot usando Java o C#. Echa un vistazo a Pogamut 2 para la programación en Java de tu Bot en UT 2004 y
UT3 .NET Bots para programarlos en .NET para Unreal Tournament 3.

ORTS es otro tipo de ejemplo. En este caso se trata de un juego de estrategia en tiempo real. Mientras que los juegos de primera persona (FPS) son adecuados para ciertos tipos de investigación en IA, los entornos de RTS también son adecuados para sistemas multi-agente y problemas de planificación.

Mundos Virtuales

En realidad, los videojuegos y los mundos virtuales están muy relacionados, sobre todo si hablamos de MMOG (Massively Multiplayer Online Games – Juegos Online Multijugador Masivos). Creo que Second Life es el ejemplo más conocido. Si quieres experimentar y desarrollar aplicaciones en este entorno puedes echar un vistazo a libsecondlife.

Multiverese también es otro producto que merece la pena mirar en este sentido. Es una plataforma para el desarrollo de mundos virtuales y MMOGs (se basa en OGRE, un motor de visualización gráfica de código abierto).

realXtend es otra plataforma de código abierto para la creación de mundos virtuales. Se basa en  OpenSim (un servidor de aplicaciones 3D de código abierto).