domingo, 2 de octubre de 2016

Cierre del reto - Dausnet Villegas

1.   1.  ¿Qué aprendizajes personales se llevan del reto?
En este reto aprendí más sobre el lenguaje en Python y su implementación. También comprendí mejor lo que es la inteligencia artificial y cuáles son sus usos. También me llevo una buena experiencia con mis compañeros, el trabajo en equipo y la importancia que tiene que todos pongamos de nuestra parte para lograr un buen proyecto.

2.       2. ¿Qué recomendaciones le harían a un amigo que quisiera llevar este reto en un futuro?
Yo le recomendaría que practicara un poco su programación en Python para que lleve el conocimiento fresco y le sea más fácil realizar el proyecto. También que aproveche todo el tiempo posible y que vaya con una buena actitud para que disfrute todas las actividades.

3.     3.   ¿Qué actividad les gustó más del reto?
La actividad que más me gustó fue ver la película y cuando nos dieron los resultados del concurso porque estábamos todos juntos y el ambiente fue muy padre en las dos actividades, además el estrés ya había pasado y fue bueno tener una actividad de “descanso”, además la película fue muy buena y tenía que ver con el reto. También me gustó el primer concurso de programación, fue bueno trabajar en equipo y hacer los programas entre todos.

4.      4.  ¿Qué actividad les gustó menos?
Lo que menos me gustó fue programar el jugador estratégico, era la primera vez que programaba a ese nivel en Python, por lo que no conocía completamente la sintaxis y el uso de ciertos métodos.

5.       5. ¿Qué cambios le harían a este reto para mejorarlo?

Como mencioné antes, lo único que haría diferente sería la parte de la implementación del jugador estratégico, me hubiera gustado que nos explicaran con más detalle cómo estaba implementado el código o en todo caso, que nos dieran un poco más de tiempo para hacerlo. A pesar de que entiendo que tiene que ser una actividad retadora y que nos ponga a prueba para que podamos desarrollar ciertas habilidades, siento que el hecho de tener que trabajar sobre un código ya hecho, dificulta un poco la implementación ya que gran parte del tiempo la ocupamos para entender cada línea del código.

sábado, 1 de octubre de 2016

Conclusión – David Salvador Ruiz Roa


¿Qué aprendizajes personales se llevan del reto?
Los aprendizajes que me llevo del reto fueron muy diferentes a los que tenía en mente. Me llevo conmigo la capacidad de colaborar en un equipo de programación de manera efectiva. Ahora soy capaz de trabajar dentro de un equipo sin que tenga influencia mi estrés con los resultados del proyecto. Aprendí a leer códigos ajenos. Aunque yo creía que iba a aprender más sobre el desarrollo de la inteligencia artificial.

¿Qué recomendaciones le harían a un amigo que quisiera llevar este reto en un futuro?
Le recomendaría que escogiera con sabiduría a los integrantes de su equipo. Los integrantes del equipo lo son todo y hay que tener en cuenta que 3 mentes trabajan mejor que una. Así que cada uno de los integrantes son importantes. Además que le pida ayuda a los profesores.

¿Qué actividad les gustó más del reto?
Disfruté mucho el primer examen de programación  de Python aunque tuvimos dificultades por falta de organización. Pero mi actividad favorita fue ver la película con todos mis amigos reunidos en una sala de congresos. Fue muy divertido y me la pasé muy bien. Me hubiera gustado que la parte de la reflexión sobre la película se hubiera extendido más, pero estuvo bien así.

¿Qué actividad les gustó menos?
La actividad que menos me gustó fue programar la inteligencia artificial como tal. La razón fue porque no me sentía con la libertad de generarla como yo quisiera. La mayor parte del tiempo fue entender el código que nos fue proporcionado y eso fue un poco desalentador. Fue mucho estrés porque los métodos que queríamos hacer estaban limitados por el código que teníamos frente a nosotros y no logramos implementar todos los métodos que queríamos que tuviera nuestra oruga.

¿Qué cambios le harían a este reto para mejorarlo?
En lugar de hacernos un examen de programación nos podrían dar una clase sobre las bases de la inteligencia artificial. La verdad es que por eso me metí a este proyecto; Para que me enseñaran sobre inteligencia artificial. No aprendí nada sobre inteligencia artificial, solo aprendí a hacer un código que hiciera lo que me pedían y lo peligrosa que puede ser una inteligencia artificial. La verdad es que me fui sin el aprendizaje que buscaba y menos interesado en la inteligencia artificial.

