SlideShare una empresa de Scribd logo
1 de 50
Diseño y análisis de un agente
autónomo para el juego Super
         Mario Bros.



     Proyecto Fin de Carrera Ingeniería de Telecomunicación
                                    Rosa Hidalgo Bermúdez
ÍNDICE

1. INTRODUCCIÓN
2. PLATAFORMA INFINITE MARIO
  BROS
3. DISEÑO DEL AGENTE Y
  RESULTADOS
4. CONCLUSIÓN Y DEMOS
ÍNDICE

1. INTRODUCCIÓN
2. PLATAFORMA INFINITE MARIO
  BROS
3. DISEÑO DEL AGENTE Y
  RESULTADOS
4. CONCLUSIÓN Y DEMOS
INTRODUCCIÓN

¿Por qué la elección de este proyecto?
 El juego de Mario Bros es mundialmente
 famoso y se tenían previos conocimientos
 acerca del juego.
 El mercado de los videojuegos tiene futuro
 El mundo de los videojuegos nunca
 pasará de moda
INTRODUCCIÓN

¿Por qué la elección de este proyecto?
 Existe una plataforma Infinite Mario Bros que
 es una copia modificada de Super Mario Bros
 libre y que permite la realización de un
 Agente mediante alguna técnica de IA
 Existe la competición creada por los
 desarrolladores de la plataforma anterior
 Mario AI Championship:
     Gameplay             Turing Test
     Learning             Level Generation
INTRODUCCIÓN

¿Qué características debe cumplir
       nuestro Agente?
Autonomía          Razonamiento
Reactividad        Aprendizaje
Proactividad       Planificación
Persistencia       Inteligencia
INTRODUCCIÓN

¿Qué técnicas de IA podrían adaptarse
         a nuestro objetivo?
 Máquinas de Estados Finitos
 Búsqueda de Caminos (Pathfinding)
 Algorítmos Genéticos y Programación
 Genética
 Redes Neuronales
 Lógica Difusa
ÍNDICE

1. INTRODUCCIÓN
2. PLATAFORMA INFINITE MARIO
  BROS
3. DISEÑO DEL AGENTE Y
  RESULTADOS
4. CONCLUSIÓN Y DEMOS
PLATAFORMA INFINITE MARIO BROS
     ¿En qué consiste el juego?
El juego consiste en mover al personaje,
Mario, a través de la pista bidimensional
para superar un nivel.
Las acciones permitidas que se pueden
realizar:
    Avanzar a la derecha
    Avanzar a la izquierda
    Saltar
    Agacharse
    Disparar/Correr
PLATAFORMA INFINITE MARIO BROS
      ¿En qué consiste el juego?
El personaje Mario tiene tres posibles
modos:
    Fire: Permite 2 toques por colisión de enemigos
    Big: Permite 1 toque por colisión de enemigos
    Small: Si recibe un toque de un enemigo muere

La plataforma usada permite obtener
información del entorno a través de dos
matrices de 19x19:
    Matriz de Observación
    Matriz de Enemigos
PLATAFORMA INFINITE MARIO BROS
   ¿En qué consiste el juego?
PLATAFORMA INFINITE MARIO BROS

   ¿A qué se enfrentará el Agente?

Posibles tipos de obstáculos con los que
se enfrenta el agente:
PLATAFORMA INFINITE MARIO BROS

  ¿A qué se enfrentará el Agente?


Objetos beneficiosos para el Agente.
PLATAFORMA INFINITE MARIO BROS

   ¿A qué se enfrentará el Agente?

Posibles tipos de enemigos:
PLATAFORMA INFINITE MARIO BROS

   ¿A qué se enfrentará el Agente?

Precipicios y Estancamientos
ÍNDICE

1. INTRODUCCIÓN
2. PLATAFORMA INFITE MARIO
  BROS
3. DISEÑO DEL AGENTE Y
  RESULTADOS
4. CONCLUSIÓN Y DEMOS
DISEÑO DEL AGENTE Y RESULTADOS

              Introducción a los AGs

  Función fitness:

 Establece las bases para encontrar una solución óptima a
  un determinado problema estableciendo los individuos
  más adecuados a un determinado problema.

 La función de fitness depende del problema concreto que
  se esté abordando.
DISEÑO DEL AGENTE Y RESULTADOS

        Introducción a los AGs
Operadores Genéticos:
   Operador de Selección    Cruce
        Ruleta                  Simple o de un punto
        Jerárquica              De dos puntos (DPX)
        Torneo                  Multipunto
   Mutación                     Uniforme
DISEÑO DEL AGENTE Y RESULTADOS

           Introducción a los AGs
Pasos de un AG
   Inicializar una población de N individuos aleatoriamente
   Calcular la función fitness
   Crear una nueva población a partir de la existente:
           Seleccionando los individuos con fitness más elevado
            como padres
           Generar nuevos individuos a partir de los operadores
            genéticos de cruce y mutación
   Evaluar la nueva población para obtener su fitness
   Si se satisface la condición de parada se termina sino se
    repiten estos últimos tres pasos.
DISEÑO DEL AGENTE Y RESULTADOS

        Introducción a los AGs
Pasos de un AG
DISEÑO DEL AGENTE Y RESULTADOS

        1ª Aprox. AGs basados en Reglas
  Estructura del programa
Crear la matriz de cromosomas aleatoria
 Desde 0 hasta numeroGeneraciones-1
     Desde 0 hasta tamañoPoblación-1
         Ejecutamos el Agente/s con el cromosoma de la matriz
    correspondiente
         Evaluamos al Agente aplicando la función fitness
         Ordenamos los cromosomas según su fitness de mayor a menor
         Aplicamos los operadores de Selección, Cruce y Mutación
     Repetir hasta evaluar todos los cromosomas
 Sino se ha conseguido convergencia repetir el AG
DISEÑO DEL AGENTE Y RESULTADOS

   1ª Aprox. AGs basados en Reglas
Codificación del individuo
DISEÑO DEL AGENTE Y RESULTADOS

    1ª Aprox. AGs basados en Reglas
Función fitness

fItness = estadoMario*1024 + modoMario*32 + monedas*16 +
muertes*42 +distancia*1 +tiempo*8
DISEÑO DEL AGENTE Y RESULTADOS

   1ª Aprox. AGs basados en Reglas
Cruce
DISEÑO DEL AGENTE Y RESULTADOS

   1ª Aprox. AGs basados en Reglas
Mutación
DISEÑO DEL AGENTE Y RESULTADOS

    1ª Aprox. AGs basados en Reglas
Primera versión: Conjunto de reglas elevado.
Evaluación del individuo mediante la función
fitness en cada tick.
Segunda versión: Reducido conjunto de reglas.
Evaluación del individuo mediante la función
fitness tras finalizar la pista o morir.
Tercera versión: Conjunto de reglas algo mayor
que en la segunda versión. Evaluación del
individuo mediante la función fitness tras finalizar
la pista o morir.
DISEÑO DEL AGENTE Y RESULTADOS

    1ª Aprox. AGs basados en Reglas
