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

@ -5,6 +5,7 @@
schema_version: 1
updated: "2026-08-08"
default_variant: ground-darvo-r0
# H2 added; H1 remains selectable as reject-as-baseline control.
packages:
- variant_id: ground-darvo-r0
@ -64,3 +65,34 @@ packages:
git_pin: null
clay_borg_notes: >
Kernel implements H1-A/H1-B. Keep for A/B against successors (H2…).
- variant_id: h2-scoped-problem-stress
path: editions/experiments/h2-scoped-problem-stress
kind: experiment
base: ground-darvo-r0
selectable: true
status: experimental
dataset_id: GROUND-DARVO-EXP-H2-0.1
title: "H2 — scoped problem stress (personal / bond / global)"
summary: >
Unclaimed Problems apply +1 End Stress only to stress_scope:
personal=owner, bond=owner's Bond network, global=all. Surface
global; priority 3 is bond (in play at 3p+). Anyone may SOLVE any
card. Not stacked on H1; no ATTACK self-soothe.
hypothesis_ref: history/260808-h2-scoped-problem-stress.md
workplan_ref: workplans/GROUND-WP-0007-h2-scoped-problem-stress.md
measurement_ref: null
rules_delta: editions/experiments/h2-scoped-problem-stress/rules_delta.yaml
changed_files:
- Problems.csv
- Rules_Text.csv
- metadata.json
utility_estimate: >
Unmeasured. Expected: stress variance up; group wins at 34p much
better than H1; bond cards create joint SOLVE incentive in networks.
decision: none
git_pin: null
clay_borg_notes: >
Implement rules_delta H2-SCOPE, H2-OWN, H2-A, H2-SOLVE on base r0.
Do not also apply H1 deltas. Problems.csv adds stress_scope column.
Report bond-card SOLVE rates and stress variance vs r0 and h1.

View file

@ -58,7 +58,7 @@ the adversarial review ([CB-REV-0001](../../reviews/CB-REV-0001-h1.md))
reported it unverified and it was a real gap.
```
sha256 499f2df11612fc57123e9016cebe753fb33cea85cf6f68f5af5186327158605c ../catalog.yaml
sha256 c469f984c3147861815e8fbd67cf1254de73368fad1654f4177f740c0c280499 ../catalog.yaml
sha256 f58e81f84ea2b0d16e39932261eb3f3d9890345cdf37ad6f0b3abc00636840be ../experiments/h1-problem-stress/rules_delta.yaml
sha256 7b1cc0149122b855e827bc930576ed165bf7dd8d62707e845a9e514ce3521f8e ../experiments/h1-problem-stress/Actions.csv
sha256 62785f5e7e245c60171624d15de2f40187a44fec54f93c7d9705cf52584b1078 ../experiments/h1-problem-stress/Rules_Text.csv