viernes, 30 de septiembre de 2016

Cierre Del Reto Sergio Adrian

Para mi fue una gran experiencia haber podido participar en el reto de semana i Reto IA con juegos de estrategia, por que con éste reto pude explorar un poco de la Inteligencia Artificial y como funciona. éste reto nos prepara para poder seguir investigando sobre el tema y retomarlo para poder hacer proyectos futuros sobre éste tema.

Si alguien llevara éste reto en un futuro le diría que no va a ser fácil, que van a tener que hacer gran uso de su imaginación para poder ver las posibilidades (que son muchísimas) de los movimientos de los jugadores y que no busquen sólo una estrategia perfecta por que les va a costar mucho trabajo encontrar sólo una estrategia que les sirva para derrotar a todos los equipo, le diría que se enfoque más en juntar sus estrategias para poder acabar con las posibilidades de los movimientos clave de los demás. Y sobre todo lo más importante, que se prepare para estresarse.

La actividad que más me gustó del reto fue el torneo de los jugadores estratégicos por que se siente emoción por parte de los equipos para ver que equipo es quien gana más y sobre todo ver que su equipo no pierda demasiado porcentaje de calificación. 

La actividad que menos me gustó fue el procedimiento de programar al jugador estratégico, cada quien tiene una extracción del problema y estrategias diferentes y es difícil ponerse de acuerdo, además que en vez de tener una semana relajante se vuelve muy estresante.

Si pudiera cambiar algo del reto para mejorarlo, creo que por ser muchos alumnos en el reto dejaría que los equipos fueran de cinco o cuatro integrantes para que no fuera tan pesado en poco tiempo y fuera más divertido 

Ex Machina

    1. Is Nathan a reliable or unreliable narrator of his own motives and story? What can we say with certainty that we know about him or his actions in the film?
    R: Creemos que Nathan no podía decir toda la información, por lo que lo Caleb desconfiaba un poco, sin embargo, creemos que nathan hizo bien ya que si hubiera dado toda la información de Ava el Turing test no hubiera sido el mismo. Podemos decir que Nathan quería sobresalir en cualquier ámbito, inclusive haría cualquier cosa para cumplirlo.
    1. Does Caleb ever do anything we would consider truly unethical? Does he “deserve” his end?
    R: Caleb nunca cometió un acto antiético a lo largo de la historia, al contrario, el intento ayudar a Ava porque le hicieron creer que Nathan era un mentiroso y tenía malas intenciones. El actuo en base a lo que él consideraba éticamente correcto, que era ayudar a Ava, sin embargo podríamos considerar antiético que haya modificado la seguridad de los accesos sin el consentimiento de Nathan, quien era el dueño.
    1. Speaking of the ending – how many legitimate storylines can you draft for the final scenes in the film? (“Legitimate” means the words and actions on screen as well as the previous scenes can support the storyline you suggest without breaking people’s expectations for story structure, honesty, or common sense.)
    R: El borrador que se nos ocurrió y el más pensado, fue el de que Ava fuera empática (que se supone debe ser una característica importante para una verdadera inteligencia artificial) y no abandonara a Caleb, quien tomó la decisión de ayudarla y podría ser considerado como su cómplice o compañero. Ella solo decidió irse sin él y en el caso que se fueran juntos, podrían seguir y conocer una vida juntos como amigos. Sin embargo la cantidad de finales posibles es muy grande, así mismo Caleb pudo haber tomado la decisión de no creer en las falsas palabras de Ava y no ayudarla, para que Nathan continuará con su investigación o por lo menos poder controlarla.
    1. Do you think there are any plot holes in the film?
    R: Consideramos que existen varios posibles “plot holes” en la historia. Un claro ejemplo es que a pesar de Nathan sabía que Caleb había modificado la seguridad para ayudar a Ava, el no arreglo dichas modificaciones, permitiendo de cierta manera que Ava escapara e irónicamente dejando encerrado a Caleb, que también es un plot hole el que no haya modificado los accesos a su favor, pues él confiaba en que escaparía junto con Ava.
    Otro plot hole es al momento de la muerte de Kyoko, pues ella murió con un golpe en la quijada, la cual se le rompio, pero no consideramos que únicamente con ese golpe o esa herida sea suficiente para terminar con la vida de una inteligencia artificial tan desarrollada.
    1. Before Ava “puts on” the skin of the other robots, do you think she passes the Turing Test? In other words, is her sentience/conscious awareness enough to allow her to exist with humans, or must she also take on the form of humanity?
    R: No creemos que haya pasado el turing test, ya que Caleb no lo hizo correctamente ya que Ava logró que Caleb involucrara sentimientos, lo cual lo cegó a cierto punto de no saber lo que ella estaba haciendo con él.
    1. Kyoko is a disturbing character to watch. What do her interactions with the other characters show us about Nathan, Caleb, and Ava? And about herself?
    R: En el caso de Nathan, podemos intuir de él que es una persona pervertida sexualmente, pues se muestra su interés por Kyoko y la violencia que practica con ella.
    Hablando de Caleb, el se entero de las verdaderas intenciones y acciones de Nathan gracias a Kyoko que intentaba mostrarselo, por lo que Caleb se muestra como una persona insegura e influenciable pues se le hizo dudar en varias ocasiones.
    Hablando de Ava, al final de la película, se muestra como mantienen una conversación Kyoko y ella, lo que se supone no se podría, sin embargo se observa como están de acuerdo en hacerle daño a Nathan y en escapar, pues trabajan cooperativamente para realizar dichos cometidos. Podemos considerar que Ava es una persona con alta capacidad de influenciar, pues logró obtener la ayuda y poner de su lado fácilmente a Kyoko.
    En el caso de la mismo Kyoko, podemos decir que a pesar de que hace creer que es indefensa y fácilmente manejable, es bastante inteligente y astuta, pues logra interactuar y comunicarse con Caleb y Ava, además de que termina apuñalando por la espalda a Nathan.
    1. If you say it fast enough, Bluebook sounds a lot like Google. The similarities were thinly veiled. What does the film say to us about the dangers of our technophilic world?
    R: En el transcurso de la película no nos percatamos de las similitudes que Bluebook y Google compartían, sin embargo, una vez analizando a Bluebook nos podemos dar cuenta que es prácticamente la representación de Google.  Vivimos en una era donde la tecnología controla cualquier campo, inclusive nosotros en cierto punto dependemos de ella. La tecnología busca la constante actualización, lo cual en un futuro puede ser perjudicial para los seres humanos, se podría crear una tecnología tan avanzada que esta tuviera pensamientos propios, afortunadamente aún faltan unos cuantos siglos para poder desarrollar la IA a ese nivel.


