inteligencia artificial en videojuegos - flas · pdf filedefinición de inteligencia...

46
Inteligencia Artificial en Inteligencia Artificial en Videojuegos Videojuegos Javier Alcalá Javier Alcalá Ciclo de conferencias Game Spirit 2 Ciclo de conferencias Game Spirit 2

Upload: vuongngoc

Post on 30-Jan-2018

257 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Inteligencia Artificial en Videojuegos - Flas · PDF fileDefinición de Inteligencia Artificial ... Tipos de agentes inteligentes Agentes Biológicos Agentes Hardware Agentes Inteligentes

Inteligencia Artificial en Inteligencia Artificial en VideojuegosVideojuegos

Javier AlcaláJavier Alcalá

Ciclo de conferencias Game Spirit 2 Ciclo de conferencias Game Spirit 2

Page 2: Inteligencia Artificial en Videojuegos - Flas · PDF fileDefinición de Inteligencia Artificial ... Tipos de agentes inteligentes Agentes Biológicos Agentes Hardware Agentes Inteligentes

Inteligencia Artificial en Videojuegos – Javier Alcalá

2

Definición de Inteligencia ArtificialDefinición de Inteligencia Artificial

► La Inteligencia Artificial (IA) intenta simular la inteligencia La Inteligencia Artificial (IA) intenta simular la inteligencia naturalnatural

► ¿Qué es la inteligencia natural?¿Qué es la inteligencia natural? Según la RAE:Según la RAE:

inteligenciainteligencia(Del lat. (Del lat. intelligentĭaintelligentĭa))

1. 1. f. Capacidad de entender o comprenderf. Capacidad de entender o comprender2. 2. f. Capacidad de resolver problemasf. Capacidad de resolver problemas3. 3. f. Conocimiento, comprensión, acto de entenderf. Conocimiento, comprensión, acto de entender4. 4. f. Sentido en que se puede tomar una sentencia, un dicho o una f. Sentido en que se puede tomar una sentencia, un dicho o una expresiónexpresión5. 5. f. Habilidad, destreza y experienciaf. Habilidad, destreza y experiencia6. 6. f. Trato y correspondencia secreta de dos o más personas o f. Trato y correspondencia secreta de dos o más personas o naciones entre sínaciones entre sí7. 7. f. Sustancia puramente espiritualf. Sustancia puramente espiritual

Falta mencionar el aprendizaje y la memoriaFalta mencionar el aprendizaje y la memoria

Page 3: Inteligencia Artificial en Videojuegos - Flas · PDF fileDefinición de Inteligencia Artificial ... Tipos de agentes inteligentes Agentes Biológicos Agentes Hardware Agentes Inteligentes

Inteligencia Artificial en Videojuegos – Javier Alcalá

3

Definición de Inteligencia ArtificialDefinición de Inteligencia Artificial

►Entonces… ¿qué es la IA?Entonces… ¿qué es la IA? Según la RAE:Según la RAE:

inteligencia artificialinteligencia artificial

1. 1. f.f. Inform. Inform. Desarrollo y utilización de ordenadores Desarrollo y utilización de ordenadores con los que se intenta reproducir los procesos de la con los que se intenta reproducir los procesos de la inteligencia humanainteligencia humana

Definición empírica: Definición empírica: Test de TuringTest de Turing

??

Page 4: Inteligencia Artificial en Videojuegos - Flas · PDF fileDefinición de Inteligencia Artificial ... Tipos de agentes inteligentes Agentes Biológicos Agentes Hardware Agentes Inteligentes

Inteligencia Artificial en Videojuegos – Javier Alcalá

4

Definición de Inteligencia ArtificialDefinición de Inteligencia Artificial

►Test de Turing para humanos: Test de Turing para humanos: captchacaptcha

Page 5: Inteligencia Artificial en Videojuegos - Flas · PDF fileDefinición de Inteligencia Artificial ... Tipos de agentes inteligentes Agentes Biológicos Agentes Hardware Agentes Inteligentes

Inteligencia Artificial en Videojuegos – Javier Alcalá

5

Definición de Inteligencia ArtificialDefinición de Inteligencia Artificial

► IA en videojuegos:IA en videojuegos: Es la simulación de comportamientos de los Es la simulación de comportamientos de los

personajes no manejados por el jugador: NPCs, personajes no manejados por el jugador: NPCs, enemigos, jefes finales, animales…enemigos, jefes finales, animales…

Page 6: Inteligencia Artificial en Videojuegos - Flas · PDF fileDefinición de Inteligencia Artificial ... Tipos de agentes inteligentes Agentes Biológicos Agentes Hardware Agentes Inteligentes

