jueves, marzo 04, 2010

Snowboarding según Simón

Muy bien, debo muchos posts que han debido de ser publicados en su momento, pero que por falta de tiempo no pudieron ser. Hace aproximadamente un año, unas semanas antes del Nippon-bashi Street Festa, estaba muy ocupado con lo de buscar trabajo pero en las agrupacipones japonesas el compartir tiene una alta prioridad, y cuando hay gasshuku hay que ir.

Este gasshuku de invierno era un poco distinto al gasshuku de verano. En primer lugar, no hay exposiciones ni presentaciones de los avances de cada quien, está dedicado exclusivamente a la diversión. La otra diferencia es consecuencia de la primera, como sólo es ir a divertirse no está revestido de la importancia y obligatoriedad del otro.

Gracias a Dios el frío invierno estaba terminando, pero en Nagano, una prefectura que se encuentra más al norte que Ôsaka, se acumula suficiente nieve de modo que todavía se puede esquiar a principios de marzo. En el mapa Ôsaka es 27 y Nagano es 20.



Así es, el gasshuku de invierno es un gasshuku de esquí.

Partimos de Ôsaka en autobus nocturno. Salimos a eso de las 10:00pm y, luego de 9 horas de carretera, llegamos a un poblado pequenísimo llamado Togari-onsen, en el municipio de Iitama, Nagano.





Lo que más me gustó del pueblito es que por doquier hay riachuelos que van por pequeños canales, lo que me hizo sentir que estaba en alguno de los pequeños pueblos de The Legend of Zelda: Ocarina of Time.

A pesar de ser las 7:00am el negocio de alquiler de equipo de esquiar estaba funcionando. Como era muy temprano y no podíamos dejar nuestro equipaje en el hotel nos permitieron dejar los bultos en una sala común del 2º piso del establecimiento. Luego de un desayuno improvisado bajamos a escoger el equipo.

Yo jamás en mi vida había esquiado. ¡Si no fue hasta el invierno anterior cuando vi nieve por primera vez! Como me habían explicado que hacer snowboarding es más difícil que esquiar, yo ya había decidido semanas antes que me iba por la opción fácil. Pero los estudiantes no estaban contentos con mi decisión. Me convencieron de una manera muy sencilla: ¿Quiénes de nuestro grupo van a esquíar? Profesores ¿Quiénes de nuestro grupo van a hacer snowboarding? Estudiantes. Conclusión: brecha generacional; Simón, tu te vienes con los jóvenes.

Muy bien, muy bien, me cambié a snowboarding. Traje conmigo un pantalón deportivo, varias capas de franelas y sweaters y un gorro. En la tiendita alquilé una chaqueta impermeable, un pantalón impermeable, antiparras, guantes impermeables, botas y el snowboard. Así se ve Simón luego de ponerse todo el equipo.



Caminando desde la tiendita 5 minutos uno llega al gerende. Gerende es la manera japonesa de pronunciar la palabra alemana gelände que significa, aparentemente, pendiente, pero en japonés se usa exclusivamente para pendientes en la que se esquía. A pesar de tanta explicación, memoricé gerende porque rima con merengue :)

Todos los asistentes del gasshuku ya sabían esquiar excepto un estudiante de maestría y yo. Me impresionó lo rápido que se decidió quién nos enseñaría. Un estudiante que acaba de terminar la maestría, de nombre Nishikawa, acababa de regresar de su viaje de graduación por Cambodia y estaba muy cansado como para esquiar en serio, así que se conviertió en Nishikawa-sensei-de-snowboarding y así podría tomarse el día con más calma.

Primera instrucción: sujetar la bota izquierda al snowboard. Yo esperaba que la siguiente instrucción fuera sujetar la otra bota, y que luego nos daría lecciones básicas ahí al pie del gerende, pero no. Segunda instrucción: ir caminando así, con un pie libre y uno arrastrando la tabla, hasta el elevador.

Por supuesto, no entendí qué estaba pasando. Resulta que el elevador no debería detenerse, las sillas siempre están en constante movimiento. Uno se sincroniza con las sillas, avanzá hasta una línea en el suelo y espera a que la siguiente silla lo recoja y lo lleve. Con mi lento e inestable caminar por andar arrastrando una tabla resbalosa, no logré llegar a tiempo a la línea y tuvieron que detener el elevador…



El elevador es genial. En algunas partes vas a 10 metros de altura, en otras parece que llegas a 20 ó más; desde ahí se ve el hermoso paisaje de blancas montañas que te rodea, el así llamado ginsekai o "mundo de plata"; no escuchas ningún ruido; la brisa mece suavemente tu silla; solo estás tú suspendido en la grandiosidad. Era tan pacífico, tan relajante, tan liberador, una escena imposible en mi natal Caracas pero realizada en este lejano oriente. Me salió del alma "¡qué grandioso es Japón!", y el estudiante de maestría que estaba sentado a mi lado me miró con cara de signo de interrogación.

