jueves, 29 de septiembre de 2016

El torneo de estrategias

Los resultados de este torneo fueron bastante satisfactorios considerando el poco tiempo que se tuvo para la implementación de nuestro jugador estratégico y de los problemas que llegó a presentar nuestro código que impedía que tuviéramos un mayor avance a tiempo.

Si hubiéramos tenido más tiempo para desarrollar nuestro jugador estratégico, tomando en cuenta que la estrategia que seguimos nos dio buenos resultados, probablemente hubiéramos seguido esa misma linea de estrategia solamente que a un nivel más profundo ya que nos daría tiempo de revisar nuestro programa con más paciencia y más detalladamente y así poder optimizar algunos procesos que nos permitieran ahorrar tiempo y llegar a niveles de predicción aún más
profundos de los que llegamos.

También es importante comentar que al principio fue un poco decepcionante ya que en la partida contra el jugador aleatorio tuvimos un 61% de victorias, cuando en nuestras pruebas pocas veces obteníamos ese porcentaje; por lo general nuestro porcentaje era más alto. Nos gustó mucho que la decisión de los profesores haya sido de considerar acreedores del 20% extra de la calificación a los equipos que tuvieran más del 60% de victorias ya que, como ya mencionamos anteriormente, nuestro porcentaje de victorias, en general, no era tan bajo.

Este equipo, como la mayoría de los equipos, consideramos que hubiera sido una mejor opción hacer el torneo el viernes 30 de septiembre ya que nos hubiera dado más tiempo de perfeccionar nuestros códigos para hacerlos más eficientes y que entregaran mejores resultados, ya que consideramos que fue muy poco el tiempo que tuvimos para hacer varias cosas; como entender y analizar el juego (Orugas), encontrar algún tipo de estrategia que incrementara el porcentaje de victoria, familiarizarnos con el programa del juego y las funciones del mismo y también corregir los errores o superar los obstáculos con los que nos fuimos encontrando.

En general fue una buena experiencia, nos hizo explorar un poco más nuestras capacidades y darnos cuenta que no sólo se pueden resolver problemas de la vida diaria con programación sino también, como en este caso, ejemplificar como funciona la inteligencia artificial en juegos en los que la estrategia de evaluar las decisiones que se pueden tomar es lo más importante para conseguir la victoria, tratando de simular la toma de decisiones de una persona.

miércoles, 28 de septiembre de 2016

Programando un jugador estratégico

En este reto, de crear un jugador estratégico para el juego Orugas, nos encontramos con una gran dificultad, ya que la estrategia que nuestro jugador tenía que seguir para conseguir la victoria no era tan obvio ni evidente como en los juegos que analizamos anteriormente, por lo que tuvimos que empezar a jugarlo varias veces para analizar que tipo de comportamiento le convenía a nuestro jugador seguir.

Después de jugarlo varias veces llegamos a una conclusión la cual indicaba que el porcentaje de victorias de nuestro jugador se podría incrementar, pero esta no fue la solución final, ya que al intentar plasmar nuestras ideas con el lenguaje de programación indicado no nos fue tan sencillo porque la lógica de nuestro programa nos decía que los resultados serían los esperados pero al final los resultados fueron otros.

Seguimos intentando con varias ideas y con diferentes formas de expresarlas llegando al resultado que actualmente tenemos.

Nos ha gustado mucho el reto intelectual que esta actividad tiene, sin embargo consideramos un poco injusto que esto sea una competencia, ya que cada equipo tiene habilidades diferentes y no significa que uno merezca más calificación que otro. Independientemente de lo antes mencionado también consideramos injusto perder algún porcentaje de la calificación de nuestra semana i a pesar de esforzarnos y dar lo mejor de nosotros mismos cuando en otros retos simplemente con la asistencia o con aportar algunas ideas ya tienen asegurado el 5% que vale su semana i.

Finalmente queremos externar que esperamos lo mejor en el torneo de mañana, jueves 29 de septiembre, ya que confiamos plenamente en nuestras habilidades y en nuestros resultados obtenidos, deseándoles lo mejor a todos los equipos.

Programando un jugador estratégico

