GameArenaa PLARENA lab

adversarial search, playable — minimax & alpha-beta on tic-tac-toe
PERCEPTS ⇄ ACTIONSWorld — tic-tac-toe · X is MAX (+1), O is MIN (−1) · the agent reads the board here, and its move lands here
Environment — this game's properties, live
observableFully
deterministicDeterministic
agentsTwo — adversarial
episodic / sequentialSequential
static / dynamicStatic
discrete / continuousDiscrete
Flip Kriegspiel or the opponent policy and watch the top rows change — every changed row demands a different algorithm. (Search Arena flips the agents row back.)
Controls
Mode You play
Algorithm Ordering
Opponent
Speed
AGENT FUNCTIONMy agent — f: percept → move, as JavaScript you write
Define agent(percept) → a cell index 0–8. Your agent plays the side selected under “You play”.
Rubric a perfect agent meets: never loses vs random ×20, and draws vs optimal.
Metrics — last analysis
nodes evaluated
terminal nodes
prune events
root value (X view)
Try: same position, Minimax vs Alpha-Beta; then best vs worst ordering. Watch nodes evaluated.
AGENT FUNCTIONAlpha-Beta window — at the node being visited
player
α
β
best so far
best move
AGENT FUNCTIONGame tree — f thinks here: root = current position · values are X-view (+1 X wins · 0 draw · −1 O wins)
Game space: depth — plain enumeration, no search: how big does it get?
MAX level (X, ▲ takes max) MIN level (O, ▽ takes min) being visited best move pruned (✂ never evaluated)

Work in progress

Plarena is under active development — rough edges, bugs and placeholder content are all expected. Found something broken, confusing or missing? Have an idea? Please tell Xian Su at feedback@plarena.app. Every piece of feedback makes the next version better. Thank you.