viernes, 30 de septiembre de 2016

Ex Machina

Ex Machina: Ethical Discussion

Questions (By RameyLady)

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?


Answers

1. Nathan isn't a reliable person because he doesn't tell his true intentions by doing the IA experiments and why he needs Caleb. We could say that he is really intelligent but he lacks ethical values because the way he experiment with his IA's and cheat Caleb.

2. He didn't nothing unethical he just appeals to the human essence the search of freedom. He didn't deserve that final because he was cheated, even if his actions had selfish intentions. 

3. Ava will keep watching the humans interactions, discovering new experiences. In the case of Caleb he could enter to Nathan's computer to go out and start searching her.

4. We think that the end was unfinished and that the relevance of Kyoko was unclear.

5. Yes, "she" will approved the Turing Test with Caleb or other human.

6. About Caleb, she realized how "good" he was, so she "show" him the truth; about Nathan, she look him as his owner doing all what he wants before the final; and about Ava, Kyoko was reflected on she, that was the reason because she helped her.

7. Maybe we are vulnerable to the technology, at any time something like this could happen, so we need to prevent or to be prepared.





Questions Site:


https://rameylady.com/2015/05/03/discussion-ideas-for-ex-machina/





Cierre del reto - Opinión Beto Vásquez

Sobre el reto en general:

Aprendí varios aspectos acerca de la programación competitiva, los cuales considerare la próxima vez que participe en una competencia de programación, esperando mejores resultados, así como un aumento en mi analisis y eficacia a la hora de programar en una plataforma como la utilizada en este concurso. 

Aprendí y programe de cerca una "inteligencia artificial" para un juego de estrategia, comprendí que no solo existe un tipo de inteligencia artificial existen diversos tipos la de este reto fue una, me gustaría adentrarme a una inteligencia un poco más compleja que vaya más allá de lo conocido.

Si un amigo quisiera llevar este reto en un futuro próximo, le diría que se familiarize con las plataformas de programación competitiva, así como que tenga un poco más de contexto en los juegos de estrategia y comprenda ampliamente python para así darle una correcta y rápida interpretación al juego utilizado en este reto.

La actividad más entretenida del reto fue la programación de un jugador estratégico, el poder diseñar una estrategia apoyándonos de nuestro análisis y viendo distintas formas de lograr nuestro objetivo, fue bastante enriquecedora la experiencia, aún cuando se sintió que falto un poco más de tiempo y contexto para la programación de este jugador.

No podría decir que la competencia de programación fue la actividad que me gusto menos debido a que se me hizo entretenida pero si hubo algunos inconvenientes que generaron "ruido" a la hora de participar en ella, como la familiarización con plataformas como la utilizada, entre otros.

En cuanto al reto mi sugerencia sería que la descripción fuera más específica, que se diera como una mayor introducción a la Inteligencia Artificial porque sentí que fue algo corta y mayor capacitación a la hora de usar el framework debido a que esto depende un poco de la interpretación tomando un poco de tiempo el comprender el mismo.



jueves, 29 de septiembre de 2016

El torneo de estrategias

El torneo de estrategias fue una experiencia muy padre a pesar de que no obtuvimos los resultados que esperábamos, nos dimos cuenta que todos los equipos tenían estrategias muy buenas y algunos demostraron que estaban muy por encima de todos los demás y sin duda les reconocemos su trabajo y admiramos la forma en que pudieron sobresalir.

Ahora sabemos que nuestras estrategias no fueron muy buenas pero de los errores se aprende. De haber tenido más tiempo, hubiéramos implementado un código más eficaz y con más herramientas para lograr un buen desempeño de nuestro jugado estratégico, como comentamos en el blog anterior, nos costó un poco de trabajo familiarizarnos con el código y por lo tanto, no pudimos aprovechar todo el tiempo en implementar nuestras estrategias.

El torneo en sí nos gustó mucho, todos los equipos estaban emocionados por ver competir a los equipos y se notaba que todos admiraban y se emocionaban al ver el puntaje que lograban los demás equipos a pesar de que no fuera el de ellos, tal vez porque todos sabíamos que no fue un reto fácil y por eso reconocíamos el trabajo de los demás. Nos gustó el ambiente y nos pareció justa la forma de calificar, cada quien obtuvo el puntaje de acuerdo a la eficacia de su código y esto se pudo notar en cada juego.