Llegar al final del elevador fue un poco traumático. De la misma manera en que el elevador no debe detenerse para que uno se suba, el elevador no debe detenerse para que uno se baje. Lo normal es que uno esquíe una vez llegado al tope, mas como no sabía esquiar caminé penosamente arrastrando la tabla detrás de mí.



Al final de ese elevador estaba la cima del gerende fácil, que en la foto de arriba es como se ve desde abajo. Fue ahí que tomamos nuestras lecciones con Nishikawa. La primera lección es amarrarse la otra bota. Eventualmente terminas en el suelo, así que la siguiente lección es ponerse de pie: te pones de frente a la pendiente, afincas los talones y te pones de pie. Lo importante es meter el talón enterrando la mitad de la tabla en la nieve. Como uno nunca se pone de pie haciendo presión en los talones, las primeras veces es muy difícil, es como aprender a ponerse de pie de nuevo. Una vez que uno está de pie uno debe cambiar el peso del cuerpo hacia adelante, o afincar las puntillas de los pies, de ese modo el snowboard comienza a resbalar. Para detener, meter los talones, para deslizar, meter las puntillas. Básico.

Luego de varias iteraciones de avanzar, frenar, avanzar, frenar, venía la lección difícil: girar. Lo de avanzar y frenar sirve si estás de frente a la pendiente, pero normalmente uno baja la pendiente de lado. Además, uno baja la pendiente en zig-zag, de otra forma agarraría mucha velocidad. En cada esquina donde cambias la dirección del zig-zag hay que girar. Uno de esos giros que se me hizo muy difícil, el de cambiar cuando vas viendo hacia donde vas a cambiar de modo que tu espalda da a la pendiente. Me caí muchas veces intentando éste. En general me caí muchas veces, haciendo cualquier cosa.

Luego de terminar de bajar el gerende por primera vez pensé que no sería tan difícil terminar de dominar el snowboarding, elevador para arriba y a repetir las lecciones. Nunca lo dominé por completo, pero me sentía con la suficiente confianza como para probar otras rutas con el resto del lab., gente que era más experimentada.

Los profesores escogieron una ruta difícil. Con mi exceso de confianza me fuí con ellos para arrepentirme no 20 metros después. La pendiente seguía un camino al lado de la montaña, y ese camino era muy estrecho. Con el miedo de irme por el barranco terminé avanzando muy lentamente, muy pegado a la pared. Eventualmente ese camino se convirtió en otro gerende muy amplio. Ahí si podía bajar agarrando más velocidad. Un par de veces logré el giro difícil, pero muchas veces me caía de espaldas, rodaba un poco y terminaba con la cabeza apuntando a la bajada de la pendiente, enterrado en la nieve, mirando el cielo azul. Pararse desde esa posición es terrible porque hay que maniobrar con las piernas fijas a la tabla de modo de estar de frente a la pendiente para poder afincar los talones.

En ese momento se me ocurrió utilizar una técnica básica de aikido (considerando que estuve casi todo un semestre en el club de aikido , algo tenía que quedarme). Una de las primeras cosas que uno aprende en aikido es a rodar por el piso. Son los llamados ukemi o técnicas para recibir. Si uno hace un ataque en aikido, tu pareja ejecutará una técnica que hará que termines en el suelo. Los ukemi se usan para evitar que te dañes por caer en el piso. En el video de abajo se muestran dos ukemi, el que es ejecutado en la segunda mitad del video es el ushiro-ukemi.



El ushiro-ukemi implica rodar sobre tu espalda de modo de quedar de nuevo en pie. Estando ahí en la nieve ejecuté el ushiro-ukemi y quedé de nuevo de pie, de espaldas a la pendiente, listo para volverme a deslizar. Si bien no bajaba como un profesional, me levantaba con estilo (-; Redescubrir el ushiro-ukemi fue de mucha ayuda. Como me caí muchas veces por lo menos pude ahorrar mucho tiempo levantándome.

A punta de mucho caerme y mucho levantarme, a la mañana siguiente no me pude levantar del dolor. En especial mi tobillo izquierdo estaba resentido por tanto arrastrar la tabla. Decidí que no esquiaría el segundo día. Además, como era domingo decidí aventurarme a conseguir una iglesia en ese pueblito. En el sitio donde nos hospedamos dijeron que no en ese pueblo, pero que agarrando el tren hasta no-me-acuerdo, ahí podría haber. Caminé una larga carretera hasta una estación pueblerina. Nada de máquinas que dispensan tickets o que revisen los tickets, todo se hace a la antigua, con gente.

Corrí con la suerte de llegar a la hora del tren, porque como es una línea con pocos pasajeros no hay sino un tren por hora… Llegué al pueblo recomendado, pregunté en la oficina de información. La señora consiguió unos sitios cristianos, pero eran protestantes, así que no hubo misa para mi ese día.

De regreso comí en un restaurante aleatorio un plato poco usual:



Se ve muy bonito, pero los sabores no combinan, no hay sinergia, cada marisco va por su lado, no es tan sabroso.

Pude tomar muchas fotos del pueblito en que estábamos, definitivamente todo muy bonito y pacífico.









Y si a alguien le suena Nagano, es porque allí se celebraron las olimpiadas de invierno de 1998. Aparentemente el hostel japonés de pretensioso nombre "Four Seasons" en el que nos quedamos colaboró prestando sus servicios en esas olimpíadas.





Otro autobús nocturno nos puso de nuevo en Ôsaka, y cerró esta breve experiencia con deslizarme sobre una tabla sobre nieve pendiente abajo :)

