SlideShare ist ein Scribd-Unternehmen logo
1 von 28
Downloaden Sie, um offline zu lesen
Inteligencia Artificial
para Videojuegos
Decisión
Árbol de comportamiento
● De las técnicas para decidir existentes, esta
es seguramente la más utilizada hoy día
Árbol de comportamiento 2
Motivación
Árbol de comportamiento 3
Motivación
Los árboles de comportamiento del ahora conocido como:
● Halo: Combat Evolved
introdujo los árboles de
comportamiento
● Se popularizaron con
Halo 2 al ofrecer una
mezcla de técnicas
que era comprensible
para el diseñador
○ Máquinas de estados finitos
jerárquicas + planificación
reactiva + gestor de acciones
Árbol de comportamiento 4
Hitos históricos
● Hoy día también se combinan árboles de
comportamiento con máquinas de estado
○ Final Fantasy XV (AI Graph, en Luminous Studio)
○ StateTree en Unreal Engine 5
Árbol de comportamiento 5
Hitos históricos
● Al igual que con la Interfaz del Mundo,
centralizar la ejecución de acciones en un
gestor hace la IA más flexible y depurable
○ Ej. Actividades comunes como cambios de estado,
animaciones, movimientos… y algunas de alto nivel
● Tipos de acciones
○ Simples, a menudo agrupando varias actividades
○ Interrumpibles, dejan saltar a otra más importante
○ Compuestas, generalmente resultado de combinar
acciones simples tomadas por sistemas simultáneos
○ Guionizadas, ya dijimos que son útiles y creíbles
(y se suelen combinar con las otras, de hecho)
Árbol de comportamiento 6
Gestor de acciones
Árbol de comportamiento 7
Gestor de acciones
* La capa
más externa
es ACTUAR;
DECIDIR es
una capa
más interna
● Puede servir de base flexible para coordinar
varios sistemas de toma de decisiones
○ Cada sistema será un
“experto” que consulta
la pizarra y pide turno
○ El árbitro cede el
control a un experto
○ El experto modifica
hechos de la pizarra
○ El experto devuelve
el control al árbitro
Árbol de comportamiento 8
Arquitectura de pizarra
BLACKBOARD ARCHITECTURE / SYSTEM
● Para evitar acoplamiento entre los estados
de una máquina jerárquica de estados
finitos surge el árbol de comportamiento
○ Representa intuitivamente la ejecución de un plan
(tarea = secuencia de acciones)
● Es un árbol dirigido
○ Tiene un nodo raíz, nodos
de control de flujo y
nodos de ejecución
(las tareas)
* que pueden estar en ejecución
o terminar con éxito o con fracaso
Árbol de comportamiento 9
Árbol de comportamiento
BEHAVIOR TREES (BTs)
● Si hay biblioteca de árboles prediseñados
(arquetipos) el diseñador los puede
instanciar y reutilizar parcial o totalmente
○ Esto es una solución popular, pero limitada
(dificulta gestionar interrupciones externas)...
○ Ej. Subárboles habituales
Árbol de comportamiento 10
Árbol de comportamiento
* Build defenses
sería otro BT...
● Dos nodos principales de control de flujo
○ Nodo Selector (?), tendrá éxito
en cuanto uno de sus hijos tenga
éxito, probando de izquierda a
derecha
○ Nodo Secuencia (→) ,
tendrá éxito sólo cuando
todos sus hijos tengan
éxito, ejecutando de
izquierda a derecha
Árbol de comportamiento 11
Árbol de comportamiento
● Primera versión de “ir a la habitación”
Árbol de comportamiento 12
Ejemplos
* Responde a la
pregunta: ¿Está la
puerta visiblemente
abierta?
● Segunda versión con el
árbol algo refactorizado
○ Pero es una simplificación,
porque la apertura de la
puerta podría fracasar (si
está cerrada con llave) y
todavía faltaría la tarea de
“entrar en la habitación”...
Árbol de comportamiento 13
Ejemplos
● Tercera versión, mínimamente aceptable
○ Ahora ya sí
está completa
(algo diferente
al libro) y tiene
en cuenta los
posibles estados
de la puerta
(abierta,
cerrada o
cerrada con
llave)
Árbol de comportamiento 14
Ejemplos
* ¿Está la puerta
cerrada SIN LLAVE?
● Ejemplos:
Árbol de comportamiento 15
Pseudocódigo
Árbol de comportamiento 16
Pseudocódigo
Espacio = O(n)
Tiempo = O(log2
n)
donde n es el número de nodos
en el árbol
● Los árboles de comportamiento
no son un estándar y en cada
implementación es posible encontrar toda
clase de curiosas variantes
○ La combinación con una pizarra es muy habitual
(Ej. Unreal Engine)
○ La introducción de elementos pseudoaletorios
ayuda a tener personajes menos predecibles
○ La utilización de otros nodos extra, con nueva
funcionalidad, permite sofisticar la técnica
(Ej. Nodos para concurrencia)
Árbol de comportamiento 17
Variantes
● Para desacoplar el contexto los nodos
suelen compartir información a través de
una pizarra (=una simple tabla de variables)
Árbol de comportamiento 18
Uso de pizarra
● En algunas variantes se añade aleatoriedad
a los nodos
Selectores y
hasta a los
de Secuencia
○ Combinando nodo
determinista y
no determinista
conseguimos un
“orden parcial”
que hace al NPC
menos predecible
Árbol de comportamiento 19
Pseudoaleatoriedad
Símbolos de aleatoriedad
en el árbol de comportamiento
Árbol de comportamiento 20
Pseudocódigo
● Pueden añadirse nodos extra para conseguir
cierta concurrencia (e incluso paralelismo)
○ Ej. Nodo Decorador, se sitúa justo sobre una tarea,
para filtrar y controlar los recursos necesarios para
su ejecución
■ Ej. Limitar número de ejecuciones de una tarea,
continuar hasta que se devuelva fracaso,
invertir el valor devuelto...
■ Ej. Actuar cómo “guarda”
de un recurso
Árbol de comportamiento 21
Concurrencia
○ Ej. Nodo Paralelo, típicamente definido como una
Secuencia pero lanzando todos los hijos a la vez
■ Ej. Espera
■ Otros nodos de concurrencia
y temporización
● A veces introduciendo Paralelo, surge la
necesidad de comunicar unas tareas con
otras (ej. para interrumpirse),
comunicación que se desacopla también
gracias al uso combinado de la pizarra
Árbol de comportamiento 22
Concurrencia
● Para hacer seguimiento de condiciones
Árbol de comportamiento 23
Ejemplos
Algún mecanismo que permita
evaluar algo… para interrumpir
el orden de ejecución del árbol
si ocurre algo importante
● Pseudoaleatoriedad y concurrencia para
comportamientos de grupo (Ej. 3 soldados)
○ Esto sería una forma implícita de “coordinación”
Árbol de comportamiento 24
Ejemplos
● Lo habitual es observar cierta condición y
abortar (sin recuperación) la tarea actual si
otra más prioritaria se vuelve viable
Árbol de comportamiento 25
Gestión de interrupciones
● ¿Qué afirmación es la verdadera?
A. Si su primer hijo tiene éxito, la Secuencia también
B. Si su último hijo fracasa, la Secuencia tiene éxito
C. Si su último hijo fracasa, el Selector tiene éxito
D. Si su primer hijo tiene éxito, el Selector también
● Desarrolla tu respuesta (en texto libre)
Árbol de comportamiento 26
Participación
● de Byl, P.: Behaviour Trees
https://learn.unity.com/project/behaviour-trees?uv=2021.3
● de Byl, P.: Learn Advanced AI for Games
with Behaviour Trees
https://www.udemy.com/course/behaviour-trees/
● Millington, I.: Artificial Intelligence for
Games. CRC Press, 3rd Edition (2019)
● Rabin, S.: Game AI Pro (2015-2017)
https://www.gameaipro.com
● StateTree de Unreal Engine 5
https://docs.unrealengine.com/5.1/en-US/state-tree-in-unreal-e
ngine/
Árbol de comportamiento 27
Más información
* Excepto el contenido multimedia de terceros autores
Federico Peinado (2019-2023)
www.federicopeinado.es
Críticas, dudas, sugerencias...