Inteligencia Artificial en Videojuegos – Javier Alcalá

6

Orígenes de la IA en videojuegosOrígenes de la IA en videojuegos

► Los primeros sistemas de Los primeros sistemas de IA (años 50) se aplicaron a IA (años 50) se aplicaron a juegos de mesa: juegos de mesa: damas (Arthur Samuel) y damas (Arthur Samuel) y ajedrez (Claude Shannon)ajedrez (Claude Shannon)

► En los años 60 se En los años 60 se desarrollaron juegos como desarrollaron juegos como el Pong o Spacewar! el Pong o Spacewar! basados en la lógicabasados en la lógica

Page 7: Inteligencia Artificial en Videojuegos - Flas · PDF fileDefinición de Inteligencia Artificial ... Tipos de agentes inteligentes Agentes Biológicos Agentes Hardware Agentes Inteligentes

Inteligencia Artificial en Videojuegos – Javier Alcalá

7

Orígenes de la IA en videojuegosOrígenes de la IA en videojuegos

► En los 70 surgieron En los 70 surgieron juegos de 1 jugador juegos de 1 jugador contra enemigos que contra enemigos que se movían mediante se movían mediante patrones almacenadospatrones almacenados

► Space Invaders (1978) Space Invaders (1978) añadió dificultad añadió dificultad creciente y respondía creciente y respondía a las acciones del a las acciones del jugadorjugador

Page 8: Inteligencia Artificial en Videojuegos - Flas · PDF fileDefinición de Inteligencia Artificial ... Tipos de agentes inteligentes Agentes Biológicos Agentes Hardware Agentes Inteligentes

Inteligencia Artificial en Videojuegos – Javier Alcalá

8

Orígenes de la IA en videojuegosOrígenes de la IA en videojuegos

► Pac-Man (1980) Pac-Man (1980) incorporó algoritmos incorporó algoritmos de búsqueda en de búsqueda en laberintoslaberintos

► Dragon Warrior (1990) Dragon Warrior (1990) fue el primer RPG. fue el primer RPG. Permitía variar las Permitía variar las rutinas de la IA de los rutinas de la IA de los enemigos durante las enemigos durante las batallasbatallas

Page 9: Inteligencia Artificial en Videojuegos - Flas · PDF fileDefinición de Inteligencia Artificial ... Tipos de agentes inteligentes Agentes Biológicos Agentes Hardware Agentes Inteligentes

Inteligencia Artificial en Videojuegos – Javier Alcalá

9

Orígenes de la IA en videojuegosOrígenes de la IA en videojuegos

►En los años 90 se produjo un boom de En los años 90 se produjo un boom de nuevos géneros y nuevas técnicas de IAnuevos géneros y nuevas técnicas de IA Máquinas de estados finitosMáquinas de estados finitos Redes de neuronasRedes de neuronas Computación evolutivaComputación evolutiva Lógica difusaLógica difusa ……

Page 10: Inteligencia Artificial en Videojuegos - Flas · PDF fileDefinición de Inteligencia Artificial ... Tipos de agentes inteligentes Agentes Biológicos Agentes Hardware Agentes Inteligentes

Inteligencia Artificial en Videojuegos – Javier Alcalá

10

Orígenes de la IA en videojuegosOrígenes de la IA en videojuegos

►Battelcruiser 3000AD (1996) incorpora Battelcruiser 3000AD (1996) incorpora redes de neuronasredes de neuronas

Page 11: Inteligencia Artificial en Videojuegos - Flas · PDF fileDefinición de Inteligencia Artificial ... Tipos de agentes inteligentes Agentes Biológicos Agentes Hardware Agentes Inteligentes

Inteligencia Artificial en Videojuegos – Javier Alcalá

11

Técnicas de IA empleadasTécnicas de IA empleadas

►Juegos de suma cero: MinimaxJuegos de suma cero: Minimax►Búsqueda de caminos: A*Búsqueda de caminos: A*►Agentes inteligentesAgentes inteligentes►Maquina de estados finitosMaquina de estados finitos►Redes de neuronasRedes de neuronas►Algoritmos genéticosAlgoritmos genéticos►Redes evolutivas: rtNeatRedes evolutivas: rtNeat

Page 12: Inteligencia Artificial en Videojuegos - Flas · PDF fileDefinición de Inteligencia Artificial ... Tipos de agentes inteligentes Agentes Biológicos Agentes Hardware Agentes Inteligentes

Inteligencia Artificial en Videojuegos – Javier Alcalá

12

Juegos de suma ceroJuegos de suma cero

