El documento describe los árboles de comportamiento, una técnica ampliamente utilizada en inteligencia artificial para videojuegos. Explica que los árboles de comportamiento se popularizaron con el juego Halo 2 al ofrecer una mezcla comprensible de técnicas como máquinas de estados finitos jerárquicas y planificación reactiva. También discute el uso de árboles de comportamiento con gestores de acciones, arquitecturas de pizarra, nodos de control de flujo como selectores y secuencias, y variantes como
what is Software Generic Design Process.
Software Generic Design Process
what is software generic model
what is software process model
what is sdlc model
how to use design process model in software
perfect for college presentation to speak about the prototype model for 5 minutes or can be extended according to the explanation given by the student or presenter about the diagram that shows the phases,
Curso teórico-práctico sobre Desarrollo de Videojuegos (DEV) orientado hacia la creación de contenido y desarrollo de jugabilidad mediante un lenguaje de programación visual como Blueprints en Unreal Engine. Impartido en el Máster en Ingeniería Informática de la Universidad Complutense de Madrid.
Curso teórico-práctico sobre Inteligencia Artificial para Videojuegos (IAV) basado en el modelo de propone Ian Millington en su libro, impartido en la Universidad Complutense de Madrid.
what is Software Generic Design Process.
Software Generic Design Process
what is software generic model
what is software process model
what is sdlc model
how to use design process model in software
perfect for college presentation to speak about the prototype model for 5 minutes or can be extended according to the explanation given by the student or presenter about the diagram that shows the phases,
Curso teórico-práctico sobre Desarrollo de Videojuegos (DEV) orientado hacia la creación de contenido y desarrollo de jugabilidad mediante un lenguaje de programación visual como Blueprints en Unreal Engine. Impartido en el Máster en Ingeniería Informática de la Universidad Complutense de Madrid.
Curso teórico-práctico sobre Inteligencia Artificial para Videojuegos (IAV) basado en el modelo de propone Ian Millington en su libro, impartido en la Universidad Complutense de Madrid.
Curso teórico-práctico sobre Desarrollo de Videojuegos (DEV) orientado hacia la creación de contenido y desarrollo de jugabilidad mediante un lenguaje de programación visual como Blueprints en Unreal Engine. Impartido en el Máster en Ingeniería Informática de la Universidad Complutense de Madrid.
Esenciales olvidados a la hora de programar videojuegosMaia Kord
Aportando mi granito de arena en la excelente movida #GameWorkJam donde voy a hablar sobre [ Esenciales Olvidados a la hora de programar videojuegos ] Suena raro, no? suena extraño pensar que si sabemos programar un poquito dejar atributos de una clase públicos es una PÉSIMA idea ( y no me vengan con la excusa: "pero sino no los veo en el editor" ) .... suena aun mas extraño no tener coding-style haciendo que el código sea una ensalada de fruta y verdura, cosa que sabemos... va a generar que cuando necesitemos ayuda o querramos incorporar alguien nuevo al proyecto vamos a hacerlo sufrir bastante .... e incluso, quizás termine no pudiendo entender la magia de nuestro EXTRAORDINARIO proyecto.
Curso teórico-práctico sobre Inteligencia Artificial para Videojuegos (IAV) basado en el modelo de propone Ian Millington en su libro, impartido en la Universidad Complutense de Madrid.
Resolución de problemas en el espacio de estadosFederico Peinado
Curso teórico-práctico sobre Inteligencia Artificial para Videojuegos (IAV) basado en el modelo de propone Ian Millington en su libro, impartido en la Universidad Complutense de Madrid.
Curso teórico-práctico sobre Inteligencia Artificial para Videojuegos (IAV) basado en el modelo de propone Ian Millington en su libro, impartido en la Universidad Complutense de Madrid.
Generación procedimental de contenido (+ Pseudocódigo)Federico Peinado
Curso teórico-práctico sobre Inteligencia Artificial para Videojuegos (IAV) basado en el modelo de propone Ian Millington en su libro, impartido en la Universidad Complutense de Madrid.
Curso teórico-práctico sobre Desarrollo de Videojuegos (DEV) orientado hacia la creación de contenido y desarrollo de jugabilidad mediante un lenguaje de programación visual como Blueprints en Unreal Engine. Impartido en el Máster en Ingeniería Informática de la Universidad Complutense de Madrid.
Todo el mundo que trabaja con base de datos siempre se ha preguntado alguna vez qué son los planes de ejecución y como se leen. Saber leer un plan de ejecución nos va a dar información valiosísima de cara a mejorar el rendimiento de una consulta. En esta sesión vamos a centrarnos en aprender a leer T-SQL para interpretar lo que está haciendo SQL Server para devolvernos la información.
Curso teórico-práctico sobre Inteligencia Artificial para Videojuegos (IAV) basado en el modelo de propone Ian Millington en su libro, impartido en la Universidad Complutense de Madrid.
Curso teórico-práctico sobre Inteligencia Artificial para Videojuegos (IAV) basado en el modelo de propone Ian Millington en su libro, impartido en la Universidad Complutense de Madrid.
Curso teórico-práctico sobre Inteligencia Artificial para Videojuegos (IAV) basado en el modelo de propone Ian Millington en su libro, impartido en la Universidad Complutense de Madrid.
Curso teórico-práctico sobre Inteligencia Artificial para Videojuegos (IAV) basado en el modelo de propone Ian Millington en su libro, impartido en la Universidad Complutense de Madrid.
Curso teórico-práctico sobre Inteligencia Artificial para Videojuegos (IAV) basado en el modelo de propone Ian Millington en su libro, impartido en la Universidad Complutense de Madrid.
Curso teórico-práctico sobre Inteligencia Artificial para Videojuegos (IAV) basado en el modelo de propone Ian Millington en su libro, impartido en la Universidad Complutense de Madrid.
Curso teórico-práctico sobre Inteligencia Artificial para Videojuegos (IAV) basado en el modelo de propone Ian Millington en su libro, impartido en la Universidad Complutense de Madrid.
Curso teórico-práctico sobre Inteligencia Artificial para Videojuegos (IAV) basado en el modelo de propone Ian Millington en su libro, impartido en la Universidad Complutense de Madrid.
Búsqueda de caminos usando estrategias informadasFederico Peinado
Curso teórico-práctico sobre Inteligencia Artificial para Videojuegos (IAV) basado en el modelo de propone Ian Millington en su libro, impartido en la Universidad Complutense de Madrid.
Curso teórico-práctico sobre Inteligencia Artificial para Videojuegos (IAV) basado en el modelo de propone Ian Millington en su libro, impartido en la Universidad Complutense de Madrid.
Curso teórico-práctico sobre Inteligencia Artificial para Videojuegos (IAV) basado en el modelo de propone Ian Millington en su libro, impartido en la Universidad Complutense de Madrid.
Curso teórico-práctico sobre Inteligencia Artificial para Videojuegos (IAV) basado en el modelo de propone Ian Millington en su libro, impartido en la Universidad Complutense de Madrid.
Curso teórico-práctico sobre Inteligencia Artificial para Videojuegos (IAV) basado en el modelo de propone Ian Millington en su libro, impartido en la Universidad Complutense de Madrid.
Curso teórico-práctico sobre Inteligencia Artificial para Videojuegos (IAV) basado en el modelo de propone Ian Millington en su libro, impartido en la Universidad Complutense de Madrid.
Curso teórico-práctico sobre Inteligencia Artificial para Videojuegos (IAV) basado en el modelo de propone Ian Millington en su libro, impartido en la Universidad Complutense de Madrid.
Curso teórico-práctico sobre Inteligencia Artificial para Videojuegos (IAV) basado en el modelo de propone Ian Millington en su libro, impartido en la Universidad Complutense de Madrid.
Curso teórico-práctico sobre Inteligencia Artificial para Videojuegos (IAV) basado en el modelo de propone Ian Millington en su libro, impartido en la Universidad Complutense de Madrid.
Curso teórico-práctico sobre Diseño de Videojuegos (DV) fuertemente basado en el modelo de Mecánica-Dinámica-Estética, impartido en la Universidad Complutense de Madrid.
Curso teórico-práctico sobre Desarrollo de Videojuegos (DEV) orientado hacia la creación de contenido y desarrollo de jugabilidad mediante un lenguaje de programación visual como Blueprints en Unreal Engine. Impartido en el Máster en Ingeniería Informática de la Universidad Complutense de Madrid.
Curso teórico-práctico sobre Diseño de Videojuegos (DV) fuertemente basado en el modelo de Mecánica-Dinámica-Estética, impartido en la Universidad Complutense de Madrid.
Si bien los hospitales conjuntan a profesionales de salud que atienden a la población, existe un equipo de organización, coordinación y administración que permite que los cuidados clínicos se otorguen de manera constante y sin obstáculos.
Mario García Baltazar, director del área de Tecnología (TI) del Hospital Victoria La Salle, relató la manera en la que el departamento que él lidera, apoyado en Cirrus y Estela, brinda servicio a los clientes internos de la institución e impulsa una experiencia positiva en el paciente.
Conoce el Hospital Victoria La Salle
Ubicado en Ciudad Victoria, Tamaulipas, México
Inició operaciones en el 2016
Forma parte del Consorcio Mexicanos de Hospitales
Hospital de segundo nivel
21 habitaciones para estancia
31 camas censables
13 camillas
2 quirófanos
+174 integrantes en su plantilla
+120 equipos médicos de alta tecnología
+900 pacientes atendidos
Servicios de +20 especialidades
Módulos utilizados de Cirrus
HIS
EHR
ERP
Estela - Business Intelligence
Los desafíos de calidad de software que nos trae la IA y los LLMsFederico Toledo
En esta charla, nos sumergiremos en los desafíos emergentes que la inteligencia artificial (IA) y los Large Language Models (LLMs) traen al mundo de la calidad del software y el testing. Exploraremos cómo la integración, uso o diseño de modelos de IA plantean nuevos retos, incluyendo la calidad de datos y detección de sesgos, sumando la complejidad de probar algo no determinístico. Revisaremos algunas propuestas que se están llevando adelante para ajustar nuestras tareas de testing al desarrollo de este tipo de sistemas, incluyendo enfoques de pruebas automatizadas y observabilidad.
Escaneo y eliminación de malware en el equiponicromante2000
El malware tiene muchas caras, y es que los programas maliciosos se reproducen en los ordenadores de diferentes formas. Ya se trate de virus, de programas espía o de troyanos, la presencia de software malicioso en los sistemas informáticos siempre debería evitarse. Aquí te muestro como trabaja un anti malware a la hora de analizar tu equipo
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?
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
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...