domingo, 2 de octubre de 2016

dia 5 - conclusiones

Gerardo Ezequiel A01377029

Me llevo varios aprendizajes de este reto. En especial me gusta mucho la semana i por lo diferente que es con las otras semanas de trabajo, de cierto modo te relajas pero al mismo tiempo estas aprendiendo, pero de una forma más eficaz, pues piensas que es relajado. Tuvo una visión distinta a la inteligencia artificial, aunque sigo creyendo que es muy difícil de hacer y al mismo tiempo me alegra que grandes empresas como Google, Facebook y Microsoft se unan para controlarla. Me sentí mejor trabajando en equipo y a conocer a otras personas de mi carrera.
Sí algún amigo se quisiera unir al reto en otras ocasiones le recomendaría que escogiera un equipo diversos de habilidades, algunos con lógica, otro con abstracción y también que sepan programar.
Me gusto mucho la parte de combatir un código contra otro, es impresionante como se puede pelear la habilidad de una persona con otra mediante líneas de código. Fue algo que no me imaginaba y que sinceramente disfrute mucho.
Lo que menos me gusto fue que el problema estuviera difícil aun con Python, requería de mucha abstracción y eso que programo mucho en C# y JavaScript, siento que estuvo muy complicado para alguien de 3er semestre, sería mejor en 5to semestre en adelante.
Un cambio que le haría sería otra forma de hacer la dinámica, que no fuera estrictamente código o que si es obligatorio usar código, que se explique muchísimo más a fondo, con ejemplos. Como es que funciona el código. ya que, siento yo que es muy difícil pensar a como ustedes hicieron el código a como nosotros haríamos el código.

En general me gusto el reto, me gusta mucho el concepto de semana i. Gracias a la institución a los profesores involucrados por hacer este reto posible.

Día 5 Semana i - Cierre del reto Germán Morales

Al finalizar este reto me di cuenta que al nivel al que muchos se encuentran actualmente, ya hay personas entre nuestra misma generación con grandes capacidades para la lógica aplicada en los juegos de estrategia enfocados en la inteligencia artificial. Esto, aunque a algunas personas no les agrade del todo, yo lo tomo como un reto, reto de tartar de estar a su nivel o por lo menos no estar tan alejados de su margen sobresaliente para así forzar a mis sentidos lógicos y conocimientos en programación a absorber el mayor conocimiento que pueda y sentirme orgulloso completamente de mi mismo.

Este proyecto me alentó mucho a buscar varias posibles soluciones a un mismo problema y el tratar de buscar la forma de cómo aplicarlo a un lenguaje de programación establecido. Sin duda, al momento de comentarles mi proyecto a mis compañeros les llamaba la atención desde el punto que ellos entendían la complegidad de buscar una manera de cómo desarrollar un programa que esté preparado para obtener el mayor número de ejecuciones en contra de un oponente de forma victorioza. Claramente no entraba en detalles en las pláticas con mis amistades, pero sin duda les llamaba la atención. Creo a cualquier persona que le interece la inteligencia artificial o la lógica que se aplica en los videos juegos o mismas aplicaciones enfocadas a el apoyo del humano en su vida cotidiana le llamaría la atención intentar ser exitozo en este reto.

Todas las actividades me gustaron, desde la primera competencia que fue realizar 7 problemas hasta la creación de un jugador estratégico, pero como ya se mencionó antes, hubieramos preferido un poco más de control sobre el mero programa final pero todas las limitantes al mismo tiempo tuvieron sus razones.

Considero que no es necesario hacer muchos cambios, creo que el manejo del tiempo durante todo el proyecto fue la mejor empleada, la temática al momento de presentar los resultados de las competencias igualmente fueron las mejores esperadas, al menos por mi.

dia 5 Hugo Vazquez

De este reto me llevo muchas cosas buenas y también una que otra mala, lo principal es que este reto me ayudo a observar como sera la competencia en el mundo laboral y en que debo de hacer para poder desarrollarme mas y convertirme en un mejor ingeniero, me gusto la didáctica de la actividad que hicimos, me dejo mucho aprendizaje sobre como resolver problemas  y algoritmos. Lo unico que me gusto de semana i fue mi equipo el cual no me ayudo mucho. Pero me llevo una buena experiencia de semana i.