El desarrollo del programa claramente presentó para nosotros un gran reto. Tener ideas claras de qué es lo que se desea implementar es necesario si se quiere llegar a hacer algo. Es indispensable plasmar todas las ideas en cuadros, diagramas, dibujos, etc. para comprender el algoritmo a implementar y no perderse en la abstracción del problema.

Lo único que nos gustaría compartir de nuestra estrategia es que optamos por programar un acercamiento tanto ofensivo como defensivo. Ambas partes se deciden seleccionando de una tabla de prioridades previamente definida por nosotros.

Las dificultades encontradas se centraron principalmente en la interpretación de los datos. Por un momento no sabíamos analizar la información otorgada por las clases y funcionalidades escritas por los profesores. Estas dificultades se resolvieron con el uso inteligente de la función "print" de Python en distintas secciones para finalmente reconocer lo que estaba sucediendo.

Lo que más nos ha gustado del proyecto son dos aspectos. a) La oportunidad de trabajar con compañeros de la misma carrera y compartir propuestas con ellos. b) La disponibilidad de los profesores para ayudarte con las dudas que tengas en un momento dado.

Por otra parte, la dificultad del reto se impuso ante nosotros de una manera monumental. Todos los miembros de nuestro equipo estudiamos robótica. Todos coincidimos que nos faltaba mucha práctica para familiarizarnos tanto con la resolución de problemas con programación como con el uso del lenguaje Python. Un aspecto importante que no se nos hizo justo es que la calificación final de la semana i dependiera de concursos y torneos. Un miedo constante aparece cuando la posibilidad de no obtener puntos a pesar del esfuerzo sea muy grande.

Dicho lo anterior, para el torneo de mañana esperamos que nuestro programa tenga un desempeño favorable para que la Semana i no nos siga perjudicando más nuestro promedio escolar.

martes, 27 de septiembre de 2016

Teoría de Juegos

La Teoría de Juegos está diseñada para aprender y construir estrategias para ganar.

Supongamos que dos personas o más compiten para conseguir algo (grupos). Lo obvio de un juego es que los dos quieren ganar.

La teoría de juegos no se propone a enseñar los secretos de como jugar perfecto. El oponente leería el mismo libro y los dos no pueden ganar el mismo juego.

Saber quien de los dos jugadores es capaz de maximizar el retorno en el sentido de ganancia.

Pensamiento estratégico: Se estudia las posibilidades de acción de todos y se estudia una estrategia a seguir.

Hasta mentir en un juego puede ser beneficioso a largo plazo. El jugador opuesto al tener en mente tu acción se puede confundir más adelante.

John Forbes Nash
El equilibrio de Nash: es una definición sobre lo que significa alcanzar una situación en la que todos los participantes se van a sentir contentos. En la que todos advierten en la que es mejor establecer una estrategia que sea mejor para todos que una individual. Considerar juegos con participación coordinada de muchos jugadores. Nash ganó en 1994 premio nobel de economía.

La teoría de juegos establece que en la mayoría de los casos los jugadores confesaran en lo que se puede considerar como la estrategia dominante

Se trata de mostrar el conflicto entre el interés individual y grupal.

Los juegos ayudan a desarrollar estrategias para la vida cotidiana.

El día de hoy estuvimos analizando juegos, para así encontrar la estrategia que finalmente lleve al jugador a la victoria. Esta estrategia se sigue, teniendo en cuenta que no siempre el jugador va a tener la posibilidad de seguir las acciones establecidas en la estrategia por lo que el porcentaje de victorias no siempre será el 100% , como fue el caso con el que nos encontramos al buscar la estrategia que nos permitiera obtener el mayor número de victorias  en el juego D10.

Después de entender y analizar el juego D10 nos encontramos con que los puntos claves para empezar a construir una estrategia de victoria eran las casillas 1, 4, 7 y 10 por lo que nuestra estrategia consistió en ocupar esas casillas mientras fuera posible y si ese no era el caso optamos por solamente ocupar una casilla en nuestro tiro para así intentar minimizar las posibilidades de derrota, maximizando las posibilidades que se tiene de poder ocupar una de estas casillas clave posteriormente.