► Son juegos entre 2 adversarios en los que los Son juegos entre 2 adversarios en los que los intereses de los jugadores son contrarios:intereses de los jugadores son contrarios: Si uno gana, el otro pierde, aunque puede haber tablasSi uno gana, el otro pierde, aunque puede haber tablas

► Cada jugador conoce las posibles jugadas del Cada jugador conoce las posibles jugadas del contrariocontrario

► No interviene el azar en la elección de la mejor No interviene el azar en la elección de la mejor jugadajugada

► Se genera un árbol finitoSe genera un árbol finito► Ejemplo: damas, ajedrez, goEjemplo: damas, ajedrez, go

Page 13: Inteligencia Artificial en Videojuegos - Flas · PDF fileDefinición de Inteligencia Artificial ... Tipos de agentes inteligentes Agentes Biológicos Agentes Hardware Agentes Inteligentes

Inteligencia Artificial en Videojuegos – Javier Alcalá

13

Juegos de suma ceroJuegos de suma cero

► Algoritmo MinimaxAlgoritmo Minimax Se basa en probar todas las posibles jugadas y sus respuestas Se basa en probar todas las posibles jugadas y sus respuestas

hasta un nivel máximohasta un nivel máximo

Page 14: Inteligencia Artificial en Videojuegos - Flas · PDF fileDefinición de Inteligencia Artificial ... Tipos de agentes inteligentes Agentes Biológicos Agentes Hardware Agentes Inteligentes

Inteligencia Artificial en Videojuegos – Javier Alcalá

14

Juegos de suma ceroJuegos de suma cero

Llegado a ese nivel se evalúa el tablero y se da un valor positivo, Llegado a ese nivel se evalúa el tablero y se da un valor positivo, si es buena la jugada, si es buena la jugada, o negativo, si es malao negativo, si es mala

1 0 -1 00 0

Page 15: Inteligencia Artificial en Videojuegos - Flas · PDF fileDefinición de Inteligencia Artificial ... Tipos de agentes inteligentes Agentes Biológicos Agentes Hardware Agentes Inteligentes

Inteligencia Artificial en Videojuegos – Javier Alcalá

15

Juegos de suma ceroJuegos de suma cero

Se propaga el valor hasta el nivel 0Se propaga el valor hasta el nivel 0

1 0 -1 00 0

Min

Max

0 0 -1

0

Page 16: Inteligencia Artificial en Videojuegos - Flas · PDF fileDefinición de Inteligencia Artificial ... Tipos de agentes inteligentes Agentes Biológicos Agentes Hardware Agentes Inteligentes

Inteligencia Artificial en Videojuegos – Javier Alcalá

16

Juegos de suma ceroJuegos de suma cero

►Algoritmo MinimaxAlgoritmo Minimax El algoritmo responde con la mejor jugada El algoritmo responde con la mejor jugada

posible suponiendo que el adversario también posible suponiendo que el adversario también elige su mejor jugadaelige su mejor jugada

►Optimización con poda alfa-betaOptimización con poda alfa-beta

Page 17: Inteligencia Artificial en Videojuegos - Flas · PDF fileDefinición de Inteligencia Artificial ... Tipos de agentes inteligentes Agentes Biológicos Agentes Hardware Agentes Inteligentes

Inteligencia Artificial en Videojuegos – Javier Alcalá

17

Juegos de suma ceroJuegos de suma cero

►Partidas históricas de ajedrez:Partidas históricas de ajedrez:

Kasparov Kasparov 44 Deep Thought Deep Thought 2 2 (1996)(1996) Kasparov Kasparov 2.52.5 DEEP BLUE DEEP BLUE 3.53.5 (1997)(1997) Kasparov Kasparov 44 Deep Fritz Deep Fritz 4 4 (2002)(2002) Kasparov Kasparov 33 Deep Junior Deep Junior 3 3 (2003)(2003)

Page 18: Inteligencia Artificial en Videojuegos - Flas · PDF fileDefinición de Inteligencia Artificial ... Tipos de agentes inteligentes Agentes Biológicos Agentes Hardware Agentes Inteligentes

Inteligencia Artificial en Videojuegos – Javier Alcalá

18

Juegos de suma ceroJuegos de suma cero

► Árbol inicial del ajedrez:Árbol inicial del ajedrez: Juega blancas:Juega blancas:

► Peón 1 escaquePeón 1 escaque x8x8► Peón 2 escaquesPeón 2 escaques x8x8► Caballo Caballo x4x4► 20 movimientos posibles20 movimientos posibles

Juega negras:Juega negras:► Las mismas posibilidadesLas mismas posibilidades

