• No se han encontrado resultados

Inteligencia Artificial en Videojuegos

N/A
N/A
Protected

Academic year: 2022

Share "Inteligencia Artificial en Videojuegos"

Copied!
46
0
0

Texto completo

(1)

Inteligencia Artificial en Inteligencia Artificial en

Videojuegos Videojuegos

Javier Alcalá Javier Alcalá

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

(2)

Definición de Inteligencia Artificial Definición de Inteligencia Artificial

La Inteligencia Artificial (IA) intenta simular la inteligencia La Inteligencia Artificial (IA) intenta simular la inteligencia natural

natural

¿Qué es la inteligencia natural?¿Qué es la inteligencia natural?

Según la RAE:Según la RAE:

inteligencia inteligencia (Del lat.

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

1. 1. f. Capacidad de entender o comprenderf. Capacidad de entender o comprender 2. 2. f. Capacidad de resolver problemasf. Capacidad de resolver problemas

3. 3. f. Conocimiento, comprensión, acto de entenderf. Conocimiento, comprensión, acto de entender

4. 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ón

expresión

5. 5. f. Habilidad, destreza y experienciaf. Habilidad, destreza y experiencia

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

(3)

Definición de Inteligencia Artificial Definición de Inteligencia Artificial

Entonces… ¿qué es la IA? Entonces… ¿qué es la IA?

 Según la RAE:Según la RAE:

inteligencia artificial inteligencia 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 humana inteligencia humana

 Definición empírica: Definición empírica:

Test de Turing Test de Turing

? ?

(4)

Definición de Inteligencia Artificial Definición de Inteligencia Artificial

Test de Turing para humanos: Test de Turing para humanos: captcha captcha

(5)

Definición de Inteligencia Artificial Definició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…

(6)

Orígenes de la IA en videojuegos Orí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ógica basados en la lógica

(7)

Orígenes de la IA en videojuegos Orí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 almacenados patrones 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

(8)

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

Pac-Man (1980) Pac-Man (1980)

incorporó algoritmos incorporó algoritmos

de búsqueda en de búsqueda en

laberintos laberintos

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

batallas batallas

(9)

Orígenes de la IA en videojuegos Orí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 IA nuevos 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

 ……

(10)

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

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

redes de neuronas

(11)

Técnicas de IA empleadas Técnicas de IA empleadas

Juegos de suma cero: Minimax Juegos de suma cero: Minimax

Búsqueda de caminos: A* Búsqueda de caminos: A*

Agentes inteligentes Agentes inteligentes

Maquina de estados finitos Maquina de estados finitos

Redes de neuronas Redes de neuronas

Algoritmos genéticos Algoritmos genéticos

Redes evolutivas: rtNeat Redes evolutivas: rtNeat

(12)

Juegos de suma cero Juegos 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 contrario

contrario

No interviene el azar en la elección de la mejor No interviene el azar en la elección de la mejor jugada

jugada

Se genera un árbol finitoSe genera un árbol finito

Ejemplo: damas, ajedrez, goEjemplo: damas, ajedrez, go

(13)

Juegos de suma cero Juegos 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áximo

hasta un nivel máximo

(14)

Juegos de suma cero Juegos 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 mala o negativo, si es mala

1 0 0 0 -1 0

(15)

Juegos de suma cero Juegos de suma cero

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

Min Max

0 0 -1

0

(16)

Juegos de suma cero Juegos de suma cero

Algoritmo Minimax Algoritmo 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 jugada elige su mejor jugada

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

(17)

Juegos de suma cero Juegos 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)

(18)

Juegos de suma cero Juegos 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 galaxia

má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

(19)

Búsqueda de caminos Búsqueda de caminos

También llamado También llamado pathfinding pathfinding

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 grafo final 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*

(20)

Búsqueda de caminos Búsqueda de caminos

3

4

2

4

2 3

7

5

3

8 3

2

7

2 1

5 4

2

4 3

5

(21)

Búsqueda de caminos Bú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 grafo o rejilla y ésta se convierte en un grafo

(22)

Búsqueda de caminos Búsqueda de caminos

Dijkstra Dijkstra A* A*

Comparativa de métodos Comparativa de métodos

(23)

Agentes Inteligentes Agentes 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

razonada

razonada

(24)

Agentes Inteligentes Agentes Inteligentes

Tipos de agentes inteligentes Tipos de agentes inteligentes

Agentes Biológicos

Agentes Hardware

Agentes Inteligentes

Agentes Software

(25)

Agentes Inteligentes Agentes 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)

(26)

Agentes Inteligentes Agentes Inteligentes

Sensores:Sensores:

Detectores de Detectores de obstáculos

obstáculos

MicrófonosMicrófonos

Actuadores:Actuadores:

PiernasPiernas

BrazosBrazos

RuedasRuedas

01 1 11 10 0

Detecta rincón Decide girar a la izquierda

Realiza el giro

(27)