Cierre del reto José Antonio


El Reto IA (inteligencia artificial) con juegos de estrategia fue verdaderamente una experiencia única, donde el objetivo que se nos proporciono fue verdaderamente retador. Elaborar un jugador estratégico no fue sencillo, pues no teníamos conocimientos, ni bases acerca del desarrollo e implementación de una inteligencia artificial. Tuvimos que desarrollar una estrategia y comprobar y asegurar que realmente era efectiva, para después llevarla a la fase de implementación donde tuvimos que codificarla en el lenguaje Python, lo cual no fue sencillo. Me percate que me hace falta practicar en este lenguaje, pues ya llevaba tiempo sin programar en él. El aprendizaje más importante fue el mejorar mi desempeño en este lenguaje y sobretodo el haber logrado implementar una estrategia mediante código generando una inteligencia artificial.
Las recomendaciones que le haría a algún amigo o compañero que seleccionara este reto, es que se prepara e investigara acerca del lenguaje Python y sobre todo las bases y técnicas o algoritmos utilizados para inteligencia artificial. Además de efectuar un verdadero trabajo en equipo, donde todos aporten, porque eso en nuestro caso fue algo que facilito el desarrollo de nuestro jugador estratégico.
Lo que más me gusto del reto, fue la competencia. Considero que fue muy emocionante ver los resultados de nuestro jugador estratégico, además de que el ambiente ayudaba a liberar la tensión, presión y estrés acumulados en días anteriores. Así mismo me agrado mucho la película que vimos el ultimo día, pues está directamente relacionada con el tema de inteligencia artificial e igualmente toman en cuenta conceptos y dilemas éticos a los que nos enfrentamos en la actualidad o que seguramente enfrentaremos en un futuro debido a la rápida innovación tecnológica que se está manifestando.
Me hubiera gustado más que se nos proporcionara más información acerca de la inteligencia artificial y el cómo implementarla, pues al ser completamente nuevos en este ámbito, fue realmente complicado llevar a cabo todo el proceso, sin embargo, me siento satisfecho que con mi equipo OBCT logramos un desempeño mayor al que esperábamos, aunque sabemos que con más tiempo hubiéramos podido diseñar una mejor estrategia o combinarlas e implementarla de mejor manera.