Finalmente cuando terminamos de analizar, diseñar y programar nuestra estrategia de victoria para el juego D10 comenzamos a hacer lo mismo para el juego Orugas encontrándonos con que la estrategia y/o las acciones que nos llevarían a la victoria no era tan obvias y evidentes como en el juego anteriormente analizado (D10) lo que nos llevó a estancarnos y desmotivarnos un poco, pero finalmente llegamos a algunas conclusiones que consideramos ampliamente satisfactorias ya que al parecer estas conclusiones nos permiten tener un avance en nuestra estrategia para la victoria.

Referencias:

Varios, A. A. Tectv La Señal de la Ciencia. (2015, Junio 22). Grandes temas de la matemática: Capítulo 6: Teoría de los juegos. Recuperado de https://www.youtube.com/watch?v=DVWT_8UomvM

lunes, 26 de septiembre de 2016

Concurso de Programación

Primer competencia
Para el comienzo de nuestra semana i en el reto de Inteligencia Artificial se hizo una especie de torneo en el que se formaron equipos de no más de tres personas. Puntualmente a las once de la mañana comenzó aquel primer gran desafío. El cual consistió en generar soluciones concretas para ciertos problemas específicos. Contábamos con tres horas para lograr resolver siete problemáticas distintas. Las cuales variaban en los temas y en el procedimiento para resolverlas.

A lo largo del concurso, nos enfrentamos con la problemática, de no recordar cierta estructura del lenguaje que se utilizó. Esto se debió a la poca práctica que teníamos utilizando dicho lenguaje, por lo tanto nos vimos afectados en tiempo, intentando generar procesos por métodos sencillos que recordáramos como se hacían. Conforme se desenvolvió la competencia surgió estrés al darnos cuenta que muchos equipos llevaban puntajes altos mientras nosotros seguíamos en los primeros ejercicios. Así mismo la idea de que podríamos quedar en los últimos lugares pudo ser un factor de desmotivación, porque sabíamos que ya no obtendríamos la mejor calificación. También consideramos que fue muy importante y motivador que de cierta forma, a pesar de que la competencia del día de hoy, al igual que el reto completo de la semana i, se basa particularmente en programación, de igual manera se tomó en cuenta algunos temas que van muy de acuerdo y muy ligados con nuestra carrera (ISDR); como fue el caso de la multiplicación binaria al igual que el del bit de paridad.

Aun con las problemáticas que se presentaron a lo largo de la justa, nuestro equipo se mantuvo con el mismo desempeño de principio a fin y hasta el último minuto intentamos dar nuestro mejor esfuerzo, tratando de hacer las cosas lo mejor posible. Algo de lo que podemos estar orgullosos como equipo. Aunado a esto, el hecho de que cada solución que dimos a los problemas estuvo correcta al primer intento, también es algo de lo que podemos presumir.

Por último, como reflexión del primer desafío. Debemos recalcar la importancia que tienen este tipo de concursos y sobre todo lo relevante que es el desarrollo del pensamiento por medio de estas prácticas. Y que la ejecución de muchos ejercicios de este tipo, será lo que nos permita ser mejores.

Presentación Personal - Miguel Pérez

Mi nombre es José Miguel Pérez y soy estudiante de la carrera ISDR. Aunque mi carrera no se especialice al desarrollo de software, he tenido gran interés por la solución de problemas utilizando programación. La programación es una gran oportunidad para desarrollar nuestro pensamiento y darle estructura a la forma en la que resolvemos problemas.

Escogí esta actividad de semana-i precisamente por el reto que conforma diseñar soluciones con programación, por conocer un poco más de cómo funciona la inteligencia artificial en distintos sistemas y finalmente por formar parte de la construcción de la misma. Las expectativas que tengo de esta semana las veo con muy buena actitud aunque se que el trabajo será duro. Espero que los profesores sean capaces de educarnos y responder nuestras dudas para sacarle el mayor provecho a este reto.

Aunque dudo que mis compañeros vayan a leer este blog me gustaría compartir algunos de mis pasatiempos e intereses. Aparte de lo que normalmente uno le llama "echar la hueva", paso mi tiempo reflexionando de cómo podríamos cambiar a México como comunidad. Como a muchos me gustaría hacer algo grande por el mundo pero sé que se tiene que hacer de manera inteligente y poco a poco la solución emergerá. Uno de mis pensamientos consiste en abrazar, estudiar y comprender la tecnología como el medio que nos permitirá dejar nuestras vidas mediocres (en el sentido literal de la palabra) y potenciar nuestra calidad de vida.