A nivel 2 hay 400 posibilidadesA nivel 2 hay 400 posibilidades A nivel 4 hay unas 20.000 posibilidadesA nivel 4 hay unas 20.000 posibilidades Crecimiento exponencial Crecimiento exponencial ⇒⇒ Desarrollar el árbol completo genera Desarrollar el árbol completo genera

más posibilidades que átomos hay en la galaxiamás posibilidades que átomos hay en la galaxia

► Nuevos retos: Go, a nivel 2 hay unas 130.000 posibilidadesNuevos retos: Go, a nivel 2 hay unas 130.000 posibilidades

Page 19: Inteligencia Artificial en Videojuegos - Flas · PDF fileDefinición de Inteligencia Artificial ... Tipos de agentes inteligentes Agentes Biológicos Agentes Hardware Agentes Inteligentes

Inteligencia Artificial en Videojuegos – Javier Alcalá

19

Búsqueda de caminosBúsqueda de caminos

►También llamado También llamado pathfindingpathfinding►Son algoritmos que buscan un camino Son algoritmos que buscan un camino

existente entre un nodo inicial y un nodo existente entre un nodo inicial y un nodo final de un grafofinal de un grafo

►Se tiene en cuenta un coste entre nodos Se tiene en cuenta un coste entre nodos (distancia, dificultad del terreno…)(distancia, dificultad del terreno…)

►Algoritmos típicos: Algoritmos típicos: Dijkstra, escalada, primero el mejor, A*Dijkstra, escalada, primero el mejor, A*

►El A* nos garantiza el camino óptimoEl A* nos garantiza el camino óptimo

Page 20: Inteligencia Artificial en Videojuegos - Flas · PDF fileDefinición de Inteligencia Artificial ... Tipos de agentes inteligentes Agentes Biológicos Agentes Hardware Agentes Inteligentes

Inteligencia Artificial en Videojuegos – Javier Alcalá

20

Búsqueda de caminosBúsqueda de caminos

3

4

2

4

32

7

5

3

8

3

2

7

2

1

5

4

2

43

5

Page 21: Inteligencia Artificial en Videojuegos - Flas · PDF fileDefinición de Inteligencia Artificial ... Tipos de agentes inteligentes Agentes Biológicos Agentes Hardware Agentes Inteligentes

Inteligencia Artificial en Videojuegos – Javier Alcalá

21

Búsqueda de caminosBúsqueda de caminos

►El nivel de un juego se debe diseñar con un El nivel de un juego se debe diseñar con un grid grid o rejilla y ésta se convierte en un grafoo rejilla y ésta se convierte en un grafo

Page 22: Inteligencia Artificial en Videojuegos - Flas · PDF fileDefinición de Inteligencia Artificial ... Tipos de agentes inteligentes Agentes Biológicos Agentes Hardware Agentes Inteligentes

Inteligencia Artificial en Videojuegos – Javier Alcalá

22

Búsqueda de caminosBúsqueda de caminos

DijkstraDijkstra A*A*

Comparativa de métodosComparativa de métodos

Page 23: Inteligencia Artificial en Videojuegos - Flas · PDF fileDefinición de Inteligencia Artificial ... Tipos de agentes inteligentes Agentes Biológicos Agentes Hardware Agentes Inteligentes

Inteligencia Artificial en Videojuegos – Javier Alcalá

23

Agentes InteligentesAgentes Inteligentes

►Un agente inteligente es una entidad que Un agente inteligente es una entidad que percibe y actúa sobre un entorno de forma percibe y actúa sobre un entorno de forma razonadarazonada

Page 24: Inteligencia Artificial en Videojuegos - Flas · PDF fileDefinición de Inteligencia Artificial ... Tipos de agentes inteligentes Agentes Biológicos Agentes Hardware Agentes Inteligentes

Inteligencia Artificial en Videojuegos – Javier Alcalá

24

Agentes InteligentesAgentes Inteligentes

►Tipos de agentes inteligentesTipos de agentes inteligentes

AgentesBiológicos

AgentesHardware

AgentesInteligentes

AgentesSoftware

Page 25: Inteligencia Artificial en Videojuegos - Flas · PDF fileDefinición de Inteligencia Artificial ... Tipos de agentes inteligentes Agentes Biológicos Agentes Hardware Agentes Inteligentes

Inteligencia Artificial en Videojuegos – Javier Alcalá

25

Agentes InteligentesAgentes Inteligentes

►¿Qué es un agente software?¿Qué es un agente software? Es una entidad que percibe su entorno a través Es una entidad que percibe su entorno a través

de de sensoressensores y actúa de forma autónoma y y actúa de forma autónoma y razonada con la mejor acción posible sobre ese razonada con la mejor acción posible sobre ese entorno mediante entorno mediante actuadoresactuadores