Algunos de los problemas encontrados:
  En la mayoría de las situaciones el Agente toma la acción de la
  regla por defecto
  La acción para una determinada regla cambia de un nivel de
  dificultad a otro
  Estancamiento complejos
  Matriz de observación introduce incertidumbre
DISEÑO DEL AGENTE Y RESULTADOS

    1ª Aprox. AGs basados en Reglas
Resultados para los niveles de dificultad testados:

                                    Dificultad 1


                     Dificultad 0




                                             Dificultad 2
DISEÑO DEL AGENTE Y RESULTADOS

       2ª Aprox. AGs basados en FSM
Las FSM se caracterizan por:
   Estar formadas por un conjunto finitos de estados
   Las transiciones entre estados las determina una nueva entrada al sistema
   El estado de salida depende de la nueva entrada y del estado inicial en el
   que nos encontrabamos
Ventajas:
   Son intuitivas y simples de implementar y diseñar
   La teoría subyacente está formalizada
   Han sido probadas para implementar la IA en diversos juegos
Desventajas:
   Su diseño no puede modificarse en ejecución
   Si hay muchos estados pueden llegar a ser complejas
DISEÑO DEL AGENTE Y RESULTADOS

      2ª Aprox. AGs basados en FSM
Estructura de la FSM implementada: Estados posibles
DISEÑO DEL AGENTE Y RESULTADOS

      2ª Aprox. AGs basados en FSM
Estructura de la FSM implementada: Estados posibles
DISEÑO DEL AGENTE Y RESULTADOS

     2ª Aprox. AGs basados en FSM
Estructura de la FSM implementada: Cruce
DISEÑO DEL AGENTE Y RESULTADOS

       2ª Aprox. AGs basados en FSM
Estructura de la FSM implementada: Mutación
  De granularidad baja
  De granularidad elevada
  Nueva mutación gen a gen
DISEÑO DEL AGENTE Y RESULTADOS

      2ª Aprox. AGs basados en FSM
Estructura de la FSM implementada: Función fitness

  Valor de fitness acotado
  Se da mucha importancia a los individuos que han superado el
  nivel
  Los individuos que han muerto por time out o precipicios son
  penalizados con la peor puntuación
  Los individuos que han muerto por colisiones con enemigos
  obtendrán fitness negativo. Su grado de negatividad dependerá de
  la actuación que hayan tenido
DISEÑO DEL AGENTE Y RESULTADOS

      2ª Aprox. AGs basados en FSM
Implementación monosemilla
  Cruce: En caso de conflicto en las tablas se elige siempre al
  individuo seleccionado previamente como dominante
  La mutación que mejor funciona es la mutación de granularidad
  elevada
  Cada individuo se evalúa en una determinada pista
  El Agente evoluciona en subniveles cada vez de mayor tamaño
  Posibilidad de repetir un determinado subnivel
  El porcentaje de individuos aleatorios es una exponencial
  decreciente
  Se realiza una selección de individuos en base a la función fitness
  genérica
DISEÑO DEL AGENTE Y RESULTADOS

      2ª Aprox. AGs basados en FSM
Implementación multisemilla
  Cruce: En caso de conflicto en las tablas se elige
  equiprobablemente entre cada uno de los dos progenitores
  Nueva mutación realizada gen a gen
  El Agente evoluciona un único tamaño de pista
  Cada individuo es evaluado en un número N de pistas aleatorias
  El porcentaje de individuos aleatorios es constante
  Se realiza una selección de individuos por torneo evaluando en
  cascada tres variables de su fitness:
     Porcentaje de escenarios en los que el individuo se ha atascado o caído por
     precipicio
     Porcentaje de niveles superados
     Valor de fitness genérico
DISEÑO DEL AGENTE Y RESULTADOS

     2ª Aprox. AGs basados en FSM
Limitaciones encontradas
  Tiempo requerido para obtener el Agente evolucionado
DISEÑO DEL AGENTE Y RESULTADOS

     2ª Aprox. AGs basados en FSM
Limitaciones encontradas
  Memoria requerida para la evolución
DISEÑO DEL AGENTE Y RESULTADOS

      2ª Aprox. AGs basados en FSM
Limitaciones encontradas
   Numero de valores que comprenden la entrada del sistema
   El factor delimitante, en monosemilla, para alcanzar convergencia es el
   tamaño de población.
    El factor delimitante para obtener convergencia en multisemilla es el
   número de generaciones
ÍNDICE

1. INTRODUCCIÓN
2. ESTRUCTURA DEL PROYECTO
3. HERRAMIENTAS UTILIZADAS
4. INTERACTIVIDAD
5. CONCLUSIÓN Y DEMOS
CONCLUSIÓN
Se ha conseguido el objetivo de desarrollar un Agente autónomo a través
de dos aproximaciones: AGs basados en Reglas y AGs basados en FSM.
En el proceso se ha observado la problemática que conlleva desarrollar un
Agente inteligente:
   Implementación de métodos que proporcionen información sobre el entorno al Agente
   Importancia de la implementación de una buena función fitness
   Importancia de los operadores genéticos
En el enfoque basado en Reglas se tuvo que llegar a un compromiso entre
el espacio de búsqueda y el tiempo necesario para la convergencia
En el enfoque basado en FSM se tuvo problemas con el espacio en
memoria requerido y el tiempo para obtener la convergencia
Como posible investigación futura se podría realizar un Agente
especializado en un único nivel de dificultad en el cual se evolucionara tan
solo una parte de los métodos que lo controlen, así aunque no se obtuviera
el mejor Agente de todos los tiempos, quedaría reducido el espacio de
búsqueda y el tiempo de ejecución.
DEMOS

Nivel de dificultad 1

Nivel de dificultad 2

Nivel de dificultad 3

Nivel de dificultad 12, problema con la seta de vida

Nivel de dificultad 12
Saltar la Bibliografía y terminar
BIBLIOGRAFÍA
[1] “<<Juego>>
     [En línea] http://es.wikipedia.org/wiki/Juego
[2] <<Videojuego>>
     [En línea] http://es.wikipedia.org/wiki/Videojuego
[3] <<Historia de los videojuegos>>
     [En línea] http://es.wikipedia.org/wiki/Historia_de_los_videojuegos
[4] <<History of video games>>
     [En línea] http://en.wikipedia.org/wiki/History_of_video_games
[5] <<Top 10 Most Influential AI Games>>
     Article: Alex J. Champandard
     [En línea] http://aigamedev.com/open/highlights/top-ai-games/
