Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Inteligencia Artificial aplicada en Videojuegos...

Inteligencia Artificial aplicada en Videojuegos y Robótica

Moisés Martínez

February 07, 2014
Tweet

More Decks by Moisés Martínez

Other Decks in Research

Transcript

  1. Moisés Martínez Inteligencia Artificial aplicada en Videojuegos y Robótica Except

    where otherwise noted, this work is licensed under: http://creativecommons.org/licenses/by-nc-sa/3.0/ Leganés 23 Marzo 2015 Grupo de Planificación y Aprendizaje (PLG) Departamento de Informática [email protected]
  2. Inteligencia Artificial aplicada en Videojuegos y Robótica 2 Desde el

    punto de vista de los videojuegos y de la robótica se denomina a la inteligencia artificial como la capacidad de un agente no vivo de razonar. Que es la inteligencia artificial???
  3. 3  Agentes actúen racionalmente  Agentes actúen como un

    humano Que es la inteligencia artificial??? Que ofrece a los videojuegos y a la robótica??? Inteligencia Artificial aplicada en Videojuegos y Robótica Desde el punto de vista de los videojuegos y de la robótica se denomina a la inteligencia artificial como la capacidad de un agente no vivo de razonar.
  4. 4  Agentes actúen racionalmente  Agentes actúen como un

    humano Que es la inteligencia artificial??? Comportamientos parezcan racionales Inteligencia Artificial aplicada en Videojuegos y Robótica Desde el punto de vista de los videojuegos y de la robótica se denomina a la inteligencia artificial como la capacidad de un agente no vivo de razonar. Que ofrece a los videojuegos y a la robótica???
  5. 7  Situaciones (Información del entorno, estado del jugador) 

    Capacidades (Acciones que pueden ser aplicadas en el entorno) Inteligencia Artificial aplicada en Videojuegos y Robótica
  6. 8  Representación del entorno  Información estática  Información

    dinámica  Estado del jugador  Estado de los oponentes Punto de vista de un Jugador Autónomo Inteligencia Artificial aplicada en Videojuegos y Robótica
  7. 9  Representación del entorno  Información estática  Información

    dinámica  Estado del jugador  Estado de los oponentes  Acciones  Globales  Locales  Individuales  Colectivas Punto de vista de un Jugador Autónomo Inteligencia Artificial aplicada en Videojuegos y Robótica
  8. 10 Técnicas de Inteligencia Artificial Máquinas de estados finitas Árboles

    de comportamiento Planificación Automática GOAP Arquitecturas Blackboard Redes Bayesianas Path-Planning Árboles de decisión Aprendizaje automático Mapas de influencia Inteligencia Artificial aplicada en Videojuegos y Robótica
  9. Técnicas de Inteligencia Artificial Planificación Automática Máquinas de estados finitas

    Árboles de comportamiento GOAP Arquitecturas Blackboard Redes Bayesianas Path-Planning Árboles de decisión Aprendizaje automático Mapas de influencia Inteligencia Artificial aplicada en Videojuegos y Robótica
  10. Técnicas de Inteligencia Artificial  Path Planning (Búsqueda de caminos)

     Máquinas de estado finitas (FSM)  Árboles de comportamiento (Bts)  Goal Oriented Action Planning (GOAP) Inteligencia Artificial aplicada en Videojuegos y Robótica
  11. 13 Path Planning (Búsqueda de caminos) Encontrar una secuencia de

    acciones que permitan al jugador moverse desde un punto del mapa (origen) hasta otro punto del mapa (destino).  Representación del mapa  Movilidad de las unidades o del jugador  Coste de las acciones de las unidades o del jugador Inteligencia Artificial aplicada en Videojuegos y Robótica
  12. 14 Path Planning (Búsqueda de caminos) Encontrar una secuencia de

    acciones que permitan al jugador moverse desde un punto del mapa (origen) hasta otro punto del mapa (destino).  Representación del mapa  Movilidad de las unidades o del jugador  Coste de las acciones de las unidades o del jugador Algoritmos de búsqueda heurística (A*, IDA*, D*) Inteligencia Artificial aplicada en Videojuegos y Robótica
  13. 15 Path Planning (Búsqueda de caminos) Encontrar una secuencia de

    acciones que permitan al jugador moverse desde un punto del mapa (origen) hasta otro punto del mapa (destino).  Representación del mapa  Movilidad de las unidades o del jugador  Coste de las acciones de las unidades o del jugador Algoritmos de búsqueda heurística (A*, IDA*, D*) Coste computacional elevado Inteligencia Artificial aplicada en Videojuegos y Robótica
  14. 16 Path Planning (Búsqueda de caminos) Inteligencia Artificial aplicada en

    Videojuegos y Robótica Calculo de distancia a la meta
  15. 17 Path Planning (Búsqueda de caminos) Inteligencia Artificial aplicada en

    Videojuegos y Robótica Calculo de distancia a la meta
  16. 18 Path Planning (Búsqueda de caminos) Inteligencia Artificial aplicada en

    Videojuegos y Robótica Calculo de distancia a la meta
  17. 19 Path Planning (Búsqueda de caminos) Inteligencia Artificial aplicada en

    Videojuegos y Robótica Calculo de distancia a la meta
  18. 20 Path Planning (Búsqueda de caminos) Inteligencia Artificial aplicada en

    Videojuegos y Robótica Calculo de distancia a la meta
  19. 21 Path Planning (Búsqueda de caminos) Diferentes costes según las

    características del mapa Inteligencia Artificial aplicada en Videojuegos y Robótica
  20. 22 Path Planning (Búsqueda de caminos) Diferentes costes según las

    capacidades de las unidades Inteligencia Artificial aplicada en Videojuegos y Robótica
  21. 23 Path Planning (Búsqueda de caminos) Mapas divididos en regiones

    para disminuir su coste de exploración Inteligencia Artificial aplicada en Videojuegos y Robótica
  22. 24 Path Planning (Búsqueda de caminos) Mapas divididos en cuadriculas

    no uniformes con waypoints Inteligencia Artificial aplicada en Videojuegos y Robótica
  23. 25 Path Planning (Búsqueda de caminos) Omisión de información del

    entorno para disminuir la complejidad del proceso Inteligencia Artificial aplicada en Videojuegos y Robótica
  24. 26 Path Planning (Búsqueda de caminos) Omisión de información del

    entorno para disminuir la complejidad del proceso Inteligencia Artificial aplicada en Videojuegos y Robótica
  25. Técnicas de Inteligencia Artificial  Path Planning (Búsqueda de caminos)

     Máquinas de estado finitas (FSM)  Árboles de comportamiento (Bts)  Goal Oriented Action Planning (GOAP) Inteligencia Artificial aplicada en Videojuegos y Robótica
  26. 28 Máquinas de Estados Finitas (FSM)  Estados: Representan un

    instante del mundo  Acciones: Representan las acciones que pueden ser ejecutadas Inteligencia Artificial aplicada en Videojuegos y Robótica
  27. 29 Máquinas de Estados Finitas (FSM)  Estados: Representan un

    instante del mundo  Acciones: Representan las acciones que pueden ser ejecutadas Inteligencia Artificial aplicada en Videojuegos y Robótica Disparando Corriendo Balas disponibles/ Disparar Balas no disponibles + Enemigo detectado / Correr Balas no disponibles + Enemigo detectado Vigilando
  28. 30 Máquinas de Estados Finitas (FSM)  HL2-SDK, npc_BaseZombie.cpp (Lineas

    1828 -1870) switch ( m_NPCState ) { case NPC_STATE_COMBAT: … case NPC_STATE_ALERT: … case NPC_STATE_HIDE: … } Inteligencia Artificial aplicada en Videojuegos y Robótica
  29. 31 Máquinas de Estados Finitas (FSM)  Fue una de

    las primeras técnicas que se utilizaron para definir los comportamientos de los NPCs.  Técnica muy sencilla de definir y de implementar (if – else) Inteligencia Artificial aplicada en Videojuegos y Robótica
  30. Técnicas de Inteligencia Artificial  Path Planning (Búsqueda de caminos)

     Máquinas de estado finitas (FSM)  Árboles de comportamiento (Bts)  Goal Oriented Action Planning (GOAP) Inteligencia Artificial aplicada en Videojuegos y Robótica
  31. 33 Árboles de comportamiento (BTs) Son árboles que representan una

    descomposición de tareas. El resultado tras recorrer el árbol puede tener dos valores (correcto/incorrecto)  Tareas hoja: Se corresponden con los nodos terminales del árbol. Su valor puede ser el resultado de una condición o la ejecución de un fragmento de código. Inteligencia Artificial aplicada en Videojuegos y Robótica
  32. 34 Árboles de comportamiento (BTs) Son árboles que representan una

    descomposición de tareas. El resultado tras recorrer el árbol puede tener dos valores (correcto/incorrecto)  Tareas hoja: Se corresponden con los nodos terminales del árbol. Su valor puede ser el resultado de una condición o la ejecución de un fragmento de código.  Tareas compuestas: Se corresponden con los nodos intermedios del árbol. Su valor de retorno depende los valores de las tareas que contiene. Descendientes. Inteligencia Artificial aplicada en Videojuegos y Robótica
  33. 35 Árboles de comportamiento (BTs) Son árboles que representan una

    descomposición de tareas. El resultado tras recorrer el árbol puede tener dos valores (correcto/incorrecto)  Tareas hoja: Se corresponden con los nodos terminales del árbol. Su valor puede ser el resultado de una condición o la ejecución de un fragmento de código.  Tareas compuestas: Se corresponden con los nodos intermedios del árbol. Su valor de retorno depende los valores de las tareas que contiene. Descendientes. Secuencia Selección Selección paralela Secuencia no determinista   ?  ~ Inteligencia Artificial aplicada en Videojuegos y Robótica
  34. 36 Árboles de comportamiento (BTs)     ?

    ~? Puerta abierta ?? Entrar a la habitación Acercarse a la puerta Entrar en la habitación Puerta cerrada ?? Abrir puerta Golpear Puerta Puerta abierta ?? Inteligencia Artificial aplicada en Videojuegos y Robótica
  35. 37 Árboles de comportamiento (BTs)     ?

    ~? Puerta abierta ?? Entrar a la habitación Acercarse a la puerta Entrar en la habitación Puerta cerrada ?? Abrir puerta Golpear Puerta Puerta abierta ?? No se aplica búsqueda Secuencia de acciones 37 Inteligencia Artificial aplicada en Videojuegos y Robótica
  36. Árboles de comportamiento (BTs)  Similar a las máquinas de

    estados.  Ofrece un mayor grado de interacción por parte de los jugadores.  Técnica muy sencilla de definir y de implementar. 38 Inteligencia Artificial aplicada en Videojuegos y Robótica
  37. Necesidad de mayor realismo e interacción  Entornos son cada

    vez más complejos  Mundos más grandes  Mayor interacción  Los NPCs necesitan:  Ser autónomos  Tener sus propios objetivos  Interactuar con el mundo de forma independiente 39 Inteligencia Artificial aplicada en Videojuegos y Robótica
  38. Inteligencia Artificial en Videojuegos Leganés 6-7 Febrero 2014 Técnicas de

    Inteligencia Artificial  Path Planning (Búsqueda de caminos)  Máquinas de estado finitas (FSM)  Árboles de comportamiento (Bts)  Goal Oriented Action Planning (GOAP)
  39. Inteligencia Artificial en Videojuegos Leganés 6-7 Febrero 2014 Goal Oriented

    Action Planning (GOAP) Cada NPC del juego está definido  Un conjunto de metas que son alcanzables  Un conjunto de condiciones asociadas a cada una de las meta  Un conjunto de acciones formadas por dos elementos  Precondiciones  Efectos Entrar a la habitación Precondiciones: Puerta abierta Efectos: Dentro de la habitación Abrir puerta Precondiciones: Puerta cerrada, tengo llave Efectos: Puerta abierta 42
  40. Goal Oriented Action Planning (GOAP) 1. Si se detecta que

    una meta se cumple (todas las condiciones de la meta son ciertas) 2. Se realiza una búsqueda en tiempo real 3. Si se obtiene una solución, esta está formada por una secuencia de acciones. 43 Inteligencia Artificial aplicada en Videojuegos y Robótica
  41. Goal Oriented Action Planning (GOAP) 1. Si se detecta que

    una meta se cumple (todas las condiciones de la meta son ciertas) 2. Se realiza una búsqueda en tiempo real 3. Si se obtiene una solución, esta está formada por una secuencia de acciones. 44 Inteligencia Artificial aplicada en Videojuegos y Robótica Coste computacional elevado con respecto al número de acciones Puede generar planes inválidos
  42. Goal Oriented Action Planning (GOAP) 45 Coste computacional elevado con

    respecto al número de acciones Puede generar planes inválidos 1. Si se detecta que una meta se puede cumplir (todas las condiciones de la meta pueden llegar a ser ciertas) 2. Se realiza una búsqueda en tiempo real 3. Si se obtiene una solución, esta está formada por una secuencia de acciones Inteligencia Artificial aplicada en Videojuegos y Robótica
  43. Coste computacional elevado con respecto al número de acciones Puede

    generar planes inválidos Goal Oriented Action Planning (GOAP) 46 1. Si se detecta que una meta se puede cumplir (todas las condiciones de la meta pueden llegar a ser ciertas) 2. Se realiza una búsqueda en tiempo real 3. Si se obtiene una solución, esta está formada por una secuencia de acciones Inteligencia Artificial aplicada en Videojuegos y Robótica
  44. 47 Que es un robot??? Inteligencia Artificial aplicada en Videojuegos

    y Robótica  Actuadores (Motores que permiten los movimientos)
  45. 48 Que es un robot??? Inteligencia Artificial aplicada en Videojuegos

    y Robótica  Actuadores (Motores que permiten los movimientos)  Sensores (Dispositivos que obtienen información del entorno)
  46. 49 Técnicas de Inteligencia Artificial Máquinas de estados finitas Árboles

    de comportamiento Planificación Automática Algoritmo Genéticos Visión Artificial Redes Bayesianas Path-Planning Árboles de decisión Aprendizaje automático Subsunción Inteligencia Artificial aplicada en Videojuegos y Robótica
  47. 50 Técnicas de Inteligencia Artificial Máquinas de estados finitas Árboles

    de comportamiento Planificación Automática Algoritmo Genéticos Visión Artificial Redes Bayesianas Path-Planning Árboles de decisión Aprendizaje automático Subsunción Inteligencia Artificial aplicada en Videojuegos y Robótica
  48. 51 Inteligencia Artificial aplicada en Videojuegos y Robótica Técnicas de

    Inteligencia Artificial  Máquinas de Estados Finitas (FSM)  Planificación Automática  Visión Artificial  Aprendizaje Automático
  49. 52 Inteligencia Artificial aplicada en Videojuegos y Robótica Máquinas de

    Estados Finitas (FSM) Detección de objetos en tiempo real. Aprendizaje de zonas de limpieza Modelos de patrulla
  50. 54 Inteligencia Artificial aplicada en Videojuegos y Robótica Técnicas de

    Inteligencia Artificial  Máquinas de Estados Finitas (FSM)  Planificación Automática  Aprendizaje Automático
  51. 55 Inteligencia Artificial aplicada en Videojuegos y Robótica Planificación Automática

     Representación del entorno (Lógica de 1er orden)  Conjunto de acciones (comportamientos)  Estado inicial  Conjunto de metas (Objetivos) robot_at(roomba, roomB) connected(roomB, roomA, door1) close(door1) dirty(roomB) Move(roomba, roomB, roomC) 1 2
  52. 57 Inteligencia Artificial aplicada en Videojuegos y Robótica Técnicas de

    Inteligencia Artificial  Máquinas de Estados Finitas (FSM)  Planificación Automática  Visión Artificial  Aprendizaje Automático
  53. 58 Inteligencia Artificial aplicada en Videojuegos y Robótica Visión Artificial

    StockBot desarrollado por la Empresa Pal Robotics • Utiliza sensores laterales para detectar la información de los estantes. • Utiliza dispositivos Kinect para moverse y evitar obstáculos.
  54. 59 Inteligencia Artificial aplicada en Videojuegos y Robótica Aprendizaje Automático

     Aprendizaje supervisado  Aprendizaje no supervisado  Aprendizaje por refuerzo Construir modelos de razonamiento o de actuación mediante la utilización de experiencias pasadas que han sido obtenidas por el robot.
  55. 60 Inteligencia Artificial aplicada en Videojuegos y Robótica Técnicas de

    Inteligencia Artificial  Máquinas de Estados Finitas (FSM)  Planificación Automática  Visión Artificial  Aprendizaje Automático
  56. 61 Inteligencia Artificial aplicada en Videojuegos y Robótica Aprendizaje Automático

    (No Supervisado)  Aprendizaje supervisado  Aprendizaje no supervisado  Aprendizaje por refuerzo Construir modelos de razonamiento o de actuación mediante la utilización de modelos sin entrenamiento sin tener entrenamiento.
  57. 62 Inteligencia Artificial aplicada en Videojuegos y Robótica Aprendizaje Automático

     Aprendizaje supervisado  Aprendizaje no supervisado  Aprendizaje por refuerzo Construir modelos de razonamiento o de actuación mediante la utilización de experiencias pasadas que han sido obtenidas por el robot.