Día 5 Semana i - 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?
  2. Does Caleb ever do anything we would consider truly unethical? Does he “deserve” his end?
  3. 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.)
  4. Do you think there are any plot holes in the film?
  5. 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?
  6. 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?
  7. 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?
1 Lo unico que sabemos de Nathan es que el hacia lo que queria ya que era un genio pero nunca midio la consecuencias de sus actos, tampoco se sabe una razon sobre la creacion de AVA el la hizo por que tenia la capacidad de crearla

2 El merece el final ya que no actuó con ética al atacar la propiedad de Nathan
reprogramando su casa al ponerlo ebrio.

3 Puede haber una cantidad infinita de finales por lo cual no podemos deducir uno ya que en realidad no sabes las intenciones de AVA

4 Los apagones, La muerte kyoko, Como controlo AVA a Kyoko

5 paso la prueba ya que logro que Caleb se enamorara de ella para poder salir, no ya que no conocemos sus motivos y no le importaban los humanos solo ella misma.

6 Nathan la usaba de juguete sexual , a Caleb lo hizo dudar si era una ente de IA ,AVA la controlo para sus motivos personales, ella misma no creo que fuera un ser de IA como AVA ya que no hubiera pertimtido los abusos de Nathan

7 Que podemos ser esclavizados por la tecnología en algun futuro y esto tiene algo de cierto ya que hoy en dia ya esta pasando con los teléfonos y los aparatos electronicos  



Día 4 Semana i - Torneo de estrategias

Durante este reto experimentamos varias cosas las cuales nos sirvieron mucho ya que no solo practicamos la programación, lo cual es fundamental en la carrera en la que estamos, también desarrollamos estrategias para poder resolver problemas esta es de demasiada ayuda ya que en algún futuro podemos poner en practica lo que aprendimos esta semana, también aprendimos el valor del trabajo en equipo el cual es fundamental si se quiere llegar lejos en cualquier ámbito profesional, en el torneo que damos en los últimos lugares yo creo que esto se debió a que no tenemos mucha experiencia programando como otros equipos y también que no nos conocíamos mucho, para mejor necesitamos aprender mas sobre los lenguajes de programación, para poder plasmar nuestras ideas en la forma que pensamos.

El haber podido implemente ideas más puramente nuestras hubiera sido de mucha ayuda ya que al momento de solamente poder tomar variables que ya se encontraban descritas en el mismo programa y posteriormente aplicarlas al un programa que, para nuestro gusto y fines victoriosos, debía de contar con varios casos posibles de posicionamiento del jugador contrario, nos hubiera convenido tomar mayor control sobre el programa y aplicar casi desde cero la descripción del programa, pero comprendemos que para ser solamente una semana o incluso solamente 2 días y medio de tiempo disponible para desarrollar el programa, a la mayoría de los equipos no les hubiera bastado el tiempo para completar la programación completamente. Esto a pesar que fue un inconveniente nos ayudó a forzar nuestro razonamiento para poder modificar levemente instrucciones que ya encontraban establecidas en el programa con la limitante de no entrometernos demasiado en el programa a tal punto de modificar instrucciones que influyeran en las misma jugabulidad.

jueves, 29 de septiembre de 2016

Día 3 Semana i - Programando un jugador estratégico


Nuestra estrategia se basa en una lógica similar al gato, únicamente que lo hemos modificado, para que pueda tomar decisiones con la nueva regla de tele transportarse, que no tenga pared, también implementamos dos modos de juego, acercarse y alejarse, dependendiendo de la situación, eso es la implementación más básica, nos reservamos la segunda parte del algoritmos por cuestiones de privacidad.

