<?xml version="1.0" encoding="UTF-8" ?><!-- generator=Zoho Sites --><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><atom:link href="http://boardgamestheory.zohosites.eu/blogs/200461000000005007/feed" rel="self" type="application/rss+xml"/><title>boardgamestheory - Blog , 200461000000005007</title><description>boardgamestheory - Blog , 200461000000005007</description><link>http://boardgamestheory.zohosites.eu/blogs/200461000000005007</link><lastBuildDate>Fri, 16 Oct 2026 04:35:05 +0200</lastBuildDate><generator>http://zoho.com/sites/</generator><item><title><![CDATA[Stochastic Markov Decision Processes and Expectiminimax Horizons in Classical Backgammon]]></title><link>http://boardgamestheory.zohosites.eu/blogs/post/stochastic-markov-decision-processes-and-expectiminimax-horizons-in-classical-backgammon</link><description><![CDATA[Classical two-player zero-sum games with perfect information can be formally divided into deterministic games of strategy (such as chess and draughts) ]]></description><content:encoded><![CDATA[<div class="zpcontent-container blogpost-container "><div data-element-id="elm__4e4558YSlyZBHOrmNIlXg" data-element-type="section" class="zpsection "><style type="text/css"></style><div class="zpcontainer-fluid zpcontainer"><div data-element-id="elm_dVs3oaxvReqJs1iYXNQ1Ow" data-element-type="row" class="zprow zprow-container zpalign-items- zpjustify-content- " data-equal-column=""><style type="text/css"></style><div data-element-id="elm_mXiGRBozTjGDVIQg1Itr2g" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-12 zpcol-sm-12 zpalign-self- "><style type="text/css"></style><div data-element-id="elm_RDVKIV9TSgajOYUFiLwVjg" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-align-center zpheading-align-mobile-center zpheading-align-tablet-center " data-editor="true">Chance Node Dynamics, Star2 Pruning Bounds, and Exact Analytical Bearoff Solvers</h2></div>
<div data-element-id="elm_yK3sjdnvQjCarVme-1NgKQ" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-center zptext-align-mobile-center zptext-align-tablet-center " data-editor="true"><p>Classical two-player zero-sum games with perfect information can be formally divided into deterministic games of strategy (such as chess and draughts) and stochastic games governed by environmental uncertainty. Backgammon, known historically in various ancestral forms such as the Roman Tabula and the Persian Nard, represents the archetypal stochastic board game. In backgammon, transition dynamics are governed by discrete probability distributions generated by the roll of two six-sided dice. Evaluating positions and computing optimal policy trajectories requires framing the game as a Stochastic Two-Player Markov Decision Process (MDP). Solving or approximating solutions in this domain demands specialized extensions to the minimax theorem, notably Expectiminimax tree search, Ballard's Star1 and Star2 pruning bounds, and absorbing Markov chain analysis for exact endgame computation.</p><h3>1. Formal Markov Decision Process Formulation</h3><p>A stochastic two-player zero-sum board game is defined mathematically by the tuple ⟨S, A_1, A_2, P, R, γ⟩:</p><ul><li><strong>S:</strong> The finite set of valid board configurations. Each configuration specifies the distribution of the 30 checkers across the 24 points, the bar, and the borne-off trays, alongside the status of the doubling cube and active mover.</li><li><strong>A_1, A_2:</strong> Action spaces for Player 1 and Player 2 respectively. An action a ∈ A_i(s, d) denotes a legal multi-checker move corresponding to a specific dice outcome d.</li><li><strong>P: S × D × A → [0, 1]:</strong> The state transition probability matrix. The random dice event d = (d_1, d_2) is drawn from the discrete probability distribution over 36 microstates.</li><li><strong>R: S → ℜ:</strong> The terminal reward function mapping terminal winning states to payoffs ±1 (single win), ±2 (gammon), or ±3 (backgammon), scaled by the doubling cube parameter C.</li><li><strong>γ = 1.0:</strong> The discount factor, as board games operate under undiscounted finite or absorbing horizon conditions.</li></ul><p>The state space cardinality of backgammon is estimated at |S| ≈ 10<sup>18</sup> configurations, embedded within a directed state graph containing probabilistic cycles due to checker hitting and re-entry loops from the bar. Unlike acyclic race endgames, general contact positions exhibit cyclic transition paths, requiring value iteration rather than topological backward induction.</p><h3>2. The Combinatorics of Dice Microstates and Macroscopic Chance Nodes</h3><p>On each turn, two independent, identically distributed fair six-sided dice are rolled, yielding 6 × 6 = 36 equally likely equiprobable elementary outcomes. Because dice orders are unordered in physical gameplay (a roll of 1-3 is functionally equivalent to 3-1), these 36 microstates collapse into 21 distinct macroscopic dice combinations:</p><ul><li><strong>15 Asymmetric Rolls (d_1 ≠ d_2):</strong> Combinations such as (2, 1), (4, 2), (3, 1), (6, 5). Each asymmetric roll has an occurrence probability of P(d) = 2/36 = 1/18 ≈ 0.0556. The player executes exactly two checker movements corresponding to d_1 and d_2.</li><li><strong>6 Doublet Rolls (d_1 = d_2):</strong> Combinations (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6). Each doublet has an occurrence probability of P(d) = 1/36 ≈ 0.0278. The player executes four movements of length d_1.</li></ul><p>The expected movement yield per turn E[M] can be computed by taking the expectation across all 36 microstates:</p><pre style="background:rgb(244, 246, 248);padding:12px;font-family:monospace;">
E[M] = ∑_{d ∈ D} P(d) · pips(d) 
     = [15 × 2 × (mean asymmetric pips) + 6 × 4 × (mean doublet pips)] / 36
     = [30 × 7.0 + 24 × 14.0] / 36
     = [210 + 336] / 36 = 546 / 36 = 15.167 pips per full doublet-aware turn