Weitere ähnliche Inhalte

Was ist angesagt?

Làm chủ công cụ dựng sàn trong phần mềm revit
Làm chủ công cụ dựng sàn trong phần mềm revitLàm chủ công cụ dựng sàn trong phần mềm revit
Làm chủ công cụ dựng sàn trong phần mềm revitKiến Trúc KISATO
 
Analisis struktur gedung bertingkat rendah dengan software etabs v9
Analisis struktur gedung bertingkat rendah dengan software etabs v9Analisis struktur gedung bertingkat rendah dengan software etabs v9
Analisis struktur gedung bertingkat rendah dengan software etabs v9Afret Nobel
 
Perbaikan tanah dengan Geosintetik (Ivtitah anita)
Perbaikan tanah dengan Geosintetik (Ivtitah anita)Perbaikan tanah dengan Geosintetik (Ivtitah anita)
Perbaikan tanah dengan Geosintetik (Ivtitah anita)afifsalim12
 
Pembahasan admixture
Pembahasan admixturePembahasan admixture
Pembahasan admixtureahmadamin1997
 
2D Art Dalam Video Game - Kudit
2D Art Dalam Video Game  -  Kudit2D Art Dalam Video Game  -  Kudit
2D Art Dalam Video Game - KuditGusti Aditya P
 