[6] <<Non Player Characters>>
     [En línea] http://redesneuronales.wikispaces.com/NON+PLAYER+CHARACTERS
 [7] Alfredo González González; Omar Baqueiro Espinosa, Emmanuel Meza Cota
     Universidad Autónoma de Baja California Sur. Departamento de Sistemas Computacionales
     <<Metodologías de la I.A. (Agentes autónomos y Redes neuronales Supervisadas) aplicadas a
     NPCs (Non player characters)>>
     [En línea] http://www.redcientifica.com/doc/doc200401210112.htm
BIBLIOGRAFÍA

[8] Stuart J. Russell y Peter Norvig
    «Artificial Intelligence: A Modern Approach», Second Edition
    Pearson Prentice Hall, 2004
[9] <<Artificial intelligence (video games)>>
    [En línea] http://en.wikipedia.org/wiki/Game_artificial_intelligence
[10] <<Apuntes de la Asignatura Inteligencia Artificial>>
    4º Curso Ingeniería Informática Universidad de Granada
[11] <<Mario AI Championship: GamePlay track. 2011>>
    Julian Togelius, Sergey Karakovskiy and Robin Baumgarten
    [En línea] http://www.marioai.com/gameplay-track
[12]<<Mario AI Competition. 2009>>
    Sergey Karakovskiy and Julian Togelius
    [En línea] http://julian.togelius.com/mariocompetition2009/submitting.php
[13]<<Super Mario Evolution>>
    Julian Togelius, Sergey Karakovskiy, Jan Koutn´ik and J¨urgen Schmidhuber
    [En línea] http://julian.togelius.com/Togelius2009Super.pdf
[14]<<Super Mario Bros. Del juego, a las competiciones de "científicos" aburridos>>
    Antonio Mora
    [En línea] http://www.slideshare.net/Slidemora/super-mario-quien-es-y-las-mario-ai-competitions
BIBLIOGRAFÍA

[15] <<REALM: A Rule-Based Evolutionary Computation Agent that Learns to Play Mario>>
    Slawomir Bojarski and Clare Bates Congdon
    2010 IEEE Conference on Computational Intelligence and Games
    [En línea] http://www.google.es/url?sa=t&rct=j&q=realm%3A%20a%20rule-
    based%20evolutionary%20computation%20agent%20that%20learns%20to%20play%20mario%
    20pdf&source=web&cd=1&cad=rja&ved=0CCYQFjAA&url=http%3A%2F%2Fciteseerx.ist.psu.edu
    %2Fviewdoc%2Fdownload%3Fdoi%3D10.1.1.173.4586%26rep%3Drep1%26type%3Dpdf&ei=T
    HhCUKTWLNG4hAe1t4HoDw&usg=AFQjCNHtRZwwEC3yoa1YWAN_mtGA-USCeg
[16] «Mario AI Benchmark. AI and Machine Learning Experiments based on Super Mario Bros.»
    J. Togelius, S. Karakovskiy, T. Schaul y J. Koutnik
    [En línea] http://code.google.com/p/marioai/
[17] <<Personal Page: Julian Togelius>>
    [En línea] http://julian.togelius.com/
[18]<<Super Mario Bros.>>
    [En línea] http://es.wikipedia.org/wiki/Super_Mario_Bros.
[19]<<Miyamoto, el padre de Mario Bros, Premio Príncipe de Asturias de Comunicación>>
    [En línea] http://www.rtve.es/noticias/20120523/miyamoto-padre-mario-bros-premio-principe-
    asturias-comunicacion/531163.shtml
BIBLIOGRAFÍA
[20] <<Infinite Mario AI - Long Level. Algorithm A*>>
    [En línea]
    http://www.youtube.com/watch?feature=player_detailpage&v=DlkMs4ZHHr8
[21] <<Mario AI - a comparison. Algorithm A*>>
    [En línea] http://www.youtube.com/watch?v=j7ckTMLIwpE&feature=related
 [22] <<A Field Guide to Genetic Programming>>
    Riccardo Poli, William B. Langdon, Nicholas F. McPhee, John R. Koza
    March 2008
[23] <<Evolutionary algorithms in theory and practice : evolution strategies, evolutionary
    programming, genetic algorithms>>
    Back, Thomas
    Oxford University Press , 1996
[24]<<Genetic Programming. On the Programming of Computers by Means of Natural Selection>>
    John R. Koza
    The MIT Press, 1998

[25]<<Tutorial de Informática Evolutiva>>
    Juan Julian Merelo Guervos
    [En línea] http://geneura.ugr.es/~jmerelo/ie/
BIBLIOGRAFÍA
[26]<<Apuntes de la Asignatura Algorítmica>
    4º Curso Ingeniería Informática
    Universidad de Granada

[27]<<Apuntes de la Asignatura Bioinformática>
    5º Curso Ingeniería Informática
    Universidad de Granada
[28]<<Introduction To Automata Theory, Languages and Computation>>
    John E. Hopcroft, Jeffrey D. Ullman
    Addison Wesley, 1979
[29]<<Theory Of Finite Automata With An Introduction To Formal Languages>>
    John Carroll, Darrel Long
    Prentice-Hall International , 1989
 [30]<<Teoría de la Computación. Lenguajes Formales, Autómatas y Complejidad>>
    J. Glenn Brookshear
    Addison Wesley Iberoamericana , 1993
[31]<<Programming Game AI by Example>>
    Mat Buckland
    Wordware Publishing, Inc. 2005
BIBLIOGRAFÍA
[32]<<Curso de Programacion de Juegos 2D>>
    [En línea] http://www.aprenderpython.com
 [33]<<Thesis Smaller Footprint for Java Collections>>
    Yuval Shimron
    [En línea] http://www.cs.technion.ac.il/users/wwwb/cgi-bin/tr-get.cgi/2012/MSC/MSC-2012-
    05.pdf
 [34]<<JavaTM How to Program>>
    H. M. Deitel - Deitel & Associates, Inc., P. J.Deitel - Deitel & Associates
    Prentice Hall, 2006
 [35] <<Evolving a Mario Agent Using Cuckoo Search and Softmax Heuristics>>
    E.R. Speed – 2nd International IEEE Consumer Electronics Society’s Games Innovations
    Conference, 210.
[36] <<La historia de Super Mario Bros, los hechos detrás del juego.>>
      [En línea] http://www.guayageek.com/2012/09/la-historia-de-super-mario-bros-los.html
Gracias por la atención!

Más contenido relacionado

Similar a Diseño y Análisis Agente autónomo videojuego Super Mario Bros

Memoria intermedia
Memoria intermediaMemoria intermedia
Memoria intermediasinchan607
 
Sistema de Estadísticas para Golf - AG Golf
Sistema de Estadísticas para Golf - AG GolfSistema de Estadísticas para Golf - AG Golf
Sistema de Estadísticas para Golf - AG GolfAndres Gotta
 
