Publicité
Publicité

Contenu connexe

Publicité

Reglas y planificación

  1. Inteligencia Artificial para Videojuegos Decisión Reglas y planificación
  2. ● Las decisiones complejas a menudo son secuencias de decisiones más simples pero relacionadas y dependientes entre sí Reglas y planificación 2 Motivación Decisiones simples Decisiones complejas ● Problemas episódicos (= que vienen de uno en uno) ● Maximizar el beneficio que espero conseguir de esa acción ● Problemas secuenciales ● Puede requerir búsqueda, planificación, varios agentes involucrados a la vez...
  3. ● Por ahora los enfoques para decidir que hemos visto son reactivos ○ Se trata de responder bien a las percepciones ○ Podemos “fingir” que el agente tiene deseos y metas propias, pero no es cierto ● Para que sea verdaderamente proactivo tenemos que modelar sus propios objetivos y decidir en base a ellos Reglas y planificación 3 Motivación
  4. ● F.E.A.R. (2005) usó planificación (tipo GOAP) para la decisión de sus personajes, y popularizó esta técnica ○ Como hizo Halo con los árboles de comportamiento ● The Sims y los de su género suelen usar agentes con objetivos ○ Ej. Ghost Master (2003) Reglas y planificación 4 Hitos históricos
  5. ● Desde hace años se experimenta con ello, creando bots con herramientas tipo GOAP para jugar títulos como Overcooked (2016) ○ Behavior Planner, experimento de la empresa Unity https://youtu.be/ZdN8dDa0ff4 Reglas y planificación 5 Hitos históricos
  6. ● Actualmente hay algunos complementos disponibles que permiten usar reglas o planificación en entornos de desarrollo Reglas y planificación 6 Hitos históricos AI Rule Engine (Unity) GOAP NPC (Unreal Engine)
  7. ● Un sistema de toma de decisiones puede basarse en objetivos y acciones ● Objetivos, cada agente tendrá activo 1 al menos, cada uno con su nivel de insistencia ○ Lo que buscamos es rebajar la insistencia de esos objetivos, idealmente a 0.0 (cumplirlo al completo) ○ Ej. Mantener a raya a un enemigo vs. eliminarlo ● Acciones, cada agente tendrá un repertorio disponible según el contexto concreto ○ El entorno (inteligente) puede añadir algunas más ○ Cada acción modifica la insistencia de X objetivos Reglas y planificación 7 Acciones orientadas a objetivos GOAL-ORIENTED ACTIONS / GOAL-ORIENTED BEHAVIORS
  8. ● Situación del agente ○ Tengo Hambre (4.0) y Sueño (3.5) ○ Puedo comer pollo (H-2) o donuts (H-1) ○ Puedo dormir mucho (S-4) o una siesta (S-2) ● ¿Qué acción decide hacer? ○ Una política razonable: podría ocuparme del objetivo más insistente, el Hambre, para entonces tratar de minimizar su insistencia, comiendo pollo Reglas y planificación 8 Ejemplo
  9. ● Uno de los más sencillos es el que escoge objetivo prioritario y luego la mejor acción para reducir su insistencia ○ Implica recorrer primero todos los objetivos y luego todas las acciones posibles ○ No tiene en cuenta efectos colaterales de las acciones (ni la satisfacción general, pensando en el conjunto de todos los demás objetivos) ○ Tampoco tiene en cuenta el tiempo que se tarda en realizarlas ni en navegar hasta la posición desde donde poder realizarlas Reglas y planificación 9 Algoritmo básico Espacio = O(1) Tiempo = O(n+m) donde n es el número de objetivos y m el de posibles acciones
  10. ● Situación del agente ○ Tengo Sed (4.0) y Ganas de ir al baño (3.0) ○ Puedo beber agua (S-2; G+2) o ir al baño (G-4) ○ Existe un nivel de insatisfacción que es la suma de la insistencia (al cuadrado*) de cada objetivo ● ¿Qué acción decide hacer? ○ Podría minimizar la insatisfacción y así tener en cuenta ambos objetivos y no sólo el más insistente, eligiendo ir al baño (insatisfacción final 16) antes que beber agua (insatisfacción final 29), ¡lógico! ■ Lo que implica más cálculos, O(n*m) Reglas y planificación 10 Ejemplo * Para dar más relevancia a los valores altos
  11. ● Situación del agente ○ Estoy perdiendo Sangre (4.0) a 4/min. y Combustible (3.0) a 1/min. ○ Puedo hacer un torniquete (S-2) en 1 min. o coser la herida (S-40) en 10 min. ○ Puedo repostar combustible (C-5) en 2 min. ● ¿Qué acción decide hacer? ○ Teniendo en cuenta cómo queda la insatisfacción tras el tiempo que dura cada acción, es mejor hacer el torniquete (61) que coser la herida (185) o que repostar (144)... y encima es lo más rápido Reglas y planificación 11 Ejemplo
  12. ● Lo anterior funciona, hasta que tenemos acciones que habilitan o deshabilitan acciones en futuros pasos ○ Ej. Cargar hechizos, gastar dinero… ● Se pueden probar todas las combinaciones en k pasos, y minimizar insatisfacción final ○ ¡En esencia esto viene a ser la planificación! ○ Son demasiados cálculos, O(n * m^k) ○ Además es necesario mantener un modelo que represente el estado del mundo tras cada paso Reglas y planificación 12 Planificación PLANNING
  13. ● En 1971 Fikes y Nilsson crearon STRIPS, un planificador muy influyente hoy día ○ Llamamos así a su lenguaje de representación Reglas y planificación 13 Lenguaje STRIPS STANFORD RESEARCH INSTITUTE PROBLEM SOLVER Estado inicial Condiciones de estado objetivo Conjunto de operadores/acciones (se llaman “lenguaje de acciones”), cada una con sus precondiciones y poscondiciones Solución, secuencia óptima de operadores/acciones que permite llegar del estado inicial a uno que cumpla todas las condiciones de estado objetivo
  14. Reglas y planificación 14 Ejemplo STRIPS
  15. ● Esencialmente es un algoritmo de búsqueda ○ Podría ser tipo A*, aunque suele sobrar con una búsqueda iterativa (y exhaustiva) utilizando primero en profundidad con profundidad limitada ■ También por la dificultad de hallar heurística ○ Tiene profundidad máxima de pasos a planificar ○ Mantiene un modelo del mundo a cada paso, más otro para hacer cálculos intermedios ○ Mantiene la mejor secuencia encontrada hasta el momento, con el valor de insatisfacción correspondiente Reglas y planificación 15 Algoritmo GOAP GOAL-ORIENTED ACTION PLANNING DEPTH-LIMITED SEARCH (DLS)
  16. Reglas y planificación 16 Pseudocódigo * Sólo si se alcanza la profundidad máxima, compruebo la insatisfacción del modelo resultante… y vuelvo atrás
  17. Reglas y planificación 17 Pseudocódigo * Copia profunda del modelo * Siempre que pueda seguir profundizando, lo hago… intentando usar una acción que no haya usado antes para ese modelo, hasta agotar todas las que haya
  18. ● Interfaces y estructura de datos ○ Los cálculos vienen a ser los mismos, O(n * m^k) aunque si buscamos un único objetivo, una búsqueda tipo IDA* es mejor solución Reglas y planificación 18 Pseudocódigo * Devuelve las acciones posibles, de una en una * En vez de clase Goal, a veces se les numera * El cambio en insistencia
  19. ● Aún hoy es tecnología potente para muchos juegos, aunque compleja de implementar ○ Lo ideal es aprovechar la expresividad de las reglas (Ej. Age of Empires), si no, es mejor hacer la IA con un árbol de decisión o de comportamiento Reglas y planificación 19 Sistema basado en reglas
  20. ● De moda en los 70 y parte de los 80, se usa en videojuegos desde los 90… pero es raro ○ Base de conocimiento con hechos ○ Reglas “SI-ENTONCES” ■ Activar reglas que cumplen la condición “SI” ○ Árbitro que escoge una regla activa ■ Disparar una regla activa, ejecutando las acciones externas e internas “ENTONCES” Reglas y planificación 20 Sistema basado en reglas RULE-BASED SYSTEM TRIGGER
  21. ● Hay dos optimizaciones básicas que a veces requieren estos sistemas ○ Agrupar reglas para que no se activen demasiadas a la vez, haciendo ineficiente el algoritmo ○ Anotar las causas (reglas ejecutadas) de cada hecho añadido o borrado, para poder depurar y justificar mejor el sistema Reglas y planificación 21 Sistema basado en reglas
  22. ● ¿Qué mide la insatisfacción de un agente? A. Cómo de insistentes son sus acciones en conjunto B. Cuánto tiempo falta para realizar sus acciones C. Cuánto tiempo falta para alcanzar sus objetivos D. Cómo de insistentes son sus objetivos en conjunto ● Desarrolla tu respuesta (en texto libre) Reglas y planificación 22 Participación
  23. ● de Byl, P.: Goal Driven Behavior https://learn.unity.com/project/goal-driven-behaviour?uv=2021. 3 https://learn.unity.com/tutorial/the-goap-planner# ● Millington, I.: Artificial Intelligence for Games. CRC Press, 3rd Edition (2019) ● Orkin, J.: Goal-Oriented Action Planning http://alumni.media.mit.edu/~jorkin/goap.html ● Unity: AI for Behavior: Advanced Research for Intelligent Decision Making. Unity (2018) https://www.youtube.com/watch?v=ZdN8dDa0ff4 Reglas y planificación 23 Más información
  24. * Excepto el contenido multimedia de terceros autores Federico Peinado (2019-2022) www.federicopeinado.es Críticas, dudas, sugerencias...
Publicité