
Enrik’s home for
Software development
Hello and welcome to my homepage. It’s about software and AI development. See my “C++ Reinforcement Learning Agent applied in a chess engine” book for my AI implementations as a demo.
“Strategic Computation: Building a C++ Reinforcement Learning Chess Engine”
Dive into the fascinating intersection of artificial intelligence and strategic gameplay with this comprehensive introduction to reinforcement learning in chess programming. This book guides you through building a functional chess engine that learns and improves through experience, all implemented in modern C++.
Perfect for intermediate programmers with basic knowledge of C++ and chess rules, this guide bridges the gap between theoretical AI concepts and practical implementation. You’ll discover:
- Fundamentals of reinforcement learning algorithms applied to game theory
- Step-by-step implementation of a chess engine framework in C++
- Techniques for position evaluation and move selection using neural networks
- Methods for training your AI through self-play and competition
- Optimization strategies for improved performance and decision-making
Whether you’re an AI enthusiast, a chess player curious about computational approaches to the game, or a software developer looking to expand your skills, this book provides the perfect blend of theory and hands-on coding examples to help you build your own intelligent chess system.
5.4 Collaboration
AI modules design
Collaboration between MCTS, UCB and neural network
Methods (Components)
1. MCTS (Monte Carlo Tree Search- Reinforcement Learning)
2. UCB (Upper Confidence Bound)
3. neural network
I’m looking at MCTS and UCB, but they are independent of supervised learning. The theory of these methods is the key, and the representation in the diagram is also interesting.
Keep apart, MCTS is a search algorithm for individually supervised learning.
UCB promotes exploration-exploitation balance.
The deep neural assessment is consistent with AlphaZero.
Integration of MCTS and UCB
I explain how MCTS is used to rate moves and UCB helps balance exploration and exploitation. The neural network stands for heuristics and is sharpened through supervised learning.
Trained on experts
The theory explains how the neural network is trained through supervised learning on expert games to provide an informed strategy for MCTS, which increases performance and narrows the search space.
Optimize and adapt
MCTS specifically looks for sensible moves, the neural network evaluates them, and UCB helps to cleverly balance exploration and exploitation.
Interaction of modules
The neural network provides evaluations, MCTS focuses on tree expansion, and UCB balances exploration and exploitation. This interaction optimizes the selection of high-quality moves.

Please see also some vulkan render architecture.
The vulkan tutorial is an explanation of how to code the graphics card with efficiency and performance. Vulkan is a generic API framework which makes it possible to code efficiently. Vulkan enables this on a very low programming level. I have also provided some sources in my github repository. In that git repository there are 2 branches, one is the Vulkan Render with SDL and Glfw and the second branch additionally uses Imgui. In the second branch both render mechanisms are used in paralel (Vulkan and Imgui). See a presentation of the Pipeline creation architecture, Or the pdf. To get a good rendering, it is usefull to create a renderpass, as shown in this diagram. The most important object is the renderer, it collects all needed attributes, methods and objects used from the vulkan driver to invoke the render process(see more …). The buffer with the data to be rendered must be updated before we render those, I use a function named updateUniformBuffer (see more …)
By joining to webex as a guest:The meeting space allows the host and all participants who join a meeting with a Cisco Webex Meetings Online account to collaborate by sharing files and comments before and after the meeting. You may miss follow-up emails from the host To join as a guest: Open your Cisco Webex Meetings Online invitation email. (If you do not have the invite email, you may also join directly from the Cisco Webex Meetings Online site). Click the Join box for your meeting. The meeting join page appears. Enter your name (This is the name that will appear in the Participants panel for your meeting), your email address, and the meeting password (if required). Click the Join button. You will now be joined into the meeting as a guest or member and are welcome.