마이너리티 아레나 기본 전투 시스템 기획서
마이너리티 아레나 기본 전투 시스템 기획서마이너리티 아레나 기본 전투 시스템 기획서
마이너리티 아레나 기본 전투 시스템 기획서Nawe1
 
RCC - Phần mềm tính toán thiết kế cốt thép Cột
RCC - Phần mềm tính toán thiết kế cốt thép CộtRCC - Phần mềm tính toán thiết kế cốt thép Cột
RCC - Phần mềm tính toán thiết kế cốt thép CộtHồ Việt Hùng
 
penggunaan geosintetik untuk konstruksi jalan
penggunaan geosintetik untuk konstruksi jalanpenggunaan geosintetik untuk konstruksi jalan
penggunaan geosintetik untuk konstruksi jalanrobert tuba
 
Concreto pre mezclado
Concreto pre mezcladoConcreto pre mezclado
Concreto pre mezcladoCarlos Yataco
 
Tính toán Thực hành Cấu kiện Bê tông cốt thép - Tập 2 - Nguyễn Đình Cống
Tính toán Thực hành Cấu kiện Bê tông cốt thép - Tập 2 - Nguyễn Đình CốngTính toán Thực hành Cấu kiện Bê tông cốt thép - Tập 2 - Nguyễn Đình Cống
Tính toán Thực hành Cấu kiện Bê tông cốt thép - Tập 2 - Nguyễn Đình Cốngshare-connect Blog
 
Nec se ac_(estructura_acero)
Nec se ac_(estructura_acero)Nec se ac_(estructura_acero)
Nec se ac_(estructura_acero)Elizabeth Eras
 
Perhitungan Beton Mutu Tinggi Metode ACI
Perhitungan Beton Mutu Tinggi Metode ACIPerhitungan Beton Mutu Tinggi Metode ACI
Perhitungan Beton Mutu Tinggi Metode ACIArnas Aidil
 
VẼ COLUMN STRIPS HAY MIDDLE STRIPS TRONG SAFE
VẼ COLUMN STRIPS HAY MIDDLE STRIPS TRONG SAFEVẼ COLUMN STRIPS HAY MIDDLE STRIPS TRONG SAFE
VẼ COLUMN STRIPS HAY MIDDLE STRIPS TRONG SAFEVOBAOTOAN
 
Tipos de concreto y aci
Tipos de concreto y aciTipos de concreto y aci
Tipos de concreto y acithesamuelrex
 

Was ist angesagt? (20)

story board.ppt
story board.pptstory board.ppt
story board.ppt
 
Làm chủ công cụ dựng sàn trong phần mềm revit
Làm chủ công cụ dựng sàn trong phần mềm revitLàm chủ công cụ dựng sàn trong phần mềm revit
Làm chủ công cụ dựng sàn trong phần mềm revit
 