Utiliza el bucle:Utiliza el bucle:PPA (Percepción – Planificación – Actuación)PPA (Percepción – Planificación – Actuación)

Percepción Planificación Actuación

Page 26: Inteligencia Artificial en Videojuegos - Flas · PDF fileDefinición de Inteligencia Artificial ... Tipos de agentes inteligentes Agentes Biológicos Agentes Hardware Agentes Inteligentes

Inteligencia Artificial en Videojuegos – Javier Alcalá

26

Agentes InteligentesAgentes Inteligentes

► Sensores:Sensores: Detectores de Detectores de

obstáculosobstáculos MicrófonosMicrófonos

► Actuadores:Actuadores: PiernasPiernas BrazosBrazos RuedasRuedas

01111100

Detecta rincónDecide girara la izquierda

Realizael

giro

Page 27: Inteligencia Artificial en Videojuegos - Flas · PDF fileDefinición de Inteligencia Artificial ... Tipos de agentes inteligentes Agentes Biológicos Agentes Hardware Agentes Inteligentes

Inteligencia Artificial en Videojuegos – Javier Alcalá

27

Agentes InteligentesAgentes Inteligentes

► Propiedades:Propiedades: Autonomía: actúa por cuenta propiaAutonomía: actúa por cuenta propia Inteligencia: cerrada o adaptable (aprendizaje)Inteligencia: cerrada o adaptable (aprendizaje) Actividad:Actividad:

► Reactivo: actúa después de algún suceso producido en el Reactivo: actúa después de algún suceso producido en el entornoentorno

► Proactivo: decide actuar antes de que se dé un sucesoProactivo: decide actuar antes de que se dé un suceso

Sociabilidad: se comunican con el usuario u otros Sociabilidad: se comunican con el usuario u otros agentesagentes

Cooperación: coopera con otros agentes para realizar Cooperación: coopera con otros agentes para realizar tareas más complejastareas más complejas

Page 28: Inteligencia Artificial en Videojuegos - Flas · PDF fileDefinición de Inteligencia Artificial ... Tipos de agentes inteligentes Agentes Biológicos Agentes Hardware Agentes Inteligentes

Inteligencia Artificial en Videojuegos – Javier Alcalá

28

Agentes InteligentesAgentes Inteligentes

►Aplicaciones en los videojuegos:Aplicaciones en los videojuegos: Comportamientos inteligentesComportamientos inteligentes

►Agente reactivo: guardián de un castilloAgente reactivo: guardián de un castillo►Agente proactivo: exploradores, atacantesAgente proactivo: exploradores, atacantes

Simulación de personalidadesSimulación de personalidades Exploración de mapas desconocidosExploración de mapas desconocidos Simulación de multitudesSimulación de multitudes

Page 29: Inteligencia Artificial en Videojuegos - Flas · PDF fileDefinición de Inteligencia Artificial ... Tipos de agentes inteligentes Agentes Biológicos Agentes Hardware Agentes Inteligentes

Inteligencia Artificial en Videojuegos – Javier Alcalá

29

Máquinas de Estados FinitosMáquinas de Estados Finitos

►Una máquina de estados finitos es una entidad abstracta formada por estados y transiciones entre dichos estados

►Las transiciones se producen por eventos sucedidos en el entorno

►A su vez, la máquina genera una serie de acciones según el estado actual en el que se encuentre

Page 30: Inteligencia Artificial en Videojuegos - Flas · PDF fileDefinición de Inteligencia Artificial ... Tipos de agentes inteligentes Agentes Biológicos Agentes Hardware Agentes Inteligentes

Inteligencia Artificial en Videojuegos – Javier Alcalá

30

Máquinas de Estados FinitosMáquinas de Estados Finitos

► Cada estado representa una acción: moverse, Cada estado representa una acción: moverse, disparar, perseguir, etc.disparar, perseguir, etc.

► Cuando se produce un evento, hay una transición Cuando se produce un evento, hay una transición de un estado a otro: no hay enemigos, enemigo a de un estado a otro: no hay enemigos, enemigo a la vista, poca munición, etc.la vista, poca munición, etc.

PatrullarNo hay

enemigos DispararEnemigoa la vista

Enemigoa la vista

No hayenemigos

Page 31: Inteligencia Artificial en Videojuegos - Flas · PDF fileDefinición de Inteligencia Artificial ... Tipos de agentes inteligentes Agentes Biológicos Agentes Hardware Agentes Inteligentes

Inteligencia Artificial en Videojuegos – Javier Alcalá

31

Máquinas de Estados FinitosMáquinas de Estados Finitos

