domingo, 2 de octubre de 2016

Cierre del reto. José María

Yo al inicio de este reto de la semana i me sentí un poco opacado por toda la buena y exigente competencia que había en él, en general el equipo se sintió de la misma manera desde el concurso de programación hasta el primer avance del proyecto final, finalmente obtuvimos mucha confianza al lograr entender la función de nuestro jugador y al saber como implementar nuestra estrategia en él, esto generó una gran confianza en nosotros mismo y creernos que podemos competir ante tanta competencia, yo opino que aprendí a ser más competitivo y lograr vencer al típico pensamiento mediocre que la mayoría poseemos.
Como recomendación a un compañero le diría que primero, repase mucho python, cada función y como plasmarlas en el código, sintaxis, etc.
La actividad que en mi opinión fue la mejor fue el torneo de estrategias donde se observó el desempeño de cada algoritmo y la capacidad de este mismo.
La actividad que menos me agradó yo creo que fue el concurso de programación dado que se sentía mucha presión por personas que lo lograron acabar en muy poco tiempo, pero esto no significa que no me haya agradado, sin duda me agradó pero no tanto como el final.
No le modificaría nada a este reto, en lo personal no defraudó, fue mucho mejor de lo que se esperaba y muy bien organizado.

Cierre del reto. Ernesto

Los aprendizajes personales que conservo de este reto son: recordé en demasía el uso del lenguaje Python y todo lo que se puede realizar en este.
Además de que entendí el uso de la consola de mi máquina, comprendí la definición de un árbol de búsqueda y pude darle un uso en mi código. Aunque volví a enfrentar dificultades en la hora escribir mi código la asesoría que me fue otorgada fue muy buena.

Mis recomendaciones para los siguientes participantes serían:
1) Recuerda bien el uso de Python
2) Dale una repasada a la documentación y aprende el nombre de las funciones que te pueden ayudar más.
3) Escoge muy bien tu equipo
4) Practica un poco tu resolución de problemas en jueces en línea (OmegaUp, COJ, etc.)
5) Pregunta al momento de tener dudas.
6) Al momento de comparar tu código con el de los demás no te preocupes, cada quien tiene su estrategia.

La actividad que más me gusto fue el torneo final, puesto que se vio reflejado nuestro esfuerzo en resultados, al principio dude de cuan lejos podíamos llegar y al final fue totalmente lo contrario, pudimos llegar a estar entre los 10 mejores, para ser más exactos en el 8to lugar. Para mi este lugar supero mis expectativas, aunque me deja hambriento de mejorar.

La actividad que menos me gusto fue la competencia de programación en el primer día. Lo que no me gusto de este prueba fue mi comportamiento y nuestro resultado me desmotivo un poco. Siento que el propósito de la competencia es bueno, solo que me dejo más en claro que debo seguir practicando mi habilidad para resolver problemas.

En lo personal no cambiaría mucho la estructura u organización del reto. Creo que todas las actividades se complementaban una con otra, aunque me hubiera gustado tener un poco más de tiempo para entender mejor el uso del framework otorgado.

sábado, 1 de octubre de 2016

Cierre del reto. Andres

Me doy cuenta de que en este reto me llevo varias cosas nuevas que no conocía (o no sabía implementar) en python, así como la experiencia en como se utiliza e implementa la inteligencia artificial dentro de un algoritmo para que un jugador humano pueda jugar contra esta (que debe predecir sus movimientos y ganar al usuario).

Las recomendaciones que le daría a mis amigos para llevar a cabo este reto son:
1.- Practica python (para recordar la sintaxis del lenguaje).
2.- Investiga como se utliza las ramos en python.
3.- Prepara tu lógica para resolver problemas.
4.- No te estreses si no te sale al principio, busca ayuda para seguir adelante.

Para mi, la actividad que mas me gusto del reto fue la competencia de programación ya que ahí me di cuenta de que si puedo resolver problemas con la lógica pero necesito mejorar mi tiempo pues utilizo demasiado para poder resolverlos y debo ser capaz de realizarlos en un tiempo menor.

La actividad que menos me llamó la atención fue la conferencia, ya que conocía un poco el tema y lo único interesante para mí de ahí fue el que utilizaron para hacer las simulaciones y el lenguaje utilizado.

Para mejorar el reto yo cambiaría el orden de como inició pues si al inicio se da la introducción del framework y posteriormente se da la competencia de programación, se nos otorga casi un día más para poder planear el algoritmo para generar el jugador estratégico y así tener mas oportunidad de aclarar dudas antes de la competencia final.