En general, esta experiencia nos sirvió para entender qué es la inteligencia artificial y ya trabajamos con ella aunque en un nivel muy básico, sin duda tiene su grado de complejidad y se necesita ser muy observador y muy analítico para poder diseñar las estrategias adecuadas, además de que aprendimos que se tiene que tener una mente abierta para poder visualizar todos los caminos posibles y no irse solamente por uno, ya que puede no funcionar.

miércoles, 28 de septiembre de 2016

Programando un Jugador Estratégico

Durante estos dos días en los que estuvimos trabajando en el diseño y la implementación de nuestro jugador estratégico nos dimos cuenta de que es una tarea compleja y retadora. En primer lugar, una dificultad que nos retrasó mucho fue el hecho de tener que programar sobre un código ya hecho porque teníamos que comprender la lógica en la que estaba basado y los métodos que utilizaba, para poder manipularlos y complementarlos, lo que a algunas veces resultaba un poco confuso.

Diseñar una estrategia completamente útil o fiable, lo suficientemente “inteligente” para poder ganar un juego requiere de un análisis del comportamiento de un posible contrincante para tratar de establecer patrones y a partir de esto formular la estrategia. Sin embargo, sabemos que todo esto depende para empezar, del ambiente en el que se esté jugando, ya que cambian las condiciones dependiendo del tamaño del tablero, y las estrategias que se usan para un tablero de diez por diez pueden no ser útiles para uno de cuatro por cuatro.

Además, a pesar de que se traten de cubrir todos los movimientos posibles, nunca se va a poder predecir al cien por ciento cómo es que se va a llevar a cabo el juego, ni qué estrategias pudiera tener el contrincante.

Lo que más nos gustó de este proyecto es que a pesar de las dificultades que ya mencionamos, nos sirvió para mejorar nuestras habilidades de programación en Python y que además fuera orientado a juegos de estrategia. También nos gustó el trabajo en equipo ya que la forma de pensar de cada quien complementaba todas las ideas y nos permitía ver hacia los diferentes caminos posibles.

Para el torneo de mañana esperamos quedar en un buen lugar, sabemos que no va a ser fácil ya que todos los equipos tienen estrategias muy buenas y como en toda competencia, se puede ganar o perder. 

martes, 27 de septiembre de 2016

Teoría de Juegos

Entendemos como Teoría de Juegos al estudio y el análisis de situaciones en las que es necesaria la implementación de una estrategia para solventar algún problema, considerando a los diversos agentes involucrados en dicha situación para poder tomar la mejor decisión.

De ella surge la estadística, una rama de las matemáticas que propone cálculos como auxilio para generar una estrategia precisa. La estadística abarca los sig. términos: probabilidad, distribución, desviación estándar, media, moda, etc., los cuales son muy útiles para el estudio de estrategias en juegos, situaciones, etc., ayudando en el proceso de la toma de decisiones donde puedes vislumbrar "patrones" en alguna situación.

En el taller del día de hoy "Framework para juegos de estrategia" notamos la importancia y relevancia de observar esos patrones o comportamientos a la hora de jugar un juego, los cuales sirven como apoyo para poder establecer una óptima estrategia que te lleve a una situación esperada, en este caso la "victoria". Con ayuda de esos "comportamientos" pudimos entender porque los métodos estaban programados de tal forma, el algoritmo debe de ser lo más eficaz posible buscando siempre tomar la decisión más acertada en cada caso.



Los aspectos que nos gustaron fueron:

  • La convivencia con amigos al probar y hacer el análisis de cada uno de los juegos.
  • La comprensión de las estrategias de cada juego para poder salir victorioso. 


Entre las cosas que no nos gustaron:

  • La utilización de algunos conceptos que no habíamos manejado antes (al menos en python).
  • La compresión sujeta a interpretación de algunos de los métodos.
La mayor dificultad que vislumbramos es el paso de nuestra lógica a la programación debido a que ya tenemos una "estrategia" a desarrollar, solo que en el momento de querer plasmarla aún no logramos implementarla como nos gustaría, siendo ese el mayor inconveniente hasta el momento.


Bibliografía:

  1. Sánchez-Cuenca, Ignacio. (2009). Teoría de juegos. Madrid: CIS.
  2. José A. Pascual. (2009). Una herramienta didáctica para la enseñanza de la teoría de juegos mediante internet. Islas Baleares: Grupo de Tecnología Educativa.
  3. Anónimo. (s.f). Introducción a la teoría de juegos. 27 de septiembre del 2016, de eumed Sitio web: http://www.eumed.net/cursecon/juegos/