Wednesday, May 23, 2012

Notas sobre juegos urbanos serios

Se encontraron algunos ejemplos de este tipo de juegos, se ve que requieren definir previamente lo siguiente:

  • Objetivos del juego
  • Género del juego
  • Usualmente se emplean juegos con ambientes abiertos que permiten la interacción con sus elementos
  • Inmersión del jugador al juego
  • Sistema de puntos para mantener el interés
  • Promover la exploración

También fueron encontrados varios proyectos que lidian con el tráfico urbano o al menos con una parte del mismo. Estos ejemplos son los siguientes:

Por otra parte se encuentran los juegos dirigidos a la planeación urbana que incluyen otro tipo de factores ya que su fin es distinto. También se encontraron varios ejemplos de este tipo pero no se incluyeron porque distan de nuestro objetivo.

Por último se vieron algunas de las formas en que se pueden representar las redes de tráfico y los enfoques que conllevan (Macroscópico, Microscópico e Híbrido). Dependiendo de la profundidad que se requiera se tendrá que utilizar alguno de estos ya que depende directamente del alcance y tamaño del ambiente desarrollado.

Serious Urban Games. From play in the city to play for the city

Se empieza hablando de la creación y tendencia de los juegos serios además de brindar algunos ejemplos. Desde 2002 que se creo la Serious Game Initiative hasta los recientes proyectos y apoyos que se han brindado como el del juego Citzalia, un juego que simula y muestra el trabajo en el Parlamento Europeo y que recibió un apoyo de 275,000€ de parte de la Unión Europea.

Por otro lado se tiene a los juegos urbanos, son un subconjunto de los juegos penetrantes (Pervasive Games) en los que se presentan al jugador un entorno metropolitano y se le invita a moverse libremente e interactuar con los transeúntes y espectadores. En general se promueve más un ambiente de exploración, experimentación y uso creativo que uno competitivo.

Lo que se busca es combinar los conceptos anteriores para crear un nuevo conjunto que se denomina Serious Urban Games en los que se logre enseñar algo al usuario en un ambiente libre y dinámico como lo es una ciudad.

Se habla de la importancia de dos comportamientos TIAG (This Is A Game) y TINAG (This Is Not A Game) para la inmersión de los jugadores en el ambiente. Si se sigue el paradigma TIAG se entiende que el juego tiene sus reglas, sus características y que hay cosas que se permiten dentro del mismo que no serían posibles en la vida real. Mientras que por su parte TINAG asume que lo presentado dentro del juego permea en la realidad, los comportamientos dentro del mismo son algo que se presentan en la vida cotidiana, es la habilidad que permite a los jugadores pretender que no se encuentran en un juego, es una característica de los juegos penetrantes.

Se busca tener cierta ambigüedad entre TIAG y TINAG de forma que las reglas de ambos mundos (real y el juego) se superpongan y creen un nuevo comportamiento en los jugadores. Se mencionan dos juegos que hacen uso de estas filosofías (Killer y Cruel 2 B Kind) y aunque que no son videojuegos, se puede ver que tienen fines distintos a pesar de tener la misma base.

Otro de los puntos que distingue a los juegos urbanos serios es la narrativa que conllevan. La mayoría de ellos asignan tareas a los participantes que requieren recolectar y volver a contar historias y anécdotas.

Al final se concluye en que esta es una rama que apenas se encuentra surgiendo y falta un poco de tiempo para su apogeo, se retoman las características de como involucrar aspectos de TIAG en la vida real y aspectos de la vida real en TIAG. Los juegos deben ser envolventes y atractivos para los jugadores, se toma en cuenta la narrativa y se expone que se puede crear una historia más grande de pequeños elementos distribuidos encontrados dentro del juego.

Urban Traffic Simulation for Games: A General Approach for Simulation of Urban Actors

Este artículo habla sobre un simulador para enseñar reglas de tráfico urbano a jóvenes mientras utilizan una bicicleta como medio de interacción. El armado total del simulador consiste en una bicicleta con 6 grados de libertad y un ambiente virtual de 3 paredes que la rodean para proveer la vista de lo que ocurre. Esto se muestra en la siguiente figura:

image

Se menciona el uso de diversos modelos para representar y simular el tráfico urbano pero se expone al enfoque microscópico (Microscopic Traffic Simulation MTS) como uno de los más usados recientemente. El MTS permite hacer una simulación detallada de los elementos que interactúan en el sistema debido a que se basa en un conjunto de agentes individuales que tienen características representativas del elemento representado.

Sin embargo el estar constantemente calculando las acciones e interacciones de cada agente dentro de una ciudad resulta muy costoso computacionalmente por lo que decidieron que solo se calcularía a detalle las características y comportamiento de los elementos que se encuentren a la vista del jugador mientras que al resto se le asigna un comportamiento genérico que permite predecir en que lugar se encuentra en determinado tiempo.