</pre><p>Doublets, despite representing only 6/36 = 16.67% of roll outcomes, contribute over 35.8% of the total forward movement distance, generating heavy tail risk and high equity volatility in contact and race positions alike.</p><h3>3. Expectiminimax Search Trees and Star-Pruning Bounds</h3><p>In deterministic games, minimax search alternates strictly between MAX and MIN decision layers. In backgammon, chance nodes must be interleaved between adversarial plies, transforming the search into an Expectiminimax tree. Let V_{MAX}(s) denote the value of a state at a MAX node, V_{MIN}(s) at a MIN node, and V_{CHANCE}(s) at a chance node:</p><pre style="background:rgb(244, 246, 248);padding:12px;font-family:monospace;">
V_{MAX}(s) = max_{a ∈ A_1(s)} V_{CHANCE}(s')
V_{CHANCE}(s) = ∑_{d ∈ D} P(d) · V_{DECISION}(s, d)
V_{MIN}(s) = min_{a ∈ A_2(s)} V_{CHANCE}(s')
</pre><p>Because the chance node branches 21 ways and each macroscopic roll may yield between 1 and 40 legal move configurations, the raw branching factor of a single full turn reaches b ≈ 21 × 20 ≈ 420. Direct alpha-beta pruning cannot be applied directly across sum nodes without bounding the range of leaf evaluation outputs.</p><p>Bruce Ballard introduced the Star1 and Star2 pruning algorithms to resolve this limitation. If the heuristic evaluation function is bounded strictly within [L, U] (for backgammon match equity, typically [-3.0, +3.0]), strict bounds can be placed on the expectation sum. During the evaluation of child branches at a chance node, let k outcomes be evaluated with known values v_1, v_2, ..., v_k. The minimum possible value the chance node can attain is bounded by assuming all remaining 21 - k outcomes achieve the worst-case bound L:</p><pre style="background:rgb(244, 246, 248);padding:12px;font-family:monospace;">
V_{min}(s) = ∑_{i=1}^k P(d_i) · v_i + L · ∑_{j=k+1}^{21} P(d_j)
</pre><p>If V_{min}(s) ≥ β, an immediate beta-cutoff occurs, pruning the remaining 21 - k chance branches. In Star2 pruning, child nodes are pre-sorted using fast zero-ply heuristic evaluations, enabling cutoffs after exploring as few as 3 to 5 rolls, reducing tree size by over 70%.</p><h3>4. Exact Analytical Bearoff Solvers via Absorbing Markov Chains</h3><p>Once both players successfully disengage and all checkers are gathered within the home board (points 1 through 6), all adversarial contact vanishes. The endgame reduces to an unhindered pure race, which can be solved analytically without forward heuristic tree search.</p><p>For a single player, a bearoff configuration is defined as a vector of checker counts across the six home points: c = (c_1, c_2, c_3, c_4, c_5, c_6) such that ∑_{i=1}^6 c_i ≤ 15. The total number of unique bearoff positions corresponds to the multiset coefficient:</p><pre style="background:rgb(244, 246, 248);padding:12px;font-family:monospace;">
N_{bearoff} = C(15 + 6, 6) = C(21, 6) = 54,264 states
</pre><p>Because checkers can only move toward or off point 0, the state graph forms a finite Directed Acyclic Graph (DAG) with a single absorbing state c_0 = (0, 0, 0, 0, 0, 0) representing complete bearoff. The transition matrix P can be partitioned into canonical block form:</p><pre style="background:rgb(244, 246, 248);padding:12px;font-family:monospace;">
P = [ Q   R ]
    [ 0   I ]
</pre><p>where Q is a 54,263 × 54,263 strictly upper-triangular submatrix governing transitions between non-terminal states, and R represents one-step transitions into the absorbing state c_0. The fundamental matrix N of the absorbing Markov chain is computed by inverting the transient operator:</p><pre style="background:rgb(244, 246, 248);padding:12px;font-family:monospace;">
N = (I - Q)^{-1} = I + Q + Q^2 + Q^3 + ... + Q^k
</pre><p>Because Q is strictly upper triangular, Q^k = 0 for all k &gt; 15, guaranteeing that the matrix inversion is exact and computationally finite. The expected number of turns to complete bearoff from state c is given by the row vector sum:</p><pre style="background:rgb(244, 246, 248);padding:12px;font-family:monospace;">
t = N · 1
</pre><p>To determine the win probability between Player A in state c_A and Player B in state c_B, the probability density functions f_A(t) and f_B(t) (representing the exact probability of bearing off on turn t) are convolved. If Player A moves first:</p><pre style="background:rgb(244, 246, 248);padding:12px;font-family:monospace;">
P(A wins) = ∑_{t=1}^{∞} f_A(t) · [1 - ∑_{τ=1}^{t-1} f_B(τ)]
</pre><p>Modern analytical engines pre-compute these 54,264 probability vectors into compact RAM lookup tables, enabling instantaneous O(1) endgame equity evaluations.</p><h3>5. Financial Option Pricing of the Doubling Cube</h3><p>The introduction of the doubling cube in the 1920s transformed backgammon from a recreational board game into an applied study in quantitative decision theory. In money play, a player offered a double must either concede the current stake (-1 point) or accept the cube at double the stake (+2 or -2 points).</p><p>Let p represent the probability of winning the game from the current position. If the player drops, the outcome is fixed at -1.0 point. If the player accepts, the expected payoff is:</p><pre style="background:rgb(244, 246, 248);padding:12px;font-family:monospace;">
E[Take] = p · (+2) + (1 - p) · (-2) = 4p - 2
</pre><p>The breakeven take point p* is derived by setting the expected payoff equal to the drop value:</p><pre style="background:rgb(244, 246, 248);padding:12px;font-family:monospace;">
4p* - 2 = -1  ==&gt;  4p* = 1  ==&gt;  p* = 1/4 = 25.0%
</pre><p>Even though winning only 25% of the time represents a 3-to-1 disadvantage, accepting the double saves 0.25 points of equity per game compared to dropping. In complex positions, cube ownership acts as an American perpetual exchange option: possessing the cube grants the exclusive right to redouble when the position shifts favorably, shifting the effective take point dynamically between 21.5% and 26.0% based on gammon volatility and market fluidity.</p><h3>6. Algorithmic State Representation: 198-Bit Feature Vectors</h3><p>To evaluate non-terminal contact positions, modern neural architectures transform the raw 30-checker configuration into a normalized spatial feature tensor. A canonical representation introduced by Tesauro and refined in contemporary engines utilizes 198 continuous and binary inputs:</p><ul><li><strong>Point Occupancy Arrays:</strong> For each of the 24 points and each player (48 channels), a 4-bit one-hot or thermometer vector encodes checker counts: 1 checker, 2 checkers, 3 checkers, and count ≥ 4 (with excess encoded proportionally).</li><li><strong>Bar and Off Channels:</strong> Checkers on the bar are normalized as n/2, while borne-off checkers provide completion signals.</li><li><strong>Dynamic Mover Indicators:</strong> Binary flags indicate which player has the roll, doubling cube ownership, and current match score differentials in tournament play.</li></ul><pre style="background:rgb(244, 246, 248);padding:12px;font-family:monospace;">
// Conceptual 198-bit Feature Vector Extraction in C99
void extract_features(const BoardState *board, float *features) {
    int idx = 0;
    for (int p = 0; p &lt; 24; ++p) {
        int w = board-&gt;points[p].white_count;
        features[idx++] = (w == 1) ? 1.0f : 0.0f; // Blot risk
        features[idx++] = (w &gt;= 2) ? 1.0f : 0.0f; // Made point
        features[idx++] = (w &gt;= 3) ? 1.0f : 0.0f; // Spare checker
        features[idx++] = (w &gt; 3) ? (float)(w - 3) / 2.0f : 0.0f;
    }
    for (int p = 0; p &lt; 24; ++p) {
        int b = board-&gt;points[p].black_count;
        features[idx++] = (b == 1) ? 1.0f : 0.0f;
        features[idx++] = (b &gt;= 2) ? 1.0f : 0.0f;
        features[idx++] = (b &gt;= 3) ? 1.0f : 0.0f;
        features[idx++] = (b &gt; 3) ? (float)(b - 3) / 2.0f : 0.0f;
    }
    features[idx++] = (float)board-&gt;white_bar / 2.0f;
    features[idx++] = (float)board-&gt;black_bar / 2.0f;
    features[idx++] = (float)board-&gt;white_off / 15.0f;
    features[idx++] = (float)board-&gt;black_off / 15.0f;
}
</pre><h3>7. Synthesis with Temporal Difference Learning and Neural Value Networks</h3><p>While bearoff endgames can be resolved analytically via fundamental matrices, complex contact positions require neural value estimators. Pioneered by Gerald Tesauro's TD-Gammon in the early 1990s using temporal difference learning TD(λ), contemporary backgammon engines combine multi-ply Expectiminimax forward search with multi-layer residual convolutional networks. In TD(λ), network weights w are updated via eligibility traces e_t:</p><pre style="background:rgb(244, 246, 248);padding:12px;font-family:monospace;">
δ_t = r_{t+1} + γ V(s_{t+1}; w_t) - V(s_t; w_t)
e_t = γ λ e_{t-1} + ∇_w V(s_t; w_t)
w_{t+1} = w_t + α · δ_t · e_t
</pre><p>By grounding forward stochastic search trees in exact absorbing tablebases, modern systems achieve super-human strategic accuracy, providing mathematically verifiable decisions across every phase of play.</p></div>
</div></div></div></div></div></div> ]]></content:encoded><pubDate>Tue, 06 Oct 2026 12:23:36 +0000</pubDate></item></channel></rss>