En lo personal este reto me dio una gran satisfacción pues al principio pensé que no lograría llegar con mi equipo muy lejos en la tabla de posiciones en la competencia final. Aunque al final fue todo lo contrario, mis expectativas no eran altas pero el resultado de nuestro trabajo si, pues logramos colocarnos en 8va posición de 20 y me siento muy orgulloso de este trabajo y experiencias que me llevo tanto a mi vida escolar como a mi vida personal para seguir mejorándome cada día.

Ex Machina

Ex Machina: Ethical Discussion
Estas pregunas fueron tomadas del sitio Just:Words de 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?
    - No era confiable porque sus motivos no eran claros; no se conocía nada sobre él.
  2. Does Caleb ever do anything we would consider truly unethical? Does he “deserve” his end?
    - Actuo de una manera equivocada pues no conocía todo el contexto y decidió confiar únicamente en la máquina.
    - Si merecia su final por lo antes mencionado.
  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.)
    - La confusión del piloto del helicóptero fue nuestra conclusión pues llegó un hombre al lugar y salió de este una mujer y no hay como una coherencia.
  4. Do you think there are any plot holes in the film?
    - No encontramos ninguno porque no hay que confundir un plot hole con el suspenso. 
  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?
    - Si pasó la prueba aunque en una ocasión se notó que la conversación era máquina-humano (definición de Bluebook). 
  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?
    - Muestra los verdaderos motivos de los demás personajes.
    - Kyoko analiza la situación y se comporta diferente de acuerdo con quien esta ella.
  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?
    - Es factible que los buscadores tengan información especifica gracias a nuestras búsquedas; también no se ve muy lejos el que nos espíen a través del celular utilizando el micrófono y la cámara.


jueves, 29 de septiembre de 2016

El torneo de estrategias

Al principio como se había comentado en la sección previa de este blog, se nos complicó demasiado el diseñar o el implementar nuestra estrategia  en el código que se mostró de ejemplo, para un jugador estratégico, pasaron dos días sin que alguno de los integrantes del equipo logrará entender el objetivo de nuestro jugador, el mismo día del pre torneo se logró adquirir la información y el entendimiento de cada una de las funciones que estábamos implementando, nos tardamos todo un día en lograr plasmar nuestra estrategia pero sirvió de mucho aprendizaje para nosotros al saber cómo implementar una estrategia y plasmar nuestras ideas en él.

De haber contado con un mayor rango de tiempo, hubiéramos planeado la distribución correcta entre entender y planificar la estrategia que se hubiera propuesto ya que al solo contar con dos días fue un poco difícil de implementar el "cómo lo hacemos" del "cómo se hace", pero aun así logramos salir adelante y logramos mejorar nuestros conocimientos de programación, es algo que este reto nos aporto y es algo muy valioso tanto para nuestra vida como para la experiencia adquirida.

En cuestión de la tabla de resultados nuestro algoritmo arrojó mejores puntajes de los que esperábamos ya que al hacer pruebas nuestro rango de error era pequeño pero probable, se logró competir entre tanto talento y salir en 8avo lugar de 20 equipos participantes, una gran sorpresa para nosotros; y de alguna manera nos sentimos orgullosos de nuestro trabajo.
De esta manera logramos superarnos a nosotros mismos y dejamos "el miedo"  de que no fuera una buena idea, el crear una estrategia un poco mas compleja de la que originalmente teníamos planeada.
Nos gustó mucho la idea del torneo pues nos tuvo unas horas al pendiente y preocupados (y nerviosos) de ver si nuestro código dio señales correctas de vida y de que no fallara al competir contra los demás equipos rivales.

miércoles, 28 de septiembre de 2016

Programando un jugador estratégico

En nuestro equipo, nosotros tres elegimos como estrategia el elegir las casillas de las esquinas para así poder encerrar a nuestro contrincante y derrotarlo, darle prioridad a estas casillas cuando los posibles tiros sean anunciados y sean expuestos para que si de tres posibles tiros se encuentra una esquina o una casilla en el borde, que el tiro se dirija hacia estas casillas. La lógica de nuestro algoritmo fue en parte difícil de implementar pero creemos que ya esta listo para poder ser utilizado para competir.
Nos hemos enfrentado a diversas dificultades, empezando desde el inicio de este proyecto, al conocer el framework al principio no nos quedó muy claro las funciones y detalles de estas mismas para entender el funcionamiento y poder crear nuestro jugador estratégico, esa dificultad es la que creemos que fue la más grande pero a pesar de esta logramos con el paso de la semana entender el proceso y lograr nuestro objetivo.

La parte que mas nos a gustado es aprender a resolver los problemas por medio de la lógica; buscando la manera de anticipar los movimientos del otro usuario y programarlo de manera de que al utilizar el jugador estratégico, este  responda y venza a su oponente sin ningún problema. Lo que menos nos gusto fue el tiempo para poder implementar este reto pues la falta d este nos generó problemas al principio pero gracias a esto aprendimos a manejar y aprovechar mejor nuestros recursos para poder efectuar la tarea a tiempo.