La lógica del juego se encuentra dividida en las siguientes 4 capas:

  • Navegación (capa 3): Se encarga de la navegación entre el tráfico, elección de un destino y de calcular una buena ruta. Esta parte requiere conocimiento de la estructura general de la red de tráfico.
  • Reglas de tráfico (capa 2): Conglomera las acciones como el derecho de paso, cambio de carriles, forma de estacionarse, etc. A diferencia del anterior, este requiere un conocimiento de las acciones de otros agentes.
  • Comportamiento reflexivo (capa 1): Se implementan los comportamientos que no están descritos como reglas de tráfico como el bajar la velocidad cuando se acerca a un semáforo en rojo que este lejano o reaccionar ante el cruce de un peatón.
  • Individualización (capa 0): Se encarga de dar variación a los parámetros de cada participante como su velocidad promedio y las rutas que utiliza. Esto con el fin de crear un ambiente más creíble para el usuario.

La red de tráfico es representada como un grafo dirigido en el que cada nodo representa ramas y objetivos y los arcos representan conexiones directas. De esta manera se puede llevar el cálculo de rutas de manera sencilla. Un ejemplo de una red de tráfico se muestra en la siguiente figura:

image

Es un trabajo preliminar que todavía no arroja conclusiones pero que su implementación ya se encuentra bastante avanzada.

Du, R. (2008). Urban Traffic Coordination Control System Based on Multi-Agent-Game. 2008 International Conference on Intelligent Computation Technology and Automation (ICICTA), 817-821. Ieee. doi:10.1109/ICICTA.2008.245

Wednesday, May 2, 2012

Strategy Games

Los juegos de tipo estrategia se han usado para el desarrollo de inteligencia artificial pero según lo que he encontrado no sé había dado un ambiente competitivo hasta ahora que esta surgiendo la competición AIIDE de Starcraft.

En trabajos previos se usa el ambiente ORTS (Open Real Time Strategy Game) para las pruebas puesto que es gratuito, el servidor actúa independientemente a los clientes que se conectan, se pueden unir de manera independiente y se da control total sobre los objetos en el campo.

Las principales áreas de investigación sobre este tipo de ambientes son:

  • Planeación en tiempo real frente a un ambiente adverso
  • Toma de decisiones bajo incertidumbre
  • Modelado y aprendizaje del oponente
  • Razonamiento espacial y temporal
  • Administración de recursos
  • Colaboración
  • Búsqueda y establecimiento de rutas

El tipo de ambiente es propicio para utilizar sistemas multi-agentes y de hecho su mejora también se toma como parte del objetivo de hacer este tipo de investigaciones.

Otro tipo similar de juego es el de estrategia pero por turnos en el que cada participante tiene cierto tiempo para llevar a cabo sus movimientos. Este ambiente es más fácil de utilizar ya que se tiene más tiempo pero a la vez pierde cierto interés puesto que es más sencillo llevar a cabo el procesamiento de lo que se quiera estudiar debido a las pausas en el juego.

Natural Language Processing

Una forma mencionada para estudiar el uso de lenguaje natural es verlo como parte de un sistema más amplio de comunicación, uno que incluye lo que se dice literalmente, la intención que se tiene y la relación entre los dos aspectos.

El entendimiento de un lenguaje puede producir distintas aplicaciones como:

  • Poder dar formato a un texto dependiendo de ciertos parámetros (adaptarlo a un estilo de escritura, a un lenguaje formal, etc.)
  • Consultar información con preguntas en un lenguaje humano de modo que se pueda obtener solo los datos que se crean relevantes o más apegados a los que se busca.
  • Comunicación entre computadoras y personas sin la necesidad de aprender un lenguaje nuevo y/o complicado que incluya comandos o procedimientos
  • Traducción automática de textos entre idiomas
  • Corrección de gramática y redacción
  • Asistentes inteligentes que comprendan las preguntas de los usuarios
  • Chatbox (persona artificial que logra mantener una conversación con un humano)
  • Identificación de un locutor

Existen varios grupos alrededor del mundo que se enfocan en cuestiones del estudio del lenguaje natural como el Stanford NLP Group, The Turing Center (universidad de Washington) y el XRCE (Xerox Research Centre Europe) en los que se desarrollan varias investigaciones. Algunas de las áreas que siguen son:

  • Machine Translation
  • Recolección y extracción de información
  • Respuestas a preguntas (Question Answering)
  • Reconocimiento de habla
  • Síntesis del habla
  • Reconocimiento y verificación de un locutor
  • Sistemas de diálogo

Tuesday, April 10, 2012

Más aplicaciones de Machine Learning

Entre algunas aplicaciones extra que he encontrado para ML se encuentran:

Reconocimiento de acciones: Mediante el análisis de imágenes (visión computacional) se crean árboles con prototipos en donde se clasifican y ramifican las acciones que puede estar llevando a cabo un individuo. Cada prototipo se puede considerar como una imagen que contiene la posición del sujeto a evaluar mientras que una acción es definida por una sucesión de varios prototipos. Un ejemplo de esto se encuentra en la siguiente figura:

image

Otras formas de llevar a cabo esta clasificación se pueden basar en otros métodos de aprendizaje como Slow Feature Analysis (SFA) que extrae características que cambian lentamente de una señal de entrada con cambios constantes.

Reconocimiento de eventos en un grupo: De nuevo mediante el uso de visión computacional se aprende de un grupo de imágenes o un video las características que acompañan a un grupo. Se determina su forma de interactuar dependiendo de lo que se detecte y se usa como medidas la distancia entre los involucrados, la velocidad a la que se mueven y otros elementos. Una ilustración se puede apreciar en la siguiente figura:

image

Análisis de proteínas: Tema dedicado completamente a la informática en el que se puede usar ML para crear algo conocido como Superfamily Level Classification que permite encontrar la relación estructural, evolucionaria y funcional de las proteínas.

Reconocimiento del habla: La mayor parte de esta área se lleva a cabo mediante comparaciones con palabras previamente etiquetadas que permiten la comparación entre lo que se tiene guardado y el audio obtenido al momento, sin embargo este método es costoso y depende de tener previamente etiquetadas las palabras para poder entenderlas. En algunos artículos se menciona el uso de aprendizaje semi-estructurado que permite reducir el costo del proceso ya que se puede incluir tanto datos etiquetados como no etiquetados.

Predicción de fallas en una planta: Hay un ejemplo que utiliza aprendizaje automático estadístico y técnicas de adquisición de conocimiento para la red eléctrica de la ciudad de Nueva York. Lo que se busca es poder analizar y predecir con la mayor precisión las áreas y componentes dentro de la planta que requieran un mantenimiento preventivo de forma que no haya fallas graves en el lugar.

Predicción de resultados en juegos de cartas: En este ejemplo se menciona el uso de aprendizaje supervisado para este tipo de dominios. Se habla de emplear ese tipo de técnicas para predecir los resultados futuros basados en juegos anteriores. Sin embargo, se menciona que por el tipo de juegos no se puede tener una completa fiabilidad ya que en la mayoría interviene un factor aleatorio (suerte).

Tráfico IP: Se utiliza minería de datos para conocer y facilitar el monitoreo del flujo de información. Se usa con motivo de mejorar la calidad del servicio y tan solo empleando C4.5 se logra una precisión del 95%.

Análisis harmónico de música: Se basa en la clasificación de canciones en base a un cromagrama (chromagram). Este toma en cuenta los acordes, llaves, notas graves y la percepción humana del ruido. No se requiere un experto para ajustar los parámetros del sistema debido a que todo se encuentra basado en machine learning.

Wednesday, March 28, 2012

Semantic Web Mining

La idea de la que surge semantic web mining se basa en el poder aprovechar el conocimiento que se encuentra actualmente en la red pero para lograrlo se requiere que las máquinas logren procesarlo. Para que el uso de minería de datos tenga éxito en la información recolectada en la red esta debe tener un sentido que pueda ser entendido de forma que puede ser necesario agregar información complementaria o descriptores para que pueda ser procesado y analizado por las máquinas.

El fin de lo anterior radica en poder proveer a los usuarios de la red mejores servicios y posiblemente explorar una nueva gama de servicios inteligentes creados a partir de la información recolectada.

Para que el análisis semántico pueda llevarse a cabo se requiere de pasar a lo largo de 7 fases que son expuestas en la siguiente figura:

image

Mientras que las últimas dos capas lidian con la confiabilidad y seguridad del sistema, el resto se enfoca a la obtención de datos y el proceso subsecuente que permite darles un sentido para que tengan una utilidad.

A la red semántica también se le conoce como Web 3.0 y aunque su nombre lo parezca en realidad no es una red nueva sino una extensión de la que actualmente existe. El área de interés dentro de esta extensión principalmente es el cambio de enfoque ya que mientras tradicionalmente se lidiaba con la forma en que una computadora pueda leer lo encontrado en la red a que ahora la computadora pueda entenderlo y lidiar con ello.

En todo este proceso el uso y manejo de ontologías se vuelve un tema de suma relevancia debido a que estas permiten crear y abarcar el contexto en el que se encuentran los datos de forma que no solo sean entendibles y agrupables para un humano sino para una computadora también.

Un modelo general del uso de las redes semánticas en web mining se presenta a continuación:

image

Como se puede apreciar en el contexto de la figura anterior, las ontologías juegan una parte muy importante dentro de semantic web mining ya que de su definición depende completamente la adquisición y administración de los recursos encontrados por lo que gran parte de las investigaciones realizadas sobre este tema son realmente enfocadas al desarrollo de ontologías.

Yong-gui, W., & Zhen, J. (2010). Research on semantic Web mining. 2010 International Conference On Computer Design and Applications (Vol. 1, pp. V1-67-V1-70). IEEE. doi:10.1109/ICCDA.2010.5541057