Array-Based Monte Carlo Tree Search

📅 2025-08-27
📈 Citations: 0
Influential: 0
📄 PDF
🤖 AI Summary
Monte Carlo Tree Search (MCTS) suffers from poor scalability on modern CPUs due to branch misprediction overhead and irregular memory access patterns induced by its pointer-based tree structure, limiting simulation throughput. To address this, we propose a compact array-based MCTS implementation that replaces the explicit pointer tree with an implicit array representation—preserving the UCT algorithm’s logic while eliminating indirect memory accesses and conditional branches. This design improves cache locality and instruction-level parallelism by enabling contiguous memory layouts and predictable control flow. Experimental evaluation demonstrates a substantial increase in simulations per unit time under identical clock cycles; maximum search depth improves by up to 2.8× compared to conventional pointer-based implementations. The approach significantly enhances MCTS scalability and real-time performance in latency-sensitive decision-making tasks, without compromising algorithmic correctness or generality.

Technology Category

Application Category

📝 Abstract
Monte Carlo Tree Search is a popular method for solving decision making problems. Faster implementations allow for more simulations within the same wall clock time, directly improving search performance. To this end, we present an alternative array-based implementation of the classic Upper Confidence bounds applied to Trees algorithm. Our method preserves the logic of the original algorithm, but eliminates the need for branch prediction, enabling faster performance on pipelined processors, and up to a factor of 2.8 times better scaling with search depth in our numerical simulations.
Problem

Research questions and friction points this paper is trying to address.

Optimizing Monte Carlo Tree Search for faster decision making
Eliminating branch prediction to improve processor efficiency
Enhancing search depth scaling in numerical simulations
Innovation

Methods, ideas, or system contributions that make the work stand out.

Array-based implementation of UCT algorithm
Eliminates branch prediction for faster performance
Enables up to 2.8x better scaling with depth
🔎 Similar Papers
No similar papers found.