Exp BúSqueda Entre Adversarios
Exp BúSqueda Entre AdversariosExp BúSqueda Entre Adversarios
Exp BúSqueda Entre AdversariosDiana
 
Tutorial para el uso del software vargus (Roscas)
Tutorial para el uso del software vargus (Roscas)Tutorial para el uso del software vargus (Roscas)
Tutorial para el uso del software vargus (Roscas)EverMaunas
 

Similar a Diseño y Análisis Agente autónomo videojuego Super Mario Bros (8)

Memoria intermedia
Memoria intermediaMemoria intermedia
Memoria intermedia
 
Sistema de Estadísticas para Golf - AG Golf
Sistema de Estadísticas para Golf - AG GolfSistema de Estadísticas para Golf - AG Golf
Sistema de Estadísticas para Golf - AG Golf
 
Exp BúSqueda Entre Adversarios
Exp BúSqueda Entre AdversariosExp BúSqueda Entre Adversarios
Exp BúSqueda Entre Adversarios
 
Quiroptero
QuiropteroQuiroptero
Quiroptero
 
Tarea 4
Tarea 4Tarea 4
Tarea 4
 
A G's
A G'sA G's
A G's
 
Maeb2015 - GPBot
Maeb2015   - GPBotMaeb2015   - GPBot
Maeb2015 - GPBot
 
Tutorial para el uso del software vargus (Roscas)
Tutorial para el uso del software vargus (Roscas)Tutorial para el uso del software vargus (Roscas)
Tutorial para el uso del software vargus (Roscas)
 

Último

Diapositivas unidad de trabajo 7 sobre Coloración temporal y semipermanente
Diapositivas unidad de trabajo 7 sobre Coloración temporal y semipermanenteDiapositivas unidad de trabajo 7 sobre Coloración temporal y semipermanente
Diapositivas unidad de trabajo 7 sobre Coloración temporal y semipermanenteinmaculadatorressanc
 
Realitat o fake news? – Què causa el canvi climàtic? - La desertització
Realitat o fake news? – Què causa el canvi climàtic? - La desertitzacióRealitat o fake news? – Què causa el canvi climàtic? - La desertització
Realitat o fake news? – Què causa el canvi climàtic? - La desertitzacióPere Miquel Rosselló Espases
 
PLAN LECTOR QUINTO 2023 educación primaria de menores Quinto grado
PLAN LECTOR QUINTO 2023  educación primaria de menores Quinto gradoPLAN LECTOR QUINTO 2023  educación primaria de menores Quinto grado
PLAN LECTOR QUINTO 2023 educación primaria de menores Quinto gradoSantosprez2
 
GOBIERNO DE MANUEL ODRIA EL OCHENIO.pptx
GOBIERNO DE MANUEL ODRIA   EL OCHENIO.pptxGOBIERNO DE MANUEL ODRIA   EL OCHENIO.pptx
GOBIERNO DE MANUEL ODRIA EL OCHENIO.pptxJaimeAlvarado78
 
En un aposento alto himno _letra y acordes.pdf
En un aposento alto himno _letra y acordes.pdfEn un aposento alto himno _letra y acordes.pdf
En un aposento alto himno _letra y acordes.pdfAni Ann
 
novelas-cortas--3.pdf Analisis introspectivo y retrospectivo, sintesis
novelas-cortas--3.pdf Analisis introspectivo y retrospectivo, sintesisnovelas-cortas--3.pdf Analisis introspectivo y retrospectivo, sintesis
novelas-cortas--3.pdf Analisis introspectivo y retrospectivo, sintesisPsicClinGlendaBerrez
 
Lecciones 07 Esc. Sabática. Motivados por la esperanza
Lecciones 07 Esc. Sabática. Motivados por la esperanzaLecciones 07 Esc. Sabática. Motivados por la esperanza
Lecciones 07 Esc. Sabática. Motivados por la esperanzaAlejandrino Halire Ccahuana
 
ACERTIJO CÁLCULOS MATEMÁGICOS EN LA CARRERA OLÍMPICA. Por JAVIER SOLIS NOYOLA
ACERTIJO CÁLCULOS MATEMÁGICOS EN LA CARRERA OLÍMPICA. Por JAVIER SOLIS NOYOLAACERTIJO CÁLCULOS MATEMÁGICOS EN LA CARRERA OLÍMPICA. Por JAVIER SOLIS NOYOLA
ACERTIJO CÁLCULOS MATEMÁGICOS EN LA CARRERA OLÍMPICA. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
Comunidades Virtuales de Aprendizaje Caracteristicas.pptx
Comunidades Virtuales de Aprendizaje Caracteristicas.pptxComunidades Virtuales de Aprendizaje Caracteristicas.pptx
Comunidades Virtuales de Aprendizaje Caracteristicas.pptxJunkotantik
 
ACTIVIDAD 19 Construyo mi identidad personal y familiar para fortalecer los v...
ACTIVIDAD 19 Construyo mi identidad personal y familiar para fortalecer los v...ACTIVIDAD 19 Construyo mi identidad personal y familiar para fortalecer los v...
ACTIVIDAD 19 Construyo mi identidad personal y familiar para fortalecer los v...MarcoAntonioAmayaSag
 
MINEDU BASES JUEGOS ESCOLARES DEPORTIVOS PARADEPORTIVOS 2024.docx
MINEDU BASES JUEGOS ESCOLARES DEPORTIVOS PARADEPORTIVOS 2024.docxMINEDU BASES JUEGOS ESCOLARES DEPORTIVOS PARADEPORTIVOS 2024.docx
MINEDU BASES JUEGOS ESCOLARES DEPORTIVOS PARADEPORTIVOS 2024.docxLorenaHualpachoque
 
a propósito del estado su relevancia y definiciones
a propósito del estado su relevancia y definicionesa propósito del estado su relevancia y definiciones
a propósito del estado su relevancia y definicionessubfabian
 
TEMA EGIPTO.pdf. Presentación civilización
TEMA EGIPTO.pdf. Presentación civilizaciónTEMA EGIPTO.pdf. Presentación civilización
TEMA EGIPTO.pdf. Presentación civilizaciónVasallo1
 
RESOLUCION_VICE_MINISTERIAL-00048-2024-M-EVALUACIÓN EVALAUCION FORMATIVA MINE...
RESOLUCION_VICE_MINISTERIAL-00048-2024-M-EVALUACIÓN EVALAUCION FORMATIVA MINE...RESOLUCION_VICE_MINISTERIAL-00048-2024-M-EVALUACIÓN EVALAUCION FORMATIVA MINE...
RESOLUCION_VICE_MINISTERIAL-00048-2024-M-EVALUACIÓN EVALAUCION FORMATIVA MINE...helmer del pozo cruz
 