Dasar Pemotretan
Dasar PemotretanDasar Pemotretan
Dasar Pemotretan
 
Analisis struktur gedung bertingkat rendah dengan software etabs v9
Analisis struktur gedung bertingkat rendah dengan software etabs v9Analisis struktur gedung bertingkat rendah dengan software etabs v9
Analisis struktur gedung bertingkat rendah dengan software etabs v9
 
Perbaikan tanah dengan Geosintetik (Ivtitah anita)
Perbaikan tanah dengan Geosintetik (Ivtitah anita)Perbaikan tanah dengan Geosintetik (Ivtitah anita)
Perbaikan tanah dengan Geosintetik (Ivtitah anita)
 
Pembahasan admixture
Pembahasan admixturePembahasan admixture
Pembahasan admixture
 
2D Art Dalam Video Game - Kudit
2D Art Dalam Video Game  -  Kudit2D Art Dalam Video Game  -  Kudit
2D Art Dalam Video Game - Kudit
 
마이너리티 아레나 기본 전투 시스템 기획서
마이너리티 아레나 기본 전투 시스템 기획서마이너리티 아레나 기본 전투 시스템 기획서
마이너리티 아레나 기본 전투 시스템 기획서
 
RCC - Phần mềm tính toán thiết kế cốt thép Cột
RCC - Phần mềm tính toán thiết kế cốt thép CộtRCC - Phần mềm tính toán thiết kế cốt thép Cột
RCC - Phần mềm tính toán thiết kế cốt thép Cột
 
penggunaan geosintetik untuk konstruksi jalan
penggunaan geosintetik untuk konstruksi jalanpenggunaan geosintetik untuk konstruksi jalan
penggunaan geosintetik untuk konstruksi jalan
 
Concreto pre mezclado
Concreto pre mezcladoConcreto pre mezclado
Concreto pre mezclado
 
Tính toán Thực hành Cấu kiện Bê tông cốt thép - Tập 2 - Nguyễn Đình Cống
Tính toán Thực hành Cấu kiện Bê tông cốt thép - Tập 2 - Nguyễn Đình CốngTính toán Thực hành Cấu kiện Bê tông cốt thép - Tập 2 - Nguyễn Đình Cống
Tính toán Thực hành Cấu kiện Bê tông cốt thép - Tập 2 - Nguyễn Đình Cống
 
Cimentación
CimentaciónCimentación
Cimentación
 
Nec se ac_(estructura_acero)
Nec se ac_(estructura_acero)Nec se ac_(estructura_acero)
Nec se ac_(estructura_acero)
 
Contoh baja
Contoh bajaContoh baja
Contoh baja
 
Safe trong tinh toan san btct
Safe trong tinh toan san btctSafe trong tinh toan san btct
Safe trong tinh toan san btct
 
Perhitungan Beton Mutu Tinggi Metode ACI
Perhitungan Beton Mutu Tinggi Metode ACIPerhitungan Beton Mutu Tinggi Metode ACI
Perhitungan Beton Mutu Tinggi Metode ACI
 
VẼ COLUMN STRIPS HAY MIDDLE STRIPS TRONG SAFE
VẼ COLUMN STRIPS HAY MIDDLE STRIPS TRONG SAFEVẼ COLUMN STRIPS HAY MIDDLE STRIPS TRONG SAFE
VẼ COLUMN STRIPS HAY MIDDLE STRIPS TRONG SAFE
 
Cimentacion fundaciones
Cimentacion fundacionesCimentacion fundaciones
Cimentacion fundaciones
 
Tipos de concreto y aci
Tipos de concreto y aciTipos de concreto y aci
Tipos de concreto y aci
 

Ähnlich wie IA Videojuegos Árboles Comportamiento

DEV 02-04 Inteligencia artificial.pdf
DEV 02-04 Inteligencia artificial.pdfDEV 02-04 Inteligencia artificial.pdf
DEV 02-04 Inteligencia artificial.pdfFederico Peinado
 
Representación del conocimiento
Representación del conocimientoRepresentación del conocimiento
Representación del conocimientoFederico Peinado
 