►MEF para un fantasma de Pac-ManMEF para un fantasma de Pac-Man

Inicio Modo comibleactivado

Perseguir

Pac-Mancerca

Pac-Manlejos

Pac-Mancerca

Buscar

Comer

Huir

Pac-Manlejos

Pac-Manalcanzado

Pac-Man alcanzaal fantasma

Modo comibleactivadoModo comible

desactivado

Time out

Modo comibleactivado

Page 32: Inteligencia Artificial en Videojuegos - Flas · PDF fileDefinición de Inteligencia Artificial ... Tipos de agentes inteligentes Agentes Biológicos Agentes Hardware Agentes Inteligentes

Inteligencia Artificial en Videojuegos – Javier Alcalá

32

Redes de NeuronasRedes de Neuronas► Una Red de Neuronas Artificiales (RNA) es un Una Red de Neuronas Artificiales (RNA) es un

sistema computacional que imita las capacidades sistema computacional que imita las capacidades de los sistemas biológicos utilizando muchos de los sistemas biológicos utilizando muchos elementos simples interconectadoselementos simples interconectados

► Neurona formalNeurona formal

Page 33: Inteligencia Artificial en Videojuegos - Flas · PDF fileDefinición de Inteligencia Artificial ... Tipos de agentes inteligentes Agentes Biológicos Agentes Hardware Agentes Inteligentes

Inteligencia Artificial en Videojuegos – Javier Alcalá

33

Redes de NeuronasRedes de Neuronas

►Características:Características: Clasifican patrones de entradaClasifican patrones de entrada Necesitan entrenamiento supervisado con Necesitan entrenamiento supervisado con

muchos ejemplosmuchos ejemplos Son capaces de generalizar el reconocimiento Son capaces de generalizar el reconocimiento

de patronesde patrones Ante una entrada desconocida devuelve la Ante una entrada desconocida devuelve la

clase más parecidaclase más parecida Una vez entrenadas, funcionan en tiempo realUna vez entrenadas, funcionan en tiempo real

Page 34: Inteligencia Artificial en Videojuegos - Flas · PDF fileDefinición de Inteligencia Artificial ... Tipos de agentes inteligentes Agentes Biológicos Agentes Hardware Agentes Inteligentes

Inteligencia Artificial en Videojuegos – Javier Alcalá

34

Redes de NeuronasRedes de Neuronas

► Percetrón simplePercetrón simple

► Perceptrón multicapaPerceptrón multicapa

Entrada Salida

Entrada Oculta Salida

Page 35: Inteligencia Artificial en Videojuegos - Flas · PDF fileDefinición de Inteligencia Artificial ... Tipos de agentes inteligentes Agentes Biológicos Agentes Hardware Agentes Inteligentes

Inteligencia Artificial en Videojuegos – Javier Alcalá

35

Redes de NeuronasRedes de Neuronas

►Uso en videojuegosUso en videojuegos

Izquierda

Frontal

Derecha

Girar a laizquierda

Girar a laderecha

Seguir defrente

Page 36: Inteligencia Artificial en Videojuegos - Flas · PDF fileDefinición de Inteligencia Artificial ... Tipos de agentes inteligentes Agentes Biológicos Agentes Hardware Agentes Inteligentes

Inteligencia Artificial en Videojuegos – Javier Alcalá

36

Algoritmos GenéticosAlgoritmos Genéticos

► Si no disponemos de ejemplos para realizar el Si no disponemos de ejemplos para realizar el aprendizaje, tenemos que emplear mecanismos aprendizaje, tenemos que emplear mecanismos basados en aprendizaje por basados en aprendizaje por ensayo y errorensayo y error

► Los Algoritmos Genéticos (AG) se utilizan en Los Algoritmos Genéticos (AG) se utilizan en aquellos casos en los que no existe un algoritmo aquellos casos en los que no existe un algoritmo convencionalconvencional

► Resuelven problemas de optimizaciónResuelven problemas de optimización► Se basan en la Teoría de la Evolución de Darwin Se basan en la Teoría de la Evolución de Darwin

((El origen de las especiesEl origen de las especies, 1859), 1859)► Son sistemas muy robustosSon sistemas muy robustos

Page 37: Inteligencia Artificial en Videojuegos - Flas · PDF fileDefinición de Inteligencia Artificial ... Tipos de agentes inteligentes Agentes Biológicos Agentes Hardware Agentes Inteligentes

Inteligencia Artificial en Videojuegos – Javier Alcalá

37

Algoritmos GenéticosAlgoritmos Genéticos

► Principios de la evolución por Principios de la evolución por Selección NaturalSelección Natural::1.1. Cada individuo tiende a transmitir sus rasgos a su Cada individuo tiende a transmitir sus rasgos a su

