jueves, 21 de marzo de 2013

Tech Fest 2013 - IA Académica vs IA Comercial

El jueves 28 de febrero, estuve con unos compañeros en el Tech Fest de la Universidad Rey Juan Carlos (URJC), unas jornadas que trataban sobre tecnología, en el Campus de Móstoles de dicha Universidad.

Asistimos a una charla sobre la IA (Inteligencia Artificial) en los videojuegos, cuyo ponente era Luis Peña, miembro del grupo de investigación sobre IA de la URJC. A grandes rasgos, era una charla sobre los conceptos básicos de la IA, desde el desarrollo a la implantación en juegos, y tanto a nivel teórico con algún que otro ejemplo. Bastante didáctico y asequible, ya que hasta unos profanos en el tema como éramos nosotros pudimos entender la exposición en su casi totalidad.

Peña dedicó un momento a explicar las dos ramas de la IA: la IA Académica y la IA Comercial. La diferencia principal entre estas dos ramas que, aunque trabajen en el mismo campo, difieren bastante, es el objetivo: mientras la comercial busca desarrollar soluciones aplicadas directamente a los videojuegos, la académica busca crear respuestas para problemas teóricos generales e incluso aleatorios. Dos puntos de vista. Y en este “conflicto” es en lo que me voy a centrar, ya que me llamó la atención el hecho de una separación en una disciplina que desde fuera parece tan cohesionada.


El ponente extendió la diferenciación y explicó que en la IA comercial, el espacio para el desarrollo es corto, pues tiene unos periodos que la empresa establece para desarrollar el juego, lo que también tiene que ver con el siguiente punto: mucha reutilización de material de IA previo, pues ahorra un volumen enorme de trabajo, aunque quizá se podrían alcanzar soluciones mejores. Por esto, Peña explicaba que en este espacio hay poca innovación.

Sin embargo, en la IA académica, se busca expresamente la novedad. Al no estar tan constreñidos por tiempos de venta y factores similares, y desarrollar “por desarrollar”, se tiene mucho más tiempo para explorar. Además, al no tener que enfocarse hacia entornos de entretenimiento, los campos de estudio y desarrollo son muchísimo más amplios. Por último, y muy importante, la IA académica busca siempre las soluciones óptimas en términos de esfuerzo, no las mejores a nivel comercial, ya que aunque un algoritmo sea óptimo para una tarea, si es mucho más complejo y lento, no convendrá en términos comerciales.

Hasta aquí, más o menos, llega lo que explicó Peña en su ponencia. A partir de aquí, me he basado sobre todo en este artículo que encontré navegando por la web.

Como comenta en el artículo Jorge Palacios, “la inteligencia artificial para juegos es un área que tiene sus similitudes y discrepancias con la I.A. académica. Primeramente porque sus orígenes provienen de la academia, pero al mismo tiempo tiene objetivos compartidos con el diseño de juegos; que pueden estar no alineados al plano académico.”

Y es precisamente aquí donde quiero centrarme: en la relación que sigue existiendo entre ambas maneras de entender la IA. Y la clave la expone en este otro artículo Palacios: y la cosa es que las herramientas teóricas de las que provee el estilo académico te permiten mejorar y ahorrar en tiempo y técnicas.

En palabras de Palacios “el detalle de conocer si la herramienta vale la pena implementarla o no, radica en el tiempo y esfuerzo que se va a invertir en implementar algo que posiblemente el jugador no vaya a apreciar y, al final del día, el juego tiene un presupuesto y fechas por los cuales regirse. Es decir, más tiempo en desarrollo puede significar menos tiempo para probar y pulir.”


Como vemos, el principal problema al que se enfrenta la IA académica radica en que, a nivel práctico, a los jugadores les es irrelevante lo óptimo que sea un algoritmo o un árbol de decisiones, ya que en lo que se fijan es en cómo se comporta el juego en sí, y no en cómo se ha llegado a este comportamiento. Además, si los desarrolladores de videojuegos implementaran ideas de la IA académica, con el perfeccionamiento y tiempo de elaboración que estas tienen, los tiempos de entrega se les echarían encima. Y eso no puede ser: el juego tiene que estar en las tiendas en tal fecha. Y punto.

Sin embargo, el hecho es que tener conocimientos de IA académica puede ayudar a los desarrolladores de videojuegos enormemente: cuando tienes una serie de conocimientos y bases teóricas y abstractas, tienes más posibilidades. Aquí entramos en la visión del conocimiento académico de la IA como herramienta más que como idiosincrasia, como forma de ver la IA.

Si un desarrollador de videojuegos conoce qué algoritmos se están empleando en las universidades, con qué objetivos y de qué maneras, tendrá más posibilidades a la hora de crear los videojuegos. Quizá no acabe adoptando ese algoritmo óptimo pero para el que una consola tarda una semana en resolver, pero sí que, al conocer cómo funciona dicho algoritmo, pueda basarse en el mismo para desarrollar uno similar pero más sencillo.

En fin, creo que ya he explicado más o menos lo que quería contar: que conocer la teoría de algo ayuda a la hora de desarrollar su práctica, y que la IA no es una excepción.
Un saludo,
José Carlos H.


P.D.: Me gustaría pedir disculpas, sobre todo a mis compañeros, por haber tardado tantísimo en publicar la entrada. No hay excusa posible: sencillamente, lo siento, y no volverá a suceder.

1 comentario:

  1. Considero que este es un tema muy interesante, pues todos hemos jugado alguna vez a algún tipo de videojuego y sabemos lo que es la IA y, en muchos casos, hemos tenido que sufrir una IA que no ayudaba al buen funcionamiento del juego.

    ResponderEliminar