23
Dra. Sara Elena Garza Tercera Entrega del Proyecto

Tercera entrega de proyecto

Embed Size (px)

Citation preview

Page 1: Tercera entrega de proyecto

Dra. Sara Elena Garza

Tercera Entrega del Proyecto

Page 2: Tercera entrega de proyecto

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

Page 3: Tercera entrega de proyecto

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.

Page 4: Tercera entrega de proyecto

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.

Page 5: Tercera entrega de proyecto

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.

Page 6: Tercera entrega de proyecto

¿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.

Page 7: Tercera entrega de proyecto

¿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

Page 8: Tercera entrega de proyecto

¿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.

Page 9: Tercera entrega de proyecto

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.

Page 10: Tercera entrega de proyecto

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

Page 11: Tercera entrega de proyecto

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/

Page 12: Tercera entrega de proyecto

Videos Relacionados:

http://www.youtube.com/watch?v=sADWnGsTLFk

http://www.youtube.com/watch?v=MrJD4GJuRVo

&feature=list_other&playnext=1&list=SP46E99FE946C

1C946

http://www.youtube.com/watch?v=8yF8fo7rNvQ&l

ist=UUWDzmLpJP-

z4qopWVA4qfTQ&index=24&feature=plcp

(Aprende python desde cero)

Page 13: Tercera entrega de proyecto

• http://pythonr2.wordpress.com/2008/10/29/un-

tipico-ejemplo-de-logica-borrosa-o-disfusa-en-

python/

• http://thales.cica.es/rd/Recursos/rd98/TecInfo/08/

fuzzy.htm

• http://answermath.com/fuzzy_logic_sets.htm

• http://es.wikipedia.org/wiki/L%C3%B3gica_difusa

Page 14: Tercera entrega de proyecto

Videos Relacionados Actualizados:

• http://www.youtube.com/watch?v=JPrJMyHI

PfM

• http://www.youtube.com/watch?v=JPrJMyHI

PfM

• http://www.youtube.com/watch?v=E_kZDvw

ofHY&feature=watch-vrec

Page 15: Tercera entrega de proyecto

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.

Page 16: Tercera entrega de proyecto

• 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.

Page 17: Tercera entrega de proyecto

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.

Page 18: Tercera entrega de proyecto

• Un esquema de funcionamiento típico para

un sistema difuso podría ser de la siguiente

manera:

Page 19: Tercera entrega de proyecto

• 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.

Page 20: Tercera entrega de proyecto

• 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.

Page 21: Tercera entrega de proyecto

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).

Page 22: Tercera entrega de proyecto

• 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.

Page 23: Tercera entrega de proyecto

• 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.