CB-RES-0009: extensive form is the lingua franca
Some checks failed
ci / check (push) Failing after 4s

Two questions from the maintainer — is there a game-theory mapping to
Ludii's language, and is that language formal enough to derive one from.
Yes, no, and the no does not matter.

The mapping is proven, not to be invented: "The Ludii Game Description
Language is Universal" shows the language can represent an equivalent game
for any finite, non-deterministic, imperfect-information game, extending
earlier work limited to finite deterministic fully-observable
extensive-form games. EFG is also OpenSpiel's object, so the same
formalism connects description to analysis: Ludii -> EFG <- OpenSpiel.

Ludii's syntax is formal and unusually so — a class grammar derived
automatically from its source. Its semantics are its Java: a ludeme means
what its class does, and Ludii effectively makes Java the game description
language. So there is no independent calculus to extract. The formality
lives in the universality RESULT, not in a definition of meaning. GDL has
the semantics and pays for it in speed — six times on Gomoku, twenty on
Amazons and Hex, over two hundred on Chess.

Conclusion: do not derive a language from Ludii; target the EFG directly.

And we are closer than the tracks assumed. The journal is the history,
Outcome is the payoff, legal_commands gives the actions — and
project(Viewer::Player(seat)) IS the information partition, built so a
player is not shown another's hand and unremarked as exactly the machinery
imperfect information needs.

Three gaps: chance is folded into a seed so a game is one realisation
rather than a game with chance nodes; perfect recall is unasserted, which
CFR and exploitability both assume; and commit/reveal is the standard EFG
encoding of simultaneity but is never stated as such. Perfect recall is
checkable from the journal today and is now Track B's first task — if it
fails, every equilibrium concept we might quote is unsound here.

Also re-vendored the catalog twice: ground-game added H2 — scoped problem
stress, applying End Stress by personal/bond/global scope instead of flat
to everyone, which is a direct response to our reading that H1's tax
scales with the Problems while its intended effect does not.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
tegwick 2026-08-08 14:57:25 +02:00
parent 401b82bccc
commit 55a475b1a9
7 changed files with 301 additions and 15 deletions

View file

@ -49,7 +49,7 @@ owner · first release · licence · language (checked/unverified)
| profile | in one line | track |
|---|---|---|
| [`ludii.md`](ludii.md) | the closest relative: ludemes, breadth, speed | A |
| [`ludii.md`](ludii.md) | the closest relative: ludemes, breadth, speed**syntax formal, semantics is its Java** | A |
| [`gdl-ggp.md`](gdl-ggp.md) | the academic ancestor; agent generality over designer support | A |
| [`rbg.md`](rbg.md) | regular boardgames — a speed-focused rival description language | A |
| [`ai-ai.md`](ai-ai.md) | **the closest relative for what we want to become**: GGP with designer-facing metrics | A, C |
@ -58,6 +58,22 @@ owner · first release · licence · language (checked/unverified)
| [`machinations.md`](machinations.md) | economy and feedback loops, diagrammatic | — |
| [`play-substrates.md`](play-substrates.md) | Tabletop Simulator, boardgame.io — play without analysis | — |
## The formal question, answered
**Is there a game-theory mapping to Ludii's language, and is that language
formal enough to derive one from?**
**Yes to the first, no to the second, and the second does not matter.**
Ludii's universality result grounds it in **finite, non-deterministic,
imperfect-information extensive-form games** — the same object OpenSpiel's
CFR and exploitability consume. Ludii's *grammar* is formal (derived from
its class hierarchy) but its *semantics are its Java*, so there is no
independent calculus to extract.
**Conclusion: target the extensive-form game directly, not a language
derived from Ludii.** Worked through in
[`../research/CB-RES-0009-extensive-form-is-the-lingua-franca.md`](../research/CB-RES-0009-extensive-form-is-the-lingua-franca.md).
## What this survey has already changed
**Ai Ai and Browne's criteria are the finding.** Track C was written in

View file