El reto en general me gustó mucho y no considero que necesite grandes cambios, solo mayor preparación o introducción a los alumnos al tema de inteligencia artificial, de manera que cuando comiencen las fases de diseño e implementación de su estrategia, cuenten con más bases para realizarlo eficientemente.

Cierre del reto

Fue grato haber podido ser participe en el reto de IA en la semana i, esta me dejo muchas experiencias gratificantes en mi ser, también me ayudó a darme cuenta que carezco de practica con el lenguaje python, el cual me gustaría poder mejorar para un futuro. La programación en equipo fue un reto para nosotros, el planificar las ideas y ponerlas en práctica fue un poco complicado, sin embargo, nos percatamos que la comunicación en este tipo de proyectos es lo que mejor funciona. Tomamos el consejo de nuestros profesores de programación, el cual fue llevar las idas a papel y una vez teniendo las ideas en el papel, ponerlas en práctica. 

Las recomendaciones que le daría a un amigo si llegase a tomar el reto, sería que este bien familiarizado con el lenguaje, antes de entrar al reto, saber un poco de algoritmos estratégicos y por último tener toda la actitud que se pueda, ya que habrá altos y bajos en el proyecto. 

La actividad que más me gustó en el reto, fue los concursos que se realizaron, ya que en estos había mucha tensión y emoción mezclados. Otra actividad que me gustó fue la película que vimos, al llegar el día de hoy estaba con las expectativas de una película la cual pusiera mi mente a trabajar, cuando la película acabó, esta había superado mis expectativas que tenía en mente, la película fue muy buena en todo momento mantuvo mi atención y la tensión en mí. Recomendaría mucho un amigo ver la película de "Ex Machina". 

El reto en sí, es muy bueno, sin embargo, si le pudiese cambiar algo sería, que el primer día del reto, dieran un poco de teoría de IA así como el cómo se puede implementar en tu código. Todo fue muy bueno en este reto, puso a prueba mis conocimientos y como ya mencioné me pude percatar de lo que me hace falta mejorar. 

Gracias por darme la oportunidad de ser participe de este reto!









jueves, 29 de septiembre de 2016

El torneo de estrategias

A nuestro equipo le costó bastante pensar en una buena estrategia para implementarla, nos pasamos mucho tiempo pensando la estrategia, pero pasamos igual de tiempo tratando de implementar lo que pensábamos. Durante ésta semana nos dimos cuenta que es complicado hacer un jugador inteligente implementando una estrategia y tal vez necesitamos más tiempo para poder implementar un jugador estratégico basado en inteligencia artificial con una mejor estrategia.
Si hubiéramos tenido más tiempo, hubiéramos pensado mejor cómo implementar nuestras ideas de estrategias, podríamos haber hecho que nuestro jugador fuera capaz de cambiar y elegir entre diversas estrategias en vez de poder seguir solo una.
En el concurso del día de hoy obtuvimos un resultado mejor del que esperábamos, logramos obtener un total de 6 victorias. Además una parte de las derrotas fueron muy reñidas, por lo que le faltaba muy poco a nuestro código para obtener un mejor lugar y generar más victorias. Así mismo nuestro jugador estratégico OBCT logró vencer al jugador aleatorio 71 a 29, por lo que estamos satisfechos con ese resultado. Durante dicho concurso fue realmente emocionante esperar y observar los resultados de cada encuentro que tuvimos y fue una buena manera de liberar el estrés y la presión que habíamos acumulado días pasados durante la fase de diseño e implementación de nuestra estrategia.
Nuestro código se basó en el algoritmo minimax, el cual te da la mejor posición que encuentra, nos tardamos en implementarlo aproximadamente dos días, en estos días fuimos haciendo pruebas de que condiciones eran las óptimas para nuestro jugador estratégico. Lo que nos agrado del concurso fue que pudimos socializar con compañeros que no conocíamos, mientras el torneo tomaba lugar, pudimos divertirnos un poco bromeando con nuestros compañeros e inclusive jugando el nuevo Fifa. Podemos decir que no nos desagradó nada en el concurso, aprendimos de nuestros errores e inclusive nuestras habilidades de programación se desarrollaron un poco más, el torneo nos sirvió para darnos cuenta de lo que carece en nosotros, nos unió como amigos y también nos dio dolor de cabeza, sin embargo, fue algo que disfrutamos hacer.

