SlideShare una empresa de Scribd logo
1 de 24
Descargar para leer sin conexión
Inteligencia Artificial
para Videojuegos
Decisión
Reglas y planificación
● 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...
● 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
● 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
● 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
● 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)
● 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
● 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
● 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
● 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
● 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
● 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
● 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
Reglas y planificación 14
Ejemplo STRIPS
● 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)
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
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
● 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
● 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
● 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
● 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
● ¿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
● 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
* Excepto el contenido multimedia de terceros autores
Federico Peinado (2019-2022)
www.federicopeinado.es
Críticas, dudas, sugerencias...

Más contenido relacionado

Similar a Reglas y planificación

Adopción Ágil: El sentido, el enfoque y la kata
Adopción Ágil: El sentido, el enfoque y la kataAdopción Ágil: El sentido, el enfoque y la kata
Adopción Ágil: El sentido, el enfoque y la kataSoftware Guru
 
Algoritmos y diagramas de flujo para pseint.pptx
Algoritmos y diagramas de flujo para pseint.pptxAlgoritmos y diagramas de flujo para pseint.pptx
Algoritmos y diagramas de flujo para pseint.pptxkikemendez76
 
Haz realidad tu proyecto, Cómo hacer una app movil en 30 días
Haz realidad tu proyecto, Cómo hacer una app movil en 30 díasHaz realidad tu proyecto, Cómo hacer una app movil en 30 días
Haz realidad tu proyecto, Cómo hacer una app movil en 30 díasDavid Muñoz Gaete
 
Informacion algorit descript_16julio
Informacion algorit descript_16julioInformacion algorit descript_16julio
Informacion algorit descript_16julionormaroldano
 
Metodologia programacion
Metodologia  programacionMetodologia  programacion
Metodologia programacionAquino1912
 
Cebek oficina fija oficina movil 2 - 201611
Cebek   oficina fija oficina movil 2 - 201611Cebek   oficina fija oficina movil 2 - 201611
Cebek oficina fija oficina movil 2 - 201611Andoni Eguíluz Morán
 
Adopción ágil: El sentido, el enfoque y la kata
Adopción ágil: El sentido, el enfoque y la kataAdopción ágil: El sentido, el enfoque y la kata
Adopción ágil: El sentido, el enfoque y la kataHiroshi Hiromoto
 
Toc teoria de restricciones
Toc teoria de restriccionesToc teoria de restricciones
Toc teoria de restriccioneserrey2685
 
Hdp materia 3 estefania ramirez
Hdp materia 3 estefania ramirezHdp materia 3 estefania ramirez
Hdp materia 3 estefania ramirezestefania1695
 

Similar a Reglas y planificación (20)

Adopción Ágil: El sentido, el enfoque y la kata
Adopción Ágil: El sentido, el enfoque y la kataAdopción Ágil: El sentido, el enfoque y la kata
Adopción Ágil: El sentido, el enfoque y la kata
 
Algoritmos y diagramas de flujo para pseint.pptx
Algoritmos y diagramas de flujo para pseint.pptxAlgoritmos y diagramas de flujo para pseint.pptx
Algoritmos y diagramas de flujo para pseint.pptx
 
Haz realidad tu proyecto, Cómo hacer una app movil en 30 días
Haz realidad tu proyecto, Cómo hacer una app movil en 30 díasHaz realidad tu proyecto, Cómo hacer una app movil en 30 días
Haz realidad tu proyecto, Cómo hacer una app movil en 30 días
 
Algoritmosprogramacioncuaderno1
Algoritmosprogramacioncuaderno1Algoritmosprogramacioncuaderno1
Algoritmosprogramacioncuaderno1
 
Crp 3-resolucion de problemas
Crp 3-resolucion de problemasCrp 3-resolucion de problemas
Crp 3-resolucion de problemas
 
Informacion algorit descript_16julio
Informacion algorit descript_16julioInformacion algorit descript_16julio
Informacion algorit descript_16julio
 
Trabajo en equipo
Trabajo en equipoTrabajo en equipo
Trabajo en equipo
 
Metodologia programacion
Metodologia  programacionMetodologia  programacion
Metodologia programacion
 
Cebek oficina fija oficina movil 2 - 201611
Cebek   oficina fija oficina movil 2 - 201611Cebek   oficina fija oficina movil 2 - 201611
Cebek oficina fija oficina movil 2 - 201611
 
Árbol de comportamiento
Árbol de comportamientoÁrbol de comportamiento
Árbol de comportamiento
 
Agentes Inteligentes
Agentes InteligentesAgentes Inteligentes
Agentes Inteligentes
 
Adopción ágil: El sentido, el enfoque y la kata
Adopción ágil: El sentido, el enfoque y la kataAdopción ágil: El sentido, el enfoque y la kata
Adopción ágil: El sentido, el enfoque y la kata
 
Toc teoria de restricciones
Toc teoria de restriccionesToc teoria de restricciones
Toc teoria de restricciones
 
Tema 4.4 Actividades
Tema 4.4 ActividadesTema 4.4 Actividades
Tema 4.4 Actividades
 
Kemen gtd v1 [modo de compatibilidad]
Kemen gtd v1 [modo de compatibilidad]Kemen gtd v1 [modo de compatibilidad]
Kemen gtd v1 [modo de compatibilidad]
 