progenieprogenie

2.2. La naturaleza produce individuos con rasgos La naturaleza produce individuos con rasgos diferentes, debido a mutacionesdiferentes, debido a mutaciones

3.3. Los individuos más adaptados, cuyos rasgos son más Los individuos más adaptados, cuyos rasgos son más favorables para desenvolverse en el medio, tienden a favorables para desenvolverse en el medio, tienden a producir más progenie (sobreviven los más adaptados)producir más progenie (sobreviven los más adaptados)‏‏

4.4. Durante Durante largos períodos de tiempolargos períodos de tiempo se puede acumular se puede acumular la variación produciendo nuevas especies la variación produciendo nuevas especies completamente adaptadas a nichos particularescompletamente adaptadas a nichos particulares

Page 38: Inteligencia Artificial en Videojuegos - Flas · PDF fileDefinición de Inteligencia Artificial ... Tipos de agentes inteligentes Agentes Biológicos Agentes Hardware Agentes Inteligentes

Inteligencia Artificial en Videojuegos – Javier Alcalá

38

Algoritmos GenéticosAlgoritmos Genéticos

► Componentes de un AG:Componentes de un AG: IndividuoIndividuo: representado por un cromosoma con la : representado por un cromosoma con la

información que queremos optimizarinformación que queremos optimizar Calidad o Calidad o fitnessfitness: da una medida del grado de : da una medida del grado de

adaptación al medio (objetivo, principio 4)adaptación al medio (objetivo, principio 4) Operador selecciónOperador selección: : con probabilidad de selección de con probabilidad de selección de

cada individuo cada individuo proporcionalproporcional a la calidad (principio 3) a la calidad (principio 3)‏‏ Operador emparejamiento o reproducciónOperador emparejamiento o reproducción: que : que

producirá nuevos individuos en la siguiente generación producirá nuevos individuos en la siguiente generación (principio 1)(principio 1)‏‏

Operador mutaciónOperador mutación: capaz de alterar el código de los : capaz de alterar el código de los nuevos individuos, incrementando la riqueza genética nuevos individuos, incrementando la riqueza genética de la población (principio 2)de la población (principio 2)‏‏

Page 39: Inteligencia Artificial en Videojuegos - Flas · PDF fileDefinición de Inteligencia Artificial ... Tipos de agentes inteligentes Agentes Biológicos Agentes Hardware Agentes Inteligentes

Inteligencia Artificial en Videojuegos – Javier Alcalá

39

Algoritmos GenéticosAlgoritmos Genéticos

► Algoritmo:Algoritmo: Generar una Población aleatoria de NI individuosGenerar una Población aleatoria de NI individuos Repetir hasta haber realizado N generacionesRepetir hasta haber realizado N generaciones

►Repetir hasta alcanzar NI individuos Repetir hasta alcanzar NI individuos Aplicar operador SELECCIÓN: extrae 2 individuosAplicar operador SELECCIÓN: extrae 2 individuos Aplicar operador EMPAREJAMIENTO: cruza su información Aplicar operador EMPAREJAMIENTO: cruza su información

genética. Esto genera 2 nuevos individuosgenética. Esto genera 2 nuevos individuos Aplicar operador MUTACION a cada individuo generadoAplicar operador MUTACION a cada individuo generado

Devolver el individuo con mayor calidad de la poblaciónDevolver el individuo con mayor calidad de la población

Page 40: Inteligencia Artificial en Videojuegos - Flas · PDF fileDefinición de Inteligencia Artificial ... Tipos de agentes inteligentes Agentes Biológicos Agentes Hardware Agentes Inteligentes

Inteligencia Artificial en Videojuegos – Javier Alcalá

40

Redes Neuronales EvolutivasRedes Neuronales Evolutivas

► Se combinan las redes neuronales con los Se combinan las redes neuronales con los algoritmos genéticosalgoritmos genéticos

► Consiste en definir la entrada y la salida de una Consiste en definir la entrada y la salida de una red neuronal y los algoritmos genéticos se red neuronal y los algoritmos genéticos se encargan de definir la topología interna y los encargan de definir la topología interna y los pesos de cada neuronapesos de cada neurona NEAT (NeuroEvolution of Augmenting Topologies)NEAT (NeuroEvolution of Augmenting Topologies) rtNEAT (real time NeuroEvolution of Augmenting rtNEAT (real time NeuroEvolution of Augmenting

Topologies)Topologies)

Page 41: Inteligencia Artificial en Videojuegos - Flas · PDF fileDefinición de Inteligencia Artificial ... Tipos de agentes inteligentes Agentes Biológicos Agentes Hardware Agentes Inteligentes