Agentes Inteligentes Agentes 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 entorno

entorno

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 agentes

agentes

(28)

Agentes Inteligentes Agentes 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

(29)

Máquinas de Estados Finitos Má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

(30)

Máquinas de Estados Finitos Má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.

Patrullar

No hay

enemigos Disparar a la vistaEnemigo

Enemigo No hay enemigos

(31)

Máquinas de Estados Finitos Máquinas de Estados Finitos

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

Inicio Modo comible

activado

Perseguir

Pac-Man cerca

Pac-Man lejos Pac-Man

cerca

Buscar

Comer

Pac-Man lejos

Pac-Man alcanzado

Modo comible activado Modo comible

desactivado Time out

(32)

Redes de Neuronas Redes 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 interconectados elementos simples interconectados

Neurona formalNeurona formal

(33)

Redes de Neuronas Redes de Neuronas

Características: Características:

 Clasifican patrones de entradaClasifican patrones de entrada

 Necesitan entrenamiento supervisado con Necesitan entrenamiento supervisado con muchos ejemplos

muchos ejemplos

 Son capaces de generalizar el reconocimiento Son capaces de generalizar el reconocimiento de patrones

de patrones

 Ante una entrada desconocida devuelve la Ante una entrada desconocida devuelve la clase más parecida

clase más parecida

(34)

Redes de Neuronas Redes de Neuronas

Percetrón simplePercetrón simple

Perceptrón multicapaPerceptrón multicapa

Entrada Salida

(35)

Redes de Neuronas Redes de Neuronas

Uso en videojuegos Uso en videojuegos

Izquierda

Frontal

Derecha

Girar a la izquierda Girar a la derecha Seguir de

frente

(36)

Algoritmos Genéticos Algoritmos 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

convencional convencional

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

(37)

Algoritmos Genéticos Algoritmos 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 progenie

progenie

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

diferentes, 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 tiempo se puede acumular largos períodos de tiempo se puede acumular

(38)

Algoritmos Genéticos Algoritmos 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 optimizar

informació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ón: que Operador emparejamiento o reproducción: 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)

(39)

Algoritmos Genéticos Algoritmos 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 individuos

gené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

(40)

Redes Neuronales Evolutivas Redes Neuronales Evolutivas

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

algoritmos 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 neurona pesos 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)

(41)

Redes Neuronales Evolutivas Redes 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 entorno juego a los cambios en el entorno

 Juego NERO (nerogame.org)Juego NERO (nerogame.org)

(42)

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

Un campo de investigación muy abierto Un campo de investigación muy abierto

Normalmente se basa en combinar varias Normalmente se basa en combinar varias técnicas

técnicas

 Por ejemplo, máquinas de estados finitos con Por ejemplo, máquinas de estados finitos con algoritmos genéticos

algoritmos genéticos

 Se conseguirían comportamientos Se conseguirían comportamientos

desconocidos, absurdos, divertidos, que desconocidos, absurdos, divertidos, que

mejoran la experiencia de juego mejoran la experiencia de juego

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

(43)

I+D en IA para Videojuegos I+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á ejecutando

ejecutando

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

(44)

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

Canal de flujo Canal de flujo

0

(Poca)

(Mucha)

Habilidades

(Poco) 0

(Mucho)

Aburrimiento Ansiedad

aC an d l f e ul oj

Desafíos

(45)

Consultas Consultas

Contacto: Contacto: [email protected] [email protected]

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 Csikszenmihali Mihaly Csikszenmihali

(46)

Inteligencia Artificial en Inteligencia Artificial en

Videojuegos Videojuegos

Javier Alcalá Javier Alcalá

GRACIAS GRACIAS

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

Referencias

Documento similar

Las solicitudes de reconocimiento presentadas, en las que se aleguen créditos obtenidos en títulos universitarios oficiales de Máster Universitario o Doctor (Períodos de

En nuestro caso, la utilizaremos para poder integrar el desarrollo de nuestros algoritmos, así como los que ya están implemen- tados, con el entorno utilizado....

En realidad, al encontrarse el conductor parcialmente rodeado de un material magnético como el hierro, el campo magnético tenderá a anularse en las zonas exteriores del hierro, por

Este capítulo recoge un estudio sobre las principales características de Unity, una explicación de alguno de sus componentes principales, así como el desarrollo a modo de

Para ello se han estudiado diferentes algoritmos de visión artificial y de clasificación como las redes neuronales artificiales, a partir de los cuales se han creado

A su vez, esto es un dropdown con las opciones de acceder a tu perfil, a la página de recomendaciones (si el usuario ha puntuado al menos una película), acceder a

Los algoritmos de inteligencia artificial son variados y tienen un fundamento teórico sólido. El presente trabajo pretende utilizar el fundamento teórico de dichos modelos

Para lograr tales comportamientos se aplican técnicas de otras disciplinas como la inteligencia artificial que estudia los métodos y algoritmos más utilizados.. En aplicaciones