Engines¶
Engines are standalone game-playing programs that MOSAIC integrates as built-in opponents. Unlike Workers, engines do not train policies. They provide a fixed-strength adversary so humans or RL agents can play against a competent opponent without launching a full training run.
graph LR
subgraph "MOSAIC GUI"
HC["Human Control"]
RL["RL Agent"]
end
subgraph "Engines"
SF["Stockfish<br/>Chess"]
KG["KataGo<br/>Go"]
GG["GNU Go<br/>Go"]
end
HC -- "play vs" --> SF
HC -- "play vs" --> KG
HC -- "play vs" --> GG
RL -- "train vs" --> SF
RL -- "train vs" --> KG
style HC fill:#4a90d9,stroke:#2e5a87,color:#fff
style RL fill:#50c878,stroke:#2e8b57,color:#fff
style SF fill:#ff7f50,stroke:#cc5500,color:#fff
style KG fill:#ff7f50,stroke:#cc5500,color:#fff
style GG fill:#ff7f50,stroke:#cc5500,color:#fff
Integrated Engines¶
Engine |
Game |
Service Module |
Notes |
|---|---|---|---|
Stockfish |
Chess |
|
UCI protocol. Requires |
KataGo |
Go |
|
GTP protocol. Neural-network Go engine. Model weights stored in
|
GNU Go |
Go |
|
GTP protocol. Classical Go engine (no neural network). Lighter alternative to KataGo. |
Engine vs Worker¶
Engine |
Worker |
|
|---|---|---|
Purpose |
Fixed-strength opponent |
Trains RL policies |
Learns? |
No |
Yes |
Protocol |
UCI / GTP |
gRPC + JSONL (Fast Lane) |
Example |
Stockfish, KataGo |
CleanRL, XuanCe, Tianshou |