jueves, febrero 18, 2010

Tesis

Finalmente he terminado la tesis. Fueron unos meses muy ocupados, ¡pero ahora estoy tan relajado y feliz!

¿Y cuál fue el tema que mantuvo a Simón tan ocupado? El título de la tesis traducido al español es: "Un Oponente Interesante para Videojuegos de Pelea: Utilizando AI para Adaptar el Agene al Usuario".

Los videojuegos de pelas actuales son divertidos si juegas en contra de un amigo, pero no es tan divertido si juegas contra la computadora. Obviamente, hay un factor de socialización cuando juegas contra un amigo, pero nuestra hipótesis es que el hecho de que los oponentes humanos se pueden adaptar al jugador es una de las cosas que los hace más interesantes. Como la Inteligencia Articial (AI por sus siglas en inglés) que se usan en los juegos estándares es muy básica, estos oponentes no se pueden adaptar al jugador. Por lo tanto, con el propósito de hacer los juegos de pelea más divertidos cuando son jugados solos, decidimos crear un oponente que utilice AI para adaptarse al usuario (-: En este contexto adaptarse implica poner el oponente al nivel del usuario (ni muy difícil ni muy fácil) y que las acciones del oponente tomen en cuenta las acciones del usuario, adaptarse al comportamiento del jugador.

En los juegos de pelea hay varias acciones que se pueden ejecutar: realizar ataques simples (como puños o patadas), defensas (como bloquear), moverse (como caminar o saltar), ejecutar combos (una serie de ataques simples que generan daño extra) o combo-breakers (contra-ataque a los combos). El agente que se adapta se dividió en 3 sub-agentes: Main Sub-agent se encarga de los ataques simples, defensas y movimientos, además de decidir cuándo pasar el control a uno de los otros 2 sub-agentes; Executing Combo Sub-agent realiza combos; Receiving Combo Sub-agent realiza combo-breakers. Si uno divide un agente en varios sub-agentes, se espera que cada uno aprenda su tarea en menos tiempo.

¿Qué tipo de AI se utilizó? Main utiliza Profit-Sharing, un tipo de aprendizage por reforzamiento del que nunca había escuchado antes. Es posible que Profit-Sharing sea más conocido en Japón pues fue un profesor japonés quién encontró una ecuación que garantiza obtener soluciones racionales usando este método, pero dicho resultado sólo se publicó en japonés… Usando este aprendizage por reforzamiento, si el resultado de una pelea es favorable (la diferencia de los puntos es baja), las acciones que se usaron en esa pelea tenderán a ser más utilizadas en el futuro, si el resultado es desfavorable (gran diferencia, es decir, la AI fue muy difícil o muy fácil), esas acciones tenderán a no ser utilizadas. Receiving usa Pattern Mining, o minería de patrones; busca patrones en los combos ejecutados por el usuario y trata de predecir el siguiente combo, de modo de poder escoger el combo-breaker adecuado. Finalmente, Executing usa un poco de Data Mining y Hill Climbing para crear un conjunto de combos de una dificultad similar al conjunto de combos usados por el jugador.

¿Muy técnica la explicación? Posiblemente, pero dejémosla hasta aquí. Si están interesados pueden leer la tesis en inglés: An Interesting Opponent for Fighting Videogames: Using AI to Adapt the Agent to the User (algunas personas encontrarán los agradecimientos de interés). Si 48 páginas de contenido es demasiado, pueden leer el resumen de 8 páginas que llamaremos el paper de SIGGI. Si 8 páginas es mucho, pueden leer el resumen de 2 páginas que llamaremos abstract.

¿Funcionó la propuesta? Sí y no. No se pudo demostrar estadísticamente que el oponente se adapta, los datos que tomamos de los experimentos no fueron suficientes. Sin embargo, aquí hay 3 videos que quiero mostrar:

Primero, el juego de peleas que se desarrolló para probar la propuesta. Aquí pueden ver las acciones disponibles, como moverse, puños, patadas, etc. Hay combos, cuando un personaje está recibiendo un combo é cambia de color. También la plataforma es finita, caerse implica perder. Hay glitches de animación y los gráficos no son muy pulidos, pero la idea era probar AI, no hacer un juego bonito.



En el siguiente video el oponente que se adapta (el azul) se enfrenta a un oponente estático difícil (el blanco). Este video es la ronda #500:



En este otro video vemos al oponente que se adapta (azul) enfrentándose a un oponente estático fácil (blanco). Esta es la ronda #500:



Cómo pueden ver, la diferencia de los puntos de vida al final de las rondas es muy cerrada, además, se nota que el oponente que se adapta ha generado diferentes comportamientos dependiendo del nivel del jugador. En el caso del oponente difícil, el que se adapta ataca mucho, usa combos, se acerca. En el caso fácil, el que se adapta no usa tantos combos, se queda quieto muchas veces (hay se ven unos glitches de animación), etc. O sea, sí se adapta, pero los datos que grabamos de las pruebas con los 30 usuarios reales no nos permitía demostrarlo.

Esta tesis la entregué el viernes pasado. El martes hice la defensa. En Japón te otorgan 15 minutos (se lee "quince") para exponer todo lo que hiciste en 2 años, y luego hay 5 minutos de preguntas. Luego es el turno del siguiente aspirante a Magister.

Ya va, 20 minutos de defensa, 48 páginas de contenido, ¿¡que no es muy poco!?

Desde mi punto de vista occidental, sí, es poquísimo. En mi universidad en Venezuela las defensas tardaban lo que tuvieran que tardar, horas si es necesario. Tengo la impresión que mi tesis de grado era más larga que la de maestría. Sin embargo, noté un patrón.

La defensa de la tesis de grado de los estudiantes de pregrado se realiza de una manera aun más excéntrica que la de postgrado: los estudiantes preparan un póster sobre su investigación y se hace un poster session con todos los graduandos. Esa es su defensa.

Los poster session son muy comunes en conferencias académicas, y cuando a uno le toca presentar un paper en una de estas conferencia, normalmente te otorgan 15 minutos para hablar y 5 para preguntas. Me parece que las defensas están hechas de forma tal de preparar a los estudiantes para participar en conferencias. Después de todo, lo que se está haciendo es investigación, e investigación que no se publica no sirve de mucho.

De hecho, todos los estudiantes de pregrado y postgrado tienen que presentar su tesis en una conferencia, así sea local. En mi caso, en diciembre presenté resultados parciales en Human Agent Interaccion Symposium y en marzo presentaré en Information Processing Society of Japan: Game Informatics. Tal vez por tantos alumnos publicando es que las universidades japonesas le ganan por mucho a las hispanoamericanas en los rankings internacionales.

Otro patrón que noté durante las presentaciones es que las investigaciones son muy aplicadas, en contraste con investigaciones teóricas. La gente de maestría presentó cosas como: "Extracción de patrones de daño en celdas de combustible óxido sólido", "Estimación de distancia utilizando un sistema de imágenes de ojo-compuesto infra-rojo", y "Un estudio sobre el valor de la ventaja geográfica en el área citadina basado en la interacción entre regiones". Me imagino que mi método para videojuegos tiene sentido en Japón, pues aquí se producen muchos juegos de peleas.

Luego de mis 15 minutos de exposición en japonés, que se convirtieron en 14 porque hablé rápido, y aclararle a un profesor que los métodos de AI usados en ajedez no se pueden usar en juegos de peleas, que los patrones de los usuarios sí son importantes, y que el oponente se puede adaptar a los diferentes patrones del usuario, terminó satisfactoriamente mi defensa. En mi caso las preguntas las pude responder sin mucho problema, pero a otras personas les hicieron preguntas destructoras. Por ejemplo, un estudiante dijo que tal método que él propuso tenía una precisión de 75%, pero un profesor de estadística dijo que esas medidas están mal tomadas y mal analizadas, que eso no tiene sentido; el estudiante no pudo responder nada.

Un día después me enteré de que quedé de 4º lugar como mejor expositor (presentar de manera entendible lo que se hizo, ¡le gané a un montón de japoneses!) y de 1º como mejor tesis de maestría del departamento Informática y Ciencias Físicas :D

Por eso es que estoy muy feliz, y por haber terminado es que estoy muy relajado. Le doy muchas gracias a Dios de que todo ha salido bien.

Un oponente que se adapta al usuario es algo que quería investigar desde hace mucho tiempo, lo hice, logré algo que no es perfecto pero que va por buen camino y esto gracias a la beca MEXT del gobierno de Japón (pregunta en tu embajada más cercana).

Muy bien, ya recuperé mi libertad. Ahora empezarán los posts retrasados. El próximo viene como en una semana :D