2. Integrantes del proyecto
Gisella Margarita Tamez González 1496111
Irma Patricia González Badillo 1481215
Jesús Eduardo Fermín Tamez 1482056
Juan Manuel Garza Garza 1452301
3. Nuestro proyecto esta basado en
una aplicación de android
llamada line-runner, la cual
consiste en un personaje que se
encuentra corriendo sobre una
línea horizontal y que al momento
de presentársele un obstáculo, en
este caso, un cuadrito, sea capaz
de esquivarlo mediante un salto.
4. Este proyecto es adaptativo desde el
momento en que nuestro personaje estará
familiarizado con el escenario en el cual se
desarrollará el juego, y pueda ser capaz de
identificar cuáles son los peligros a los cuales
se va a tener que estar enfrentando, aquellos
a los que tendrá que aprender a esquivar o
evitar, para así lograr su objetivo.
Al momento de hacer esto el personaje se
encontrará adaptándose a su plataforma,
razón por la cual éste proyecto será
adaptativo.
5. Nuestro proyecto dio un giro totalmente
inesperado para el equipo, principalmente
porque es la parte mas importante y el
objetivo de esta clase, ya que el método que
íbamos a utilizar era el de redes neuronales,
pero por problemas, que en el transcurso de
la presentación se darán a conocer,
cambiamos por la técnica de “Sistemas
expertos: Lógica difusa” y tuvimos un gran
atraso en esta 3era etapa.
6. ¿Qué hemos Hecho?
Principalmente nuestro mayor logro fue hacer
que el juego ya se pueda “jugar”, ya que para
esta entrega nos tomo de sorpresa la parte
adaptativa y nosotros teníamos la idea de que
primero habría que hacer que nuestro juego
funcionara con nuestra inteligencia para
posteriormente aplicarle “inteligencia
artificial”.
Tenemos toda la parte grafica y lógica de tal
manera de que nuestro juego ya puede ser
usado.
7. ¿Qué hemos Hecho?
Otro de nuestros avances es que ya tenemos varias
reglas que sigue nuestro personaje, que son las que
aplicamos en la lógica difusa.
También hemos investigado sobre la lógica difusa y nos
hemos basado en ejemplos para buscar la manera de
acoplarla a nuestro proyecto (aquí esta una página
usada para esto:
http://pythonr2.wordpress.com/2008/10/29/un-tipico-
ejemplo-de-logica-borrosa-o-disfusa-en-python/)
Aparte de ver tutoriales en youtube y volver a realizar
investigaciones
8. ¿Qué nos falta por hacer?
Lo que nos falta por hacer es asentar bien
nuestras reglas para la lógica difusa de
nuestro programa, ya que como lo
mencionamos nos tomo de sorpresa y
seguir mejorando la parte adaptativa.
Otra cosa que nos faltaría son pequeños
detalles del juego como la puntuación y
cosas graficas que hay que modificar.
9. Para esta 3era entrega de proyecto tuvimos un giro
inesperado de nuestro proyecto, ya que al estar en
clase vimos un nuevo tema “lógica difusa” lo cual nos
dio otra 2nda opción para implementarla.
No queríamos cambiar nuestro objetivo principal que
era hacerlo mediante una red neuronal, pero se nos
presentaron demasiados problemas en los cuales
invertimos mucho tiempo en vano y que no pudimos
resolver.
Uno de los principales problemas fue el sistema
operativo que usamos todos los miembros del equipo
(windows) en el cual no pudimos trabajar con
pybrain.
10. Para solucionarlo trabajamos con Ubuntu de
manera booteable, pero no logramos mucho ya que
de igual manera no logramos instalar pybrain debido
a que este depende de mas librerías.
Otro problema fue intentar adaptarnos a un sistema
operativo diferente a lo habitual, manejar la terminal
no tomo mas tiempo y por mas que intentamos
implementar la red y tomar la información de
pybrain.org nos resulto imposible.
La solución fue recurrir a la 2nda opción, el uso de la
lógica difusa en nuestro programa y nos pusimos a
investigar mas sobre ella
11. Libro “Python para todos” es un libro sobre
programación en Python escrito por Raúl González
Duque. Se trata de un tutorial de Python adecuado
para todos los niveles.
Tutorial de python
http://aprenderpython.com/
15. LOGICA DIFUSA
La lógica difusa o borrosa, también conocida
como lógica fuzzy, es una lógica que nos
permite procesar datos inciertos. La lógica
difusa consigue tener infinitas degradaciones
entre el valor verdadero y falso.
La lógica difusa tiene una mayor aplicación
a los hechos del mundo en que vivimos ya
que el razonamiento humano, tiende a
producirse de esta forma, obteniendo
conclusiones a partir de múltiples hechos que
observa en su entorno.
16. • En un conjunto encontramos una
colección de objetos en el que es
posible decidir cuando un objeto de
nuestro universo de discurso esta o no
en esa colección. Es decir,
abtrayendonos podemos asumir que
un conjunto es exactamente una
función en el que se asocia al
conjunto de valores 0,1 el valor 1 a los
objetos que estén dentro del conjunto
y 0 a los que no.
17. Principalmente la lógica difusa esta enfocada a la
toma de decisiones cuando existen datos o
conocimientos inciertos. Por otro lado, también es
usada en el reconocimiento de patrones ambiguos o
como un componente de sistemas expertos difusos.
La lógica difusa se basa en conjuntos para hacer
operaciones usuales, dichos conjuntos son los
llamados conjuntos difusos.
18. • Un esquema de funcionamiento típico para
un sistema difuso podría ser de la siguiente
manera:
19. • Aqui se encuentra la clase jugador, en donde se
manda a llamar la sprite, y la función “update” para
actualizar el “rectángulo” del sprite.
20. • Clase Cuadros: Aquí se encuentra los cuadros que harán
que nuestro personaje, tenga dificultades y son su objetivo,
esquivarlos, la función update funciona igual al del jugador.
• Colision es la función que usamos para las colisiones entre el
jugador y los 2 cuadros.
21. Este while es el más importante del
programa debido a que es lo que hace que
el programa sea infinito (al menos de que el
jugador toque el cuadro).
22. • En este if es donde se aplica lo que usamos de lógica
difusa, en donde el programa analiza lo que es lo que
se viene acercándose, después al ver que el cuadro
esta muy cerca, se realiza el movimiento del brinco.
23. • Y para finalizar estos 2 ifs son para que los cuadros
cuando salgan de la ventana se regresen al inicio, en
un valor random y así hacer nuestro programa más
interesante.