Estrategia Nacional de Refuerzo Escolar SJA Ccesa007.pdf
Estrategia Nacional de Refuerzo Escolar  SJA  Ccesa007.pdfEstrategia Nacional de Refuerzo Escolar  SJA  Ccesa007.pdf
Estrategia Nacional de Refuerzo Escolar SJA Ccesa007.pdfDemetrio Ccesa Rayme
 
EL CARDENALITO Lengua y Literatura de 6 grado
EL CARDENALITO Lengua y Literatura de 6 gradoEL CARDENALITO Lengua y Literatura de 6 grado
EL CARDENALITO Lengua y Literatura de 6 gradomartanuez15
 
Tema 9. Roma. 1º ESO 2014. Ciencias SOciales
Tema 9. Roma. 1º ESO 2014. Ciencias SOcialesTema 9. Roma. 1º ESO 2014. Ciencias SOciales
Tema 9. Roma. 1º ESO 2014. Ciencias SOcialesChema R.
 
4. MATERIALES QUE SE EMPLEAN EN LAS ESTRUCTURAS.pptx
4. MATERIALES QUE SE EMPLEAN EN LAS ESTRUCTURAS.pptx4. MATERIALES QUE SE EMPLEAN EN LAS ESTRUCTURAS.pptx
4. MATERIALES QUE SE EMPLEAN EN LAS ESTRUCTURAS.pptxnelsontobontrujillo
 

Último (20)

Diapositivas unidad de trabajo 7 sobre Coloración temporal y semipermanente
Diapositivas unidad de trabajo 7 sobre Coloración temporal y semipermanenteDiapositivas unidad de trabajo 7 sobre Coloración temporal y semipermanente
Diapositivas unidad de trabajo 7 sobre Coloración temporal y semipermanente
 
Realitat o fake news? – Què causa el canvi climàtic? - La desertització
Realitat o fake news? – Què causa el canvi climàtic? - La desertitzacióRealitat o fake news? – Què causa el canvi climàtic? - La desertització
Realitat o fake news? – Què causa el canvi climàtic? - La desertització
 
¿Que es Fuerza? online 2024 Repaso CRECE.pptx
¿Que es Fuerza? online 2024 Repaso CRECE.pptx¿Que es Fuerza? online 2024 Repaso CRECE.pptx
¿Que es Fuerza? online 2024 Repaso CRECE.pptx
 
PLAN LECTOR QUINTO 2023 educación primaria de menores Quinto grado
PLAN LECTOR QUINTO 2023  educación primaria de menores Quinto gradoPLAN LECTOR QUINTO 2023  educación primaria de menores Quinto grado
PLAN LECTOR QUINTO 2023 educación primaria de menores Quinto grado
 
GOBIERNO DE MANUEL ODRIA EL OCHENIO.pptx
GOBIERNO DE MANUEL ODRIA   EL OCHENIO.pptxGOBIERNO DE MANUEL ODRIA   EL OCHENIO.pptx
GOBIERNO DE MANUEL ODRIA EL OCHENIO.pptx
 
En un aposento alto himno _letra y acordes.pdf
En un aposento alto himno _letra y acordes.pdfEn un aposento alto himno _letra y acordes.pdf
En un aposento alto himno _letra y acordes.pdf
 
novelas-cortas--3.pdf Analisis introspectivo y retrospectivo, sintesis
novelas-cortas--3.pdf Analisis introspectivo y retrospectivo, sintesisnovelas-cortas--3.pdf Analisis introspectivo y retrospectivo, sintesis
novelas-cortas--3.pdf Analisis introspectivo y retrospectivo, sintesis
 
Lecciones 07 Esc. Sabática. Motivados por la esperanza
Lecciones 07 Esc. Sabática. Motivados por la esperanzaLecciones 07 Esc. Sabática. Motivados por la esperanza
Lecciones 07 Esc. Sabática. Motivados por la esperanza
 
ACERTIJO CÁLCULOS MATEMÁGICOS EN LA CARRERA OLÍMPICA. Por JAVIER SOLIS NOYOLA
ACERTIJO CÁLCULOS MATEMÁGICOS EN LA CARRERA OLÍMPICA. Por JAVIER SOLIS NOYOLAACERTIJO CÁLCULOS MATEMÁGICOS EN LA CARRERA OLÍMPICA. Por JAVIER SOLIS NOYOLA
ACERTIJO CÁLCULOS MATEMÁGICOS EN LA CARRERA OLÍMPICA. Por JAVIER SOLIS NOYOLA
 
Comunidades Virtuales de Aprendizaje Caracteristicas.pptx
Comunidades Virtuales de Aprendizaje Caracteristicas.pptxComunidades Virtuales de Aprendizaje Caracteristicas.pptx
Comunidades Virtuales de Aprendizaje Caracteristicas.pptx
 
ACTIVIDAD 19 Construyo mi identidad personal y familiar para fortalecer los v...
ACTIVIDAD 19 Construyo mi identidad personal y familiar para fortalecer los v...ACTIVIDAD 19 Construyo mi identidad personal y familiar para fortalecer los v...
ACTIVIDAD 19 Construyo mi identidad personal y familiar para fortalecer los v...
 
MINEDU BASES JUEGOS ESCOLARES DEPORTIVOS PARADEPORTIVOS 2024.docx
MINEDU BASES JUEGOS ESCOLARES DEPORTIVOS PARADEPORTIVOS 2024.docxMINEDU BASES JUEGOS ESCOLARES DEPORTIVOS PARADEPORTIVOS 2024.docx
MINEDU BASES JUEGOS ESCOLARES DEPORTIVOS PARADEPORTIVOS 2024.docx
 
a propósito del estado su relevancia y definiciones
a propósito del estado su relevancia y definicionesa propósito del estado su relevancia y definiciones
a propósito del estado su relevancia y definiciones
 
TEMA EGIPTO.pdf. Presentación civilización
TEMA EGIPTO.pdf. Presentación civilizaciónTEMA EGIPTO.pdf. Presentación civilización
TEMA EGIPTO.pdf. Presentación civilización
 
RESOLUCION_VICE_MINISTERIAL-00048-2024-M-EVALUACIÓN EVALAUCION FORMATIVA MINE...
RESOLUCION_VICE_MINISTERIAL-00048-2024-M-EVALUACIÓN EVALAUCION FORMATIVA MINE...RESOLUCION_VICE_MINISTERIAL-00048-2024-M-EVALUACIÓN EVALAUCION FORMATIVA MINE...
RESOLUCION_VICE_MINISTERIAL-00048-2024-M-EVALUACIÓN EVALAUCION FORMATIVA MINE...
 
Estrategia Nacional de Refuerzo Escolar SJA Ccesa007.pdf
Estrategia Nacional de Refuerzo Escolar  SJA  Ccesa007.pdfEstrategia Nacional de Refuerzo Escolar  SJA  Ccesa007.pdf
Estrategia Nacional de Refuerzo Escolar SJA Ccesa007.pdf
 