Inteligencia Artificial en Videojuegos – Javier Alcalá

41

Redes Neuronales EvolutivasRedes Neuronales Evolutivas

►Los personajes entrenados con este Los personajes entrenados con este sistema se adaptan fácilmente durante el sistema se adaptan fácilmente durante el juego a los cambios en el entornojuego a los cambios en el entorno Juego NERO (nerogame.org)Juego NERO (nerogame.org)

Page 42: Inteligencia Artificial en Videojuegos - Flas · PDF fileDefinición de Inteligencia Artificial ... Tipos de agentes inteligentes Agentes Biológicos Agentes Hardware Agentes Inteligentes

Inteligencia Artificial en Videojuegos – Javier Alcalá

42

I+D en IA para VideojuegosI+D en IA para Videojuegos

►Un campo de investigación muy abiertoUn campo de investigación muy abierto►Normalmente se basa en combinar varias Normalmente se basa en combinar varias

técnicastécnicas Por ejemplo, máquinas de estados finitos con Por ejemplo, máquinas de estados finitos con

algoritmos genéticosalgoritmos genéticos Se conseguirían comportamientos Se conseguirían comportamientos

desconocidos, absurdos, divertidos, que desconocidos, absurdos, divertidos, que mejoran la experiencia de juegomejoran la experiencia de juego

Se trata de evitar esto:Se trata de evitar esto:

Page 43: Inteligencia Artificial en Videojuegos - Flas · PDF fileDefinición de Inteligencia Artificial ... Tipos de agentes inteligentes Agentes Biológicos Agentes Hardware Agentes Inteligentes

Inteligencia Artificial en Videojuegos – Javier Alcalá

43

I+D en IA para VideojuegosI+D en IA para Videojuegos

► Hay que procurar que el jugador esté inmerso en Hay que procurar que el jugador esté inmerso en el juego sin aburrirse, adaptando el nivel de los el juego sin aburrirse, adaptando el nivel de los enemigos al nivel del jugador enemigos al nivel del jugador ⇒⇒ Concepto de flujo Concepto de flujo

► Flujo Flujo (Mihaly Csikszenmihali)(Mihaly Csikszenmihali) Es el estado mental operativo en el cual la persona está Es el estado mental operativo en el cual la persona está

completamente inmersa en la actividad que está completamente inmersa en la actividad que está ejecutandoejecutando

Se caracteriza por un sentimiento de enfocar la energía, Se caracteriza por un sentimiento de enfocar la energía, de total implicación con la tarea y de éxito en la de total implicación con la tarea y de éxito en la realización de la actividad realización de la actividad

Page 44: Inteligencia Artificial en Videojuegos - Flas · PDF fileDefinición de Inteligencia Artificial ... Tipos de agentes inteligentes Agentes Biológicos Agentes Hardware Agentes Inteligentes

Inteligencia Artificial en Videojuegos – Javier Alcalá

44

I+D en IA para VideojuegosI+D en IA para Videojuegos

►Canal de flujoCanal de flujo

0(Poca)

∞(Mucha)

Habilidades

(Poco)0

∞(Mucho)

Aburrimiento

Ansiedad

Canal de flujo

De

sa

os

Page 45: Inteligencia Artificial en Videojuegos - Flas · PDF fileDefinición de Inteligencia Artificial ... Tipos de agentes inteligentes Agentes Biológicos Agentes Hardware Agentes Inteligentes

Inteligencia Artificial en Videojuegos – Javier Alcalá

45

ConsultasConsultas

►Contacto: Contacto: [email protected]@eui.upm.es

► http://aigamedev.com/http://aigamedev.com/► theory.stanford.edu/~amitp/GameProgramming/theory.stanford.edu/~amitp/GameProgramming/► http://nerogame.org/http://nerogame.org/► ““Fluir (Flow). Una psicología de la felicidad”. Fluir (Flow). Una psicología de la felicidad”.

Mihaly CsikszenmihaliMihaly Csikszenmihali► interactive.usc.edu/projects/cloud/flowing/interactive.usc.edu/projects/cloud/flowing/

Page 46: Inteligencia Artificial en Videojuegos - Flas · PDF fileDefinición de Inteligencia Artificial ... Tipos de agentes inteligentes Agentes Biológicos Agentes Hardware Agentes Inteligentes

Inteligencia Artificial en Inteligencia Artificial en VideojuegosVideojuegos

Javier AlcaláJavier Alcalá

GRACIASGRACIASCiclo de conferencias Game Spirit 2Ciclo de conferencias Game Spirit 2