@ -12,10 +12,24 @@ reconstruction as a founding motivation. `checked`
## How a game is defined
A ludeme tree with an `equipment` section (pieces, board) and a `rules`
section (setup, play, end conditions). Games are modified by adjusting
ludemes or parameters such as board size. **Each game's description fits
in a QR code.** `checked`
A game is a **quintuple of ludemes** — Name, Players, Mode, Equipment,
Rules. Games are modified by adjusting ludemes or parameters such as board
size. **Each game's description fits in a QR code.** `checked`
**Syntax formal, semantics not** `checked` — the sharp point, and it
answers "can we derive a formal language from it": **no, there is nothing
semantic to extract.**
- The grammar is a **class grammar, automatically derived from Ludii's
source**, so keywords and their argument types come from the class
hierarchy. That is more formal than most hand-written grammars.
- But *"Ludii effectively makes its programming language (Java) the game
description language"*: **a ludeme means what its Java class does.**
Compilation produces a forward model (legal moves, apply, copy).
Contrast **GDL**, which has a logical semantics independent of any
interpreter and pays for it in speed and verbosity. See
[`../research/CB-RES-0009-extensive-form-is-the-lingua-franca.md`](../research/CB-RES-0009-extensive-form-is-the-lingua-franca.md).
## What it can analyse
@ -26,6 +40,17 @@ feature space over games.
Depth of design-facing analysis relative to Ai Ai: `open`.
## The game-theoretic mapping
**Proven, and it is the extensive-form game.** *The Ludii Game
Description Language is Universal* shows the language can represent an
equivalent game for **any finite, non-deterministic,
imperfect-information game**, extending earlier work limited to finite
deterministic fully-observable EFGs. `checked`
That matters more than it looks: **EFG is also OpenSpiel's object**, so
the same formalism connects description to analysis.
## What it does not do
- It is **a description someone writes**, not a claim about another
@ -63,10 +88,13 @@ ours would have to be that it says something trustworthy about one.
## Open questions
- Licence, and whether it permits embedding or only interoperation.
- Can a Ludii description express **simultaneous commit/reveal, hidden
role state, and a binding multi-round state machine** like DARVO? If
not, GROUND is outside its expressiveness and Track A's second game
should be chosen to test that boundary deliberately.
- ~~Can a Ludii description express simultaneous commit/reveal and hidden
role state?~~ **Answered: yes.** Universality covers finite
non-deterministic imperfect-information games, and simultaneity is the
standard EFG information-set encoding. **The live question is whether a
binding multi-round state machine like DARVO stays *readable*** —
universality says expressible, not concise, and concision is Ludii's
actual selling point.
- What its analysis output actually contains.
## Sources

View file

@ -19,6 +19,11 @@ Games are implemented against a C++ (or Python) API. `checked` — this is
a *programming* interface, not a description language, which is the axis
where Ludii and Ai Ai differ from it.
**But the API is an extensive-form game interface**, and that is the
connection: Ludii's universality proof grounds its language in EFGs, and
OpenSpiel's algorithms consume EFGs. **EFG is the interchange format**
([`../research/CB-RES-0009-extensive-form-is-the-lingua-franca.md`](../research/CB-RES-0009-extensive-form-is-the-lingua-franca.md)).
## What it can analyse
The reason this profile matters for Track B. Implemented algorithms
@ -68,6 +73,13 @@ specific risk `Positioning.md` §4 flags for Track B.
## Open questions
- Cost of expressing a GROUND-like game against its API versus our kernel.
- **Whether our engine satisfies perfect recall.** CFR and exploitability
assume it, our per-seat projection has never been checked for it, and
it is checkable from the journal. **This is the first Track B task**
if it fails, every equilibrium concept is unsound here.
- **Our chance is folded into a seed, not an explicit chance player.** A
clay-borg game is one chance realisation; the panels sample seeds to
approximate the distribution. CFR needs chance nodes.
- Whether exploitability is meaningful for a co-operative game with a
shared threshold — `open`, and it is the question that decides whether
Track B adopts this or only borrows its vocabulary.