Sesión de clase Motivados por la esperanza.pdf
Sesión de clase Motivados por la esperanza.pdfSesión de clase Motivados por la esperanza.pdf
Sesión de clase Motivados por la esperanza.pdf
 
EL CARDENALITO Lengua y Literatura de 6 grado
EL CARDENALITO Lengua y Literatura de 6 gradoEL CARDENALITO Lengua y Literatura de 6 grado
EL CARDENALITO Lengua y Literatura de 6 grado
 
Tema 9. Roma. 1º ESO 2014. Ciencias SOciales
Tema 9. Roma. 1º ESO 2014. Ciencias SOcialesTema 9. Roma. 1º ESO 2014. Ciencias SOciales
Tema 9. Roma. 1º ESO 2014. Ciencias SOciales
 
4. MATERIALES QUE SE EMPLEAN EN LAS ESTRUCTURAS.pptx
4. MATERIALES QUE SE EMPLEAN EN LAS ESTRUCTURAS.pptx4. MATERIALES QUE SE EMPLEAN EN LAS ESTRUCTURAS.pptx
4. MATERIALES QUE SE EMPLEAN EN LAS ESTRUCTURAS.pptx
 

Diseño y Análisis Agente autónomo videojuego Super Mario Bros

  • 1. Diseño y análisis de un agente autónomo para el juego Super Mario Bros. Proyecto Fin de Carrera Ingeniería de Telecomunicación Rosa Hidalgo Bermúdez
  • 2. ÍNDICE 1. INTRODUCCIÓN 2. PLATAFORMA INFINITE MARIO BROS 3. DISEÑO DEL AGENTE Y RESULTADOS 4. CONCLUSIÓN Y DEMOS
  • 3. ÍNDICE 1. INTRODUCCIÓN 2. PLATAFORMA INFINITE MARIO BROS 3. DISEÑO DEL AGENTE Y RESULTADOS 4. CONCLUSIÓN Y DEMOS
  • 4. INTRODUCCIÓN ¿Por qué la elección de este proyecto? El juego de Mario Bros es mundialmente famoso y se tenían previos conocimientos acerca del juego. El mercado de los videojuegos tiene futuro El mundo de los videojuegos nunca pasará de moda
  • 5. INTRODUCCIÓN ¿Por qué la elección de este proyecto? Existe una plataforma Infinite Mario Bros que es una copia modificada de Super Mario Bros libre y que permite la realización de un Agente mediante alguna técnica de IA Existe la competición creada por los desarrolladores de la plataforma anterior Mario AI Championship:  Gameplay  Turing Test  Learning  Level Generation
  • 6. INTRODUCCIÓN ¿Qué características debe cumplir nuestro Agente? Autonomía Razonamiento Reactividad Aprendizaje Proactividad Planificación Persistencia Inteligencia
  • 7. INTRODUCCIÓN ¿Qué técnicas de IA podrían adaptarse a nuestro objetivo? Máquinas de Estados Finitos Búsqueda de Caminos (Pathfinding) Algorítmos Genéticos y Programación Genética Redes Neuronales Lógica Difusa
  • 8. ÍNDICE 1. INTRODUCCIÓN 2. PLATAFORMA INFINITE MARIO BROS 3. DISEÑO DEL AGENTE Y RESULTADOS 4. CONCLUSIÓN Y DEMOS
  • 9. PLATAFORMA INFINITE MARIO BROS ¿En qué consiste el juego? El juego consiste en mover al personaje, Mario, a través de la pista bidimensional para superar un nivel. Las acciones permitidas que se pueden realizar:  Avanzar a la derecha  Avanzar a la izquierda  Saltar  Agacharse  Disparar/Correr
  • 10. PLATAFORMA INFINITE MARIO BROS ¿En qué consiste el juego? El personaje Mario tiene tres posibles modos:  Fire: Permite 2 toques por colisión de enemigos  Big: Permite 1 toque por colisión de enemigos  Small: Si recibe un toque de un enemigo muere La plataforma usada permite obtener información del entorno a través de dos matrices de 19x19:  Matriz de Observación  Matriz de Enemigos
  • 11. PLATAFORMA INFINITE MARIO BROS ¿En qué consiste el juego?
  • 12. PLATAFORMA INFINITE MARIO BROS ¿A qué se enfrentará el Agente? Posibles tipos de obstáculos con los que se enfrenta el agente:
  • 13. PLATAFORMA INFINITE MARIO BROS ¿A qué se enfrentará el Agente? Objetos beneficiosos para el Agente.
  • 14. PLATAFORMA INFINITE MARIO BROS ¿A qué se enfrentará el Agente? Posibles tipos de enemigos:
  • 15. PLATAFORMA INFINITE MARIO BROS ¿A qué se enfrentará el Agente? Precipicios y Estancamientos
  • 16. ÍNDICE 1. INTRODUCCIÓN 2. PLATAFORMA INFITE MARIO BROS 3. DISEÑO DEL AGENTE Y RESULTADOS 4. CONCLUSIÓN Y DEMOS
  • 17. DISEÑO DEL AGENTE Y RESULTADOS Introducción a los AGs Función fitness:  Establece las bases para encontrar una solución óptima a un determinado problema estableciendo los individuos más adecuados a un determinado problema.  La función de fitness depende del problema concreto que se esté abordando.
  • 18. DISEÑO DEL AGENTE Y RESULTADOS Introducción a los AGs Operadores Genéticos:  Operador de Selección  Cruce  Ruleta  Simple o de un punto  Jerárquica  De dos puntos (DPX)  Torneo  Multipunto  Mutación  Uniforme
  • 19. DISEÑO DEL AGENTE Y RESULTADOS Introducción a los AGs Pasos de un AG  Inicializar una población de N individuos aleatoriamente  Calcular la función fitness  Crear una nueva población a partir de la existente:  Seleccionando los individuos con fitness más elevado como padres  Generar nuevos individuos a partir de los operadores genéticos de cruce y mutación  Evaluar la nueva población para obtener su fitness  Si se satisface la condición de parada se termina sino se repiten estos últimos tres pasos.
  • 20. DISEÑO DEL AGENTE Y RESULTADOS Introducción a los AGs Pasos de un AG
  • 21. DISEÑO DEL AGENTE Y RESULTADOS 1ª Aprox. AGs basados en Reglas Estructura del programa Crear la matriz de cromosomas aleatoria  Desde 0 hasta numeroGeneraciones-1  Desde 0 hasta tamañoPoblación-1  Ejecutamos el Agente/s con el cromosoma de la matriz correspondiente  Evaluamos al Agente aplicando la función fitness  Ordenamos los cromosomas según su fitness de mayor a menor  Aplicamos los operadores de Selección, Cruce y Mutación  Repetir hasta evaluar todos los cromosomas  Sino se ha conseguido convergencia repetir el AG
  • 22. DISEÑO DEL AGENTE Y RESULTADOS 1ª Aprox. AGs basados en Reglas Codificación del individuo
  • 23. DISEÑO DEL AGENTE Y RESULTADOS 1ª Aprox. AGs basados en Reglas Función fitness fItness = estadoMario*1024 + modoMario*32 + monedas*16 + muertes*42 +distancia*1 +tiempo*8
  • 24. DISEÑO DEL AGENTE Y RESULTADOS 1ª Aprox. AGs basados en Reglas Cruce
  • 25. DISEÑO DEL AGENTE Y RESULTADOS 1ª Aprox. AGs basados en Reglas Mutación
  • 26. DISEÑO DEL AGENTE Y RESULTADOS 1ª Aprox. AGs basados en Reglas Primera versión: Conjunto de reglas elevado. Evaluación del individuo mediante la función fitness en cada tick. Segunda versión: Reducido conjunto de reglas. Evaluación del individuo mediante la función fitness tras finalizar la pista o morir. Tercera versión: Conjunto de reglas algo mayor que en la segunda versión. Evaluación del individuo mediante la función fitness tras finalizar la pista o morir.
  • 27. DISEÑO DEL AGENTE Y RESULTADOS 1ª Aprox. AGs basados en Reglas Algunos de los problemas encontrados: En la mayoría de las situaciones el Agente toma la acción de la regla por defecto La acción para una determinada regla cambia de un nivel de dificultad a otro Estancamiento complejos Matriz de observación introduce incertidumbre
  • 28. DISEÑO DEL AGENTE Y RESULTADOS 1ª Aprox. AGs basados en Reglas Resultados para los niveles de dificultad testados: Dificultad 1 Dificultad 0 Dificultad 2
  • 29. DISEÑO DEL AGENTE Y RESULTADOS 2ª Aprox. AGs basados en FSM Las FSM se caracterizan por: Estar formadas por un conjunto finitos de estados Las transiciones entre estados las determina una nueva entrada al sistema El estado de salida depende de la nueva entrada y del estado inicial en el que nos encontrabamos Ventajas: Son intuitivas y simples de implementar y diseñar La teoría subyacente está formalizada Han sido probadas para implementar la IA en diversos juegos Desventajas: Su diseño no puede modificarse en ejecución Si hay muchos estados pueden llegar a ser complejas
  • 30. DISEÑO DEL AGENTE Y RESULTADOS 2ª Aprox. AGs basados en FSM Estructura de la FSM implementada: Estados posibles
  • 31. DISEÑO DEL AGENTE Y RESULTADOS 2ª Aprox. AGs basados en FSM Estructura de la FSM implementada: Estados posibles
  • 32. DISEÑO DEL AGENTE Y RESULTADOS 2ª Aprox. AGs basados en FSM Estructura de la FSM implementada: Cruce
  • 33. DISEÑO DEL AGENTE Y RESULTADOS 2ª Aprox. AGs basados en FSM Estructura de la FSM implementada: Mutación De granularidad baja De granularidad elevada Nueva mutación gen a gen
  • 34. DISEÑO DEL AGENTE Y RESULTADOS 2ª Aprox. AGs basados en FSM Estructura de la FSM implementada: Función fitness Valor de fitness acotado Se da mucha importancia a los individuos que han superado el nivel Los individuos que han muerto por time out o precipicios son penalizados con la peor puntuación Los individuos que han muerto por colisiones con enemigos obtendrán fitness negativo. Su grado de negatividad dependerá de la actuación que hayan tenido
  • 35. DISEÑO DEL AGENTE Y RESULTADOS 2ª Aprox. AGs basados en FSM Implementación monosemilla Cruce: En caso de conflicto en las tablas se elige siempre al individuo seleccionado previamente como dominante La mutación que mejor funciona es la mutación de granularidad elevada Cada individuo se evalúa en una determinada pista El Agente evoluciona en subniveles cada vez de mayor tamaño Posibilidad de repetir un determinado subnivel El porcentaje de individuos aleatorios es una exponencial decreciente Se realiza una selección de individuos en base a la función fitness genérica
  • 36. DISEÑO DEL AGENTE Y RESULTADOS 2ª Aprox. AGs basados en FSM Implementación multisemilla Cruce: En caso de conflicto en las tablas se elige equiprobablemente entre cada uno de los dos progenitores Nueva mutación realizada gen a gen El Agente evoluciona un único tamaño de pista Cada individuo es evaluado en un número N de pistas aleatorias El porcentaje de individuos aleatorios es constante Se realiza una selección de individuos por torneo evaluando en cascada tres variables de su fitness: Porcentaje de escenarios en los que el individuo se ha atascado o caído por precipicio Porcentaje de niveles superados Valor de fitness genérico
  • 37. DISEÑO DEL AGENTE Y RESULTADOS 2ª Aprox. AGs basados en FSM Limitaciones encontradas Tiempo requerido para obtener el Agente evolucionado
  • 38. DISEÑO DEL AGENTE Y RESULTADOS 2ª Aprox. AGs basados en FSM Limitaciones encontradas Memoria requerida para la evolución
  • 39. DISEÑO DEL AGENTE Y RESULTADOS 2ª Aprox. AGs basados en FSM Limitaciones encontradas Numero de valores que comprenden la entrada del sistema El factor delimitante, en monosemilla, para alcanzar convergencia es el tamaño de población. El factor delimitante para obtener convergencia en multisemilla es el número de generaciones
  • 40. ÍNDICE 1. INTRODUCCIÓN 2. ESTRUCTURA DEL PROYECTO 3. HERRAMIENTAS UTILIZADAS 4. INTERACTIVIDAD 5. CONCLUSIÓN Y DEMOS
  • 41. CONCLUSIÓN Se ha conseguido el objetivo de desarrollar un Agente autónomo a través de dos aproximaciones: AGs basados en Reglas y AGs basados en FSM. En el proceso se ha observado la problemática que conlleva desarrollar un Agente inteligente: Implementación de métodos que proporcionen información sobre el entorno al Agente Importancia de la implementación de una buena función fitness Importancia de los operadores genéticos En el enfoque basado en Reglas se tuvo que llegar a un compromiso entre el espacio de búsqueda y el tiempo necesario para la convergencia En el enfoque basado en FSM se tuvo problemas con el espacio en memoria requerido y el tiempo para obtener la convergencia Como posible investigación futura se podría realizar un Agente especializado en un único nivel de dificultad en el cual se evolucionara tan solo una parte de los métodos que lo controlen, así aunque no se obtuviera el mejor Agente de todos los tiempos, quedaría reducido el espacio de búsqueda y el tiempo de ejecución.
  • 42. DEMOS Nivel de dificultad 1 Nivel de dificultad 2 Nivel de dificultad 3 Nivel de dificultad 12, problema con la seta de vida Nivel de dificultad 12
  • 44. BIBLIOGRAFÍA [1] “<<Juego>> [En línea] http://es.wikipedia.org/wiki/Juego [2] <<Videojuego>> [En línea] http://es.wikipedia.org/wiki/Videojuego [3] <<Historia de los videojuegos>> [En línea] http://es.wikipedia.org/wiki/Historia_de_los_videojuegos [4] <<History of video games>> [En línea] http://en.wikipedia.org/wiki/History_of_video_games [5] <<Top 10 Most Influential AI Games>> Article: Alex J. Champandard [En línea] http://aigamedev.com/open/highlights/top-ai-games/ [6] <<Non Player Characters>> [En línea] http://redesneuronales.wikispaces.com/NON+PLAYER+CHARACTERS [7] Alfredo González González; Omar Baqueiro Espinosa, Emmanuel Meza Cota Universidad Autónoma de Baja California Sur. Departamento de Sistemas Computacionales <<Metodologías de la I.A. (Agentes autónomos y Redes neuronales Supervisadas) aplicadas a NPCs (Non player characters)>> [En línea] http://www.redcientifica.com/doc/doc200401210112.htm
  • 45. BIBLIOGRAFÍA [8] Stuart J. Russell y Peter Norvig «Artificial Intelligence: A Modern Approach», Second Edition Pearson Prentice Hall, 2004 [9] <<Artificial intelligence (video games)>> [En línea] http://en.wikipedia.org/wiki/Game_artificial_intelligence [10] <<Apuntes de la Asignatura Inteligencia Artificial>> 4º Curso Ingeniería Informática Universidad de Granada [11] <<Mario AI Championship: GamePlay track. 2011>> Julian Togelius, Sergey Karakovskiy and Robin Baumgarten [En línea] http://www.marioai.com/gameplay-track [12]<<Mario AI Competition. 2009>> Sergey Karakovskiy and Julian Togelius [En línea] http://julian.togelius.com/mariocompetition2009/submitting.php [13]<<Super Mario Evolution>> Julian Togelius, Sergey Karakovskiy, Jan Koutn´ik and J¨urgen Schmidhuber [En línea] http://julian.togelius.com/Togelius2009Super.pdf [14]<<Super Mario Bros. Del juego, a las competiciones de "científicos" aburridos>> Antonio Mora [En línea] http://www.slideshare.net/Slidemora/super-mario-quien-es-y-las-mario-ai-competitions
  • 46. BIBLIOGRAFÍA [15] <<REALM: A Rule-Based Evolutionary Computation Agent that Learns to Play Mario>> Slawomir Bojarski and Clare Bates Congdon 2010 IEEE Conference on Computational Intelligence and Games [En línea] http://www.google.es/url?sa=t&rct=j&q=realm%3A%20a%20rule- based%20evolutionary%20computation%20agent%20that%20learns%20to%20play%20mario% 20pdf&source=web&cd=1&cad=rja&ved=0CCYQFjAA&url=http%3A%2F%2Fciteseerx.ist.psu.edu %2Fviewdoc%2Fdownload%3Fdoi%3D10.1.1.173.4586%26rep%3Drep1%26type%3Dpdf&ei=T HhCUKTWLNG4hAe1t4HoDw&usg=AFQjCNHtRZwwEC3yoa1YWAN_mtGA-USCeg [16] «Mario AI Benchmark. AI and Machine Learning Experiments based on Super Mario Bros.» J. Togelius, S. Karakovskiy, T. Schaul y J. Koutnik [En línea] http://code.google.com/p/marioai/ [17] <<Personal Page: Julian Togelius>> [En línea] http://julian.togelius.com/ [18]<<Super Mario Bros.>> [En línea] http://es.wikipedia.org/wiki/Super_Mario_Bros. [19]<<Miyamoto, el padre de Mario Bros, Premio Príncipe de Asturias de Comunicación>> [En línea] http://www.rtve.es/noticias/20120523/miyamoto-padre-mario-bros-premio-principe- asturias-comunicacion/531163.shtml
  • 47. BIBLIOGRAFÍA [20] <<Infinite Mario AI - Long Level. Algorithm A*>> [En línea] http://www.youtube.com/watch?feature=player_detailpage&v=DlkMs4ZHHr8 [21] <<Mario AI - a comparison. Algorithm A*>> [En línea] http://www.youtube.com/watch?v=j7ckTMLIwpE&feature=related [22] <<A Field Guide to Genetic Programming>> Riccardo Poli, William B. Langdon, Nicholas F. McPhee, John R. Koza March 2008 [23] <<Evolutionary algorithms in theory and practice : evolution strategies, evolutionary programming, genetic algorithms>> Back, Thomas Oxford University Press , 1996 [24]<<Genetic Programming. On the Programming of Computers by Means of Natural Selection>> John R. Koza The MIT Press, 1998 [25]<<Tutorial de Informática Evolutiva>> Juan Julian Merelo Guervos [En línea] http://geneura.ugr.es/~jmerelo/ie/
  • 48. BIBLIOGRAFÍA [26]<<Apuntes de la Asignatura Algorítmica> 4º Curso Ingeniería Informática Universidad de Granada [27]<<Apuntes de la Asignatura Bioinformática> 5º Curso Ingeniería Informática Universidad de Granada [28]<<Introduction To Automata Theory, Languages and Computation>> John E. Hopcroft, Jeffrey D. Ullman Addison Wesley, 1979 [29]<<Theory Of Finite Automata With An Introduction To Formal Languages>> John Carroll, Darrel Long Prentice-Hall International , 1989 [30]<<Teoría de la Computación. Lenguajes Formales, Autómatas y Complejidad>> J. Glenn Brookshear Addison Wesley Iberoamericana , 1993 [31]<<Programming Game AI by Example>> Mat Buckland Wordware Publishing, Inc. 2005
  • 49. BIBLIOGRAFÍA [32]<<Curso de Programacion de Juegos 2D>> [En línea] http://www.aprenderpython.com [33]<<Thesis Smaller Footprint for Java Collections>> Yuval Shimron [En línea] http://www.cs.technion.ac.il/users/wwwb/cgi-bin/tr-get.cgi/2012/MSC/MSC-2012- 05.pdf [34]<<JavaTM How to Program>> H. M. Deitel - Deitel & Associates, Inc., P. J.Deitel - Deitel & Associates Prentice Hall, 2006 [35] <<Evolving a Mario Agent Using Cuckoo Search and Softmax Heuristics>> E.R. Speed – 2nd International IEEE Consumer Electronics Society’s Games Innovations Conference, 210. [36] <<La historia de Super Mario Bros, los hechos detrás del juego.>> [En línea] http://www.guayageek.com/2012/09/la-historia-de-super-mario-bros-los.html
  • 50. Gracias por la atención!