miércoles, 28 de septiembre de 2016

Programando un jugador estratégico


El día de ayer definimos nuestra estrategia para el juego, una de las cosas más difíciles para nosotros el implementar la idea, fue inclusive un poco más difícil que pensar la estrategia. Nuestra estrategia se basa en un algoritmo minimax el cual nos da “the best value” es decir el mejor tiro que se puede realizar. Nos percatamos que la mayoría de nuestros compañeros se basaron en el mismo algoritmo, sin embargo, con diferentes condiciones. En nuestro caso las condiciones se basan primero en que haya dos espacios libres de la cabeza de la “oruga” en dirección izquierda o hacia arriba (sumando 30). En el siguiente caso checa si hay un solo espacio y sigue un orden de preferencia arriba, abajo, izquierda, derecha(sumando 10). Así mismo, checa si alguna parte del cuerpo propio y del contrario está junto a la cabeza de nuestro personaje (sumando 1). De esta manera, el movimiento con mayor puntaje acumulado será el considerado como mejor opción o movimiento a realizarse.
Lo que más nos ha gustado de este proyecto es el reto que nos pone de pensar en una solución, nos hemos dado cuenta que nos faltan habilidades en programación y mejorar en el lenguaje python. Por el momento no nos ha disgustado del proyecto, el único problema que hemos encontrado en nuestra semana i, es la complejidad que este proyecto conlleva. Realmente fue difícil la comprensión de cómo implementar adecuadamente la estrategia para que funcione lo más eficientemente posible. Tuvimos muchos problemas en esta etapa del reto.
Los resultados que esperamos para el torneo de estrategias es poder ganar por lo menos a dos equipos, en el pre-torneo no nos fue tan bien, eso significa que debemos buscar mejorar la estrategia para obtener un mejor resultado, de ser posible.
Nuestra estrategia le ha podido ganar al jugador aleatorio por el 70% y eso nos tranquiliza un poco, sin embargo aún buscamos como poder seguir mejorando nuestra estrategia para que no nos pase lo mismo que en el pre torneo.

martes, 27 de septiembre de 2016

Teoría de juegos

Teoría de Juegos

La teoría de juegos es un análisis matemático orientado a predecir cuál será el resultado más probable de una disputa entre dos o más individuos o acontecimientos.

Para aplicar la teoría de juegos no tenemos que preguntarnos qué vamos a hacer, sino qué vamos a hacer de acuerdo a lo que consideramos que podrán hacer los demás y ellos actuarán pensando según crean que van a ser nuestras actuaciones.

Revisando dicha teoría podemos ver que tienen relación con el taller del día de hoy acerca de “Framework Dagor para juegos de estrategia”, puesto que en dichos juegos de inteligencia artificial tenemos que adivinar o suponer lo que el usuario u otro agente inteligente realizará para anticiparnos a sus movimientos y poder ganarles en el juego.

Uno de los aspectos que más nos gusto acerca del taller de hoy, fue revisar y analizar los jugadores estratégicos de otros dos juegos, para entender mejor cómo funcionan y adentrarnos un poco más en la realización de la estrategia e implementación en código que funciona como inteligencia artificial.

Lo que no nos gustó del taller el día de hoy, fue que el proceso del pensamiento de cómo resolver el algoritmo fue muy tardado y difícil para nosotros, nos percatamos que este ejercicio comparado con la IA que existe en el mercado, no es nada. Cuando creímos haber terminado con el algoritmo, se nos ocurrió otro con el cual el algoritmo pasado era un chiste, y así sucesivamente. Otro aspecto que no nos gustó fue que hubo un poco de discusión en el grupo, ya que todos pensamos diferente, sin embargo, nos percatamos de que no nos iba a servir de nada tener discusiones entre equipo.

Una de las partes más complicadas para generar o elaborar el jugador estratégico en el juego Orugas, es encontrar y definir la mejor estrategia posible que permita que se realicen movimientos correctamente o los mejores posibles para alcanzar la victoria del juego. Posteriormente esta estrategia tendrá que ser implementada en código, por lo que dicha estrategia no tiene que ser tan compleja, pero si lo más eficiente posible.

Referencias:

Rodriguez, Emma. La teoría de juegos.(2012) Consultado el 27 de Septiembre del 2016 de: http://pepoladas.over-blog.es/article-la-teoria-de-juegos-82869845.html