C++ : Decision Trees desde 0 #AI #Videojuegos #UA [ S09.2021 ]

preview_player
Показать описание
[ Videojuegos en C++ 2020/21 #09 ]

Durante la programación de nuestros #DecisionTrees aprenderemos muchos aspectos clave de C++, cuestiones técnicas y gestión de recursos y memoria:
- Qué es un tipo en C++. ¿Cuánto ocupan y cómo se gestionan los structs?
- Polimorfismo, métodos virtuales y la #vtable
- Templates básicos para evitar la repetición de código
- Usos de std::move, l-values y r-values
- Uso del Address Sanitizer y corrección de errores de gestión de recursos y memoria
- Destructores virtuales en Polimorfismo
- Uso sencillo de std::time
- Creación de estructuras de árbol mediante agregación de nodos
- Tiempo de vida de instancias en C++: problemas por uso tras liberación, referencias perdidas
- Usos de std::unique_ptr para la gestión de memoria
- Paso por valor y paso por referencia de std::unique_ptr
- Gestión de memoria para rendimiento de la caché
- Almacenar nodos de un árbol de forma óptima para rendimiento de caché
- Gestión avanzada de memoria con placement new
- Usos avanzados de templates para construtores in-place
- Entendiendo las variadic templates y los parameter packs en C++17 y C++20
- Qué es y cómo usar el perfect forwarding
- Gestión de memoria manual, construcción inversa del árbol
- Placement "delete": llamando manualmente a los destructores

Son muchos conceptos que ver en una única sesión, en la que aprenderemos muchas cosas que serán útiles para la implementación futura de nuestros árboles de comportamiento en contextos más complejos. Con toda esta experiencia, además, sentaremos las mejores bases para futuras técnicas más avanzadas, como los #BehaviourTrees y #Goal-Oriented-Behaviours.

Configuración de desarrollo utilizada:
- Linux Manjaro 5.10.7 x86_64
- GCC 10.0.2
- Clang 11.0.1
- Standard C++20 (Principalmente C++17, algunos detalles de C++20)

Clase regular de la asignatura Videojuegos 2, del Grado en Ingeniería Multimedia de la Universidad de Alicante. Clase impartida en directo debido a la situación sanitaria.

Asset Licenses

Clase de Videojuegos 2, 2020/21. Sesión 09.
Miércoles, 24/03/2021
Grado en Ingeniería Multimedia
Universidad de Alicante
Рекомендации по теме
Комментарии
Автор

No sé cómo agradecerte que hagas directos y los subas. He tocado más temas de algoritmia que lenguajes de programación, y tener todo este contenido sobre C++ moderno es una delicia.
Ojalá haberte tenido como profesor cuando estaba en la universidad.

Norhther
Автор

Siempre una excelencia lo suyo, muchas gracias !

azulplus_
Автор

Muchas gracias por los videos! La explicación es magnifica!

TuProfesorParticular
Автор

Profesor, voy con retraso viendo sus videos y no sé si ya lo habrá solucionado, pero es posible que la cámara pierda el sincronismo con el audio debido a la tasa de refresco (50/60 hz, relativo a los controles de la cámara). Un saludo!

tomjones