PROJECTENGRAM

ADVERSARIAL GAMES

Adversarial Games

Tags: #◇Computer Science #◇CSINTSY #◇Adversarial Games #◇Problem Solving #◇M3


◇Overview

In real-world settings such as board games, agents face active opponents whose decisions aim to prevent the agent from reaching its goal. Adversarial Games model these multi-agent environments using game trees. We primarily focus on 2-Player Zero-Sum Games where one player's gain is identically balanced by the other player's loss (e.g., Chess, Tic-Tac-Toe).

Modeling the Opponent: "Dumb" Opponent: Randomly selects moves with equal probability. Stochastic Opponent: Selects moves based on a specific probability distribution. Expected values are optimized using the Expectimax algorithm. Optimally Smart Opponent: Always selects moves that minimize the agent's expected utility. Evaluated using the Minimax algorithm.

Minimax Characteristics: Complete if the game tree is finite. Optimal (against an optimal opponent). Time Complexity: O(bd)O(b^d) and Space Complexity: O(bd)O(b^d) (with Depth-First Search). Due to high branching factors (bb), simple Minimax is often computationally infeasible.

Speeding Up Techniques:

  1. Prune redundant states.
  2. Depth-limited search with evaluation functions.
  3. αβ\alpha\beta-Pruning to ignore branches that won't affect the final decision.

◇Important Formulas

Expectimax Formulation
Veval(s)={Utility(s)if IsEnd(s)max⁡aVeval(Succ(s,a))if Player(s)=agent∑aπopp(s,a)Veval(Succ(s,a))if Player(s)=oppV_{eval}(s) = \begin{cases} \text{Utility}(s) & \text{if IsEnd}(s) \\ \max_{a} V_{eval}(\text{Succ}(s, a)) & \text{if Player}(s) = \text{agent} \\ \sum_{a} \pi_{opp}(s, a) V_{eval}(\text{Succ}(s, a)) & \text{if Player}(s) = \text{opp} \end{cases}

Minimax Formulation
Veval(s)={Utility(s)if IsEnd(s)max⁡aVeval(Succ(s,a))if Player(s)=agentmin⁡aVeval(Succ(s,a))if Player(s)=oppV_{eval}(s) = \begin{cases} \text{Utility}(s) & \text{if IsEnd}(s) \\ \max_{a} V_{eval}(\text{Succ}(s, a)) & \text{if Player}(s) = \text{agent} \\ \min_{a} V_{eval}(\text{Succ}(s, a)) & \text{if Player}(s) = \text{opp} \end{cases}

◇Theoretical Framework: Minimax & Alpha-Beta Pruning Trees

1. Classical Minimax Value Backpropagation

2. Alpha-Beta Pruning Execution Trace

3. Pruning Condition Decision Logic

◇Worked Examples

αβ\alpha\beta-Pruning Mechanics:

  • α\alpha: Best already explored option along path to the root for the maximizer (lower bound on root utility). Initialized to −∞-\infty.
  • β\beta: Best already explored option along path to the root for the minimizer (upper bound on root utility). Initialized to +∞+\infty.
  • Cutoff Criterion: If at any time β≤α\beta \le \alpha, the current parent can never pick this branch because a better or equal alternative is already guaranteed elsewhere. The remaining children of the node can be pruned without affecting optimality.
  • Optimal Efficiency: With perfect move ordering (evaluating best moves first), the effective branching factor is reduced to b′=bb' = \sqrt{b}, doubling the searchable depth in the same computational time: O(bd/2)O(b^{d/2}).

◇References & Navigation

CONFIRMATION // 理解度の確認

ACTIVE RECALL VERIFICATION

Select an answer to verify conceptual comprehension and reveal the technical rationale.

Q1

Which algorithm is best suited for evaluating a "Stochastic Opponent" that makes moves based on a probability distribution?

Q2

In a 2-Player Zero-Sum Game, how does an "Optimally Smart Opponent" make decisions?

Q3

What is the time complexity of the simple Minimax algorithm if the branching factor is bb and depth is dd?

Q4

What is the primary purpose of αβ\alpha\beta-Pruning in adversarial game search?

Q5

During αβ\alpha\beta-Pruning, under what condition can a branch be safely pruned?