Esenciales olvidados a la hora de programar videojuegos
Esenciales olvidados a la hora de programar videojuegosEsenciales olvidados a la hora de programar videojuegos
Esenciales olvidados a la hora de programar videojuegosMaia Kord
 
Recursividad y Cola (Estructura de Datos)
Recursividad y Cola (Estructura de Datos)Recursividad y Cola (Estructura de Datos)
Recursividad y Cola (Estructura de Datos)sandra gutierrez
 
Agile university day - Un día en un equipo ágil de desarrollo móvil
Agile university day - Un día en un equipo ágil de desarrollo móvilAgile university day - Un día en un equipo ágil de desarrollo móvil
Agile university day - Un día en un equipo ágil de desarrollo móvilagilenavarra
 
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
 
6 3-templates y patrones
6 3-templates y patrones6 3-templates y patrones
6 3-templates y patronesMariano Pereda
 
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
 
Sistema multimedia interactivo
Sistema multimedia interactivoSistema multimedia interactivo
Sistema multimedia interactivoFederico Peinado
 
Diagramacion de sistemas. Herramientas gráficas de Diagramación de Sistemas d...
Diagramacion de sistemas. Herramientas gráficas de Diagramación de Sistemas d...Diagramacion de sistemas. Herramientas gráficas de Diagramación de Sistemas d...
Diagramacion de sistemas. Herramientas gráficas de Diagramación de Sistemas d...mbosque0
 

Ähnlich wie IA Videojuegos Árboles Comportamiento (19)

DEV 02-04 Inteligencia artificial.pdf
DEV 02-04 Inteligencia artificial.pdfDEV 02-04 Inteligencia artificial.pdf
DEV 02-04 Inteligencia artificial.pdf
 
Representación del conocimiento
Representación del conocimientoRepresentación del conocimiento
Representación del conocimiento
 
Inteligencia artificial
Inteligencia artificialInteligencia artificial
Inteligencia artificial
 
Esenciales olvidados a la hora de programar videojuegos
Esenciales olvidados a la hora de programar videojuegosEsenciales olvidados a la hora de programar videojuegos
Esenciales olvidados a la hora de programar videojuegos
 
Recursividad y Cola (Estructura de Datos)
Recursividad y Cola (Estructura de Datos)Recursividad y Cola (Estructura de Datos)
Recursividad y Cola (Estructura de Datos)
 
Agile university day - Un día en un equipo ágil de desarrollo móvil
Agile university day - Un día en un equipo ágil de desarrollo móvilAgile university day - Un día en un equipo ágil de desarrollo móvil
Agile university day - Un día en un equipo ágil de desarrollo móvil
 
Principios de diseño
Principios de diseñoPrincipios de diseño
Principios de diseño
 
Gestión de la ejecución
Gestión de la ejecuciónGestión de la ejecución
Gestión de la ejecución
 
C:\Fakepath\Python}
C:\Fakepath\Python}C:\Fakepath\Python}
C:\Fakepath\Python}
 
Python}
Python}Python}
Python}
 
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
 
6 3-templates y patrones
6 3-templates y patrones6 3-templates y patrones
6 3-templates y patrones
 
Reglas y planificación
Reglas y planificaciónReglas y planificación
Reglas y planificació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)
 
Sistema multimedia interactivo
Sistema multimedia interactivoSistema multimedia interactivo
Sistema multimedia interactivo
 
Diagramacion de sistemas. Herramientas gráficas de Diagramación de Sistemas d...
Diagramacion de sistemas. Herramientas gráficas de Diagramación de Sistemas d...Diagramacion de sistemas. Herramientas gráficas de Diagramación de Sistemas d...
Diagramacion de sistemas. Herramientas gráficas de Diagramación de Sistemas d...
 
06 patrones
06 patrones06 patrones
06 patrones
 
Paralela2
Paralela2Paralela2
Paralela2
 
Como leer planes de ejecución
Como leer planes de ejecuciónComo leer planes de ejecución
Como leer planes de ejecución
 

Mehr von Federico Peinado

Comunicación en lenguaje natural
Comunicación en lenguaje naturalComunicación en lenguaje natural
Comunicación en lenguaje naturalFederico 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
 