Nos encontramos con varias dificultades, pero creo que la más general fue que la forma en que estaba implementado la lógica del juego no era la mejor, desde nuestra óptica. Esto por que nosotros hubiéramos validado cada casilla, en vez de usar tupla sobre tupla, creo que tardamos en acostumbrarnos a esto, posteriormente nuestra segunda dificultad fue entender el código y conocer todas las llamadas posible, ya sabiendo esto, pudimos hacer nuestra lógica, con lo que aprendimos del juego del gato y con lo que sabíamos de la lógica de la oruga.

Lo que más nos gusto, fue la parte del torneo, como es que una lógica puede vencer a otra, esa parte de ver como se ejecuta cada round fue muy emocionante. En cambio, lo que menos nos gusto fue la lógica del juego base y la implementación de este.

Nuestro resultado anticipado es que nos ganen unos cuantos equipos, pero también esperamos vences a otros, estamos tranquilos por obtener un 80% de éxito jugando contra aleatorio y creemos, por lo que vimos hoy, que podemos ganar unas rondas.


La experiencia en general es muy buena, es interesante ver como un código es mejor que otro y ver toda la comunidad unidad con un fin teniendo como apoyo una competencia sana.

martes, 27 de septiembre de 2016

Día 2 Semana i - Teoría de juegos

Un videojuego o juego de video es un juego electrónico en el que una o más personas interactúan, por medio de uncontrolador, con un dispositivo dotado de imágenes de vídeo. Este dispositivo electrónico, conocido genéricamente como «plataforma», puede ser una computadora, una máquina arcade, una videoconsola o un dispositivo portátil (un teléfono móvil, por ejemplo). Los videojuegos son, hoy por hoy, una de las principales industrias del arte y el entretenimiento.

Los orígenes del videojuego se remontan a la década de 1950, cuando poco después de la aparición de las primeras computadoras electrónicas tras el fin de la Segunda Guerra Mundial, se llevaron a cabo los primeros intentos por implementar programas de carácter lúdico. Así, fueron creados el Nim (1951) o el Oxo (1952),  juegos electrónicos pero que aún no son realmente videojuegos, y el Tennis for Two(1958) o el Spacewar! (1961), auténticos pioneros del género. Todos ellos eran todavía prototipos, juegos muy simples y de carácter experimental que no llegaron a comercializarse, entre otras cosas porque funcionaban en unas máquinas que solo estaban disponibles en universidades o en institutos de investigación.

Se tiene planteado que con este proyecto los equipos que se encuentran formados durante esta semana dean capaces de aplicar los conceptos de inteligencia artificial orientada a juegos de estrategias para poder desarrollar el mejor programa capaz de cumplir la mayoría de los casos victoriozamente tomando en cuentas las variables y obstáculos que se le pongan en el camino para el cumplimiento del mismo problema.

En este quipo se espera poder contener todos los casos esperados durante la ejecución del programa y que pueda aplicar la mayoría de los movimientos esperados o de lo contrario aplicar funciones con nuestros conocimientos y que estas se puedan desenvolver durante la ejecución de nuestro propio programa en contra los demás.


 Se espera que no tenga fallos durante la ejecución del programa, esto quiere decir que no tenga intervención del ser humano durante el tiempo en acción, en pocas palabras, que sea un programa autónomo.

Aspectos considerados durante este día en el taller de “Framework Dagor para juegos de estrategia”.

Lo que mas nos gusto del día de hoy fue el hecho de comprender la lógica para el desarrollo de vídeo juegos el cual nos interesa a todos los miembros del equipo, a pesar de que los ejemplos de hoy no se comparar con los vídeo juegos que se desarrollan hoy en día en esta industria tan demandada, nos ayudaron a poder entender los conceptos básicos de la programación en los videojuegos.

Lo que menos nos gusto fue el hecho de la interfaz en python tal vez el uso de otra interfaz que sea mas fácil de usar facilitaría la comprensión de los algoritmos y su lógica.

El primer desafió para el desarrollo del jugador estratégico es comprender la logico del juego de las orugas, ya que es lo principal para poder obtener una solución del problema, el siguiente conflicto es el hecho de que no sabemos muy bien que funciones usar para que nuestro código realice la solución que tenemos del problema.