Nosotros anticipamos para el torneo de estrategias del día de mañana que podemos ser un oponente digno, ya que nos esforzamos por implementar la mejor estrategia disponible. Otro punto que esperamos es que tengamos un número razonable de puntos acumulados para obtener un buen porcentaje de calificación para este reto de Semana i.

martes, 27 de septiembre de 2016

Teoría de juegos

La teoría de juegos es una rama, principalmente de la economía, y de las matemáticas donde se estudia las decisiones para que un individuo tenga éxito, tiene que prestar mucha atención a las decisiones tomadas por agentes que intervienen en la situación.
Esta teoría se relaciona con la ciencia de la computación dado que muchas teoría lógicas toman lugar en la teoría de juegos, asimismo, esta teoría es usada para modelar programas que interactúen entre si.
"Yo actúo de una manera, tú actúas de otra", "Algo sucede. Ese algo que sucede va a depender de lo que ambos hagamos"; así podemos analizar la lógica del problema que se nos presenta e interpretando la frase es que cada persona piensa diferente y nuestras decisiones pueden afectar el resultado esperado.
Dado la información anteriormente  podemos concluir que en este taller estaremos usando la teoría de juegos para poder diseñar nuestro algoritmo; así como hoy se realizó para el framework "Dagor" donde se diseñó e implementó una estrategia para obtener la victoria.

Nos gusto mucho poder ver una evidencia del potencial de Python, el framework, ahí pudimos ver reflejado cada uno de los componentes o funciones que Python posee en acción. Además que pudimos darnos cuenta de lo que la inteligencia artificial puede llegar a hacer en un programa.
El hecho que la explicación haya sido detallada ayudó de manera fundamental a la comprensión de los puntos.
Los juegos expuestos en clase, para un usuario pueden llegar a ser sencillos o básicos, pero para un programador es sorprendente la cantidad de trabajo que esto implica.
Lo que pudimos notar es que al principio no sabíamos que hacer para poder desarrollar nuestro jugadorEstrategico pero conforme probamos varias teorías que teníamos logramos crear nuestra estrategia que implementaremos en este proyecto.


Javier Navarro. (11 Mayo 2011). ¿Qué es la teoría de juegos?. 27 septiembre 2016, de El Blog Salmón, sitio web: http://www.elblogsalmon.com/conceptos-de-economia/que-es-la-teoria-de-juegos
Chris Stokel. (24 Mayo 2015), ¿Qué es exactamente la teoría de juegos?. 27 septiembre 2016, BBC Mundo, sitio web:
http://www.bbc.com/mundo/noticias/2015/02/150220_teoria_de_juegos_que_es_finde_dv

lunes, 26 de septiembre de 2016

Concurso de Programación


Al principio de la actividad se nos dio una breve introducción y algunas políticas que debíamos seguir, así como unos ejemplos para poder estar preparados para el concurso. Lo más difícil que se nos presentó fue el poder concentrarnos y actuar como equipo, era la primera vez que trabajamos juntos en una competencia de este tipo, la emoción de los demás equipos y nuestra inexperiencia fue un factor que influyó en nuestro desempeño, pero no es excusa. La falta de uso del lenguaje Python también fue un obstáculo porque había partes de la sintaxis que no las teníamos tan claras y causo un enorme retraso en cuanto a poder implementar nuestras soluciones a los problemas. Cuando nos empezamos a organizar las cosas empezaron a ir mejor y a fluir. No llevábamos el mejor ritmo pero sabíamos que podíamos acabar la mayoría de los problemas en el tiempo pactado.

Entre los problemas con menor grado de dificultad se encontraban el número 2 y el número 3, problemas donde el equipo logró concretar estos programas sin mayor dificultad, entre los más difíciles se encontraban los últimos 3, en particular, el problema del perímetro con los asteriscos donde, además del agotamiento que cada uno presenciaba, la presión por acabar el problema antes de que la plataforma se cerrara fue factor. 

En general, el concurso fue una dura prueba, pero para nada desagradable, la satisfacción que uno presenciaba al lograr la solución de cada problema fue algo que sin duda ninguno de nosotros cambiaría por nada. Lo que más nos gustó de este concurso fue la manera en cómo se implementó la competencia, dejando como máximo tres integrantes para poder solucionar siete problemas que a su vez cargaban la presión del tiempo porque entre más nos tardábamos menor posibilidad de obtener una buena puntuación teníamos.

Presentación Personal. Andrés

Me llamo Andrés Andaluz y soy un estudiante de la carrera de Ingeniería en Sistemas Computacionales (ISC), tengo 20 años y voy en tercer semestre.

