Cómo enseñarle a tu PC a jugar video juegos usando Inteligencia Artificial


El propósito de este artículo es mostrarles la belleza del algoritmo genético en el campo de la inteligencia artificial. En este caso, algo simple para mostrar como aprende a jugar videojuegos para que después de asimilarlo pueda ser aplicado en otros campos más importantes. Como la medicina, biotecnología, etc.

Esta es la primera versión inédita del tutorial, favor de tomar en consideración que este Post va a estar siendo actualizado eventualmente para mejorar la explicación y hacer unas guías que faciliten la comprensión de este mundo de la inteligencia artificial.

 Aquí les muestro los archivos que van a necesitar y las referencias:

El archivo neatevolve.lua (el algoritmo): https://github.com/rodvan/MarI-O/blob/master/NEATEvolve.lua 

Emulador Bizhawk: http://tasvideos.org/Bizhawk.html

Mario Bros World SNES ROM: https://www.emuparadise.me/Super_Nintendo_Entertainment_System_(SNES)_ROMs/Super_Mario_World_(USA)/35787-download

Aquí una lista de todas las aplicaciones de los algoritmos genéticos en el mundo real.

  • Gestión de ingresos de líneas aéreas
  • La creatividad artificial
  • Inserción / detección de marca de agua de audio
  • Diseño automatizado = diseño automatizado
  • Diseño automatizado de sistemas mecatrónicos utilizando gráficos de enlace y programación genética (NSF)
  • Diseño automatizado de equipos industriales utilizando catálogos de modelos de palancas ejemplares
  • Diseño automatizado de sofisticados sistemas de negociación en el sector financiero
  • Diseño automatizado, incluyendo investigación sobre diseño de material compuesto y diseño multiobjetivo de componentes de automoción para resistencia a impactos, ahorro de peso y otras características
  • La inferencia bayesiana vincula a los métodos de partículas en la estadística bayesiana y ocultos modelos de cadena de Markov
  • Bioinformatics Multiple Sequence Alignment
  • Bioinformática: predicción de la estructura del ARN
  • Bioinformática: Motif Discovery
  • Biología y química computacional
  • Construyendo árboles filogenéticos.
  • Cálculo de estados unidos y aproximaciones de densidad local
  • Cinética química (gas [enlace muerto] y fases sólidas)
  • Climatología: Modelando los cambios de temperatura global
  • Climatología: Estimación del flujo de calor entre la atmósfera y el hielo marino
  • Clustering, utilizando algoritmos genéticos para optimizar una amplia gama de diferentes funciones de ajuste [enlace muerto]
  • Código de ruptura, utilizando el GA para buscar espacios de gran solución de cifras para el descifrado correcto.
  • Arquitectura de la computadora: usando GA para encontrar enlaces débiles en computación aproximada como lookahead.
  • Diseño automatizado
  • Aplicaciones de configuración, en particular aplicaciones físicas de configuraciones óptimas de moléculas para sistemas particulares como C60 (buckyballs)
  • Construcción de compuestos faciales de sospechosos por testigos oculares en la ciencia forense.
  • Optimización de la carga de contenedores
  • Ingeniería de control,
  • Centro de datos / granja de servidores.
  • Diseño de sistemas de recursos hídricos
  • Diseño de sistemas antiterrorismo
  • Topologías de redes informáticas distribuidas
  • Diseño de circuitos electrónicos, conocidos como hardware evolutivo
  • Análisis de perfiles de expresión génica.
  • Modelos de Feynman-Kac
  • Matemáticas financieras
  • Asignación de archivos para un sistema distribuido
  • Filtrado y procesamiento de señales
  • Encontrando errores de hardware.
  • Resolución de equilibrio de teoría de juegos
  • Algoritmo genético para la producción de conjuntos de reglas
  • Ciencias económicas
  • Programación de aplicaciones, incluida la programación y la programación de talleres en el montaje de placas de circuito impreso.  El objetivo es programar trabajos en un entorno de configuración dependiente de la secuencia o no dependiente de la secuencia, con el fin de maximizar el volumen de producción y minimizar las penalidades tales como la tardanza. La programación de la comunicación por satélite para la NASA Deep Space Network se demostró que se beneficiaba de los algoritmos genéticos.
  • Redes de monitoreo de aguas subterráneas
  • Aprender el comportamiento del robot usando algoritmos genéticos
  • Procesamiento de imágenes: Densidad de píxeles
  • Aprender la base de reglas difusas usando algoritmos genéticos
  • Análisis lingüístico, incluyendo la inducción de la gramática y otros aspectos del procesamiento del lenguaje natural (PNL), como la desambiguación de sentido de la palabra.
  • Análisis de mezcla de marketing
  • Ingeniería mecánica
  • Medicina: Apoyo de decisión clínica en oftalmología y oncología
  • Optimización de la infraestructura de comunicaciones móviles.
  • Optimización de la estructura molecular (química)
  • Sistemas multidimensionales
  • Optimización multimodal
  • Programación de múltiples criterios de producción
  • Topologías de poblaciones múltiples y metodologías de intercambio
  • Pruebas de mutación
  • Redes neuronales; Particularmente redes neuronales recurrentes
  • Operón predicción.
  • Optimización de sistemas de compresión de datos, por ejemplo utilizando wavelets.
  • Paralelización de GAs / GPs incluyendo el uso de la descomposición jerárquica de los dominios problemáticos y espacios de diseño de anidamiento de formas irregulares utilizando la combinación de características y GAs.
  • Distribución del suelo de la planta
  • Producción del expediente de la música del Pop
  • Diseño de electrónica de potencia.
  • Plegamiento de proteínas y acoplamiento de proteínas / ligandos
  • Control de calidad
  • Análisis de eventos raros
  • Valoración de opciones reales
  • Representar agentes racionales en modelos económicos como el modelo de telaraña
  • Selección del modelo matemático óptimo para describir los sistemas biológicos
  • Ingeniería de software [cita requerida]
  • Solución del problema de agrupación de componentes de máquina requerido para sistemas de fabricación celular
  • Optimización estocástica
  • Asignación táctica de activos y estrategias de equidad internacional
  • Problemas de horario, tales como el diseño de un horario de clase no conflictivo para una gran universidad
  • Entrenamiento de redes neuronales artificiales cuando los ejemplos de entrenamiento pre-clasificados no son fácilmente obtenibles (neuroevolución)
  • Problema del vendedor ambulante y sus aplicaciones
  • Problemas de enrutamiento de vehículos con múltiples ventanas de tiempo suaves, múltiples depósitos y una flota heterogénea
  • Sensor inalámbrico / redes ad-hoc.

Comentarios

comentarios

What's Your Reaction?
Angry Angry
11
Angry
Cute Cute
7
Cute
Fail Fail
11
Fail
Geeky Geeky
10
Geeky
Lol Lol
3
Lol
Love Love
15
Love
OMG OMG
14
OMG
Win Win
6
Win
WTF WTF
9
WTF
Profile photo of rodvan

Desarrollador, Consultor, Fanático de la Ciencia y la Tecnología y Papá Geek. Mi pasión es aprender, innovar y desarrollar.

Cómo enseñarle a tu PC a jugar video juegos usando Inteligencia Artificial

conectarse

Conectate para participar en la comunidad
¿No tienes una cuenta?
registrate

resetea tu contraseña

Back to
conectarse

registrate

ó

Captcha!
Back to
conectarse

Choose post type

News Image List Poll Quiz Video Audio Gallery Playlist