Comportamiento de dirección
Comportamiento de direcciónComportamiento de dirección
Comportamiento de direcciónFederico 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
 
Postproducción y distribución
Postproducción y distribuciónPostproducción y distribución
Postproducción y distribuciónFederico Peinado
 

Mehr von 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
 
Probabilidad y utilidad
Probabilidad y utilidadProbabilidad y utilidad
Probabilidad y utilidad
 
Máquina de estados
Máquina de estadosMáquina de estados
Máquina de estados
 
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
 
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
 
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
 
Postproducción y distribución
Postproducción y distribuciónPostproducción y distribución
Postproducción y distribución
 
Mercadotecnia
MercadotecniaMercadotecnia
Mercadotecnia
 

Kürzlich hochgeladen

Webinar Resolucion2335 de 2023 Kubapp.pdf
Webinar Resolucion2335 de 2023 Kubapp.pdfWebinar Resolucion2335 de 2023 Kubapp.pdf
Webinar Resolucion2335 de 2023 Kubapp.pdfAnaRosaMontenegro
 
SISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVO
SISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVOSISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVO
SISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVOELIAMARYTOVARFLOREZD
 
MacOS SISTEMA OPERATIVO CARACTERISTICAS.pptx
MacOS SISTEMA OPERATIVO CARACTERISTICAS.pptxMacOS SISTEMA OPERATIVO CARACTERISTICAS.pptx
MacOS SISTEMA OPERATIVO CARACTERISTICAS.pptxcalzadillasluis134
 
Delitos informáticos en Slideshare.pptx
Delitos informáticos en  Slideshare.pptxDelitos informáticos en  Slideshare.pptx
Delitos informáticos en Slideshare.pptxmaykolmagallanes012
 
Instalacion de servicios windows, configuracion y aplicacion.
Instalacion de servicios windows, configuracion y aplicacion.Instalacion de servicios windows, configuracion y aplicacion.
Instalacion de servicios windows, configuracion y aplicacion.CZSOTEC
 
SQL server Analysis Services & SQL Server Reporting Services.pptx
SQL server Analysis Services & SQL Server Reporting Services.pptxSQL server Analysis Services & SQL Server Reporting Services.pptx
SQL server Analysis Services & SQL Server Reporting Services.pptxRAMIROANTONIOGALINDO
 
Se realiza instalacion y configuraacion servicios Windows
Se realiza instalacion y configuraacion servicios WindowsSe realiza instalacion y configuraacion servicios Windows
Se realiza instalacion y configuraacion servicios WindowsCZSOTEC
 

Kürzlich hochgeladen (7)

Webinar Resolucion2335 de 2023 Kubapp.pdf
Webinar Resolucion2335 de 2023 Kubapp.pdfWebinar Resolucion2335 de 2023 Kubapp.pdf
Webinar Resolucion2335 de 2023 Kubapp.pdf
 
SISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVO
SISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVOSISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVO
SISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVO
 
MacOS SISTEMA OPERATIVO CARACTERISTICAS.pptx
MacOS SISTEMA OPERATIVO CARACTERISTICAS.pptxMacOS SISTEMA OPERATIVO CARACTERISTICAS.pptx
MacOS SISTEMA OPERATIVO CARACTERISTICAS.pptx
 
Delitos informáticos en Slideshare.pptx
Delitos informáticos en  Slideshare.pptxDelitos informáticos en  Slideshare.pptx
Delitos informáticos en Slideshare.pptx
 
Instalacion de servicios windows, configuracion y aplicacion.
Instalacion de servicios windows, configuracion y aplicacion.Instalacion de servicios windows, configuracion y aplicacion.
Instalacion de servicios windows, configuracion y aplicacion.
 
SQL server Analysis Services & SQL Server Reporting Services.pptx
SQL server Analysis Services & SQL Server Reporting Services.pptxSQL server Analysis Services & SQL Server Reporting Services.pptx
SQL server Analysis Services & SQL Server Reporting Services.pptx
 
Se realiza instalacion y configuraacion servicios Windows
Se realiza instalacion y configuraacion servicios WindowsSe realiza instalacion y configuraacion servicios Windows
Se realiza instalacion y configuraacion servicios Windows
 