Además de reflexionar me gusta mucho la música. Por el momento me encuentro estudiando el violoncelo y disfruto mucho cuando dos del mismo instrumento suenan en armonía. Paralelamente me gustan las series de televisión. Actualmente mi novia y yo estamos viendo la serie "How to get away with murder" y no hemos parado de verla. Concluyo con estas últimas palabras para escribir el mínimo de 300 que pide la bitácora de evaluación.
Amin Mosri
Mi nombre completo es Rauf Amin Mosri Rebollar, tengo 21 años de edad y voy en el primer tercio de la carrera de Sistemas Digitales y Robótica.

Escogí este proyecto debido al desafío que representa para mí. A lo largo de esta semana espero fortalecer mis conocimientos, por medio de la práctica, acerca de la materia de programación. A sí mismo pensé que sería uno de los retos que más me favorecería ya que es una de mis áreas de oportunidad que debo desarrollar. De los tantos proyectos que había, fue el que me pareció más útil para fines de mi carrera.

Entre mis pasatiempos e intereses personales se encuentran, tocar guitarra y componer música, hacer deporte como calistenia, jugar Ultimate frisbee o incluso correr, ver series de televisión es algo que disfruto mucho sobre todo del género de la comedia, también gozo al ir a ver películas en el cine sin que falten unas deliciosas palomitas. La manera en que mejor me expreso es a través de mi música y siempre me ha interesado aprender a tocar ciertos instrumentos y desde chico aprendí a tocar guitarra, tomé clases de batería y recientemente empecé con clases de piano.

Aunque me parezca que es un poco complicada la manera en que se calificará el proyecto, creo que implica un gran esfuerzo de todos los participantes para poder estar entre los primeros lugares y obtener la calificación máxima. Aunque esto no quiere decir que los otros equipos no se hayan esforzado o sean menos capaces de hacer las cosas. Creo que algo que debemos llevarnos de este desafío es la competencia. De igual forma tratar de aprender a ser parte de un equipo y escuchar las ideas de los demás, siempre con la finalidad de mejorar y de hacer las cosas distintas, destacadas y sobresalientes.

Soy Astrid

Soy Astrid Minerva Villegas Berdejo, me gusta que me digan Astrid porque mi segundo nombre no me gusta. Estoy estudiando Ingeniería en Sistemas Digitales y Robótica (ISDR), voy en tercer semestre de la carrera, tengo 19 años.

La decisión de entrar a esta carrera la tomé con muy poco tiempo, ya que yo pensaba estudiar otra carrera, hasta que me llamó la atención la Robótica y los Sistemas Digitales y fue cuando fui a hablar con mi director (Luis Manuel Diaz) y me explicó de lo que se trataba y algunos de los temas que iba a ver a lo largo de la carrera. Lo que más me llamo la atención fueron los tópicos al final de la carrera, porque hay uno muy relacionado con arquitectura, llamado domótica ya que la carrera que quería estudiar antes de decidirme por Ingeniería en Sistemas Digitales y Robótica era Arquitectura o Ingeniería Civil, pero finalmente me di cuenta que esas carreras iban en declive y la carrera de ISDR apenas va teniendo un gran crecimiento y en este tópico se juntaban de alguna forma estas carreras.

De esta semana i espero tener más conocimiento de la inteligencia artificial ya que posteriormente tendré que tomar una decisión sobre a que camino va dirigida mi carrera, al igual que esta actividad me ayuda a recordar el lenguaje de programación que estamos utilizando.
También quiero que esta semana i me ayude a reafirmar la decisión que tomé acerca de mi tópico (domótica) o saber si también puedo considerar inteligencia artificial como tópico.

Mi música favorita es indie y rock alternativo y aunque son pocas personas a las que les gusta esta música a mi no me importa y la sigo escuchando. Me gusta pasar mi tiempo libre viendo series en Netflix y jugando Pokemon Go