Académique Documents
Professionnel Documents
Culture Documents
Javier Alcal
Ciclo de conferencias Game Spirit 2
Segn la RAE:
inteligencia artificial 1. f. Inform. Desarrollo y utilizacin de ordenadores con los que se intenta reproducir los procesos de la inteligencia humana
Es la simulacin de comportamientos de los personajes no manejados por el jugador: NPCs, enemigos, jefes finales, animales
Orgenes de la IA en videojuegos
Los primeros sistemas de IA (aos 50) se aplicaron a juegos de mesa: damas (Arthur Samuel) y ajedrez (Claude Shannon) En los aos 60 se desarrollaron juegos como el Pong o Spacewar! basados en la lgica
Orgenes de la IA en videojuegos
En los 70 surgieron
juegos de 1 jugador contra enemigos que se movan mediante patrones almacenados Space Invaders (1978) aadi dificultad creciente y responda a las acciones del jugador
Inteligencia Artificial en Videojuegos Javier Alcal 7
Orgenes de la IA en videojuegos
Pac-Man (1980)
fue el primer RPG. Permita variar las rutinas de la IA de los enemigos durante las batallas
Orgenes de la IA en videojuegos
En los aos 90 se produjo un boom de
Orgenes de la IA en videojuegos
Battelcruiser 3000AD (1996) incorpora
redes de neuronas
10
Tcnicas de IA empleadas
Juegos de suma cero: Minimax Bsqueda de caminos: A* Agentes inteligentes Maquina de estados finitos Redes de neuronas Algoritmos genticos Redes evolutivas: rtNeat
Inteligencia Artificial en Videojuegos Javier Alcal 11
contrario No interviene el azar en la eleccin de la mejor jugada Se genera un rbol finito Ejemplo: damas, ajedrez, go
Inteligencia Artificial en Videojuegos Javier Alcal 12
Algoritmo Minimax
Se basa en probar todas las posibles jugadas y sus respuestas hasta un nivel mximo
13
-1 14
Min
-1
-1 15
El algoritmo responde con la mejor jugada posible suponiendo que el adversario tambin elige su mejor jugada
Optimizacin con poda alfa-beta
16
17
x8 x8 x4
Juega negras:
Las mismas posibilidades
A nivel 2 hay 400 posibilidades A nivel 4 hay unas 20.000 posibilidades Crecimiento exponencial Desarrollar el rbol completo genera ms posibilidades que tomos hay en la galaxia
Bsqueda de caminos
Tambin llamado pathfinding Son algoritmos que buscan un camino
existente entre un nodo inicial y un nodo final de un grafo Se tiene en cuenta un coste entre nodos (distancia, dificultad del terreno) Algoritmos tpicos:
Dijkstra, escalada, primero el mejor, A*
El A* nos garantiza el camino ptimo
Inteligencia Artificial en Videojuegos Javier Alcal 19
Bsqueda de caminos
3 2 4 2 3 5 8 2 3 5 3 4 7 1 2 3 4 5 4 7 2
20
Bsqueda de caminos
El nivel de un juego se debe disear con un
21
Bsqueda de caminos
Dijkstra A*
Comparativa de mtodos
Inteligencia Artificial en Videojuegos Javier Alcal 22
Agentes Inteligentes
Un agente inteligente es una entidad que
23
Agentes Inteligentes
Tipos de agentes inteligentes
Agentes Inteligentes
Agentes Biolgicos
Agentes Hardware
Agentes Software
24
Agentes Inteligentes
Qu es un agente software?
Es una entidad que percibe su entorno a travs de sensores y acta de forma autnoma y razonada con la mejor accin posible sobre ese entorno mediante actuadores Utiliza el bucle: PPA (Percepcin Planificacin Actuacin)
Percepcin Planificacin Actuacin
25
Agentes Inteligentes
Sensores: Actuadores:
0 1 1 1 1 1 0 0
Realiza el giro
26
Agentes Inteligentes
Propiedades:
Autonoma: acta por cuenta propia Inteligencia: cerrada o adaptable (aprendizaje) Actividad:
Reactivo: acta despus de algn suceso producido en el
Sociabilidad: se comunican con el usuario u otros agentes Cooperacin: coopera con otros agentes para realizar tareas ms complejas
Inteligencia Artificial en Videojuegos Javier Alcal 27
Agentes Inteligentes
Aplicaciones en los videojuegos:
Comportamientos inteligentes
Agente reactivo: guardin de un castillo Agente proactivo: exploradores, atacantes
28
mquina 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 mquina genera una serie de acciones segn el estado actual en el que se encuentre
Inteligencia Artificial en Videojuegos Javier Alcal 29
disparar, perseguir, etc. Cuando se produce un evento, hay una transicin de un estado a otro: no hay enemigos, enemigo a la vista, poca municin, etc.
No hay enemigos
No hay enemigos
Patrullar
Disparar
Enemigo a la vista
Enemigo a la vista
30
Buscar
Time out Pac-Man lejos Modo comible activado
Perseguir
Pac-Man alcanzado Modo comible activado
Inicio
Modo comible desactivado Pac-Man alcanza al fantasma
Comer
Huir
Modo comible activado
31
Redes de Neuronas
Una Red de Neuronas Artificiales (RNA) es un
sistema computacional que imita las capacidades de los sistemas biolgicos utilizando muchos elementos simples interconectados Neurona formal
32
Redes de Neuronas
Caractersticas:
Clasifican patrones de entrada Necesitan entrenamiento supervisado con muchos ejemplos Son capaces de generalizar el reconocimiento de patrones Ante una entrada desconocida devuelve la clase ms parecida Una vez entrenadas, funcionan en tiempo real
Inteligencia Artificial en Videojuegos Javier Alcal 33
Redes de Neuronas
Percetrn simple
Entrada
Salida
Perceptrn multicapa
Entrada
Oculta
Salida
34
Redes de Neuronas
Uso en videojuegos
Izquierda
Frontal
Derecha
35
Algoritmos Genticos
Si no disponemos de ejemplos para realizar el
aprendizaje, tenemos que emplear mecanismos basados en aprendizaje por ensayo y error Los Algoritmos Genticos (AG) se utilizan en aquellos casos en los que no existe un algoritmo convencional Resuelven problemas de optimizacin Se basan en la Teora de la Evolucin de Darwin (El origen de las especies, 1859) Son sistemas muy robustos
Inteligencia Artificial en Videojuegos Javier Alcal 36
Algoritmos Genticos
37
Algoritmos Genticos
Componentes de un AG:
Individuo: representado por un cromosoma con la informacin que queremos optimizar Calidad o fitness: da una medida del grado de adaptacin al medio (objetivo, principio 4) Operador seleccin: con probabilidad de seleccin de cada individuo proporcional a la calidad (principio 3) Operador emparejamiento o reproduccin: que producir nuevos individuos en la siguiente generacin (principio 1) Operador mutacin: capaz de alterar el cdigo de los nuevos individuos, incrementando la riqueza gentica de la poblacin (principio 2)
38
Algoritmos Genticos
Algoritmo: Generar una Poblacin aleatoria de NI individuos Repetir hasta haber realizado N generaciones
Repetir hasta alcanzar NI individuos
Aplicar operador SELECCIN: extrae 2 individuos Aplicar operador EMPAREJAMIENTO: cruza su informacin gentica. Esto genera 2 nuevos individuos Aplicar operador MUTACION a cada individuo generado
39
algoritmos genticos Consiste en definir la entrada y la salida de una red neuronal y los algoritmos genticos se encargan de definir la topologa interna y los pesos de cada neurona
NEAT (NeuroEvolution of Augmenting Topologies) rtNEAT (real time NeuroEvolution of Augmenting Topologies)
Inteligencia Artificial en Videojuegos Javier Alcal 40
41
tcnicas
Por ejemplo, mquinas de estados finitos con algoritmos genticos Se conseguiran comportamientos desconocidos, absurdos, divertidos, que mejoran la experiencia de juego Se trata de evitar esto:
Inteligencia Artificial en Videojuegos Javier Alcal 42
el juego sin aburrirse, adaptando el nivel de los enemigos al nivel del jugador Concepto de flujo Flujo (Mihaly Csikszenmihali)
Es el estado mental operativo en el cual la persona est completamente inmersa en la actividad que est ejecutando Se caracteriza por un sentimiento de enfocar la energa, de total implicacin con la tarea y de xito en la realizacin de la actividad
Inteligencia Artificial en Videojuegos Javier Alcal 43
(Mucho)
Ansiedad
ju f f as e D sl o ed la na C
Aburrimiento
(Poco) 0
0 (Poca)
Habilidades
(Mucha)
44
Consultas
Contacto:
jalcala@eui.upm.es
GRACIAS
Ciclo de conferencias Game Spirit 2