IA Videojuegos Árboles Comportamiento

  • 2. ● De las técnicas para decidir existentes, esta es seguramente la más utilizada hoy día Árbol de comportamiento 2 Motivación
  • 3. Árbol de comportamiento 3 Motivación Los árboles de comportamiento del ahora conocido como:
  • 4. ● Halo: Combat Evolved introdujo los árboles de comportamiento ● Se popularizaron con Halo 2 al ofrecer una mezcla de técnicas que era comprensible para el diseñador ○ Máquinas de estados finitos jerárquicas + planificación reactiva + gestor de acciones Árbol de comportamiento 4 Hitos históricos
  • 5. ● Hoy día también se combinan árboles de comportamiento con máquinas de estado ○ Final Fantasy XV (AI Graph, en Luminous Studio) ○ StateTree en Unreal Engine 5 Árbol de comportamiento 5 Hitos históricos
  • 6. ● Al igual que con la Interfaz del Mundo, centralizar la ejecución de acciones en un gestor hace la IA más flexible y depurable ○ Ej. Actividades comunes como cambios de estado, animaciones, movimientos… y algunas de alto nivel ● Tipos de acciones ○ Simples, a menudo agrupando varias actividades ○ Interrumpibles, dejan saltar a otra más importante ○ Compuestas, generalmente resultado de combinar acciones simples tomadas por sistemas simultáneos ○ Guionizadas, ya dijimos que son útiles y creíbles (y se suelen combinar con las otras, de hecho) Árbol de comportamiento 6 Gestor de acciones
  • 7. Árbol de comportamiento 7 Gestor de acciones * La capa más externa es ACTUAR; DECIDIR es una capa más interna
  • 8. ● Puede servir de base flexible para coordinar varios sistemas de toma de decisiones ○ Cada sistema será un “experto” que consulta la pizarra y pide turno ○ El árbitro cede el control a un experto ○ El experto modifica hechos de la pizarra ○ El experto devuelve el control al árbitro Árbol de comportamiento 8 Arquitectura de pizarra BLACKBOARD ARCHITECTURE / SYSTEM
  • 9. ● Para evitar acoplamiento entre los estados de una máquina jerárquica de estados finitos surge el árbol de comportamiento ○ Representa intuitivamente la ejecución de un plan (tarea = secuencia de acciones) ● Es un árbol dirigido ○ Tiene un nodo raíz, nodos de control de flujo y nodos de ejecución (las tareas) * que pueden estar en ejecución o terminar con éxito o con fracaso Árbol de comportamiento 9 Árbol de comportamiento BEHAVIOR TREES (BTs)
  • 10. ● Si hay biblioteca de árboles prediseñados (arquetipos) el diseñador los puede instanciar y reutilizar parcial o totalmente ○ Esto es una solución popular, pero limitada (dificulta gestionar interrupciones externas)... ○ Ej. Subárboles habituales Árbol de comportamiento 10 Árbol de comportamiento * Build defenses sería otro BT...
  • 11. ● Dos nodos principales de control de flujo ○ Nodo Selector (?), tendrá éxito en cuanto uno de sus hijos tenga éxito, probando de izquierda a derecha ○ Nodo Secuencia (→) , tendrá éxito sólo cuando todos sus hijos tengan éxito, ejecutando de izquierda a derecha Árbol de comportamiento 11 Árbol de comportamiento
  • 12. ● Primera versión de “ir a la habitación” Árbol de comportamiento 12 Ejemplos * Responde a la pregunta: ¿Está la puerta visiblemente abierta?
  • 13. ● Segunda versión con el árbol algo refactorizado ○ Pero es una simplificación, porque la apertura de la puerta podría fracasar (si está cerrada con llave) y todavía faltaría la tarea de “entrar en la habitación”... Árbol de comportamiento 13 Ejemplos
  • 14. ● Tercera versión, mínimamente aceptable ○ Ahora ya sí está completa (algo diferente al libro) y tiene en cuenta los posibles estados de la puerta (abierta, cerrada o cerrada con llave) Árbol de comportamiento 14 Ejemplos * ¿Está la puerta cerrada SIN LLAVE?
  • 15. ● Ejemplos: Árbol de comportamiento 15 Pseudocódigo
  • 16. Árbol de comportamiento 16 Pseudocódigo Espacio = O(n) Tiempo = O(log2 n) donde n es el número de nodos en el árbol
  • 17. ● Los árboles de comportamiento no son un estándar y en cada implementación es posible encontrar toda clase de curiosas variantes ○ La combinación con una pizarra es muy habitual (Ej. Unreal Engine) ○ La introducción de elementos pseudoaletorios ayuda a tener personajes menos predecibles ○ La utilización de otros nodos extra, con nueva funcionalidad, permite sofisticar la técnica (Ej. Nodos para concurrencia) Árbol de comportamiento 17 Variantes
  • 18. ● Para desacoplar el contexto los nodos suelen compartir información a través de una pizarra (=una simple tabla de variables) Árbol de comportamiento 18 Uso de pizarra
  • 19. ● En algunas variantes se añade aleatoriedad a los nodos Selectores y hasta a los de Secuencia ○ Combinando nodo determinista y no determinista conseguimos un “orden parcial” que hace al NPC menos predecible Árbol de comportamiento 19 Pseudoaleatoriedad Símbolos de aleatoriedad en el árbol de comportamiento
  • 20. Árbol de comportamiento 20 Pseudocódigo
  • 21. ● Pueden añadirse nodos extra para conseguir cierta concurrencia (e incluso paralelismo) ○ Ej. Nodo Decorador, se sitúa justo sobre una tarea, para filtrar y controlar los recursos necesarios para su ejecución ■ Ej. Limitar número de ejecuciones de una tarea, continuar hasta que se devuelva fracaso, invertir el valor devuelto... ■ Ej. Actuar cómo “guarda” de un recurso Árbol de comportamiento 21 Concurrencia
  • 22. ○ Ej. Nodo Paralelo, típicamente definido como una Secuencia pero lanzando todos los hijos a la vez ■ Ej. Espera ■ Otros nodos de concurrencia y temporización ● A veces introduciendo Paralelo, surge la necesidad de comunicar unas tareas con otras (ej. para interrumpirse), comunicación que se desacopla también gracias al uso combinado de la pizarra Árbol de comportamiento 22 Concurrencia
  • 23. ● Para hacer seguimiento de condiciones Árbol de comportamiento 23 Ejemplos Algún mecanismo que permita evaluar algo… para interrumpir el orden de ejecución del árbol si ocurre algo importante
  • 24. ● Pseudoaleatoriedad y concurrencia para comportamientos de grupo (Ej. 3 soldados) ○ Esto sería una forma implícita de “coordinación” Árbol de comportamiento 24 Ejemplos
  • 25. ● Lo habitual es observar cierta condición y abortar (sin recuperación) la tarea actual si otra más prioritaria se vuelve viable Árbol de comportamiento 25 Gestión de interrupciones
  • 26. ● ¿Qué afirmación es la verdadera? A. Si su primer hijo tiene éxito, la Secuencia también B. Si su último hijo fracasa, la Secuencia tiene éxito C. Si su último hijo fracasa, el Selector tiene éxito D. Si su primer hijo tiene éxito, el Selector también ● Desarrolla tu respuesta (en texto libre) Árbol de comportamiento 26 Participación
  • 27. ● de Byl, P.: Behaviour Trees https://learn.unity.com/project/behaviour-trees?uv=2021.3 ● de Byl, P.: Learn Advanced AI for Games with Behaviour Trees https://www.udemy.com/course/behaviour-trees/ ● Millington, I.: Artificial Intelligence for Games. CRC Press, 3rd Edition (2019) ● Rabin, S.: Game AI Pro (2015-2017) https://www.gameaipro.com ● StateTree de Unreal Engine 5 https://docs.unrealengine.com/5.1/en-US/state-tree-in-unreal-e ngine/ Árbol de comportamiento 27 Más información
  • 28. * Excepto el contenido multimedia de terceros autores Federico Peinado (2019-2023) www.federicopeinado.es Críticas, dudas, sugerencias...