Mis expectativas para esta sema i son: aprender sobre la Inteligencia Artificial, afinar mis conocimientos en la manera de resolver problemas utilizando la lógica, recordar el lenguaje de Python y llevarme una muy divertida experiencia en este reto.


Hay varias cosas con las que me entretengo durante mi tiempo libre, una de ellas es ver series de drama, acción, aventura y misterio como lo es Arrow, Flash, Gotham, The Fosters, Scream Queens, Suits, Quantico, Once Upon a Time, Mr. Robot, etc.


Mi música favorita es del género Pop, me ayuda a concentrarme cuando estoy programando o cuando estoy realizando alguna actividad física y mis artistas favoritas son: Katy Perry, Troye Sivan, Ariana Grande, Demi Lovato, Selena Gomez, Maroon 5, Carly Rae Jepsen, Becky G, etc.



Los videojuegos me gustan mucho en especial si son de peleas en los cuales destacan Injustice y Mortal Kombat X pero igual me gusta jugar de casi cualquier cosa.




Pocos libros me llaman la atención pero el género que me gusta leer es de ciencia ficción y en estos destacan Los Juegos del Hambre y Divergente.

Presentación personal (José María)

Mi nombre completo es José María Aguíñiga Díaz pero comúnmente me llaman Chema, tengo 19 años y estudio Ingeniería en Sistemas Computacionales en el ITESM Campus Estado de México.
El nombre del taller me llamó demasiado la atención, es muy llamativo el término de "Inteligencia artificial", tengo una gran esperanza de que esta semana i pueda nutrirme, que pueda llevarme una agradable experiencia y que de igual manera mis compañeros y profesores la obtengan.
Como pasatiempo me gusta en gran manera escuchar música a cualquier hora, convivir, la convivencia para mi es muy importante, hacer los deportes que me gustan, entre mis intereses los deportes son de los más importantes, el futbol soccer es uno de mis deportes favoritos pero el futbol americano es mi favorito por sobretodos, también entre mis intereses está el mercado de las aplicaciones móviles y el desarrollo de estas mismas, no tendré mucho conocimiento en esta área pero poco a poco trato de aprender mediante cursos y lecturas en línea.
No tengo un género de música preferido, me agradan casi todos los géneros pero entre mis preferidos están las canciones románticas y el rock latino. Mi película favorita es "Cuestión de tiempo" y mis series favoritas están, "Breaking Bad", "Modern Family", "HIMYM", "Narcos", "Last Chance U", "Club de Cuervos", entre otras.
Como información adicional, soy un aficionado de los perros, tengo dos en mi casa pero si pudiera tendría muchos más, soy una persona muy sentimental y en un futuro me gustaría tener una familia con dos hijos.

Presentación personal. Ernesto

Mi nombre es Ernesto Alejandro Cervantes Villa, estudio la carrera de Ingeniería en Sistemas Computacionales, actualmente estoy cursando el 3er semestre de la carrera.
Lo que espero de la Semana i es poder desarrollar de mejor manera mis habilidades de programación, en especial en un lenguaje que he dejado un poco olvidado como lo es Python.

Quiero que las actividades me motiven a continuar aprendiendo; se que en ocasiones las situaciones no me favorecerán pero el chiste de esto es seguir aprendiendo y conociendo. Prefiero no tener una calificación excelente pero saber que la calificación que obtenga es consecuencia directa de mi esfuerzo.

Cambiando radicalmente de tema, mis pasatiempos se pueden reducir en pocas palabras, Me gusta mucho leer, leer es una de mis actividades favoritas más cuando no es una lectura forzada u obligatoria. Mis categorías preferidas son: ciencia ficción, thriller, biografías y poesía. Actualmente estoy leyendo varios títulos los cuales son: El paraíso en la otra esquina, del autor Mario Vargas Llosa y  Diferente de Lucas Leys. Además a mis lecturas se agregan la Biblia, la revista Esquire y un antiguo libro de mi abuelo escrito por Marcial Lafuente Estefanía.

Mis gustos musicales son muy variados en sí no me afecta escuchar cualquier tipo de música, en la hora adecuada y en el lugar correcto. Pero mis preferencias se inclinan así el género indie y alternativo, en estos últimos días he estado escuchando constantemente a Twenty One Pilots, Of Monsters and men y Kings of Convenience.

Mis películas favoritas son del tipo históricas o thrillers, en mi top 5 de películas se podrían encontrar: Cruzada, Troya, Ángeles y demonios, Alexander y Yo, robot.
La series que estoy viendo en mis tiempos libres es Suits, Narcos y Game of Thrones, se que son estilos muy diferentes pero se debe reconocer a un trabajo bien hecho.