Hdp materia 3 estefania ramirez
Hdp materia 3 estefania ramirezHdp materia 3 estefania ramirez
Hdp materia 3 estefania ramirez
 
Libro 2
Libro 2Libro 2
Libro 2
 
Libro 2
Libro 2Libro 2
Libro 2
 
Probabilidad y utilidad
Probabilidad y utilidadProbabilidad y utilidad
Probabilidad y utilidad
 
Inteligencia artificial
Inteligencia artificialInteligencia artificial
Inteligencia artificial
 

Más de Federico Peinado

Comunicación en lenguaje natural
Comunicación en lenguaje naturalComunicación en lenguaje natural
Comunicación en lenguaje naturalFederico Peinado
 
Representación del conocimiento
Representación del conocimientoRepresentación del conocimiento
Representación del conocimientoFederico Peinado
 
Búsqueda de caminos usando estrategias informadas
Búsqueda de caminos usando estrategias informadasBúsqueda de caminos usando estrategias informadas
Búsqueda de caminos usando estrategias informadasFederico Peinado
 
Representación del entorno
Representación del entornoRepresentación del entorno
Representación del entornoFederico Peinado
 
Resolución de problemas en el espacio de estados
Resolución de problemas en el espacio de estadosResolución de problemas en el espacio de estados
Resolución de problemas en el espacio de estadosFederico Peinado
 
Comportamiento de dirección
Comportamiento de direcciónComportamiento de dirección
Comportamiento de direcciónFederico Peinado
 
Generación procedimental de contenido (+ Pseudocódigo)
Generación procedimental de contenido (+ Pseudocódigo)Generación procedimental de contenido (+ Pseudocódigo)
Generación procedimental de contenido (+ Pseudocódigo)Federico Peinado
 
Aplicación según tipología del juego
Aplicación según tipología del juegoAplicación según tipología del juego
Aplicación según tipología del juegoFederico Peinado
 
Inteligencia Artificial para Videojuegos
Inteligencia Artificial para VideojuegosInteligencia Artificial para Videojuegos
Inteligencia Artificial para VideojuegosFederico Peinado
 
Resolutor automático y agente inteligente
Resolutor automático y agente inteligenteResolutor automático y agente inteligente
Resolutor automático y agente inteligenteFederico Peinado
 

Más de Federico Peinado (20)

Herramientas de autoría
Herramientas de autoríaHerramientas de autoría
Herramientas de autoría
 
Interfaz del mundo
Interfaz del mundoInterfaz del mundo
Interfaz del mundo
 
Acción coordinada
Acción coordinadaAcción coordinada
Acción coordinada
 
Comunicación en lenguaje natural
Comunicación en lenguaje naturalComunicación en lenguaje natural
Comunicación en lenguaje natural
 
Puntos de ruta tácticos
Puntos de ruta tácticosPuntos de ruta tácticos
Puntos de ruta tácticos
 
Análisis táctico
Análisis tácticoAnálisis táctico
Análisis táctico
 
Máquina de estados
Máquina de estadosMáquina de estados
Máquina de estados
 
Representación del conocimiento
Representación del conocimientoRepresentación del conocimiento
Representación del conocimiento
 
Búsqueda de caminos usando estrategias informadas
Búsqueda de caminos usando estrategias informadasBúsqueda de caminos usando estrategias informadas
Búsqueda de caminos usando estrategias informadas
 
Representación del entorno
Representación del entornoRepresentación del entorno
Representación del entorno
 
Resolución de problemas en el espacio de estados
Resolución de problemas en el espacio de estadosResolución de problemas en el espacio de estados
Resolución de problemas en el espacio de estados
 
Desplazamiento en grupo
Desplazamiento en grupoDesplazamiento en grupo
Desplazamiento en grupo
 
Percepción
PercepciónPercepción
Percepción
 
Comportamiento de dirección
Comportamiento de direcciónComportamiento de dirección
Comportamiento de dirección
 
Física y animación
Física y animaciónFísica y animación
Física y animación
 
Generación procedimental de contenido (+ Pseudocódigo)
Generación procedimental de contenido (+ Pseudocódigo)Generación procedimental de contenido (+ Pseudocódigo)
Generación procedimental de contenido (+ Pseudocódigo)
 
Aplicación según tipología del juego
Aplicación según tipología del juegoAplicación según tipología del juego
Aplicación según tipología del juego
 
Inteligencia Artificial para Videojuegos
Inteligencia Artificial para VideojuegosInteligencia Artificial para Videojuegos
Inteligencia Artificial para Videojuegos
 
Resolutor automático y agente inteligente
Resolutor automático y agente inteligenteResolutor automático y agente inteligente
Resolutor automático y agente inteligente
 
Industria y negocio
Industria y negocioIndustria y negocio
Industria y negocio
 

Último

Manual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdfManual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdfmasogeis
 
Unidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionUnidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionarmando_cardenas
 
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLOPARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLOSelenaCoronadoHuaman
 
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...ITeC Instituto Tecnología Construcción
 
Introducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTERIntroducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTEREMMAFLORESCARMONA
 
Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Opentix
 
Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3AlexysCaytanoMelndez1
 

Último (7)

Manual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdfManual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdf
 
Unidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionUnidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacion
 
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLOPARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
 
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
 
Introducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTERIntroducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTER
 
Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200
 
Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3
 

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