Positions de référence évaluées par gnubg (0 et 2 plis)

32 positions (ouvertures, milieu, prime, blitz, course, sortie, videau,
match, Crawford, Jacoby), générées par make reference ; format documenté
dans tests/reference/README.md, vérifié par tests/test_reference.sh.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Pierre MARTIN
2026-11-02 13:57:14 +01:00
co-authored by Claude Opus 5.5
parent 8677193bee
commit b199698b11
37 changed files with 8031 additions and 2 deletions
+229
View File
@@ -0,0 +1,229 @@
# Positions de référence
Ce dossier contient des positions de backgammon évaluées par le GNU Backgammon
de bureau, compilé dans Docker au commit figé par l'ADR 0005. Le moteur
embarqué d'Ustagammon (et son `engine-cli`) doit retrouver ces résultats, à
une tolérance près. **Ce document est le contrat du format** : `engine-cli`
produit pour une position un objet de même structure que la partie `plies`
d'un fichier de résultat.
| Fichier | Rôle |
| --- | --- |
| `positions.json` | Positions d'entrée, versionnées, écrites à la main |
| `results/<id>.json` | Résultats de gnubg, un fichier par position, générés |
| `generate.py` | Script exécuté dans gnubg qui produit `results/` |
Commandes :
```
make reference-image # construit l'image Docker du gnubg de référence
make reference # régénère results/ (une vingtaine de secondes)
make test # vérifie la cohérence (tests/test_reference.sh)
```
`make reference` est déterministe : deux exécutions donnent des fichiers
identiques (`git diff --exit-code tests/reference`).
## Référence utilisée
- **gnubg** : GNU Backgammon 1.08.003, commit
14b67984737ded0f6de43d63dcb789f729d9b06b, compilé par
`docker/gnubg-reference/Dockerfile` (Debian trixie, sans interface
graphique, SIMD SSE2 forcé, drapeaux par défaut de gnubg `-O3 -ffast-math`).
- **Données** : `gnubg.weights` du dépôt, et `gnubg.wd`, `gnubg_os0.bd`,
`gnubg_ts0.bd` produits dans l'image par les outils officiels (`makeweights`,
`makebearoff -o 6 -s 7999999`, `makebearoff -t 6x6`). Leurs sommes SHA-256
sont dans l'image, `/usr/local/share/gnubg/donnees.sha256` ; le moteur
embarqué doit utiliser exactement ces fichiers.
- **Table d'équité de match** : Kazaross-XG2 (`met/Kazaross-XG2.xml`), la
table par défaut de gnubg.
- **Autres réglages** : ceux par défaut de gnubg. En particulier les castors
(beavers) sont autorisés en partie libre (ils ne figurent pas dans le Match
ID) et ignorés en match, et le filtre de coups est le filtre « Normal ».
## Positions d'entrée : `positions.json`
```json
{
"positions": [
{
"id": "opening-31",
"type": "move",
"categories": ["opening"],
"description": "Position de départ, premier coup 3-1, partie libre.",
"position_id": "4HPwATDgc/ABMA",
"match_id": "cIkFAAAAAAAA",
"dice": [3, 1]
}
]
}
```
- `id` : identifiant unique, sert de nom de fichier dans `results/`.
- `type` : `"move"` (dés jetés : quel coup jouer) ou `"cube"` (dés pas encore
jetés : faut-il doubler).
- `categories` : étiquettes de couverture. Valeurs utilisées : `opening`,
`middlegame`, `prime`, `blitz`, `race`, `bearoff`, `edge_case`,
`cube_no_double`, `cube_double_take`, `cube_double_pass`, `cube_redouble`,
`cube_too_good`, `match`, `crawford`, `post_crawford`, `jacoby`.
- `position_id`, `match_id` : la position au format GNU Backgammon. Le Match ID
porte tout le contexte : dés, joueur au trait, videau et propriétaire,
longueur du match, score, Crawford, règle Jacoby.
- `dice` : les dés, redondants avec le Match ID (le générateur vérifie qu'ils
concordent) ; `null` pour une décision de videau.
Pour ajouter une position : obtenir ses identifiants dans gnubg (ils
s'affichent sous le plateau, ou `show gnubgid`), l'ajouter à
`positions.json`, puis `make reference`.
## Résultats : `results/<id>.json`
```json
{
"id": "opening-31",
"type": "move",
"categories": ["opening"],
"description": "…",
"position_id": "4HPwATDgc/ABMA",
"match_id": "cIkFAAAAAAAA",
"gnubg_commit": "14b67984737ded0f6de43d63dcb789f729d9b06b",
"met": "Kazaross-XG2",
"context": {
"dice": [3, 1],
"match_length": 0,
"score_player": 0,
"score_opponent": 0,
"crawford": false,
"jacoby": true,
"beavers": true,
"cube_value": 1,
"cube_owner": "centered"
},
"plies": {
"0": { "evaluation": { … }, "moves": { … } },
"2": { "evaluation": { … }, "moves": { … } }
}
}
```
`context` est le contexte tel que gnubg l'a relu dans le Match ID :
`match_length` vaut 0 en partie libre ; `score_player` est le score du joueur
au trait ; `cube_owner` vaut `centered`, `player` (le joueur au trait) ou
`opponent` ; `beavers` dit si les castors comptent (partie libre seulement).
Voir `results/opening-31.json` pour un fichier complet.
### Niveaux : `plies`
Les clés `"0"` et `"2"` sont des niveaux comptés en **plis à la manière de
gnubg** : 0 pli = évaluation statique du réseau de neurones, 2 plis = deux
demi-coups de recherche. Ce sont les réglages prédéfinis « 0ply » et « 2ply »
de gnubg (`aecSettings` dans `eval.c`), sans bruit : cubeful, déterministe,
élagage (`prune`) désactivé à 0 pli et activé à 2 plis.
### Conventions communes
- **Point de vue** : tout est donné du point de vue du **joueur au trait**
(celui qui a les dés ou qui doit décider de doubler). Une équité positive
lui est favorable.
- **Probabilités** (`probabilities`), entre 0 et 1, issues des sorties du
réseau de gnubg :
- `win` : probabilité de gagner la partie ;
- `win_gammon` : de gagner au moins un gammon (backgammons compris) ;
- `win_backgammon` : de gagner un backgammon ;
- `lose_gammon` : de perdre au moins un gammon (backgammons compris) ;
- `lose_backgammon` : de perdre un backgammon.
La probabilité de perdre est `1 - win`.
- **Équités** : en points pour un videau à 1. En match, gnubg convertit sa
probabilité de gagner le match en « équité monétaire normalisée »
(`mwc2eq`) ; c'est cette valeur qui est donnée.
- **Nombres** : gnubg calcule en float32 ; chaque nombre est écrit sous la
forme décimale la plus courte qui redonne exactement ce float32.
### `evaluation` : la position avant le jet des dés
```json
"evaluation": {
"probabilities": { "win": 0.52483594, "win_gammon": 0.14950693,
"win_backgammon": 0.006851064, "lose_gammon": 0.124798514,
"lose_backgammon": 0.0052878163 },
"equity": 0.07594353
}
```
Sortie de `gnubg.evaluate` : les cinq probabilités et l'équité **sans videau**
(cubeless) correspondante, au score du match, pour la position *avant* que le
joueur au trait jette les dés (même pour une position de type `move`).
### `moves` : classement des coups (type `move`)
```json
"moves": {
"legal_move_count": 16,
"ranking": [
{ "rank": 1, "move": "8/5 6/5", "ply": 1, "equity": 0.20373425,
"equity_diff": 0.0, "probabilities": { … } },
…
]
}
```
- `legal_move_count` : nombre de coups légaux au sens de gnubg, c'est-à-dire de
**positions d'arrivée distinctes** (deux suites de déplacements qui mènent à
la même position comptent une fois). 0 si aucun coup n'est possible.
- `ranking` : les 10 meilleurs coups (tous s'il y en a moins), dans l'ordre de
la commande `hint` de gnubg :
- `move` : notation de gnubg (`FormatMove`), points comptés du point de vue
du joueur au trait, `bar` et `off`, `*` pour une frappe, `(2)` pour un
déplacement répété ;
- `ply` : niveau auquel ce coup a réellement été évalué. À 2 plis, gnubg
évalue d'abord tous les coups à 0 pli puis ne garde pour les plis
suivants que les meilleurs (filtre « Normal » : à 0 pli les 12 meilleurs
au plus dans un écart de 0,24 ; à 1 pli les 6 meilleurs au plus dans un
écart de 0,12). Les coups éliminés gardent une évaluation à 0 ou 1 pli.
Si un seul coup survit à un filtre, gnubg s'arrête là : c'est le cas de
l'exemple ci-dessus (3-1 d'ouverture à 2 plis), où `8/5 6/5` reste seul
après le filtre de 1 pli et garde donc `"ply": 1`, comme dans l'affichage
« Cubeful 1-ply » de gnubg. Les coups forcés restent à 0 pli ;
- `equity` : équité **avec videau** (cubeful) après ce coup ;
- `equity_diff` : `equity` moins celle du premier coup (0 ou négatif) ;
- `probabilities` : les cinq probabilités après ce coup, toujours du point de
vue du joueur qui vient de jouer.
Le classement reproduit exactement `hint` : `FindnSaveBestMoves` avec
`fAnalyse` vrai, puis `RefreshMoveList` qui départage les équités égales.
### `cube` : décision de videau (type `cube`)
```json
"cube": {
"no_double": 0.83056116,
"double_take": 0.9218164,
"double_pass": 1.0,
"optimal": 0.9218164,
"decision": "DOUBLE_TAKE",
"decision_text": "Double, take"
}
```
Sortie de `gnubg.cfevaluate` (`GeneralCubeDecisionE` puis
`FindCubeDecision`), en équités avec videau ramenées à un videau de valeur 1
(même quand le videau est déjà à 2, voir `cube-redouble`) ; exemple tiré de `cube-double-take` :
- `no_double` : si le joueur au trait ne double pas ;
- `double_take` : s'il double et que l'adversaire prend ;
- `double_pass` : s'il double et que l'adversaire passe ; vaut 1 par
construction (en match, la probabilité de gagner le match après le passe,
tirée de la table d'équité, est normalisée à 1 par `mwc2eq`) ;
- `optimal` : l'équité retenue après les meilleures décisions des deux côtés ;
- `decision` : nom de la décision dans l'énumération `cubedecision` de
`eval.h` de gnubg (`NODOUBLE_TAKE`, `DOUBLE_TAKE`, `DOUBLE_PASS`,
`TOOGOOD_PASS`, `REDOUBLE_TAKE`, `NODOUBLE_DEADCUBE`…) ;
- `decision_text` : le libellé anglais correspondant de gnubg.
## Comparaison avec le moteur embarqué
Une concordance au bit près n'est pas attendue (ADR 0005) : `-ffast-math` et
le jeu d'instructions (SSE2 ici, NEON sur téléphone, C générique en
WebAssembly) changent les derniers chiffres. Les tests de concordance devront
donc comparer les nombres avec une tolérance, et accepter qu'entre deux coups
d'équités presque égales l'ordre s'inverse.
+200
View File
@@ -0,0 +1,200 @@
# Générateur des résultats de référence d'Ustagammon.
#
# Ce script s'exécute DANS gnubg (scripting Python intégré), dans l'image
# Docker ustagammon/gnubg-reference : voir `make reference` et README.md.
# Il lit positions.json et écrit un fichier results/<id>.json par position.
#
# Rien n'est calculé ici : toutes les valeurs viennent de gnubg. Le script ne
# fait que piloter gnubg, vérifier ses réglages et mettre en forme.
import json
import os
import struct
import gnubg
FOLDER = os.environ.get("REFERENCE_DIR", "/reference")
PLIES = (0, 2) # niveaux en plis gnubg : 0 = évaluation statique du réseau
MAX_MOVES = 10 # coups gardés dans le classement (tous s'il y en a moins)
MET = "Kazaross-XG2" # table d'équité de match par défaut de gnubg
# Noms des décisions de videau : énumération cubedecision de eval.h, dans
# l'ordre (gnubg renvoie l'indice).
CUBE_DECISIONS = [
"DOUBLE_TAKE", "DOUBLE_PASS", "NODOUBLE_TAKE", "TOOGOOD_TAKE",
"TOOGOOD_PASS", "DOUBLE_BEAVER", "NODOUBLE_BEAVER", "REDOUBLE_TAKE",
"REDOUBLE_PASS", "NO_REDOUBLE_TAKE", "TOOGOODRE_TAKE", "TOOGOODRE_PASS",
"NO_REDOUBLE_BEAVER", "NODOUBLE_DEADCUBE", "NO_REDOUBLE_DEADCUBE",
"NOT_AVAILABLE", "OPTIONAL_DOUBLE_TAKE", "OPTIONAL_REDOUBLE_TAKE",
"OPTIONAL_DOUBLE_BEAVER", "OPTIONAL_DOUBLE_PASS", "OPTIONAL_REDOUBLE_PASS",
]
def f32(x):
"""Écriture décimale la plus courte qui redonne exactement le float32
calculé par gnubg (gnubg travaille en simple précision)."""
target = struct.pack("<f", x)
for digits in range(1, 10):
text = "%.*g" % (digits, x)
if struct.pack("<f", float(text)) == target:
return float(text)
raise ValueError(x)
def probabilities(p):
return {
"win": f32(p[0]),
"win_gammon": f32(p[1]),
"win_backgammon": f32(p[2]),
"lose_gammon": f32(p[3]),
"lose_backgammon": f32(p[4]),
}
def eval_context(ply):
"""Réglage prédéfini « 0ply » ou « 2ply » de gnubg (aecSettings, eval.c)."""
return {"cubeful": 1, "plies": ply, "deterministic": 1,
"prune": 1 if ply > 0 else 0, "noise": 0.0}
def set_chequer_settings(ply):
"""Règle l'évaluation utilisée par la commande hint de gnubg."""
prefix = "set evaluation chequerplay evaluation "
gnubg.command("set evaluation chequerplay type evaluation")
gnubg.command(prefix + "plies %d" % ply)
gnubg.command(prefix + "cubeful on")
gnubg.command(prefix + "prune " + ("on" if ply > 0 else "off"))
gnubg.command(prefix + "deterministic on")
gnubg.command(prefix + "noise 0")
def load_position(pos):
"""Installe la position et vide le cache d'évaluation : chaque calcul se
fait comme sur un moteur neuf. Vérifie que gnubg relit les mêmes IDs."""
gnubg.command("clear cache")
gnubg.command("set gnubgid %s:%s" % (pos["position_id"], pos["match_id"]))
read_back = (gnubg.positionid(), gnubg.matchid())
if read_back != (pos["position_id"], pos["match_id"]):
raise SystemExit("%s : gnubg relit %s" % (pos["id"], read_back))
def cube_info():
"""Contexte du videau de la position courante, tel que gnubg l'utilise
pour ses propres analyses (GetMatchStateCubeInfo). gnubg.cubeinfo()
déduit les castors du nombre de castors déjà joués dans la partie (0) ;
gnubg, lui, les autorise en partie libre (réglage par défaut nBeavers = 3)
et les ignore en match."""
ci = gnubg.cubeinfo()
ci["beavers"] = 1 if ci["matchto"] == 0 else 0
return ci
def game_context(pos):
ci = cube_info()
dice = gnubg.posinfo()["dice"]
dice = list(dice) if dice[0] else None
if dice != pos["dice"]:
raise SystemExit("%s : dés %s dans le Match ID, %s dans positions.json"
% (pos["id"], dice, pos["dice"]))
me = ci["move"]
owner = ci["cubeowner"]
return {
"dice": dice,
"match_length": ci["matchto"],
"score_player": ci["score"][me],
"score_opponent": ci["score"][1 - me],
"crawford": bool(ci["crawford"]),
"jacoby": bool(ci["jacoby"]),
"beavers": bool(ci["beavers"]),
"cube_value": ci["cube"],
"cube_owner": "centered" if owner < 0 else "player" if owner == me else "opponent",
}
def evaluate(ply):
r = gnubg.evaluate(gnubg.board(), cube_info(), eval_context(ply))
return {"probabilities": probabilities(r[:5]), "equity": f32(r[5])}
def rank_moves(pos, ply):
set_chequer_settings(ply)
load_position(pos) # efface aussi l'analyse que gnubg garde en mémoire
hint = gnubg.hint()
moves = hint["hint"] if hint else []
ranking = []
for m in moves[:MAX_MOVES]:
ctx = m.get("context", {})
if m["type"] != "eval" or ctx["noise"] != 0 or not ctx["cubeful"]:
raise SystemExit("%s : coup évalué autrement que prévu : %r" % (pos["id"], m))
ranking.append({
"rank": m["movenum"],
"move": m["move"],
"ply": ctx["plies"],
"equity": f32(m["equity"]),
"equity_diff": f32(m["eqdiff"]),
"probabilities": probabilities(m["details"]["probs"]),
})
return {"legal_move_count": len(moves), "ranking": ranking}
def cube_decision(ply):
r = gnubg.cfevaluate(gnubg.board(), cube_info(), eval_context(ply))
return {
"no_double": f32(r[1]),
"double_take": f32(r[2]),
"double_pass": f32(r[3]),
"optimal": f32(r[0]),
"decision": CUBE_DECISIONS[r[4]],
"decision_text": r[5],
}
def check_settings():
"""Vérifie les réglages par défaut dont dépendent les résultats."""
# Filtre « Normal » pour 2 plis : (niveau, coups acceptés, en plus, écart).
expected = [(0, 0, 12, 0.24), (1, 0, 6, 0.12)]
two_ply = [(f["level"], f["acceptmoves"], f["extramoves"], round(f["threshold"], 6))
for f in gnubg.getevalhintfilter() if f["ply"] == 2]
if two_ply != expected:
raise SystemExit("filtre de coups inattendu : %r" % (two_ply,))
if MET not in gnubg.show("matchequitytable"):
raise SystemExit("table d'équité de match inattendue")
def main():
with open(os.path.join(FOLDER, "positions.json"), encoding="utf-8") as f:
positions = json.load(f)["positions"]
with open("/usr/local/share/gnubg/commit") as f:
commit = f.read().strip()
check_settings()
out_dir = os.path.join(FOLDER, "results")
os.makedirs(out_dir, exist_ok=True)
for pos in positions:
load_position(pos)
result = {
"id": pos["id"],
"type": pos["type"],
"categories": pos["categories"],
"description": pos["description"],
"position_id": pos["position_id"],
"match_id": pos["match_id"],
"gnubg_commit": commit,
"met": MET,
"context": game_context(pos),
"plies": {},
}
for ply in PLIES:
load_position(pos)
level = {"evaluation": evaluate(ply)}
if pos["type"] == "move":
level["moves"] = rank_moves(pos, ply)
else:
level["cube"] = cube_decision(ply)
result["plies"][str(ply)] = level
with open(os.path.join(out_dir, pos["id"] + ".json"), "w", encoding="utf-8") as f:
json.dump(result, f, ensure_ascii=False, indent=2)
f.write("\n")
print("référence écrite :", pos["id"])
main()
+440
View File
@@ -0,0 +1,440 @@
{
"positions": [
{
"id": "opening-31",
"type": "move",
"categories": [
"opening"
],
"description": "Position de départ, premier coup 3-1, partie libre.",
"position_id": "4HPwATDgc/ABMA",
"match_id": "cIkFAAAAAAAA",
"dice": [
3,
1
]
},
{
"id": "opening-42",
"type": "move",
"categories": [
"opening"
],
"description": "Position de départ, premier coup 4-2, partie libre.",
"position_id": "4HPwATDgc/ABMA",
"match_id": "cAkKAAAAAAAA",
"dice": [
4,
2
]
},
{
"id": "opening-65",
"type": "move",
"categories": [
"opening"
],
"description": "Position de départ, premier coup 6-5, partie libre.",
"position_id": "4HPwATDgc/ABMA",
"match_id": "cAkXAAAAAAAA",
"dice": [
6,
5
]
},
{
"id": "opening-21",
"type": "move",
"categories": [
"opening"
],
"description": "Position de départ, premier coup 2-1, partie libre.",
"position_id": "4HPwATDgc/ABMA",
"match_id": "cAkFAAAAAAAA",
"dice": [
2,
1
]
},
{
"id": "opening-64-match",
"type": "move",
"categories": [
"opening",
"match"
],
"description": "Position de départ, premier coup 6-4, match en 5 points à 0-0.",
"position_id": "4HPwATDgc/ABMA",
"match_id": "cAmzAAAAAAAE",
"dice": [
6,
4
]
},
{
"id": "middlegame-1",
"type": "move",
"categories": [
"middlegame"
],
"description": "Milieu de partie avec contact, 6-4 à jouer.",
"position_id": "mM/gATCw5+ABMA",
"match_id": "cAkTAAAAAAAA",
"dice": [
6,
4
]
},
{
"id": "middlegame-2",
"type": "move",
"categories": [
"middlegame"
],
"description": "Milieu de partie avec contact et dames isolées, 5-3 à jouer.",
"position_id": "xGfhATDQ2+BBIA",
"match_id": "cIkOAAAAAAAA",
"dice": [
5,
3
]
},
{
"id": "middlegame-holding",
"type": "move",
"categories": [
"middlegame"
],
"description": "Jeu de tenue (point 20 tenu), 6-2 à jouer.",
"position_id": "mLfBARg4z8EBAw",
"match_id": "cAkLAAAAAAAA",
"dice": [
6,
2
]
},
{
"id": "prime-1",
"type": "move",
"categories": [
"prime"
],
"description": "Prime de sept points (4 à 10) contre deux dames bloquées, 6-5 à jouer.",
"position_id": "sOfgASjYbtsAAA",
"match_id": "cAkXAAAAAAAA",
"dice": [
6,
5
]
},
{
"id": "prime-vs-prime",
"type": "move",
"categories": [
"prime"
],
"description": "Prime contre prime, 4-2 à jouer.",
"position_id": "4LZtAAbAbZsBAw",
"match_id": "cAkKAAAAAAAA",
"dice": [
4,
2
]
},
{
"id": "blitz-1",
"type": "move",
"categories": [
"blitz"
],
"description": "Attaque : deux dames adverses sur la barre, 4-3 à jouer.",
"position_id": "4Dn4AGiynYMHAA",
"match_id": "cAkOAAAAAAAA",
"dice": [
4,
3
]
},
{
"id": "blitz-2",
"type": "move",
"categories": [
"blitz"
],
"description": "Attaque : une dame adverse sur la barre, double 3-3 à jouer.",
"position_id": "4HPwAVC0XYMHAA",
"match_id": "cIkNAAAAAAAA",
"dice": [
3,
3
]
},
{
"id": "race-1",
"type": "move",
"categories": [
"race"
],
"description": "Course courte sans contact, 6-2 à jouer.",
"position_id": "trsXAADs7mwAAA",
"match_id": "cAkLAAAAAAAA",
"dice": [
6,
2
]
},
{
"id": "race-2",
"type": "move",
"categories": [
"race"
],
"description": "Course longue sans contact, 5-4 à jouer.",
"position_id": "cLezAQBwN2cGAA",
"match_id": "cIkSAAAAAAAA",
"dice": [
5,
4
]
},
{
"id": "bearoff-short",
"type": "move",
"categories": [
"bearoff"
],
"description": "Sortie à peu de dames (base à deux côtés), 2-1 à jouer.",
"position_id": "TQAAYAsAAAAAAA",
"match_id": "cAkFAAAAAAAA",
"dice": [
2,
1
]
},
{
"id": "bearoff-15-checkers",
"type": "move",
"categories": [
"bearoff"
],
"description": "Sortie à 15 dames contre 15 (base à un côté), 6-5 à jouer.",
"position_id": "290NAADb7g4AAA",
"match_id": "cAkXAAAAAAAA",
"dice": [
6,
5
]
},
{
"id": "bearoff-doubles",
"type": "move",
"categories": [
"bearoff"
],
"description": "Sortie, double 6-6 à jouer.",
"position_id": "xgAA4MgAAAAAAA",
"match_id": "cAkbAAAAAAAA",
"dice": [
6,
6
]
},
{
"id": "no-legal-move",
"type": "move",
"categories": [
"edge_case"
],
"description": "Dame sur la barre face à un jan fermé : aucun coup légal avec 5-5.",
"position_id": "27YBBwAcz8EDQA",
"match_id": "cIkWAAAAAAAA",
"dice": [
5,
5
]
},
{
"id": "forced-move",
"type": "move",
"categories": [
"edge_case"
],
"description": "Deux dames sur la barre, un seul point d'entrée : coup forcé avec 3-1.",
"position_id": "tm3ABwBw5+ABYA",
"match_id": "cIkFAAAAAAAA",
"dice": [
3,
1
]
},
{
"id": "cube-no-double",
"type": "cube",
"categories": [
"cube_no_double"
],
"description": "Position presque égale, videau centré : pas de double.",
"position_id": "2J0dBgDYnRsGAA",
"match_id": "cAkAAAAAAAAA",
"dice": null
},
{
"id": "cube-double-take",
"type": "cube",
"categories": [
"cube_double_take",
"race"
],
"description": "Course avec avance modérée, videau centré : double, prend.",
"position_id": "6O5uAAC4uzsAAA",
"match_id": "cAkAAAAAAAAA",
"dice": null
},
{
"id": "cube-double-pass",
"type": "cube",
"categories": [
"cube_double_pass",
"race"
],
"description": "Course avec grosse avance, videau centré : double, passe.",
"position_id": "cHd3AADvvQMAAA",
"match_id": "cAkAAAAAAAAA",
"dice": null
},
{
"id": "cube-redouble",
"type": "cube",
"categories": [
"cube_redouble",
"race"
],
"description": "Course avec avance, videau à 2 possédé par le joueur au trait : redouble.",
"position_id": "6O5uAAC4uzsAAA",
"match_id": "UQkAAAAAAAAA",
"dice": null
},
{
"id": "cube-blitz",
"type": "cube",
"categories": [
"cube_too_good",
"blitz"
],
"description": "Attaque forte, videau centré, partie libre sans règle Jacoby.",
"position_id": "4Dn4AGiynYMHAA",
"match_id": "cAkAAAAAAAAE",
"dice": null
},
{
"id": "jacoby-cube",
"type": "cube",
"categories": [
"jacoby",
"blitz"
],
"description": "Même attaque que cube-blitz, avec la règle Jacoby.",
"position_id": "4Dn4AGiynYMHAA",
"match_id": "cAkAAAAAAAAA",
"dice": null
},
{
"id": "jacoby-move",
"type": "move",
"categories": [
"jacoby",
"blitz"
],
"description": "Attaque avec la règle Jacoby, 6-4 à jouer.",
"position_id": "4HPwAVC0XYMHAA",
"match_id": "cAkTAAAAAAAA",
"dice": [
6,
4
]
},
{
"id": "match-3-3-move",
"type": "move",
"categories": [
"match",
"middlegame"
],
"description": "Match en 5 points, 2-2 (3-away 3-away), 5-3 à jouer.",
"position_id": "xGfhATDQ2+BBIA",
"match_id": "cImuACAAEAAE",
"dice": [
5,
3
]
},
{
"id": "match-dmp-move",
"type": "move",
"categories": [
"match",
"middlegame"
],
"description": "Match en 1 point (double match point), 6-2 à jouer.",
"position_id": "mLfBARg4z8EBAw",
"match_id": "cAkrAAAAAAAE",
"dice": [
6,
2
]
},
{
"id": "match-7-cube",
"type": "cube",
"categories": [
"match",
"race"
],
"description": "Match en 7 points, joueur au trait à 3, adversaire à 5 : décision de videau.",
"position_id": "cHd3AAC4uzsAAA",
"match_id": "cAngAFAAGAAE",
"dice": null
},
{
"id": "match-crawford-move",
"type": "move",
"categories": [
"match",
"crawford",
"blitz"
],
"description": "Match en 5 points, partie Crawford, joueur au trait mené 2-4, 4-3 à jouer.",
"position_id": "4Dn4AGiynYMHAA",
"match_id": "8AmuAEAAEAAE",
"dice": [
4,
3
]
},
{
"id": "match-crawford-cube",
"type": "cube",
"categories": [
"match",
"crawford",
"race"
],
"description": "Match en 5 points, partie Crawford : videau mort.",
"position_id": "cHd3AAC4uzsAAA",
"match_id": "8AmgAEAAEAAE",
"dice": null
},
{
"id": "match-post-crawford-cube",
"type": "cube",
"categories": [
"match",
"post_crawford"
],
"description": "Match en 5 points, après Crawford, joueur au trait mené 2-4 : videau.",
"position_id": "2J0dBgDYnRsGAA",
"match_id": "cAmgAEAAEAAE",
"dice": null
}
]
}
@@ -0,0 +1,118 @@
{
"id": "bearoff-15-checkers",
"type": "move",
"categories": [
"bearoff"
],
"description": "Sortie à 15 dames contre 15 (base à un côté), 6-5 à jouer.",
"position_id": "290NAADb7g4AAA",
"match_id": "cAkXAAAAAAAA",
"gnubg_commit": "14b67984737ded0f6de43d63dcb789f729d9b06b",
"met": "Kazaross-XG2",
"context": {
"dice": [
6,
5
],
"match_length": 0,
"score_player": 0,
"score_opponent": 0,
"crawford": false,
"jacoby": true,
"beavers": true,
"cube_value": 1,
"cube_owner": "centered"
},
"plies": {
"0": {
"evaluation": {
"probabilities": {
"win": 0.5665677,
"win_gammon": 0.0,
"win_backgammon": 0.0,
"lose_gammon": 0.0,
"lose_backgammon": 0.0
},
"equity": 0.13313544
},
"moves": {
"legal_move_count": 2,
"ranking": [
{
"rank": 1,
"move": "6/off 5/off",
"ply": 0,
"equity": 0.4084316,
"equity_diff": 0.0,
"probabilities": {
"win": 0.6458684,
"win_gammon": 0.0,
"win_backgammon": 0.0,
"lose_gammon": 0.0,
"lose_backgammon": 0.0
}
},
{
"rank": 2,
"move": "6/1 6/off",
"ply": 0,
"equity": 0.20709176,
"equity_diff": -0.20133983,
"probabilities": {
"win": 0.5739614,
"win_gammon": 0.0,
"win_backgammon": 0.0,
"lose_gammon": 0.0,
"lose_backgammon": 0.0
}
}
]
}
},
"2": {
"evaluation": {
"probabilities": {
"win": 0.5665742,
"win_gammon": 0.0,
"win_backgammon": 0.0,
"lose_gammon": 0.0,
"lose_backgammon": 0.0
},
"equity": 0.13314843
},
"moves": {
"legal_move_count": 2,
"ranking": [
{
"rank": 1,
"move": "6/off 5/off",
"ply": 1,
"equity": 0.4440637,
"equity_diff": 0.0,
"probabilities": {
"win": 0.64587986,
"win_gammon": 0.0,
"win_backgammon": 0.0,
"lose_gammon": 0.0,
"lose_backgammon": 0.0
}
},
{
"rank": 2,
"move": "6/1 6/off",
"ply": 1,
"equity": 0.21062364,
"equity_diff": -0.23344006,
"probabilities": {
"win": 0.5739729,
"win_gammon": 0.0,
"win_backgammon": 0.0,
"lose_gammon": 0.0,
"lose_backgammon": 0.0
}
}
]
}
}
}
}
@@ -0,0 +1,90 @@
{
"id": "bearoff-doubles",
"type": "move",
"categories": [
"bearoff"
],
"description": "Sortie, double 6-6 à jouer.",
"position_id": "xgAA4MgAAAAAAA",
"match_id": "cAkbAAAAAAAA",
"gnubg_commit": "14b67984737ded0f6de43d63dcb789f729d9b06b",
"met": "Kazaross-XG2",
"context": {
"dice": [
6,
6
],
"match_length": 0,
"score_player": 0,
"score_opponent": 0,
"crawford": false,
"jacoby": true,
"beavers": true,
"cube_value": 1,
"cube_owner": "centered"
},
"plies": {
"0": {
"evaluation": {
"probabilities": {
"win": 0.2702983,
"win_gammon": 0.0,
"win_backgammon": 0.0,
"lose_gammon": 0.0,
"lose_backgammon": 0.0
},
"equity": -0.4594034
},
"moves": {
"legal_move_count": 1,
"ranking": [
{
"rank": 1,
"move": "6/off(2) 4/off 1/off",
"ply": 0,
"equity": 0.8888838,
"equity_diff": 0.0,
"probabilities": {
"win": 0.9444419,
"win_gammon": 0.0,
"win_backgammon": 0.0,
"lose_gammon": 0.0,
"lose_backgammon": 0.0
}
}
]
}
},
"2": {
"evaluation": {
"probabilities": {
"win": 0.2702983,
"win_gammon": 0.0,
"win_backgammon": 0.0,
"lose_gammon": 0.0,
"lose_backgammon": 0.0
},
"equity": -0.4594034
},
"moves": {
"legal_move_count": 1,
"ranking": [
{
"rank": 1,
"move": "6/off(2) 4/off 1/off",
"ply": 0,
"equity": 0.8888838,
"equity_diff": 0.0,
"probabilities": {
"win": 0.9444419,
"win_gammon": 0.0,
"win_backgammon": 0.0,
"lose_gammon": 0.0,
"lose_backgammon": 0.0
}
}
]
}
}
}
}
+174
View File
@@ -0,0 +1,174 @@
{
"id": "bearoff-short",
"type": "move",
"categories": [
"bearoff"
],
"description": "Sortie à peu de dames (base à deux côtés), 2-1 à jouer.",
"position_id": "TQAAYAsAAAAAAA",
"match_id": "cAkFAAAAAAAA",
"gnubg_commit": "14b67984737ded0f6de43d63dcb789f729d9b06b",
"met": "Kazaross-XG2",
"context": {
"dice": [
2,
1
],
"match_length": 0,
"score_player": 0,
"score_opponent": 0,
"crawford": false,
"jacoby": true,
"beavers": true,
"cube_value": 1,
"cube_owner": "centered"
},
"plies": {
"0": {
"evaluation": {
"probabilities": {
"win": 0.38315403,
"win_gammon": 0.0,
"win_backgammon": 0.0,
"lose_gammon": 0.0,
"lose_backgammon": 0.0
},
"equity": -0.23369193
},
"moves": {
"legal_move_count": 4,
"ranking": [
{
"rank": 1,
"move": "2/off 1/off",
"ply": 0,
"equity": -0.8607614,
"equity_diff": 0.0,
"probabilities": {
"win": 0.2701915,
"win_gammon": 0.0,
"win_backgammon": 0.0,
"lose_gammon": 0.0,
"lose_backgammon": 0.0
}
},
{
"rank": 2,
"move": "3/off",
"ply": 0,
"equity": -0.8607614,
"equity_diff": 0.0,
"probabilities": {
"win": 0.2701915,
"win_gammon": 0.0,
"win_backgammon": 0.0,
"lose_gammon": 0.0,
"lose_backgammon": 0.0
}
},
{
"rank": 3,
"move": "2/1 2/off",
"ply": 0,
"equity": -0.95561147,
"equity_diff": -0.09485006,
"probabilities": {
"win": 0.24164188,
"win_gammon": 0.0,
"win_backgammon": 0.0,
"lose_gammon": 0.0,
"lose_backgammon": 0.0
}
},
{
"rank": 4,
"move": "3/1 2/1",
"ply": 0,
"equity": -1.0,
"equity_diff": -0.1392386,
"probabilities": {
"win": 0.05070573,
"win_gammon": 0.0,
"win_backgammon": 0.0,
"lose_gammon": 0.0,
"lose_backgammon": 0.0
}
}
]
}
},
"2": {
"evaluation": {
"probabilities": {
"win": 0.38315403,
"win_gammon": 0.0,
"win_backgammon": 0.0,
"lose_gammon": 0.0,
"lose_backgammon": 0.0
},
"equity": -0.23369193
},
"moves": {
"legal_move_count": 4,
"ranking": [
{
"rank": 1,
"move": "2/off 1/off",
"ply": 2,
"equity": -0.8607614,
"equity_diff": 0.0,
"probabilities": {
"win": 0.2701915,
"win_gammon": 0.0,
"win_backgammon": 0.0,
"lose_gammon": 0.0,
"lose_backgammon": 0.0
}
},
{
"rank": 2,
"move": "3/off",
"ply": 2,
"equity": -0.8607614,
"equity_diff": 0.0,
"probabilities": {
"win": 0.2701915,
"win_gammon": 0.0,
"win_backgammon": 0.0,
"lose_gammon": 0.0,
"lose_backgammon": 0.0
}
},
{
"rank": 3,
"move": "2/1 2/off",
"ply": 2,
"equity": -0.95561147,
"equity_diff": -0.09485006,
"probabilities": {
"win": 0.24164188,
"win_gammon": 0.0,
"win_backgammon": 0.0,
"lose_gammon": 0.0,
"lose_backgammon": 0.0
}
},
{
"rank": 4,
"move": "3/1 2/1",
"ply": 1,
"equity": -1.0,
"equity_diff": -0.1392386,
"probabilities": {
"win": 0.05070573,
"win_gammon": 0.0,
"win_backgammon": 0.0,
"lose_gammon": 0.0,
"lose_backgammon": 0.0
}
}
]
}
}
}
}
+342
View File
@@ -0,0 +1,342 @@
{
"id": "blitz-1",
"type": "move",
"categories": [
"blitz"
],
"description": "Attaque : deux dames adverses sur la barre, 4-3 à jouer.",
"position_id": "4Dn4AGiynYMHAA",
"match_id": "cAkOAAAAAAAA",
"gnubg_commit": "14b67984737ded0f6de43d63dcb789f729d9b06b",
"met": "Kazaross-XG2",
"context": {
"dice": [
4,
3
],
"match_length": 0,
"score_player": 0,
"score_opponent": 0,
"crawford": false,
"jacoby": true,
"beavers": true,
"cube_value": 1,
"cube_owner": "centered"
},
"plies": {
"0": {
"evaluation": {
"probabilities": {
"win": 0.8259491,
"win_gammon": 0.63558626,
"win_backgammon": 0.051824015,
"lose_gammon": 0.01410268,
"lose_backgammon": 0.00029838496
},
"equity": 1.3249073
},
"moves": {
"legal_move_count": 20,
"ranking": [
{
"rank": 1,
"move": "8/5 6/2",
"ply": 0,
"equity": 0.9093857,
"equity_diff": 0.0,
"probabilities": {
"win": 0.81122017,
"win_gammon": 0.6180843,
"win_backgammon": 0.039920993,
"lose_gammon": 0.016159898,
"lose_backgammon": 0.000108429565
}
},
{
"rank": 2,
"move": "5/2 5/1*",
"ply": 0,
"equity": 0.90894336,
"equity_diff": -0.00044232607,
"probabilities": {
"win": 0.8102987,
"win_gammon": 0.6098554,
"win_backgammon": 0.035345834,
"lose_gammon": 0.030515661,
"lose_backgammon": 0.0003538893
}
},
{
"rank": 3,
"move": "8/1*",
"ply": 0,
"equity": 0.90392095,
"equity_diff": -0.0054647326,
"probabilities": {
"win": 0.7998353,
"win_gammon": 0.60838807,
"win_backgammon": 0.042721834,
"lose_gammon": 0.031395618,
"lose_backgammon": 0.0006257314
}
},
{
"rank": 4,
"move": "13/10 6/2",
"ply": 0,
"equity": 0.90364444,
"equity_diff": -0.0057412386,
"probabilities": {
"win": 0.7992593,
"win_gammon": 0.58293045,
"win_backgammon": 0.042541374,
"lose_gammon": 0.013131926,
"lose_backgammon": 0.0
}
},
{
"rank": 5,
"move": "13/9 8/5",
"ply": 0,
"equity": 0.8956786,
"equity_diff": -0.013707101,
"probabilities": {
"win": 0.78266376,
"win_gammon": 0.56832266,
"win_backgammon": 0.050313737,
"lose_gammon": 0.025197603,
"lose_backgammon": 0.00045250903
}
},
{
"rank": 6,
"move": "8/5 8/4",
"ply": 0,
"equity": 0.8944891,
"equity_diff": -0.014896572,
"probabilities": {
"win": 0.7801856,
"win_gammon": 0.58423555,
"win_backgammon": 0.04737587,
"lose_gammon": 0.029746175,
"lose_backgammon": 0.0005981548
}
},
{
"rank": 7,
"move": "13/10 8/4",
"ply": 0,
"equity": 0.8932646,
"equity_diff": -0.01612109,
"probabilities": {
"win": 0.7776346,
"win_gammon": 0.5655885,
"win_backgammon": 0.05003428,
"lose_gammon": 0.026805501,
"lose_backgammon": 0.0005106817
}
},
{
"rank": 8,
"move": "13/10 13/9",
"ply": 0,
"equity": 0.89323187,
"equity_diff": -0.016153812,
"probabilities": {
"win": 0.7775664,
"win_gammon": 0.5375285,
"win_backgammon": 0.04898261,
"lose_gammon": 0.025490344,
"lose_backgammon": 0.00049680925
}
},
{
"rank": 9,
"move": "6/2 4/1*",
"ply": 0,
"equity": 0.8909342,
"equity_diff": -0.018451452,
"probabilities": {
"win": 0.7727797,
"win_gammon": 0.5636064,
"win_backgammon": 0.036480173,
"lose_gammon": 0.03844223,
"lose_backgammon": 0.00076097733
}
},
{
"rank": 10,
"move": "13/6",
"ply": 0,
"equity": 0.890733,
"equity_diff": -0.018652678,
"probabilities": {
"win": 0.77236044,
"win_gammon": 0.5431621,
"win_backgammon": 0.044880137,
"lose_gammon": 0.02577741,
"lose_backgammon": 0.00032665874
}
}
]
}
},
"2": {
"evaluation": {
"probabilities": {
"win": 0.8177575,
"win_gammon": 0.6248996,
"win_backgammon": 0.04603396,
"lose_gammon": 0.016648903,
"lose_backgammon": 0.0004305263
},
"equity": 1.2893691
},
"moves": {
"legal_move_count": 20,
"ranking": [
{
"rank": 1,
"move": "8/5 6/2",
"ply": 2,
"equity": 1.0,
"equity_diff": 0.0,
"probabilities": {
"win": 0.81665856,
"win_gammon": 0.6159559,
"win_backgammon": 0.050336592,
"lose_gammon": 0.01610412,
"lose_backgammon": 0.000110576926
}
},
{
"rank": 2,
"move": "13/10 6/2",
"ply": 2,
"equity": 1.0,
"equity_diff": 0.0,
"probabilities": {
"win": 0.81210685,
"win_gammon": 0.6009171,
"win_backgammon": 0.051549952,
"lose_gammon": 0.015562758,
"lose_backgammon": 9.578926e-05
}
},
{
"rank": 3,
"move": "13/6",
"ply": 2,
"equity": 0.99992114,
"equity_diff": -7.8856945e-05,
"probabilities": {
"win": 0.77379155,
"win_gammon": 0.5123651,
"win_backgammon": 0.043433707,
"lose_gammon": 0.025855184,
"lose_backgammon": 0.00035371762
}
},
{
"rank": 4,
"move": "13/10 13/9",
"ply": 2,
"equity": 0.99970096,
"equity_diff": -0.0002990365,
"probabilities": {
"win": 0.7776103,
"win_gammon": 0.51509345,
"win_backgammon": 0.0470933,
"lose_gammon": 0.02603421,
"lose_backgammon": 0.00053207396
}
},
{
"rank": 5,
"move": "13/9 8/5",
"ply": 2,
"equity": 0.99941623,
"equity_diff": -0.0005837679,
"probabilities": {
"win": 0.7825747,
"win_gammon": 0.53879386,
"win_backgammon": 0.04923886,
"lose_gammon": 0.025207901,
"lose_backgammon": 0.00046286164
}
},
{
"rank": 6,
"move": "13/10 8/4",
"ply": 2,
"equity": 0.99862504,
"equity_diff": -0.00137496,
"probabilities": {
"win": 0.7787585,
"win_gammon": 0.52968854,
"win_backgammon": 0.04714619,
"lose_gammon": 0.025802476,
"lose_backgammon": 0.0004662624
}
},
{
"rank": 7,
"move": "8/1*",
"ply": 1,
"equity": 0.99609977,
"equity_diff": -0.00390023,
"probabilities": {
"win": 0.7874034,
"win_gammon": 0.55951935,
"win_backgammon": 0.040331442,
"lose_gammon": 0.02822813,
"lose_backgammon": 0.001064448
}
},
{
"rank": 8,
"move": "5/2 5/1*",
"ply": 1,
"equity": 0.9946342,
"equity_diff": -0.005365789,
"probabilities": {
"win": 0.7942897,
"win_gammon": 0.5627169,
"win_backgammon": 0.032200348,
"lose_gammon": 0.025856044,
"lose_backgammon": 0.00085652235
}
},
{
"rank": 9,
"move": "8/5 8/4",
"ply": 1,
"equity": 0.99273163,
"equity_diff": -0.007268369,
"probabilities": {
"win": 0.765936,
"win_gammon": 0.53217345,
"win_backgammon": 0.047750887,
"lose_gammon": 0.027644774,
"lose_backgammon": 0.0008184419
}
},
{
"rank": 10,
"move": "13/9 5/2",
"ply": 1,
"equity": 0.9829085,
"equity_diff": -0.017091513,
"probabilities": {
"win": 0.76645356,
"win_gammon": 0.50858366,
"win_backgammon": 0.04323478,
"lose_gammon": 0.027814435,
"lose_backgammon": 0.0008966248
}
}
]
}
}
}
}
+342
View File
@@ -0,0 +1,342 @@
{
"id": "blitz-2",
"type": "move",
"categories": [
"blitz"
],
"description": "Attaque : une dame adverse sur la barre, double 3-3 à jouer.",
"position_id": "4HPwAVC0XYMHAA",
"match_id": "cIkNAAAAAAAA",
"gnubg_commit": "14b67984737ded0f6de43d63dcb789f729d9b06b",
"met": "Kazaross-XG2",
"context": {
"dice": [
3,
3
],
"match_length": 0,
"score_player": 0,
"score_opponent": 0,
"crawford": false,
"jacoby": true,
"beavers": true,
"cube_value": 1,
"cube_owner": "centered"
},
"plies": {
"0": {
"evaluation": {
"probabilities": {
"win": 0.8636842,
"win_gammon": 0.57455575,
"win_backgammon": 0.017836282,
"lose_gammon": 0.015630726,
"lose_backgammon": 0.00039723353
},
"equity": 1.3037324
},
"moves": {
"legal_move_count": 110,
"ranking": [
{
"rank": 1,
"move": "13/10 6/3 4/1*(2)",
"ply": 0,
"equity": 0.9465638,
"equity_diff": 0.0,
"probabilities": {
"win": 0.8886746,
"win_gammon": 0.72519463,
"win_backgammon": 0.013819454,
"lose_gammon": 0.011886803,
"lose_backgammon": 0.00012537274
}
},
{
"rank": 2,
"move": "8/5 6/3 4/1*(2)",
"ply": 0,
"equity": 0.9422797,
"equity_diff": -0.004284084,
"probabilities": {
"win": 0.87974936,
"win_gammon": 0.7156389,
"win_backgammon": 0.009178609,
"lose_gammon": 0.01456464,
"lose_backgammon": 0.00016020882
}
},
{
"rank": 3,
"move": "13/7 13/10 6/3",
"ply": 0,
"equity": 0.94128984,
"equity_diff": -0.005273938,
"probabilities": {
"win": 0.8776872,
"win_gammon": 0.5112293,
"win_backgammon": 0.0141497,
"lose_gammon": 0.0074532446,
"lose_backgammon": 0.0
}
},
{
"rank": 4,
"move": "13/7 8/5 6/3",
"ply": 0,
"equity": 0.9370698,
"equity_diff": -0.009494007,
"probabilities": {
"win": 0.86889535,
"win_gammon": 0.55097055,
"win_backgammon": 0.01863856,
"lose_gammon": 0.011322638,
"lose_backgammon": 0.0
}
},
{
"rank": 5,
"move": "13/10(2) 7/4 6/3",
"ply": 0,
"equity": 0.93615985,
"equity_diff": -0.010403931,
"probabilities": {
"win": 0.86699975,
"win_gammon": 0.5390125,
"win_backgammon": 0.016794147,
"lose_gammon": 0.012118461,
"lose_backgammon": 0.0
}
},
{
"rank": 6,
"move": "13/10(2) 8/5 6/3",
"ply": 0,
"equity": 0.9330082,
"equity_diff": -0.013555586,
"probabilities": {
"win": 0.8604338,
"win_gammon": 0.55904984,
"win_backgammon": 0.02250115,
"lose_gammon": 0.015764605,
"lose_backgammon": 0.00017458491
}
},
{
"rank": 7,
"move": "13/10 8/5 7/4 6/3",
"ply": 0,
"equity": 0.932737,
"equity_diff": -0.0138267875,
"probabilities": {
"win": 0.85986876,
"win_gammon": 0.5640921,
"win_backgammon": 0.022453232,
"lose_gammon": 0.013957403,
"lose_backgammon": 0.00011591845
}
},
{
"rank": 8,
"move": "13/10 7/1* 6/3",
"ply": 0,
"equity": 0.9313148,
"equity_diff": -0.015248954,
"probabilities": {
"win": 0.8569059,
"win_gammon": 0.65772825,
"win_backgammon": 0.018538328,
"lose_gammon": 0.0136713525,
"lose_backgammon": 0.00017456421
}
},
{
"rank": 9,
"move": "8/5 7/1* 6/3",
"ply": 0,
"equity": 0.93129885,
"equity_diff": -0.015264928,
"probabilities": {
"win": 0.8568727,
"win_gammon": 0.676396,
"win_backgammon": 0.014874272,
"lose_gammon": 0.016498892,
"lose_backgammon": 0.00021990643
}
},
{
"rank": 10,
"move": "13/4 6/3",
"ply": 0,
"equity": 0.92980635,
"equity_diff": -0.016757429,
"probabilities": {
"win": 0.8537633,
"win_gammon": 0.54661536,
"win_backgammon": 0.021078322,
"lose_gammon": 0.015184178,
"lose_backgammon": 0.00014520474
}
}
]
}
},
"2": {
"evaluation": {
"probabilities": {
"win": 0.8528266,
"win_gammon": 0.5386192,
"win_backgammon": 0.014262153,
"lose_gammon": 0.013019987,
"lose_backgammon": 0.00017201946
},
"equity": 1.2453425
},
"moves": {
"legal_move_count": 110,
"ranking": [
{
"rank": 1,
"move": "13/10 7/1* 6/3",
"ply": 2,
"equity": 1.0,
"equity_diff": 0.0,
"probabilities": {
"win": 0.8607166,
"win_gammon": 0.6322813,
"win_backgammon": 0.017087897,
"lose_gammon": 0.015748853,
"lose_backgammon": 0.00025091908
}
},
{
"rank": 2,
"move": "13/7 13/10 6/3",
"ply": 2,
"equity": 1.0,
"equity_diff": 0.0,
"probabilities": {
"win": 0.87094545,
"win_gammon": 0.5271091,
"win_backgammon": 0.015117481,
"lose_gammon": 0.008714644,
"lose_backgammon": 5.2726853e-05
}
},
{
"rank": 3,
"move": "13/7 8/5 6/3",
"ply": 2,
"equity": 1.0,
"equity_diff": 0.0,
"probabilities": {
"win": 0.8602668,
"win_gammon": 0.5367975,
"win_backgammon": 0.018686661,
"lose_gammon": 0.010968306,
"lose_backgammon": 7.4010575e-05
}
},
{
"rank": 4,
"move": "13/10(2) 8/5 6/3",
"ply": 2,
"equity": 1.0,
"equity_diff": 0.0,
"probabilities": {
"win": 0.8586206,
"win_gammon": 0.539141,
"win_backgammon": 0.01848739,
"lose_gammon": 0.013003148,
"lose_backgammon": 0.00014833493
}
},
{
"rank": 5,
"move": "13/10(2) 7/4 6/3",
"ply": 2,
"equity": 1.0,
"equity_diff": 0.0,
"probabilities": {
"win": 0.8608149,
"win_gammon": 0.5221586,
"win_backgammon": 0.017969444,
"lose_gammon": 0.011417871,
"lose_backgammon": 5.6085017e-05
}
},
{
"rank": 6,
"move": "13/10 8/5 7/4 6/3",
"ply": 2,
"equity": 1.0,
"equity_diff": 0.0,
"probabilities": {
"win": 0.85235405,
"win_gammon": 0.5273741,
"win_backgammon": 0.018858938,
"lose_gammon": 0.012846364,
"lose_backgammon": 7.204357e-05
}
},
{
"rank": 7,
"move": "13/10 8/5(2) 6/3",
"ply": 2,
"equity": 1.0,
"equity_diff": 0.0,
"probabilities": {
"win": 0.843128,
"win_gammon": 0.5267622,
"win_backgammon": 0.01963117,
"lose_gammon": 0.013747729,
"lose_backgammon": 0.00013106255
}
},
{
"rank": 8,
"move": "13/4 6/3",
"ply": 2,
"equity": 1.0,
"equity_diff": 0.0,
"probabilities": {
"win": 0.849905,
"win_gammon": 0.51219106,
"win_backgammon": 0.017563311,
"lose_gammon": 0.013114546,
"lose_backgammon": 0.00010297247
}
},
{
"rank": 9,
"move": "13/10 6/3 4/1*(2)",
"ply": 2,
"equity": 0.99692726,
"equity_diff": -0.0030727386,
"probabilities": {
"win": 0.88937855,
"win_gammon": 0.728688,
"win_backgammon": 0.013830532,
"lose_gammon": 0.012578556,
"lose_backgammon": 0.00012447288
}
},
{
"rank": 10,
"move": "8/5 7/1* 6/3",
"ply": 1,
"equity": 0.9960891,
"equity_diff": -0.003910899,
"probabilities": {
"win": 0.85297924,
"win_gammon": 0.6440174,
"win_backgammon": 0.016305396,
"lose_gammon": 0.016591068,
"lose_backgammon": 0.00031312907
}
}
]
}
}
}
}
+66
View File
@@ -0,0 +1,66 @@
{
"id": "cube-blitz",
"type": "cube",
"categories": [
"cube_too_good",
"blitz"
],
"description": "Attaque forte, videau centré, partie libre sans règle Jacoby.",
"position_id": "4Dn4AGiynYMHAA",
"match_id": "cAkAAAAAAAAE",
"gnubg_commit": "14b67984737ded0f6de43d63dcb789f729d9b06b",
"met": "Kazaross-XG2",
"context": {
"dice": null,
"match_length": 0,
"score_player": 0,
"score_opponent": 0,
"crawford": false,
"jacoby": false,
"beavers": true,
"cube_value": 1,
"cube_owner": "centered"
},
"plies": {
"0": {
"evaluation": {
"probabilities": {
"win": 0.8259491,
"win_gammon": 0.63558626,
"win_backgammon": 0.051824015,
"lose_gammon": 0.01410268,
"lose_backgammon": 0.00029838496
},
"equity": 1.3249073
},
"cube": {
"no_double": 1.4283034,
"double_take": 2.5175364,
"double_pass": 1.0,
"optimal": 1.4283034,
"decision": "TOOGOOD_PASS",
"decision_text": "Too good to double, pass"
}
},
"2": {
"evaluation": {
"probabilities": {
"win": 0.81745076,
"win_gammon": 0.6255606,
"win_backgammon": 0.04636141,
"lose_gammon": 0.01678618,
"lose_backgammon": 0.0004376368
},
"equity": 1.2895997
},
"cube": {
"no_double": 1.3982979,
"double_take": 2.4550662,
"double_pass": 1.0,
"optimal": 1.3982979,
"decision": "TOOGOOD_PASS",
"decision_text": "Too good to double, pass"
}
}
}
}
@@ -0,0 +1,66 @@
{
"id": "cube-double-pass",
"type": "cube",
"categories": [
"cube_double_pass",
"race"
],
"description": "Course avec grosse avance, videau centré : double, passe.",
"position_id": "cHd3AADvvQMAAA",
"match_id": "cAkAAAAAAAAA",
"gnubg_commit": "14b67984737ded0f6de43d63dcb789f729d9b06b",
"met": "Kazaross-XG2",
"context": {
"dice": null,
"match_length": 0,
"score_player": 0,
"score_opponent": 0,
"crawford": false,
"jacoby": true,
"beavers": true,
"cube_value": 1,
"cube_owner": "centered"
},
"plies": {
"0": {
"evaluation": {
"probabilities": {
"win": 0.9999498,
"win_gammon": 0.028405396,
"win_backgammon": 0.0,
"lose_gammon": 0.0,
"lose_backgammon": 0.0
},
"equity": 1.028305
},
"cube": {
"no_double": 0.9999689,
"double_take": 2.0565755,
"double_pass": 1.0,
"optimal": 1.0,
"decision": "DOUBLE_PASS",
"decision_text": "Double, pass"
}
},
"2": {
"evaluation": {
"probabilities": {
"win": 0.99994457,
"win_gammon": 0.03390939,
"win_backgammon": 0.0,
"lose_gammon": 0.0,
"lose_backgammon": 0.0
},
"equity": 1.0337985
},
"cube": {
"no_double": 1.0,
"double_take": 2.0675642,
"double_pass": 1.0,
"optimal": 1.0,
"decision": "DOUBLE_PASS",
"decision_text": "Double, pass"
}
}
}
}
@@ -0,0 +1,66 @@
{
"id": "cube-double-take",
"type": "cube",
"categories": [
"cube_double_take",
"race"
],
"description": "Course avec avance modérée, videau centré : double, prend.",
"position_id": "6O5uAAC4uzsAAA",
"match_id": "cAkAAAAAAAAA",
"gnubg_commit": "14b67984737ded0f6de43d63dcb789f729d9b06b",
"met": "Kazaross-XG2",
"context": {
"dice": null,
"match_length": 0,
"score_player": 0,
"score_opponent": 0,
"crawford": false,
"jacoby": true,
"beavers": true,
"cube_value": 1,
"cube_owner": "centered"
},
"plies": {
"0": {
"evaluation": {
"probabilities": {
"win": 0.7670521,
"win_gammon": 5.0172162e-05,
"win_backgammon": 0.0,
"lose_gammon": 5.0172162e-05,
"lose_backgammon": 0.0
},
"equity": 0.5341042
},
"cube": {
"no_double": 0.8189599,
"double_take": 0.88185024,
"double_pass": 1.0,
"optimal": 0.88185024,
"decision": "DOUBLE_TAKE",
"decision_text": "Double, take"
}
},
"2": {
"evaluation": {
"probabilities": {
"win": 0.7683121,
"win_gammon": 5.017216e-05,
"win_backgammon": 0.0,
"lose_gammon": 4.5526584e-05,
"lose_backgammon": 0.0
},
"equity": 0.53662884
},
"cube": {
"no_double": 0.83056116,
"double_take": 0.9218164,
"double_pass": 1.0,
"optimal": 0.9218164,
"decision": "DOUBLE_TAKE",
"decision_text": "Double, take"
}
}
}
}
@@ -0,0 +1,65 @@
{
"id": "cube-no-double",
"type": "cube",
"categories": [
"cube_no_double"
],
"description": "Position presque égale, videau centré : pas de double.",
"position_id": "2J0dBgDYnRsGAA",
"match_id": "cAkAAAAAAAAA",
"gnubg_commit": "14b67984737ded0f6de43d63dcb789f729d9b06b",
"met": "Kazaross-XG2",
"context": {
"dice": null,
"match_length": 0,
"score_player": 0,
"score_opponent": 0,
"crawford": false,
"jacoby": true,
"beavers": true,
"cube_value": 1,
"cube_owner": "centered"
},
"plies": {
"0": {
"evaluation": {
"probabilities": {
"win": 0.6188814,
"win_gammon": 0.0024997902,
"win_backgammon": 0.0,
"lose_gammon": 0.0023386418,
"lose_backgammon": 0.0
},
"equity": 0.23792398
},
"cube": {
"no_double": 0.35839266,
"double_take": 0.18619786,
"double_pass": 1.0,
"optimal": 0.35839266,
"decision": "NODOUBLE_TAKE",
"decision_text": "No double, take"
}
},
"2": {
"evaluation": {
"probabilities": {
"win": 0.5963505,
"win_gammon": 0.0010162055,
"win_backgammon": 0.0,
"lose_gammon": 0.000998305,
"lose_backgammon": 0.0
},
"equity": 0.19271892
},
"cube": {
"no_double": 0.28532878,
"double_take": 0.11171284,
"double_pass": 1.0,
"optimal": 0.28532878,
"decision": "NODOUBLE_TAKE",
"decision_text": "No double, take"
}
}
}
}
@@ -0,0 +1,66 @@
{
"id": "cube-redouble",
"type": "cube",
"categories": [
"cube_redouble",
"race"
],
"description": "Course avec avance, videau à 2 possédé par le joueur au trait : redouble.",
"position_id": "6O5uAAC4uzsAAA",
"match_id": "UQkAAAAAAAAA",
"gnubg_commit": "14b67984737ded0f6de43d63dcb789f729d9b06b",
"met": "Kazaross-XG2",
"context": {
"dice": null,
"match_length": 0,
"score_player": 0,
"score_opponent": 0,
"crawford": false,
"jacoby": true,
"beavers": true,
"cube_value": 2,
"cube_owner": "player"
},
"plies": {
"0": {
"evaluation": {
"probabilities": {
"win": 0.7670521,
"win_gammon": 5.0172162e-05,
"win_backgammon": 0.0,
"lose_gammon": 5.0172162e-05,
"lose_backgammon": 0.0
},
"equity": 0.5341042
},
"cube": {
"no_double": 0.840925,
"double_take": 0.88185024,
"double_pass": 1.0,
"optimal": 0.88185024,
"decision": "REDOUBLE_TAKE",
"decision_text": "Redouble, take"
}
},
"2": {
"evaluation": {
"probabilities": {
"win": 0.7683121,
"win_gammon": 5.017216e-05,
"win_backgammon": 0.0,
"lose_gammon": 4.5526584e-05,
"lose_backgammon": 0.0
},
"equity": 0.53662884
},
"cube": {
"no_double": 0.84627455,
"double_take": 0.9218164,
"double_pass": 1.0,
"optimal": 0.9218164,
"decision": "REDOUBLE_TAKE",
"decision_text": "Redouble, take"
}
}
}
}
+90
View File
@@ -0,0 +1,90 @@
{
"id": "forced-move",
"type": "move",
"categories": [
"edge_case"
],
"description": "Deux dames sur la barre, un seul point d'entrée : coup forcé avec 3-1.",
"position_id": "tm3ABwBw5+ABYA",
"match_id": "cIkFAAAAAAAA",
"gnubg_commit": "14b67984737ded0f6de43d63dcb789f729d9b06b",
"met": "Kazaross-XG2",
"context": {
"dice": [
3,
1
],
"match_length": 0,
"score_player": 0,
"score_opponent": 0,
"crawford": false,
"jacoby": true,
"beavers": true,
"cube_value": 1,
"cube_owner": "centered"
},
"plies": {
"0": {
"evaluation": {
"probabilities": {
"win": 0.08933239,
"win_gammon": 0.008590468,
"win_backgammon": 0.0,
"lose_gammon": 0.73243725,
"lose_backgammon": 0.007992154
},
"equity": -1.5531741
},
"moves": {
"legal_move_count": 1,
"ranking": [
{
"rank": 1,
"move": "bar/24",
"ply": 0,
"equity": -1.0,
"equity_diff": 0.0,
"probabilities": {
"win": 0.1284166,
"win_gammon": 0.014085609,
"win_backgammon": 0.00014807966,
"lose_gammon": 0.59697056,
"lose_backgammon": 0.015525891
}
}
]
}
},
"2": {
"evaluation": {
"probabilities": {
"win": 0.09428096,
"win_gammon": 0.008408972,
"win_backgammon": 2.419169e-05,
"lose_gammon": 0.7226846,
"lose_backgammon": 0.013129193
},
"equity": -1.5388187
},
"moves": {
"legal_move_count": 1,
"ranking": [
{
"rank": 1,
"move": "bar/24",
"ply": 0,
"equity": -1.0,
"equity_diff": 0.0,
"probabilities": {
"win": 0.1284166,
"win_gammon": 0.014085609,
"win_backgammon": 0.00014807966,
"lose_gammon": 0.59697056,
"lose_backgammon": 0.015525891
}
}
]
}
}
}
}
+66
View File
@@ -0,0 +1,66 @@
{
"id": "jacoby-cube",
"type": "cube",
"categories": [
"jacoby",
"blitz"
],
"description": "Même attaque que cube-blitz, avec la règle Jacoby.",
"position_id": "4Dn4AGiynYMHAA",
"match_id": "cAkAAAAAAAAA",
"gnubg_commit": "14b67984737ded0f6de43d63dcb789f729d9b06b",
"met": "Kazaross-XG2",
"context": {
"dice": null,
"match_length": 0,
"score_player": 0,
"score_opponent": 0,
"crawford": false,
"jacoby": true,
"beavers": true,
"cube_value": 1,
"cube_owner": "centered"
},
"plies": {
"0": {
"evaluation": {
"probabilities": {
"win": 0.8259491,
"win_gammon": 0.63558626,
"win_backgammon": 0.051824015,
"lose_gammon": 0.01410268,
"lose_backgammon": 0.00029838496
},
"equity": 1.3249073
},
"cube": {
"no_double": 0.91645557,
"double_take": 2.5175364,
"double_pass": 1.0,
"optimal": 1.0,
"decision": "DOUBLE_PASS",
"decision_text": "Double, pass"
}
},
"2": {
"evaluation": {
"probabilities": {
"win": 0.8177575,
"win_gammon": 0.6248996,
"win_backgammon": 0.04603396,
"lose_gammon": 0.016648903,
"lose_backgammon": 0.0004305263
},
"equity": 1.2893691
},
"cube": {
"no_double": 0.99924153,
"double_take": 2.4548137,
"double_pass": 1.0,
"optimal": 1.0,
"decision": "DOUBLE_PASS",
"decision_text": "Double, pass"
}
}
}
}
+343
View File
@@ -0,0 +1,343 @@
{
"id": "jacoby-move",
"type": "move",
"categories": [
"jacoby",
"blitz"
],
"description": "Attaque avec la règle Jacoby, 6-4 à jouer.",
"position_id": "4HPwAVC0XYMHAA",
"match_id": "cAkTAAAAAAAA",
"gnubg_commit": "14b67984737ded0f6de43d63dcb789f729d9b06b",
"met": "Kazaross-XG2",
"context": {
"dice": [
6,
4
],
"match_length": 0,
"score_player": 0,
"score_opponent": 0,
"crawford": false,
"jacoby": true,
"beavers": true,
"cube_value": 1,
"cube_owner": "centered"
},
"plies": {
"0": {
"evaluation": {
"probabilities": {
"win": 0.8636842,
"win_gammon": 0.57455575,
"win_backgammon": 0.017836282,
"lose_gammon": 0.015630726,
"lose_backgammon": 0.00039723353
},
"equity": 1.3037324
},
"moves": {
"legal_move_count": 14,
"ranking": [
{
"rank": 1,
"move": "13/3",
"ply": 0,
"equity": 0.9328213,
"equity_diff": 0.0,
"probabilities": {
"win": 0.8600443,
"win_gammon": 0.53404087,
"win_backgammon": 0.019512838,
"lose_gammon": 0.0137145845,
"lose_backgammon": 0.0001231146
}
},
{
"rank": 2,
"move": "13/9 13/7",
"ply": 0,
"equity": 0.9175232,
"equity_diff": -0.0152980685,
"probabilities": {
"win": 0.82817334,
"win_gammon": 0.44573566,
"win_backgammon": 0.019687971,
"lose_gammon": 0.022985052,
"lose_backgammon": 0.00049623987
}
},
{
"rank": 3,
"move": "8/2 7/3",
"ply": 0,
"equity": 0.91263336,
"equity_diff": -0.020187914,
"probabilities": {
"win": 0.8179862,
"win_gammon": 0.5121088,
"win_backgammon": 0.021086743,
"lose_gammon": 0.02465748,
"lose_backgammon": 0.00034594204
}
},
{
"rank": 4,
"move": "13/7 8/4",
"ply": 0,
"equity": 0.90736973,
"equity_diff": -0.025451541,
"probabilities": {
"win": 0.8070203,
"win_gammon": 0.4591856,
"win_backgammon": 0.022148455,
"lose_gammon": 0.029529065,
"lose_backgammon": 0.000659062
}
},
{
"rank": 5,
"move": "13/9 7/1*",
"ply": 0,
"equity": 0.9053596,
"equity_diff": -0.027461648,
"probabilities": {
"win": 0.8028326,
"win_gammon": 0.55443704,
"win_backgammon": 0.02020569,
"lose_gammon": 0.030723047,
"lose_backgammon": 0.0007949887
}
},
{
"rank": 6,
"move": "8/2 6/2",
"ply": 0,
"equity": 0.9017469,
"equity_diff": -0.031074345,
"probabilities": {
"win": 0.7953061,
"win_gammon": 0.49147764,
"win_backgammon": 0.020525223,
"lose_gammon": 0.033936173,
"lose_backgammon": 0.0006972058
}
},
{
"rank": 7,
"move": "8/4 7/1*",
"ply": 0,
"equity": 0.89993495,
"equity_diff": -0.032886326,
"probabilities": {
"win": 0.79153115,
"win_gammon": 0.54988307,
"win_backgammon": 0.01679322,
"lose_gammon": 0.036662817,
"lose_backgammon": 0.0010210252
}
},
{
"rank": 8,
"move": "13/7 6/2",
"ply": 0,
"equity": 0.8962312,
"equity_diff": -0.0365901,
"probabilities": {
"win": 0.7838149,
"win_gammon": 0.40296447,
"win_backgammon": 0.018670566,
"lose_gammon": 0.032934573,
"lose_backgammon": 0.00076343544
}
},
{
"rank": 9,
"move": "7/1* 5/1",
"ply": 0,
"equity": 0.8907822,
"equity_diff": -0.042039096,
"probabilities": {
"win": 0.77246284,
"win_gammon": 0.51146686,
"win_backgammon": 0.012117631,
"lose_gammon": 0.042058453,
"lose_backgammon": 0.0011496529
}
},
{
"rank": 10,
"move": "7/1* 6/2",
"ply": 0,
"equity": 0.87481093,
"equity_diff": -0.05801034,
"probabilities": {
"win": 0.7391895,
"win_gammon": 0.4693772,
"win_backgammon": 0.012886849,
"lose_gammon": 0.049103227,
"lose_backgammon": 0.0012413587
}
}
]
}
},
"2": {
"evaluation": {
"probabilities": {
"win": 0.8528266,
"win_gammon": 0.5386192,
"win_backgammon": 0.014262153,
"lose_gammon": 0.013019987,
"lose_backgammon": 0.00017201946
},
"equity": 1.2453425
},
"moves": {
"legal_move_count": 14,
"ranking": [
{
"rank": 1,
"move": "13/3",
"ply": 2,
"equity": 1.0,
"equity_diff": 0.0,
"probabilities": {
"win": 0.8550246,
"win_gammon": 0.5007356,
"win_backgammon": 0.016448246,
"lose_gammon": 0.012576544,
"lose_backgammon": 0.00010470922
}
},
{
"rank": 2,
"move": "13/9 13/7",
"ply": 2,
"equity": 0.99894416,
"equity_diff": -0.0010558367,
"probabilities": {
"win": 0.8247142,
"win_gammon": 0.40604338,
"win_backgammon": 0.013385465,
"lose_gammon": 0.020446587,
"lose_backgammon": 0.00043890413
}
},
{
"rank": 3,
"move": "8/2 7/3",
"ply": 2,
"equity": 0.99641544,
"equity_diff": -0.0035845637,
"probabilities": {
"win": 0.8178655,
"win_gammon": 0.47170973,
"win_backgammon": 0.016897058,
"lose_gammon": 0.023946658,
"lose_backgammon": 0.00037891598
}
},
{
"rank": 4,
"move": "13/7 8/4",
"ply": 2,
"equity": 0.98718643,
"equity_diff": -0.012813568,
"probabilities": {
"win": 0.80567765,
"win_gammon": 0.40185097,
"win_backgammon": 0.014731062,
"lose_gammon": 0.025103796,
"lose_backgammon": 0.0005290065
}
},
{
"rank": 5,
"move": "13/7 6/2",
"ply": 2,
"equity": 0.9808178,
"equity_diff": -0.019182205,
"probabilities": {
"win": 0.7764652,
"win_gammon": 0.3628158,
"win_backgammon": 0.013918926,
"lose_gammon": 0.035407502,
"lose_backgammon": 0.0009081904
}
},
{
"rank": 6,
"move": "13/9 7/1*",
"ply": 2,
"equity": 0.9452111,
"equity_diff": -0.054788888,
"probabilities": {
"win": 0.7960049,
"win_gammon": 0.5129587,
"win_backgammon": 0.014989997,
"lose_gammon": 0.031934794,
"lose_backgammon": 0.00082239707
}
},
{
"rank": 7,
"move": "8/4 7/1*",
"ply": 1,
"equity": 0.93114305,
"equity_diff": -0.068856955,
"probabilities": {
"win": 0.77886486,
"win_gammon": 0.50991887,
"win_backgammon": 0.014553436,
"lose_gammon": 0.04128269,
"lose_backgammon": 0.0014581447
}
},
{
"rank": 8,
"move": "7/1* 5/1",
"ply": 1,
"equity": 0.91711015,
"equity_diff": -0.082889855,
"probabilities": {
"win": 0.76492023,
"win_gammon": 0.48983887,
"win_backgammon": 0.010236203,
"lose_gammon": 0.044365447,
"lose_backgammon": 0.001417413
}
},
{
"rank": 9,
"move": "8/2 6/2",
"ply": 1,
"equity": 0.9160911,
"equity_diff": -0.083908916,
"probabilities": {
"win": 0.7832458,
"win_gammon": 0.46207324,
"win_backgammon": 0.01472875,
"lose_gammon": 0.034901537,
"lose_backgammon": 0.0010149138
}
},
{
"rank": 10,
"move": "7/1* 6/2",
"ply": 1,
"equity": 0.8391471,
"equity_diff": -0.16085291,
"probabilities": {
"win": 0.7302311,
"win_gammon": 0.43027958,
"win_backgammon": 0.013705867,
"lose_gammon": 0.056136616,
"lose_backgammon": 0.0021741493
}
}
]
}
}
}
}
+343
View File
@@ -0,0 +1,343 @@
{
"id": "match-3-3-move",
"type": "move",
"categories": [
"match",
"middlegame"
],
"description": "Match en 5 points, 2-2 (3-away 3-away), 5-3 à jouer.",
"position_id": "xGfhATDQ2+BBIA",
"match_id": "cImuACAAEAAE",
"gnubg_commit": "14b67984737ded0f6de43d63dcb789f729d9b06b",
"met": "Kazaross-XG2",
"context": {
"dice": [
5,
3
],
"match_length": 5,
"score_player": 2,
"score_opponent": 2,
"crawford": false,
"jacoby": false,
"beavers": false,
"cube_value": 1,
"cube_owner": "centered"
},
"plies": {
"0": {
"evaluation": {
"probabilities": {
"win": 0.6530462,
"win_gammon": 0.20978287,
"win_backgammon": 0.017546972,
"lose_gammon": 0.087096915,
"lose_backgammon": 0.00383374
},
"equity": 0.5270539
},
"moves": {
"legal_move_count": 28,
"ranking": [
{
"rank": 1,
"move": "13/5",
"ply": 0,
"equity": 0.7553502,
"equity_diff": 0.0,
"probabilities": {
"win": 0.66454446,
"win_gammon": 0.21222445,
"win_backgammon": 0.016986715,
"lose_gammon": 0.090078115,
"lose_backgammon": 0.0030091396
}
},
{
"rank": 2,
"move": "18/13 8/5",
"ply": 0,
"equity": 0.5814649,
"equity_diff": -0.17388529,
"probabilities": {
"win": 0.62935334,
"win_gammon": 0.1873452,
"win_backgammon": 0.011812735,
"lose_gammon": 0.09861754,
"lose_backgammon": 0.0028636002
}
},
{
"rank": 3,
"move": "24/16*",
"ply": 0,
"equity": 0.4581785,
"equity_diff": -0.29717168,
"probabilities": {
"win": 0.60689855,
"win_gammon": 0.16452998,
"win_backgammon": 0.012356104,
"lose_gammon": 0.10971227,
"lose_backgammon": 0.0061068437
}
},
{
"rank": 4,
"move": "18/10",
"ply": 0,
"equity": 0.31719947,
"equity_diff": -0.4381507,
"probabilities": {
"win": 0.5757375,
"win_gammon": 0.16255254,
"win_backgammon": 0.010020595,
"lose_gammon": 0.13299894,
"lose_backgammon": 0.0068476396
}
},
{
"rank": 5,
"move": "8/5 8/3",
"ply": 0,
"equity": 0.31371918,
"equity_diff": -0.441631,
"probabilities": {
"win": 0.5670167,
"win_gammon": 0.18751182,
"win_backgammon": 0.015656954,
"lose_gammon": 0.13847484,
"lose_backgammon": 0.006125221
}
},
{
"rank": 6,
"move": "18/15 13/8",
"ply": 0,
"equity": 0.26037523,
"equity_diff": -0.49497494,
"probabilities": {
"win": 0.56361103,
"win_gammon": 0.16078936,
"win_backgammon": 0.010516407,
"lose_gammon": 0.14256367,
"lose_backgammon": 0.007627656
}
},
{
"rank": 7,
"move": "24/21 18/13",
"ply": 0,
"equity": 0.23547156,
"equity_diff": -0.5198786,
"probabilities": {
"win": 0.55978787,
"win_gammon": 0.1405232,
"win_backgammon": 0.0066346275,
"lose_gammon": 0.12748064,
"lose_backgammon": 0.004688547
}
},
{
"rank": 8,
"move": "8/3 6/3",
"ply": 0,
"equity": 0.15432969,
"equity_diff": -0.60102046,
"probabilities": {
"win": 0.5375695,
"win_gammon": 0.17747077,
"win_backgammon": 0.015221183,
"lose_gammon": 0.17106332,
"lose_backgammon": 0.010604714
}
},
{
"rank": 9,
"move": "13/10 13/8",
"ply": 0,
"equity": 0.13837479,
"equity_diff": -0.61697537,
"probabilities": {
"win": 0.538627,
"win_gammon": 0.16475716,
"win_backgammon": 0.012404756,
"lose_gammon": 0.17291316,
"lose_backgammon": 0.013045842
}
},
{
"rank": 10,
"move": "18/13 5/2",
"ply": 0,
"equity": 0.12815686,
"equity_diff": -0.62719333,
"probabilities": {
"win": 0.53481126,
"win_gammon": 0.14154978,
"win_backgammon": 0.0069042817,
"lose_gammon": 0.14363572,
"lose_backgammon": 0.004923693
}
}
]
}
},
"2": {
"evaluation": {
"probabilities": {
"win": 0.65946376,
"win_gammon": 0.20922449,
"win_backgammon": 0.015489625,
"lose_gammon": 0.08499662,
"lose_backgammon": 0.0031080623
},
"equity": 0.5388975
},
"moves": {
"legal_move_count": 28,
"ranking": [
{
"rank": 1,
"move": "13/5",
"ply": 1,
"equity": 0.85158825,
"equity_diff": 0.0,
"probabilities": {
"win": 0.669464,
"win_gammon": 0.21261428,
"win_backgammon": 0.014087503,
"lose_gammon": 0.092310324,
"lose_backgammon": 0.0036420587
}
},
{
"rank": 2,
"move": "18/13 8/5",
"ply": 1,
"equity": 0.6511238,
"equity_diff": -0.20046443,
"probabilities": {
"win": 0.63700217,
"win_gammon": 0.19559763,
"win_backgammon": 0.010781131,
"lose_gammon": 0.09663812,
"lose_backgammon": 0.0033870263
}
},
{
"rank": 3,
"move": "24/16*",
"ply": 0,
"equity": 0.44287914,
"equity_diff": -0.4087091,
"probabilities": {
"win": 0.60689855,
"win_gammon": 0.16452998,
"win_backgammon": 0.012356104,
"lose_gammon": 0.10971227,
"lose_backgammon": 0.0061068437
}
},
{
"rank": 4,
"move": "18/10",
"ply": 0,
"equity": 0.3053229,
"equity_diff": -0.54626536,
"probabilities": {
"win": 0.5757375,
"win_gammon": 0.16255254,
"win_backgammon": 0.010020595,
"lose_gammon": 0.13299894,
"lose_backgammon": 0.0068476396
}
},
{
"rank": 5,
"move": "8/5 8/3",
"ply": 0,
"equity": 0.3051695,
"equity_diff": -0.5464188,
"probabilities": {
"win": 0.5670167,
"win_gammon": 0.18751182,
"win_backgammon": 0.015656954,
"lose_gammon": 0.13847484,
"lose_backgammon": 0.006125221
}
},
{
"rank": 6,
"move": "18/15 13/8",
"ply": 0,
"equity": 0.25003925,
"equity_diff": -0.601549,
"probabilities": {
"win": 0.56361103,
"win_gammon": 0.16078936,
"win_backgammon": 0.010516407,
"lose_gammon": 0.14256367,
"lose_backgammon": 0.007627656
}
},
{
"rank": 7,
"move": "24/21 18/13",
"ply": 0,
"equity": 0.22587322,
"equity_diff": -0.625715,
"probabilities": {
"win": 0.55978787,
"win_gammon": 0.1405232,
"win_backgammon": 0.0066346275,
"lose_gammon": 0.12748064,
"lose_backgammon": 0.004688547
}
},
{
"rank": 8,
"move": "8/3 6/3",
"ply": 0,
"equity": 0.14823739,
"equity_diff": -0.70335084,
"probabilities": {
"win": 0.5375695,
"win_gammon": 0.17747077,
"win_backgammon": 0.015221183,
"lose_gammon": 0.17106332,
"lose_backgammon": 0.010604714
}
},
{
"rank": 9,
"move": "13/10 13/8",
"ply": 0,
"equity": 0.13046566,
"equity_diff": -0.7211226,
"probabilities": {
"win": 0.538627,
"win_gammon": 0.16475716,
"win_backgammon": 0.012404756,
"lose_gammon": 0.17291316,
"lose_backgammon": 0.013045842
}
},
{
"rank": 10,
"move": "18/13 5/2",
"ply": 0,
"equity": 0.12218381,
"equity_diff": -0.72940445,
"probabilities": {
"win": 0.53481126,
"win_gammon": 0.14154978,
"win_backgammon": 0.0069042817,
"lose_gammon": 0.14363572,
"lose_backgammon": 0.004923693
}
}
]
}
}
}
}
+66
View File
@@ -0,0 +1,66 @@
{
"id": "match-7-cube",
"type": "cube",
"categories": [
"match",
"race"
],
"description": "Match en 7 points, joueur au trait à 3, adversaire à 5 : décision de videau.",
"position_id": "cHd3AAC4uzsAAA",
"match_id": "cAngAFAAGAAE",
"gnubg_commit": "14b67984737ded0f6de43d63dcb789f729d9b06b",
"met": "Kazaross-XG2",
"context": {
"dice": null,
"match_length": 7,
"score_player": 3,
"score_opponent": 5,
"crawford": false,
"jacoby": false,
"beavers": false,
"cube_value": 1,
"cube_owner": "centered"
},
"plies": {
"0": {
"evaluation": {
"probabilities": {
"win": 0.8364941,
"win_gammon": 5.0172162e-05,
"win_backgammon": 0.0,
"lose_gammon": 5.0172162e-05,
"lose_backgammon": 0.0
},
"equity": 0.67294794
},
"cube": {
"no_double": 0.93459773,
"double_take": 1.1651278,
"double_pass": 1.0,
"optimal": 1.0,
"decision": "DOUBLE_PASS",
"decision_text": "Double, pass"
}
},
"2": {
"evaluation": {
"probabilities": {
"win": 0.8366328,
"win_gammon": 5.027103e-05,
"win_backgammon": 0.0,
"lose_gammon": 4.657184e-05,
"lose_backgammon": 0.0
},
"equity": 0.67323166
},
"cube": {
"no_double": 0.9405141,
"double_take": 1.1657741,
"double_pass": 1.0,
"optimal": 1.0,
"decision": "DOUBLE_PASS",
"decision_text": "Double, pass"
}
}
}
}
@@ -0,0 +1,67 @@
{
"id": "match-crawford-cube",
"type": "cube",
"categories": [
"match",
"crawford",
"race"
],
"description": "Match en 5 points, partie Crawford : videau mort.",
"position_id": "cHd3AAC4uzsAAA",
"match_id": "8AmgAEAAEAAE",
"gnubg_commit": "14b67984737ded0f6de43d63dcb789f729d9b06b",
"met": "Kazaross-XG2",
"context": {
"dice": null,
"match_length": 5,
"score_player": 2,
"score_opponent": 4,
"crawford": true,
"jacoby": false,
"beavers": false,
"cube_value": 1,
"cube_owner": "centered"
},
"plies": {
"0": {
"evaluation": {
"probabilities": {
"win": 0.8364941,
"win_gammon": 5.0172162e-05,
"win_backgammon": 0.0,
"lose_gammon": 5.0172162e-05,
"lose_backgammon": 0.0
},
"equity": 0.6729906
},
"cube": {
"no_double": 0.67299056,
"double_take": 0.71412474,
"double_pass": 1.0,
"optimal": 0.67299056,
"decision": "NODOUBLE_DEADCUBE",
"decision_text": "Never double, take (dead cube)"
}
},
"2": {
"evaluation": {
"probabilities": {
"win": 0.8366328,
"win_gammon": 5.027103e-05,
"win_backgammon": 0.0,
"lose_gammon": 4.657184e-05,
"lose_backgammon": 0.0
},
"equity": 0.673268
},
"cube": {
"no_double": 0.673268,
"double_take": 0.7144093,
"double_pass": 1.0,
"optimal": 0.673268,
"decision": "NODOUBLE_DEADCUBE",
"decision_text": "Never double, take (dead cube)"
}
}
}
}
@@ -0,0 +1,344 @@
{
"id": "match-crawford-move",
"type": "move",
"categories": [
"match",
"crawford",
"blitz"
],
"description": "Match en 5 points, partie Crawford, joueur au trait mené 2-4, 4-3 à jouer.",
"position_id": "4Dn4AGiynYMHAA",
"match_id": "8AmuAEAAEAAE",
"gnubg_commit": "14b67984737ded0f6de43d63dcb789f729d9b06b",
"met": "Kazaross-XG2",
"context": {
"dice": [
4,
3
],
"match_length": 5,
"score_player": 2,
"score_opponent": 4,
"crawford": true,
"jacoby": false,
"beavers": false,
"cube_value": 1,
"cube_owner": "centered"
},
"plies": {
"0": {
"evaluation": {
"probabilities": {
"win": 0.8259491,
"win_gammon": 0.63558626,
"win_backgammon": 0.051824015,
"lose_gammon": 0.01410268,
"lose_backgammon": 0.00029838496
},
"equity": 0.7892668
},
"moves": {
"legal_move_count": 20,
"ranking": [
{
"rank": 1,
"move": "8/5 6/2",
"ply": 0,
"equity": 0.7345603,
"equity_diff": 0.0,
"probabilities": {
"win": 0.81122017,
"win_gammon": 0.6180843,
"win_backgammon": 0.039920993,
"lose_gammon": 0.016159898,
"lose_backgammon": 0.000108429565
}
},
{
"rank": 2,
"move": "5/2 5/1*",
"ply": 0,
"equity": 0.7229391,
"equity_diff": -0.011621237,
"probabilities": {
"win": 0.8102987,
"win_gammon": 0.6098554,
"win_backgammon": 0.035345834,
"lose_gammon": 0.030515661,
"lose_backgammon": 0.0003538893
}
},
{
"rank": 3,
"move": "8/1*",
"ply": 0,
"equity": 0.71705425,
"equity_diff": -0.017506063,
"probabilities": {
"win": 0.7998353,
"win_gammon": 0.60838807,
"win_backgammon": 0.042721834,
"lose_gammon": 0.031395618,
"lose_backgammon": 0.0006257314
}
},
{
"rank": 4,
"move": "13/10 6/2",
"ply": 0,
"equity": 0.7142835,
"equity_diff": -0.020276785,
"probabilities": {
"win": 0.7992593,
"win_gammon": 0.58293045,
"win_backgammon": 0.042541374,
"lose_gammon": 0.013131926,
"lose_backgammon": 0.0
}
},
{
"rank": 5,
"move": "13/9 8/5",
"ply": 0,
"equity": 0.6963019,
"equity_diff": -0.038258433,
"probabilities": {
"win": 0.78266376,
"win_gammon": 0.56832266,
"win_backgammon": 0.050313737,
"lose_gammon": 0.025197603,
"lose_backgammon": 0.00045250903
}
},
{
"rank": 6,
"move": "8/5 8/4",
"ply": 0,
"equity": 0.68610644,
"equity_diff": -0.048453867,
"probabilities": {
"win": 0.7801856,
"win_gammon": 0.58423555,
"win_backgammon": 0.04737587,
"lose_gammon": 0.029746175,
"lose_backgammon": 0.0005981548
}
},
{
"rank": 7,
"move": "13/10 8/4",
"ply": 0,
"equity": 0.6855368,
"equity_diff": -0.04902351,
"probabilities": {
"win": 0.7776346,
"win_gammon": 0.5655885,
"win_backgammon": 0.05003428,
"lose_gammon": 0.026805501,
"lose_backgammon": 0.0005106817
}
},
{
"rank": 8,
"move": "13/10 13/9",
"ply": 0,
"equity": 0.6818689,
"equity_diff": -0.0526914,
"probabilities": {
"win": 0.7775664,
"win_gammon": 0.5375285,
"win_backgammon": 0.04898261,
"lose_gammon": 0.025490344,
"lose_backgammon": 0.00049680925
}
},
{
"rank": 9,
"move": "13/6",
"ply": 0,
"equity": 0.6633271,
"equity_diff": -0.07123321,
"probabilities": {
"win": 0.77236044,
"win_gammon": 0.5431621,
"win_backgammon": 0.044880137,
"lose_gammon": 0.02577741,
"lose_backgammon": 0.00032665874
}
},
{
"rank": 10,
"move": "13/9 5/2",
"ply": 0,
"equity": 0.6538005,
"equity_diff": -0.08075982,
"probabilities": {
"win": 0.76966786,
"win_gammon": 0.51801664,
"win_backgammon": 0.043460887,
"lose_gammon": 0.03147457,
"lose_backgammon": 0.00063006644
}
}
]
}
},
"2": {
"evaluation": {
"probabilities": {
"win": 0.81746006,
"win_gammon": 0.6232498,
"win_backgammon": 0.045707952,
"lose_gammon": 0.016541855,
"lose_backgammon": 0.0004265261
},
"equity": 0.7591515
},
"moves": {
"legal_move_count": 20,
"ranking": [
{
"rank": 1,
"move": "8/5 6/2",
"ply": 2,
"equity": 0.7697691,
"equity_diff": 0.0,
"probabilities": {
"win": 0.8151505,
"win_gammon": 0.6159326,
"win_backgammon": 0.05331921,
"lose_gammon": 0.016513932,
"lose_backgammon": 0.00013073174
}
},
{
"rank": 2,
"move": "13/10 6/2",
"ply": 2,
"equity": 0.7615671,
"equity_diff": -0.008201957,
"probabilities": {
"win": 0.8104984,
"win_gammon": 0.60370916,
"win_backgammon": 0.05414961,
"lose_gammon": 0.016250646,
"lose_backgammon": 0.00012455582
}
},
{
"rank": 3,
"move": "13/9 8/5",
"ply": 2,
"equity": 0.69608325,
"equity_diff": -0.073685825,
"probabilities": {
"win": 0.78182155,
"win_gammon": 0.5415461,
"win_backgammon": 0.05167027,
"lose_gammon": 0.026144765,
"lose_backgammon": 0.00052017724
}
},
{
"rank": 4,
"move": "5/2 5/1*",
"ply": 2,
"equity": 0.6911188,
"equity_diff": -0.078650296,
"probabilities": {
"win": 0.79714537,
"win_gammon": 0.57561195,
"win_backgammon": 0.033474863,
"lose_gammon": 0.03052109,
"lose_backgammon": 0.00048315027
}
},
{
"rank": 5,
"move": "8/1*",
"ply": 2,
"equity": 0.6836242,
"equity_diff": -0.086144865,
"probabilities": {
"win": 0.78949744,
"win_gammon": 0.56465274,
"win_backgammon": 0.03754451,
"lose_gammon": 0.029520204,
"lose_backgammon": 0.0006143754
}
},
{
"rank": 6,
"move": "13/10 13/9",
"ply": 2,
"equity": 0.6807338,
"equity_diff": -0.08903527,
"probabilities": {
"win": 0.7761623,
"win_gammon": 0.52131236,
"win_backgammon": 0.050187413,
"lose_gammon": 0.027210515,
"lose_backgammon": 0.00059423654
}
},
{
"rank": 7,
"move": "13/10 8/4",
"ply": 1,
"equity": 0.6733323,
"equity_diff": -0.0964368,
"probabilities": {
"win": 0.77246577,
"win_gammon": 0.5298661,
"win_backgammon": 0.04997825,
"lose_gammon": 0.02483147,
"lose_backgammon": 0.0007027216
}
},
{
"rank": 8,
"move": "13/6",
"ply": 1,
"equity": 0.66055346,
"equity_diff": -0.10921562,
"probabilities": {
"win": 0.7712825,
"win_gammon": 0.51356965,
"win_backgammon": 0.045286898,
"lose_gammon": 0.02338571,
"lose_backgammon": 0.0005819568
}
},
{
"rank": 9,
"move": "8/5 8/4",
"ply": 1,
"equity": 0.6556259,
"equity_diff": -0.11414319,
"probabilities": {
"win": 0.76584995,
"win_gammon": 0.5323152,
"win_backgammon": 0.047735877,
"lose_gammon": 0.027560795,
"lose_backgammon": 0.00079957
}
},
{
"rank": 10,
"move": "13/9 5/2",
"ply": 1,
"equity": 0.645951,
"equity_diff": -0.1238181,
"probabilities": {
"win": 0.7659519,
"win_gammon": 0.5108896,
"win_backgammon": 0.04342779,
"lose_gammon": 0.027958687,
"lose_backgammon": 0.0009177093
}
}
]
}
}
}
}
+259
View File
@@ -0,0 +1,259 @@
{
"id": "match-dmp-move",
"type": "move",
"categories": [
"match",
"middlegame"
],
"description": "Match en 1 point (double match point), 6-2 à jouer.",
"position_id": "mLfBARg4z8EBAw",
"match_id": "cAkrAAAAAAAE",
"gnubg_commit": "14b67984737ded0f6de43d63dcb789f729d9b06b",
"met": "Kazaross-XG2",
"context": {
"dice": [
6,
2
],
"match_length": 1,
"score_player": 0,
"score_opponent": 0,
"crawford": false,
"jacoby": false,
"beavers": false,
"cube_value": 1,
"cube_owner": "centered"
},
"plies": {
"0": {
"evaluation": {
"probabilities": {
"win": 0.60097563,
"win_gammon": 0.13004506,
"win_backgammon": 0.0035395431,
"lose_gammon": 0.07308542,
"lose_backgammon": 0.0012678864
},
"equity": 0.20195127
},
"moves": {
"legal_move_count": 7,
"ranking": [
{
"rank": 1,
"move": "13/5",
"ply": 0,
"equity": 0.1492995,
"equity_diff": 0.0,
"probabilities": {
"win": 0.57464975,
"win_gammon": 0.14591993,
"win_backgammon": 0.0044575627,
"lose_gammon": 0.07497838,
"lose_backgammon": 0.0020658365
}
},
{
"rank": 2,
"move": "13/7 8/6",
"ply": 0,
"equity": 0.06906557,
"equity_diff": -0.08023393,
"probabilities": {
"win": 0.5345328,
"win_gammon": 0.12869689,
"win_backgammon": 0.0036363003,
"lose_gammon": 0.07950802,
"lose_backgammon": 0.002174801
}
},
{
"rank": 3,
"move": "13/7 6/4",
"ply": 0,
"equity": 0.061560392,
"equity_diff": -0.08773911,
"probabilities": {
"win": 0.5307802,
"win_gammon": 0.12388368,
"win_backgammon": 0.0037799568,
"lose_gammon": 0.08228647,
"lose_backgammon": 0.0023005977
}
},
{
"rank": 4,
"move": "13/11 13/7",
"ply": 0,
"equity": -0.028690457,
"equity_diff": -0.17798996,
"probabilities": {
"win": 0.48565477,
"win_gammon": 0.11687806,
"win_backgammon": 0.0038713207,
"lose_gammon": 0.11405854,
"lose_backgammon": 0.0063031144
}
},
{
"rank": 5,
"move": "20/14 13/11",
"ply": 0,
"equity": -0.043359756,
"equity_diff": -0.19265926,
"probabilities": {
"win": 0.47832012,
"win_gammon": 0.123516336,
"win_backgammon": 0.0038390688,
"lose_gammon": 0.20525116,
"lose_backgammon": 0.010964307
}
},
{
"rank": 6,
"move": "20/14 8/6",
"ply": 0,
"equity": -0.050829172,
"equity_diff": -0.20012867,
"probabilities": {
"win": 0.4745854,
"win_gammon": 0.12134288,
"win_backgammon": 0.0035285952,
"lose_gammon": 0.18661681,
"lose_backgammon": 0.0062879953
}
},
{
"rank": 7,
"move": "20/14 6/4",
"ply": 0,
"equity": -0.06328738,
"equity_diff": -0.21258688,
"probabilities": {
"win": 0.4683563,
"win_gammon": 0.114787176,
"win_backgammon": 0.0036217375,
"lose_gammon": 0.18776663,
"lose_backgammon": 0.0066350857
}
}
]
}
},
"2": {
"evaluation": {
"probabilities": {
"win": 0.5962132,
"win_gammon": 0.15751404,
"win_backgammon": 0.004846546,
"lose_gammon": 0.07291914,
"lose_backgammon": 0.0015511343
},
"equity": 0.19242644
},
"moves": {
"legal_move_count": 7,
"ranking": [
{
"rank": 1,
"move": "13/5",
"ply": 2,
"equity": 0.115667224,
"equity_diff": 0.0,
"probabilities": {
"win": 0.5578336,
"win_gammon": 0.16533384,
"win_backgammon": 0.0046707084,
"lose_gammon": 0.07887684,
"lose_backgammon": 0.0022734941
}
},
{
"rank": 2,
"move": "13/7 8/6",
"ply": 2,
"equity": 0.057462573,
"equity_diff": -0.05820465,
"probabilities": {
"win": 0.5287313,
"win_gammon": 0.13934752,
"win_backgammon": 0.0036847882,
"lose_gammon": 0.07971662,
"lose_backgammon": 0.0021666957
}
},
{
"rank": 3,
"move": "13/7 6/4",
"ply": 2,
"equity": 0.055473566,
"equity_diff": -0.060193658,
"probabilities": {
"win": 0.5277368,
"win_gammon": 0.13660698,
"win_backgammon": 0.0037778632,
"lose_gammon": 0.08124607,
"lose_backgammon": 0.0022222484
}
},
{
"rank": 4,
"move": "13/11 13/7",
"ply": 1,
"equity": -0.05036807,
"equity_diff": -0.1660353,
"probabilities": {
"win": 0.47481596,
"win_gammon": 0.122993626,
"win_backgammon": 0.004263413,
"lose_gammon": 0.113883115,
"lose_backgammon": 0.0047030724
}
},
{
"rank": 5,
"move": "20/14 6/4",
"ply": 1,
"equity": -0.11175752,
"equity_diff": -0.22742474,
"probabilities": {
"win": 0.44412124,
"win_gammon": 0.116199285,
"win_backgammon": 0.0061467383,
"lose_gammon": 0.19888791,
"lose_backgammon": 0.0072854743
}
},
{
"rank": 6,
"move": "20/14 13/11",
"ply": 1,
"equity": -0.11196542,
"equity_diff": -0.22763264,
"probabilities": {
"win": 0.4440173,
"win_gammon": 0.12331532,
"win_backgammon": 0.0065208636,
"lose_gammon": 0.20642313,
"lose_backgammon": 0.008324866
}
},
{
"rank": 7,
"move": "20/14 8/6",
"ply": 1,
"equity": -0.11355829,
"equity_diff": -0.22922552,
"probabilities": {
"win": 0.44322085,
"win_gammon": 0.120239764,
"win_backgammon": 0.006536752,
"lose_gammon": 0.1980509,
"lose_backgammon": 0.006582335
}
}
]
}
}
}
}
@@ -0,0 +1,66 @@
{
"id": "match-post-crawford-cube",
"type": "cube",
"categories": [
"match",
"post_crawford"
],
"description": "Match en 5 points, après Crawford, joueur au trait mené 2-4 : videau.",
"position_id": "2J0dBgDYnRsGAA",
"match_id": "cAmgAEAAEAAE",
"gnubg_commit": "14b67984737ded0f6de43d63dcb789f729d9b06b",
"met": "Kazaross-XG2",
"context": {
"dice": null,
"match_length": 5,
"score_player": 2,
"score_opponent": 4,
"crawford": false,
"jacoby": false,
"beavers": false,
"cube_value": 1,
"cube_owner": "centered"
},
"plies": {
"0": {
"evaluation": {
"probabilities": {
"win": 0.6188814,
"win_gammon": 0.0024997902,
"win_backgammon": 0.0,
"lose_gammon": 0.0023386418,
"lose_backgammon": 0.0
},
"equity": 0.23788543
},
"cube": {
"no_double": 0.26475775,
"double_take": 0.2732438,
"double_pass": 1.0,
"optimal": 0.2732438,
"decision": "DOUBLE_TAKE",
"decision_text": "Double, take"
}
},
"2": {
"evaluation": {
"probabilities": {
"win": 0.5964545,
"win_gammon": 0.0009377186,
"win_backgammon": 0.0,
"lose_gammon": 0.0009169524,
"lose_backgammon": 0.0
},
"equity": 0.192955
},
"cube": {
"no_double": 0.22408937,
"double_take": 0.22408937,
"double_pass": 1.0,
"optimal": 0.22408937,
"decision": "OPTIONAL_DOUBLE_TAKE",
"decision_text": "Optional double, take"
}
}
}
}
+342
View File
@@ -0,0 +1,342 @@
{
"id": "middlegame-1",
"type": "move",
"categories": [
"middlegame"
],
"description": "Milieu de partie avec contact, 6-4 à jouer.",
"position_id": "mM/gATCw5+ABMA",
"match_id": "cAkTAAAAAAAA",
"gnubg_commit": "14b67984737ded0f6de43d63dcb789f729d9b06b",
"met": "Kazaross-XG2",
"context": {
"dice": [
6,
4
],
"match_length": 0,
"score_player": 0,
"score_opponent": 0,
"crawford": false,
"jacoby": true,
"beavers": true,
"cube_value": 1,
"cube_owner": "centered"
},
"plies": {
"0": {
"evaluation": {
"probabilities": {
"win": 0.56602323,
"win_gammon": 0.18421549,
"win_backgammon": 0.008628393,
"lose_gammon": 0.13345058,
"lose_backgammon": 0.007666227
},
"equity": 0.18377358
},
"moves": {
"legal_move_count": 14,
"ranking": [
{
"rank": 1,
"move": "24/14",
"ply": 0,
"equity": 0.15439394,
"equity_diff": 0.0,
"probabilities": {
"win": 0.54755616,
"win_gammon": 0.1533521,
"win_backgammon": 0.007871699,
"lose_gammon": 0.14585377,
"lose_backgammon": 0.004424421
}
},
{
"rank": 2,
"move": "8/2 6/2",
"ply": 0,
"equity": 0.10821653,
"equity_diff": -0.04617741,
"probabilities": {
"win": 0.52528405,
"win_gammon": 0.17734769,
"win_backgammon": 0.009563766,
"lose_gammon": 0.14886741,
"lose_backgammon": 0.0064382814
}
},
{
"rank": 3,
"move": "24/18 13/9",
"ply": 0,
"equity": 0.10337136,
"equity_diff": -0.05102258,
"probabilities": {
"win": 0.53498006,
"win_gammon": 0.16566078,
"win_backgammon": 0.010049404,
"lose_gammon": 0.1699274,
"lose_backgammon": 0.0077912575
}
},
{
"rank": 4,
"move": "24/20 24/18",
"ply": 0,
"equity": 0.072762795,
"equity_diff": -0.08163115,
"probabilities": {
"win": 0.5277786,
"win_gammon": 0.14495058,
"win_backgammon": 0.0071643195,
"lose_gammon": 0.15828644,
"lose_backgammon": 0.0046279957
}
},
{
"rank": 5,
"move": "13/9 13/7",
"ply": 0,
"equity": 0.0029048775,
"equity_diff": -0.15148906,
"probabilities": {
"win": 0.50326496,
"win_gammon": 0.16243759,
"win_backgammon": 0.010578811,
"lose_gammon": 0.1669373,
"lose_backgammon": 0.012921451
}
},
{
"rank": 6,
"move": "24/20 13/7",
"ply": 0,
"equity": 9.1438415e-05,
"equity_diff": -0.15430251,
"probabilities": {
"win": 0.50547075,
"win_gammon": 0.15214112,
"win_backgammon": 0.009330205,
"lose_gammon": 0.1700756,
"lose_backgammon": 0.0075738593
}
},
{
"rank": 7,
"move": "13/3",
"ply": 0,
"equity": -0.012697897,
"equity_diff": -0.16709183,
"probabilities": {
"win": 0.49582624,
"win_gammon": 0.15884244,
"win_backgammon": 0.0098810615,
"lose_gammon": 0.15901755,
"lose_backgammon": 0.0098253535
}
},
{
"rank": 8,
"move": "24/18 6/2",
"ply": 0,
"equity": -0.075399,
"equity_diff": -0.22979294,
"probabilities": {
"win": 0.49141967,
"win_gammon": 0.14353198,
"win_backgammon": 0.0078434,
"lose_gammon": 0.19205664,
"lose_backgammon": 0.008210361
}
},
{
"rank": 9,
"move": "24/18 8/4",
"ply": 0,
"equity": -0.088734664,
"equity_diff": -0.2431286,
"probabilities": {
"win": 0.48919898,
"win_gammon": 0.14581823,
"win_backgammon": 0.009370638,
"lose_gammon": 0.20036243,
"lose_backgammon": 0.010274831
}
},
{
"rank": 10,
"move": "24/20 8/2",
"ply": 0,
"equity": -0.095189385,
"equity_diff": -0.24958333,
"probabilities": {
"win": 0.4826436,
"win_gammon": 0.14366049,
"win_backgammon": 0.008135085,
"lose_gammon": 0.1858077,
"lose_backgammon": 0.00831227
}
}
]
}
},
"2": {
"evaluation": {
"probabilities": {
"win": 0.5619521,
"win_gammon": 0.17899494,
"win_backgammon": 0.008936954,
"lose_gammon": 0.13425057,
"lose_backgammon": 0.0060421517
},
"equity": 0.17154342
},
"moves": {
"legal_move_count": 14,
"ranking": [
{
"rank": 1,
"move": "24/14",
"ply": 2,
"equity": 0.13111727,
"equity_diff": 0.0,
"probabilities": {
"win": 0.5437652,
"win_gammon": 0.15258978,
"win_backgammon": 0.007642845,
"lose_gammon": 0.14640008,
"lose_backgammon": 0.004747282
}
},
{
"rank": 2,
"move": "8/2 6/2",
"ply": 2,
"equity": 0.11303549,
"equity_diff": -0.018081777,
"probabilities": {
"win": 0.52879494,
"win_gammon": 0.1809006,
"win_backgammon": 0.009122612,
"lose_gammon": 0.14714952,
"lose_backgammon": 0.0066084466
}
},
{
"rank": 3,
"move": "24/18 13/9",
"ply": 2,
"equity": 0.105096616,
"equity_diff": -0.026020654,
"probabilities": {
"win": 0.5372501,
"win_gammon": 0.17117459,
"win_backgammon": 0.011244075,
"lose_gammon": 0.1660563,
"lose_backgammon": 0.008107419
}
},
{
"rank": 4,
"move": "24/20 24/18",
"ply": 2,
"equity": 0.049068402,
"equity_diff": -0.08204886,
"probabilities": {
"win": 0.52970135,
"win_gammon": 0.14793633,
"win_backgammon": 0.008251494,
"lose_gammon": 0.16875498,
"lose_backgammon": 0.0051654554
}
},
{
"rank": 5,
"move": "13/3",
"ply": 2,
"equity": -0.0040049786,
"equity_diff": -0.13512225,
"probabilities": {
"win": 0.49928004,
"win_gammon": 0.1643482,
"win_backgammon": 0.009496399,
"lose_gammon": 0.16022815,
"lose_backgammon": 0.009522095
}
},
{
"rank": 6,
"move": "13/9 13/7",
"ply": 2,
"equity": -0.014309813,
"equity_diff": -0.14542708,
"probabilities": {
"win": 0.5031056,
"win_gammon": 0.16001613,
"win_backgammon": 0.009707982,
"lose_gammon": 0.16754453,
"lose_backgammon": 0.013628378
}
},
{
"rank": 7,
"move": "24/20 13/7",
"ply": 1,
"equity": -0.029367238,
"equity_diff": -0.16048451,
"probabilities": {
"win": 0.4961474,
"win_gammon": 0.15676762,
"win_backgammon": 0.0096625015,
"lose_gammon": 0.17702806,
"lose_backgammon": 0.009441402
}
},
{
"rank": 8,
"move": "13/9 8/2",
"ply": 1,
"equity": -0.06291597,
"equity_diff": -0.19403324,
"probabilities": {
"win": 0.48532206,
"win_gammon": 0.15872067,
"win_backgammon": 0.0075411294,
"lose_gammon": 0.17572871,
"lose_backgammon": 0.012869996
}
},
{
"rank": 9,
"move": "24/20 8/2",
"ply": 1,
"equity": -0.07751653,
"equity_diff": -0.20863381,
"probabilities": {
"win": 0.4820987,
"win_gammon": 0.15008497,
"win_backgammon": 0.0074960566,
"lose_gammon": 0.17866881,
"lose_backgammon": 0.008712372
}
},
{
"rank": 10,
"move": "24/18 8/4",
"ply": 1,
"equity": -0.081171095,
"equity_diff": -0.21228836,
"probabilities": {
"win": 0.48974574,
"win_gammon": 0.15036704,
"win_backgammon": 0.0094412565,
"lose_gammon": 0.20545092,
"lose_backgammon": 0.011010153
}
}
]
}
}
}
}
+342
View File
@@ -0,0 +1,342 @@
{
"id": "middlegame-2",
"type": "move",
"categories": [
"middlegame"
],
"description": "Milieu de partie avec contact et dames isolées, 5-3 à jouer.",
"position_id": "xGfhATDQ2+BBIA",
"match_id": "cIkOAAAAAAAA",
"gnubg_commit": "14b67984737ded0f6de43d63dcb789f729d9b06b",
"met": "Kazaross-XG2",
"context": {
"dice": [
5,
3
],
"match_length": 0,
"score_player": 0,
"score_opponent": 0,
"crawford": false,
"jacoby": true,
"beavers": true,
"cube_value": 1,
"cube_owner": "centered"
},
"plies": {
"0": {
"evaluation": {
"probabilities": {
"win": 0.6530462,
"win_gammon": 0.20978287,
"win_backgammon": 0.017546972,
"lose_gammon": 0.087096915,
"lose_backgammon": 0.00383374
},
"equity": 0.44249153
},
"moves": {
"legal_move_count": 28,
"ranking": [
{
"rank": 1,
"move": "13/5",
"ply": 0,
"equity": 0.6337661,
"equity_diff": 0.0,
"probabilities": {
"win": 0.66454446,
"win_gammon": 0.21222445,
"win_backgammon": 0.016986715,
"lose_gammon": 0.090078115,
"lose_backgammon": 0.0030091396
}
},
{
"rank": 2,
"move": "18/13 8/5",
"ply": 0,
"equity": 0.48876387,
"equity_diff": -0.14500225,
"probabilities": {
"win": 0.62935334,
"win_gammon": 0.1873452,
"win_backgammon": 0.011812735,
"lose_gammon": 0.09861754,
"lose_backgammon": 0.0028636002
}
},
{
"rank": 3,
"move": "24/16*",
"ply": 0,
"equity": 0.3840023,
"equity_diff": -0.24976382,
"probabilities": {
"win": 0.60689855,
"win_gammon": 0.16452998,
"win_backgammon": 0.012356104,
"lose_gammon": 0.10971227,
"lose_backgammon": 0.0061068437
}
},
{
"rank": 4,
"move": "18/10",
"ply": 0,
"equity": 0.26138526,
"equity_diff": -0.37238085,
"probabilities": {
"win": 0.5757375,
"win_gammon": 0.16255254,
"win_backgammon": 0.010020595,
"lose_gammon": 0.13299894,
"lose_backgammon": 0.0068476396
}
},
{
"rank": 5,
"move": "8/5 8/3",
"ply": 0,
"equity": 0.26129338,
"equity_diff": -0.37247273,
"probabilities": {
"win": 0.5670167,
"win_gammon": 0.18751182,
"win_backgammon": 0.015656954,
"lose_gammon": 0.13847484,
"lose_backgammon": 0.006125221
}
},
{
"rank": 6,
"move": "18/15 13/8",
"ply": 0,
"equity": 0.21307702,
"equity_diff": -0.4206891,
"probabilities": {
"win": 0.56361103,
"win_gammon": 0.16078936,
"win_backgammon": 0.010516407,
"lose_gammon": 0.14256367,
"lose_backgammon": 0.007627656
}
},
{
"rank": 7,
"move": "24/21 18/13",
"ply": 0,
"equity": 0.19534928,
"equity_diff": -0.43841684,
"probabilities": {
"win": 0.55978787,
"win_gammon": 0.1405232,
"win_backgammon": 0.0066346275,
"lose_gammon": 0.12748064,
"lose_backgammon": 0.004688547
}
},
{
"rank": 8,
"move": "8/3 6/3",
"ply": 0,
"equity": 0.1243803,
"equity_diff": -0.5093858,
"probabilities": {
"win": 0.5375695,
"win_gammon": 0.17747077,
"win_backgammon": 0.015221183,
"lose_gammon": 0.17106332,
"lose_backgammon": 0.010604714
}
},
{
"rank": 9,
"move": "13/10 13/8",
"ply": 0,
"equity": 0.10748164,
"equity_diff": -0.52628446,
"probabilities": {
"win": 0.538627,
"win_gammon": 0.16475716,
"win_backgammon": 0.012404756,
"lose_gammon": 0.17291316,
"lose_backgammon": 0.013045842
}
},
{
"rank": 10,
"move": "18/13 5/2",
"ply": 0,
"equity": 0.10479103,
"equity_diff": -0.52897507,
"probabilities": {
"win": 0.53481126,
"win_gammon": 0.14154978,
"win_backgammon": 0.0069042817,
"lose_gammon": 0.14363572,
"lose_backgammon": 0.004923693
}
}
]
}
},
"2": {
"evaluation": {
"probabilities": {
"win": 0.65917933,
"win_gammon": 0.20923032,
"win_backgammon": 0.015394275,
"lose_gammon": 0.08445793,
"lose_backgammon": 0.0030355079
},
"equity": 0.4554898
},
"moves": {
"legal_move_count": 28,
"ranking": [
{
"rank": 1,
"move": "13/5",
"ply": 1,
"equity": 0.72228533,
"equity_diff": 0.0,
"probabilities": {
"win": 0.66798764,
"win_gammon": 0.21495411,
"win_backgammon": 0.015286756,
"lose_gammon": 0.0941079,
"lose_backgammon": 0.0037003048
}
},
{
"rank": 2,
"move": "18/13 8/5",
"ply": 1,
"equity": 0.5336073,
"equity_diff": -0.18867803,
"probabilities": {
"win": 0.6395944,
"win_gammon": 0.18995553,
"win_backgammon": 0.009876633,
"lose_gammon": 0.09736532,
"lose_backgammon": 0.003345149
}
},
{
"rank": 3,
"move": "24/16*",
"ply": 1,
"equity": 0.40578368,
"equity_diff": -0.31650165,
"probabilities": {
"win": 0.59599763,
"win_gammon": 0.19066852,
"win_backgammon": 0.01840505,
"lose_gammon": 0.11299363,
"lose_backgammon": 0.0055603194
}
},
{
"rank": 4,
"move": "18/10",
"ply": 0,
"equity": 0.24981576,
"equity_diff": -0.47246957,
"probabilities": {
"win": 0.5757375,
"win_gammon": 0.16255254,
"win_backgammon": 0.010020595,
"lose_gammon": 0.13299894,
"lose_backgammon": 0.0068476396
}
},
{
"rank": 5,
"move": "8/5 8/3",
"ply": 0,
"equity": 0.2478976,
"equity_diff": -0.47438774,
"probabilities": {
"win": 0.5670167,
"win_gammon": 0.18751182,
"win_backgammon": 0.015656954,
"lose_gammon": 0.13847484,
"lose_backgammon": 0.006125221
}
},
{
"rank": 6,
"move": "18/15 13/8",
"ply": 0,
"equity": 0.20403966,
"equity_diff": -0.5182457,
"probabilities": {
"win": 0.56361103,
"win_gammon": 0.16078936,
"win_backgammon": 0.010516407,
"lose_gammon": 0.14256367,
"lose_backgammon": 0.007627656
}
},
{
"rank": 7,
"move": "24/21 18/13",
"ply": 0,
"equity": 0.18737313,
"equity_diff": -0.5349122,
"probabilities": {
"win": 0.55978787,
"win_gammon": 0.1405232,
"win_backgammon": 0.0066346275,
"lose_gammon": 0.12748064,
"lose_backgammon": 0.004688547
}
},
{
"rank": 8,
"move": "8/3 6/3",
"ply": 0,
"equity": 0.119197,
"equity_diff": -0.6030883,
"probabilities": {
"win": 0.5375695,
"win_gammon": 0.17747077,
"win_backgammon": 0.015221183,
"lose_gammon": 0.17106332,
"lose_backgammon": 0.010604714
}
},
{
"rank": 9,
"move": "13/10 13/8",
"ply": 0,
"equity": 0.10429979,
"equity_diff": -0.61798555,
"probabilities": {
"win": 0.538627,
"win_gammon": 0.16475716,
"win_backgammon": 0.012404756,
"lose_gammon": 0.17291316,
"lose_backgammon": 0.013045842
}
},
{
"rank": 10,
"move": "18/13 5/2",
"ply": 0,
"equity": 0.10108908,
"equity_diff": -0.62119627,
"probabilities": {
"win": 0.53481126,
"win_gammon": 0.14154978,
"win_backgammon": 0.0069042817,
"lose_gammon": 0.14363572,
"lose_backgammon": 0.004923693
}
}
]
}
}
}
}
@@ -0,0 +1,258 @@
{
"id": "middlegame-holding",
"type": "move",
"categories": [
"middlegame"
],
"description": "Jeu de tenue (point 20 tenu), 6-2 à jouer.",
"position_id": "mLfBARg4z8EBAw",
"match_id": "cAkLAAAAAAAA",
"gnubg_commit": "14b67984737ded0f6de43d63dcb789f729d9b06b",
"met": "Kazaross-XG2",
"context": {
"dice": [
6,
2
],
"match_length": 0,
"score_player": 0,
"score_opponent": 0,
"crawford": false,
"jacoby": true,
"beavers": true,
"cube_value": 1,
"cube_owner": "centered"
},
"plies": {
"0": {
"evaluation": {
"probabilities": {
"win": 0.60097563,
"win_gammon": 0.13004506,
"win_backgammon": 0.0035395431,
"lose_gammon": 0.07308542,
"lose_backgammon": 0.0012678864
},
"equity": 0.26118255
},
"moves": {
"legal_move_count": 7,
"ranking": [
{
"rank": 1,
"move": "13/5",
"ply": 0,
"equity": 0.2992556,
"equity_diff": 0.0,
"probabilities": {
"win": 0.57464975,
"win_gammon": 0.14591993,
"win_backgammon": 0.0044575627,
"lose_gammon": 0.07497838,
"lose_backgammon": 0.0020658365
}
},
{
"rank": 2,
"move": "13/7 8/6",
"ply": 0,
"equity": 0.15538445,
"equity_diff": -0.14387116,
"probabilities": {
"win": 0.5345328,
"win_gammon": 0.12869689,
"win_backgammon": 0.0036363003,
"lose_gammon": 0.07950802,
"lose_backgammon": 0.002174801
}
},
{
"rank": 3,
"move": "13/7 6/4",
"ply": 0,
"equity": 0.13640194,
"equity_diff": -0.16285367,
"probabilities": {
"win": 0.5307802,
"win_gammon": 0.12388368,
"win_backgammon": 0.0037799568,
"lose_gammon": 0.08228647,
"lose_backgammon": 0.0023005977
}
},
{
"rank": 4,
"move": "13/11 13/7",
"ply": 0,
"equity": -0.042834148,
"equity_diff": -0.34208977,
"probabilities": {
"win": 0.48565477,
"win_gammon": 0.11687806,
"win_backgammon": 0.0038713207,
"lose_gammon": 0.11405854,
"lose_backgammon": 0.0063031144
}
},
{
"rank": 5,
"move": "20/14 8/6",
"ply": 0,
"equity": -0.14552313,
"equity_diff": -0.44477874,
"probabilities": {
"win": 0.4745854,
"win_gammon": 0.12134288,
"win_backgammon": 0.0035285952,
"lose_gammon": 0.18661681,
"lose_backgammon": 0.0062879953
}
},
{
"rank": 6,
"move": "20/14 13/11",
"ply": 0,
"equity": -0.15537354,
"equity_diff": -0.45462915,
"probabilities": {
"win": 0.47832012,
"win_gammon": 0.123516336,
"win_backgammon": 0.0038390688,
"lose_gammon": 0.20525116,
"lose_backgammon": 0.010964307
}
},
{
"rank": 7,
"move": "20/14 6/4",
"ply": 0,
"equity": -0.17235905,
"equity_diff": -0.47161466,
"probabilities": {
"win": 0.4683563,
"win_gammon": 0.114787176,
"win_backgammon": 0.0036217375,
"lose_gammon": 0.18776663,
"lose_backgammon": 0.0066350857
}
}
]
}
},
"2": {
"evaluation": {
"probabilities": {
"win": 0.59930587,
"win_gammon": 0.12427109,
"win_backgammon": 0.0039397688,
"lose_gammon": 0.071554266,
"lose_backgammon": 0.0014250871
},
"equity": 0.25384325
},
"moves": {
"legal_move_count": 7,
"ranking": [
{
"rank": 1,
"move": "13/5",
"ply": 2,
"equity": 0.22664805,
"equity_diff": 0.0,
"probabilities": {
"win": 0.5612426,
"win_gammon": 0.13116215,
"win_backgammon": 0.0038719273,
"lose_gammon": 0.07936195,
"lose_backgammon": 0.0021631026
}
},
{
"rank": 2,
"move": "13/7 6/4",
"ply": 2,
"equity": 0.13002977,
"equity_diff": -0.09661828,
"probabilities": {
"win": 0.53358424,
"win_gammon": 0.11851678,
"win_backgammon": 0.0035490294,
"lose_gammon": 0.08071164,
"lose_backgammon": 0.0021506099
}
},
{
"rank": 3,
"move": "13/7 8/6",
"ply": 1,
"equity": 0.07910592,
"equity_diff": -0.14754212,
"probabilities": {
"win": 0.5163796,
"win_gammon": 0.12108203,
"win_backgammon": 0.0042679794,
"lose_gammon": 0.08832949,
"lose_backgammon": 0.00228202
}
},
{
"rank": 4,
"move": "13/11 13/7",
"ply": 0,
"equity": -0.041345336,
"equity_diff": -0.2679934,
"probabilities": {
"win": 0.48565477,
"win_gammon": 0.11687806,
"win_backgammon": 0.0038713207,
"lose_gammon": 0.11405854,
"lose_backgammon": 0.0063031144
}
},
{
"rank": 5,
"move": "20/14 8/6",
"ply": 0,
"equity": -0.13555534,
"equity_diff": -0.3622034,
"probabilities": {
"win": 0.4745854,
"win_gammon": 0.12134288,
"win_backgammon": 0.0035285952,
"lose_gammon": 0.18661681,
"lose_backgammon": 0.0062879953
}
},
{
"rank": 6,
"move": "20/14 13/11",
"ply": 0,
"equity": -0.14358261,
"equity_diff": -0.37023067,
"probabilities": {
"win": 0.47832012,
"win_gammon": 0.123516336,
"win_backgammon": 0.0038390688,
"lose_gammon": 0.20525116,
"lose_backgammon": 0.010964307
}
},
{
"rank": 7,
"move": "20/14 6/4",
"ply": 0,
"equity": -0.16087781,
"equity_diff": -0.38752586,
"probabilities": {
"win": 0.4683563,
"win_gammon": 0.114787176,
"win_backgammon": 0.0036217375,
"lose_gammon": 0.18776663,
"lose_backgammon": 0.0066350857
}
}
]
}
}
}
}
@@ -0,0 +1,60 @@
{
"id": "no-legal-move",
"type": "move",
"categories": [
"edge_case"
],
"description": "Dame sur la barre face à un jan fermé : aucun coup légal avec 5-5.",
"position_id": "27YBBwAcz8EDQA",
"match_id": "cIkWAAAAAAAA",
"gnubg_commit": "14b67984737ded0f6de43d63dcb789f729d9b06b",
"met": "Kazaross-XG2",
"context": {
"dice": [
5,
5
],
"match_length": 0,
"score_player": 0,
"score_opponent": 0,
"crawford": false,
"jacoby": true,
"beavers": true,
"cube_value": 1,
"cube_owner": "centered"
},
"plies": {
"0": {
"evaluation": {
"probabilities": {
"win": 0.039134555,
"win_gammon": 0.0023969053,
"win_backgammon": 0.0,
"lose_gammon": 0.8031097,
"lose_backgammon": 0.0024082477
},
"equity": -1.724852
},
"moves": {
"legal_move_count": 0,
"ranking": []
}
},
"2": {
"evaluation": {
"probabilities": {
"win": 0.03421676,
"win_gammon": 0.002297687,
"win_backgammon": 0.0,
"lose_gammon": 0.8233655,
"lose_backgammon": 0.0014723836
},
"equity": -1.7541066
},
"moves": {
"legal_move_count": 0,
"ranking": []
}
}
}
}
+342
View File
@@ -0,0 +1,342 @@
{
"id": "opening-21",
"type": "move",
"categories": [
"opening"
],
"description": "Position de départ, premier coup 2-1, partie libre.",
"position_id": "4HPwATDgc/ABMA",
"match_id": "cAkFAAAAAAAA",
"gnubg_commit": "14b67984737ded0f6de43d63dcb789f729d9b06b",
"met": "Kazaross-XG2",
"context": {
"dice": [
2,
1
],
"match_length": 0,
"score_player": 0,
"score_opponent": 0,
"crawford": false,
"jacoby": true,
"beavers": true,
"cube_value": 1,
"cube_owner": "centered"
},
"plies": {
"0": {
"evaluation": {
"probabilities": {
"win": 0.52150303,
"win_gammon": 0.15414569,
"win_backgammon": 0.0075623477,
"lose_gammon": 0.12963872,
"lose_backgammon": 0.007494344
},
"equity": 0.06758106
},
"moves": {
"legal_move_count": 15,
"ranking": [
{
"rank": 1,
"move": "24/23 13/11",
"ply": 0,
"equity": -0.006838155,
"equity_diff": 0.0,
"probabilities": {
"win": 0.4989426,
"win_gammon": 0.13681582,
"win_backgammon": 0.0076454515,
"lose_gammon": 0.14145486,
"lose_backgammon": 0.0066102645
}
},
{
"rank": 2,
"move": "24/21",
"ply": 0,
"equity": -0.02014258,
"equity_diff": -0.0133044245,
"probabilities": {
"win": 0.49625456,
"win_gammon": 0.12467366,
"win_backgammon": 0.0056412523,
"lose_gammon": 0.13457635,
"lose_backgammon": 0.0044783447
}
},
{
"rank": 3,
"move": "24/23 24/22",
"ply": 0,
"equity": -0.033878967,
"equity_diff": -0.027040813,
"probabilities": {
"win": 0.49332476,
"win_gammon": 0.12301593,
"win_backgammon": 0.0056081824,
"lose_gammon": 0.13771829,
"lose_backgammon": 0.00448887
}
},
{
"rank": 4,
"move": "13/10",
"ply": 0,
"equity": -0.03497561,
"equity_diff": -0.028137457,
"probabilities": {
"win": 0.4897666,
"win_gammon": 0.13998792,
"win_backgammon": 0.008946963,
"lose_gammon": 0.14475775,
"lose_backgammon": 0.008261607
}
},
{
"rank": 5,
"move": "13/11 6/5",
"ply": 0,
"equity": -0.043954756,
"equity_diff": -0.037116602,
"probabilities": {
"win": 0.491395,
"win_gammon": 0.13784271,
"win_backgammon": 0.009567919,
"lose_gammon": 0.15345608,
"lose_backgammon": 0.011742385
}
},
{
"rank": 6,
"move": "24/22 6/5",
"ply": 0,
"equity": -0.05947369,
"equity_diff": -0.052635536,
"probabilities": {
"win": 0.48930585,
"win_gammon": 0.123811916,
"win_backgammon": 0.006882638,
"lose_gammon": 0.14951915,
"lose_backgammon": 0.008065589
}
},
{
"rank": 7,
"move": "24/23 6/4",
"ply": 0,
"equity": -0.09052487,
"equity_diff": -0.08368671,
"probabilities": {
"win": 0.4809823,
"win_gammon": 0.124716505,
"win_backgammon": 0.00734768,
"lose_gammon": 0.1562378,
"lose_backgammon": 0.008607547
}
},
{
"rank": 8,
"move": "13/11 8/7",
"ply": 0,
"equity": -0.10694244,
"equity_diff": -0.10010428,
"probabilities": {
"win": 0.47342628,
"win_gammon": 0.13249873,
"win_backgammon": 0.0086180065,
"lose_gammon": 0.156542,
"lose_backgammon": 0.01108821
}
},
{
"rank": 9,
"move": "24/22 8/7",
"ply": 0,
"equity": -0.11493746,
"equity_diff": -0.108099304,
"probabilities": {
"win": 0.4722107,
"win_gammon": 0.11853025,
"win_backgammon": 0.0060900412,
"lose_gammon": 0.14782462,
"lose_backgammon": 0.0075841714
}
},
{
"rank": 10,
"move": "24/23 8/6",
"ply": 0,
"equity": -0.11839062,
"equity_diff": -0.11155246,
"probabilities": {
"win": 0.46990633,
"win_gammon": 0.12305006,
"win_backgammon": 0.0061603137,
"lose_gammon": 0.15056747,
"lose_backgammon": 0.00598667
}
}
]
}
},
"2": {
"evaluation": {
"probabilities": {
"win": 0.52483594,
"win_gammon": 0.14950693,
"win_backgammon": 0.006851064,
"lose_gammon": 0.124798514,
"lose_backgammon": 0.0052878163
},
"equity": 0.07594353
},
"moves": {
"legal_move_count": 15,
"ranking": [
{
"rank": 1,
"move": "24/23 13/11",
"ply": 2,
"equity": -0.0001872008,
"equity_diff": 0.0,
"probabilities": {
"win": 0.49936152,
"win_gammon": 0.1361573,
"win_backgammon": 0.0059833424,
"lose_gammon": 0.13336915,
"lose_backgammon": 0.0056441245
}
},
{
"rank": 2,
"move": "13/11 6/5",
"ply": 2,
"equity": -0.0029364966,
"equity_diff": -0.002749296,
"probabilities": {
"win": 0.5013766,
"win_gammon": 0.14255394,
"win_backgammon": 0.007463439,
"lose_gammon": 0.14444883,
"lose_backgammon": 0.009677111
}
},
{
"rank": 3,
"move": "24/21",
"ply": 2,
"equity": -0.023134932,
"equity_diff": -0.02294773,
"probabilities": {
"win": 0.49374348,
"win_gammon": 0.12629053,
"win_backgammon": 0.0050961636,
"lose_gammon": 0.13050313,
"lose_backgammon": 0.0047987103
}
},
{
"rank": 4,
"move": "13/10",
"ply": 2,
"equity": -0.036884084,
"equity_diff": -0.036696885,
"probabilities": {
"win": 0.48866796,
"win_gammon": 0.13993986,
"win_backgammon": 0.006761295,
"lose_gammon": 0.14289643,
"lose_backgammon": 0.0072744787
}
},
{
"rank": 5,
"move": "24/23 24/22",
"ply": 2,
"equity": -0.053742595,
"equity_diff": -0.053555395,
"probabilities": {
"win": 0.48623395,
"win_gammon": 0.12249764,
"win_backgammon": 0.0046590306,
"lose_gammon": 0.13483764,
"lose_backgammon": 0.004705831
}
},
{
"rank": 6,
"move": "24/22 6/5",
"ply": 2,
"equity": -0.06897441,
"equity_diff": -0.06878721,
"probabilities": {
"win": 0.48569775,
"win_gammon": 0.12577973,
"win_backgammon": 0.0056417696,
"lose_gammon": 0.14551832,
"lose_backgammon": 0.007730984
}
},
{
"rank": 7,
"move": "24/23 6/4",
"ply": 1,
"equity": -0.08121423,
"equity_diff": -0.08102702,
"probabilities": {
"win": 0.4804591,
"win_gammon": 0.12808256,
"win_backgammon": 0.0052458076,
"lose_gammon": 0.15290663,
"lose_backgammon": 0.0073501337
}
},
{
"rank": 8,
"move": "13/11 8/7",
"ply": 1,
"equity": -0.11000299,
"equity_diff": -0.109815784,
"probabilities": {
"win": 0.47246087,
"win_gammon": 0.13270162,
"win_backgammon": 0.0053248443,
"lose_gammon": 0.16010761,
"lose_backgammon": 0.010958535
}
},
{
"rank": 9,
"move": "24/23 8/6",
"ply": 1,
"equity": -0.11857612,
"equity_diff": -0.11838891,
"probabilities": {
"win": 0.46775055,
"win_gammon": 0.12591736,
"win_backgammon": 0.005086501,
"lose_gammon": 0.15187313,
"lose_backgammon": 0.006525319
}
},
{
"rank": 10,
"move": "8/5",
"ply": 1,
"equity": -0.12109409,
"equity_diff": -0.12090689,
"probabilities": {
"win": 0.46843135,
"win_gammon": 0.12901284,
"win_backgammon": 0.004891587,
"lose_gammon": 0.15662514,
"lose_backgammon": 0.009633442
}
}
]
}
}
}
}
+342
View File
@@ -0,0 +1,342 @@
{
"id": "opening-31",
"type": "move",
"categories": [
"opening"
],
"description": "Position de départ, premier coup 3-1, partie libre.",
"position_id": "4HPwATDgc/ABMA",
"match_id": "cIkFAAAAAAAA",
"gnubg_commit": "14b67984737ded0f6de43d63dcb789f729d9b06b",
"met": "Kazaross-XG2",
"context": {
"dice": [
3,
1
],
"match_length": 0,
"score_player": 0,
"score_opponent": 0,
"crawford": false,
"jacoby": true,
"beavers": true,
"cube_value": 1,
"cube_owner": "centered"
},
"plies": {
"0": {
"evaluation": {
"probabilities": {
"win": 0.52150303,
"win_gammon": 0.15414569,
"win_backgammon": 0.0075623477,
"lose_gammon": 0.12963872,
"lose_backgammon": 0.007494344
},
"equity": 0.06758106
},
"moves": {
"legal_move_count": 16,
"ranking": [
{
"rank": 1,
"move": "8/5 6/5",
"ply": 0,
"equity": 0.21258597,
"equity_diff": 0.0,
"probabilities": {
"win": 0.55146515,
"win_gammon": 0.1735385,
"win_backgammon": 0.012694037,
"lose_gammon": 0.1244457,
"lose_backgammon": 0.0050391546
}
},
{
"rank": 2,
"move": "24/23 13/10",
"ply": 0,
"equity": -0.010789523,
"equity_diff": -0.2233755,
"probabilities": {
"win": 0.49735868,
"win_gammon": 0.13661881,
"win_backgammon": 0.007650923,
"lose_gammon": 0.14029105,
"lose_backgammon": 0.006771761
}
},
{
"rank": 3,
"move": "24/20",
"ply": 0,
"equity": -0.017392516,
"equity_diff": -0.22997849,
"probabilities": {
"win": 0.4971655,
"win_gammon": 0.12497381,
"win_backgammon": 0.005366897,
"lose_gammon": 0.1347645,
"lose_backgammon": 0.0043109623
}
},
{
"rank": 4,
"move": "24/23 24/21",
"ply": 0,
"equity": -0.023609947,
"equity_diff": -0.23619592,
"probabilities": {
"win": 0.49566424,
"win_gammon": 0.12277265,
"win_backgammon": 0.0054368703,
"lose_gammon": 0.13448617,
"lose_backgammon": 0.004129533
}
},
{
"rank": 5,
"move": "13/9",
"ply": 0,
"equity": -0.027675275,
"equity_diff": -0.24026124,
"probabilities": {
"win": 0.49105716,
"win_gammon": 0.14171576,
"win_backgammon": 0.009267461,
"lose_gammon": 0.14342503,
"lose_backgammon": 0.008276146
}
},
{
"rank": 6,
"move": "24/21 6/5",
"ply": 0,
"equity": -0.04369401,
"equity_diff": -0.25627998,
"probabilities": {
"win": 0.49309355,
"win_gammon": 0.124125384,
"win_backgammon": 0.0066370456,
"lose_gammon": 0.14589135,
"lose_backgammon": 0.0074525396
}
},
{
"rank": 7,
"move": "13/10 6/5",
"ply": 0,
"equity": -0.04984435,
"equity_diff": -0.2624303,
"probabilities": {
"win": 0.48952937,
"win_gammon": 0.1378842,
"win_backgammon": 0.009559967,
"lose_gammon": 0.15374462,
"lose_backgammon": 0.011751771
}
},
{
"rank": 8,
"move": "24/23 8/5",
"ply": 0,
"equity": -0.104100645,
"equity_diff": -0.31668663,
"probabilities": {
"win": 0.47712362,
"win_gammon": 0.12390441,
"win_backgammon": 0.0072179367,
"lose_gammon": 0.15660737,
"lose_backgammon": 0.009218626
}
},
{
"rank": 9,
"move": "24/23 6/3",
"ply": 0,
"equity": -0.10542354,
"equity_diff": -0.3180095,
"probabilities": {
"win": 0.47683942,
"win_gammon": 0.124342315,
"win_backgammon": 0.0069678742,
"lose_gammon": 0.15814619,
"lose_backgammon": 0.008328158
}
},
{
"rank": 10,
"move": "24/21 8/7",
"ply": 0,
"equity": -0.107585564,
"equity_diff": -0.32017154,
"probabilities": {
"win": 0.4737125,
"win_gammon": 0.118104,
"win_backgammon": 0.0058776154,
"lose_gammon": 0.14500603,
"lose_backgammon": 0.0069749253
}
}
]
}
},
"2": {
"evaluation": {
"probabilities": {
"win": 0.52483594,
"win_gammon": 0.14950693,
"win_backgammon": 0.006851064,
"lose_gammon": 0.124798514,
"lose_backgammon": 0.0052878163
},
"equity": 0.07594353
},
"moves": {
"legal_move_count": 16,
"ranking": [
{
"rank": 1,
"move": "8/5 6/5",
"ply": 1,
"equity": 0.20373425,
"equity_diff": 0.0,
"probabilities": {
"win": 0.5511361,
"win_gammon": 0.17560416,
"win_backgammon": 0.007862332,
"lose_gammon": 0.11694406,
"lose_backgammon": 0.0057517164
}
},
{
"rank": 2,
"move": "24/23 13/10",
"ply": 1,
"equity": -0.022293653,
"equity_diff": -0.2260279,
"probabilities": {
"win": 0.49275005,
"win_gammon": 0.13909927,
"win_backgammon": 0.0063022533,
"lose_gammon": 0.14069356,
"lose_backgammon": 0.0060537625
}
},
{
"rank": 3,
"move": "24/20",
"ply": 1,
"equity": -0.031027086,
"equity_diff": -0.23476133,
"probabilities": {
"win": 0.49156147,
"win_gammon": 0.12670286,
"win_backgammon": 0.006098907,
"lose_gammon": 0.1342299,
"lose_backgammon": 0.0057401103
}
},
{
"rank": 4,
"move": "24/23 24/21",
"ply": 1,
"equity": -0.03213631,
"equity_diff": -0.23587056,
"probabilities": {
"win": 0.49145406,
"win_gammon": 0.12431262,
"win_backgammon": 0.0052749543,
"lose_gammon": 0.13346349,
"lose_backgammon": 0.0041712774
}
},
{
"rank": 5,
"move": "13/9",
"ply": 1,
"equity": -0.040205758,
"equity_diff": -0.24394001,
"probabilities": {
"win": 0.48716545,
"win_gammon": 0.14317134,
"win_backgammon": 0.005799624,
"lose_gammon": 0.14353105,
"lose_backgammon": 0.0086386865
}
},
{
"rank": 6,
"move": "24/21 6/5",
"ply": 0,
"equity": -0.04054863,
"equity_diff": -0.24428287,
"probabilities": {
"win": 0.49309355,
"win_gammon": 0.124125384,
"win_backgammon": 0.0066370456,
"lose_gammon": 0.14589135,
"lose_backgammon": 0.0074525396
}
},
{
"rank": 7,
"move": "13/10 6/5",
"ply": 0,
"equity": -0.04680192,
"equity_diff": -0.25053617,
"probabilities": {
"win": 0.48952937,
"win_gammon": 0.1378842,
"win_backgammon": 0.009559967,
"lose_gammon": 0.15374462,
"lose_backgammon": 0.011751771
}
},
{
"rank": 8,
"move": "24/23 8/5",
"ply": 0,
"equity": -0.09795876,
"equity_diff": -0.30169302,
"probabilities": {
"win": 0.47712362,
"win_gammon": 0.12390441,
"win_backgammon": 0.0072179367,
"lose_gammon": 0.15660737,
"lose_backgammon": 0.009218626
}
},
{
"rank": 9,
"move": "24/23 6/3",
"ply": 0,
"equity": -0.09920224,
"equity_diff": -0.3029365,
"probabilities": {
"win": 0.47683942,
"win_gammon": 0.124342315,
"win_backgammon": 0.0069678742,
"lose_gammon": 0.15814619,
"lose_backgammon": 0.008328158
}
},
{
"rank": 10,
"move": "24/21 8/7",
"ply": 0,
"equity": -0.10179498,
"equity_diff": -0.30552924,
"probabilities": {
"win": 0.4737125,
"win_gammon": 0.118104,
"win_backgammon": 0.0058776154,
"lose_gammon": 0.14500603,
"lose_backgammon": 0.0069749253
}
}
]
}
}
}
}
+342
View File
@@ -0,0 +1,342 @@
{
"id": "opening-42",
"type": "move",
"categories": [
"opening"
],
"description": "Position de départ, premier coup 4-2, partie libre.",
"position_id": "4HPwATDgc/ABMA",
"match_id": "cAkKAAAAAAAA",
"gnubg_commit": "14b67984737ded0f6de43d63dcb789f729d9b06b",
"met": "Kazaross-XG2",
"context": {
"dice": [
4,
2
],
"match_length": 0,
"score_player": 0,
"score_opponent": 0,
"crawford": false,
"jacoby": true,
"beavers": true,
"cube_value": 1,
"cube_owner": "centered"
},
"plies": {
"0": {
"evaluation": {
"probabilities": {
"win": 0.52150303,
"win_gammon": 0.15414569,
"win_backgammon": 0.0075623477,
"lose_gammon": 0.12963872,
"lose_backgammon": 0.007494344
},
"equity": 0.06758106
},
"moves": {
"legal_move_count": 18,
"ranking": [
{
"rank": 1,
"move": "8/4 6/4",
"ply": 0,
"equity": 0.15086421,
"equity_diff": 0.0,
"probabilities": {
"win": 0.5355822,
"win_gammon": 0.16746058,
"win_backgammon": 0.011540573,
"lose_gammon": 0.13069998,
"lose_backgammon": 0.0052321833
}
},
{
"rank": 2,
"move": "24/20 13/11",
"ply": 0,
"equity": 0.029853877,
"equity_diff": -0.12101033,
"probabilities": {
"win": 0.50847805,
"win_gammon": 0.13508996,
"win_backgammon": 0.006644521,
"lose_gammon": 0.13210844,
"lose_backgammon": 0.005376153
}
},
{
"rank": 3,
"move": "24/22 13/9",
"ply": 0,
"equity": 0.026067838,
"equity_diff": -0.124796376,
"probabilities": {
"win": 0.50648075,
"win_gammon": 0.13809271,
"win_backgammon": 0.007568386,
"lose_gammon": 0.13295177,
"lose_backgammon": 0.0062561864
}
},
{
"rank": 4,
"move": "13/11 13/9",
"ply": 0,
"equity": -0.001693182,
"equity_diff": -0.1525574,
"probabilities": {
"win": 0.4968168,
"win_gammon": 0.14983082,
"win_backgammon": 0.01064049,
"lose_gammon": 0.14369524,
"lose_backgammon": 0.008981156
}
},
{
"rank": 5,
"move": "24/22 24/20",
"ply": 0,
"equity": -0.018045012,
"equity_diff": -0.16890922,
"probabilities": {
"win": 0.4977442,
"win_gammon": 0.121381424,
"win_backgammon": 0.0052612466,
"lose_gammon": 0.13360934,
"lose_backgammon": 0.0041328096
}
},
{
"rank": 6,
"move": "24/18",
"ply": 0,
"equity": -0.032842197,
"equity_diff": -0.1837064,
"probabilities": {
"win": 0.49529934,
"win_gammon": 0.1225132,
"win_backgammon": 0.0051935366,
"lose_gammon": 0.14161953,
"lose_backgammon": 0.0045189797
}
},
{
"rank": 7,
"move": "24/20 6/4",
"ply": 0,
"equity": -0.05955926,
"equity_diff": -0.21042347,
"probabilities": {
"win": 0.48832107,
"win_gammon": 0.124719225,
"win_backgammon": 0.006615434,
"lose_gammon": 0.14826414,
"lose_backgammon": 0.0071166214
}
},
{
"rank": 8,
"move": "13/9 6/4",
"ply": 0,
"equity": -0.07225056,
"equity_diff": -0.22311477,
"probabilities": {
"win": 0.48268825,
"win_gammon": 0.13875623,
"win_backgammon": 0.01012615,
"lose_gammon": 0.15696336,
"lose_backgammon": 0.011739288
}
},
{
"rank": 9,
"move": "24/20 8/6",
"ply": 0,
"equity": -0.07934274,
"equity_diff": -0.23020695,
"probabilities": {
"win": 0.48002523,
"win_gammon": 0.121580966,
"win_backgammon": 0.0053400025,
"lose_gammon": 0.14114954,
"lose_backgammon": 0.004671509
}
},
{
"rank": 10,
"move": "13/7",
"ply": 0,
"equity": -0.08251725,
"equity_diff": -0.23338147,
"probabilities": {
"win": 0.47695237,
"win_gammon": 0.13231827,
"win_backgammon": 0.008267342,
"lose_gammon": 0.1449488,
"lose_backgammon": 0.008531911
}
}
]
}
},
"2": {
"evaluation": {
"probabilities": {
"win": 0.52483594,
"win_gammon": 0.14950693,
"win_backgammon": 0.006851064,
"lose_gammon": 0.124798514,
"lose_backgammon": 0.0052878163
},
"equity": 0.07594353
},
"moves": {
"legal_move_count": 18,
"ranking": [
{
"rank": 1,
"move": "8/4 6/4",
"ply": 1,
"equity": 0.1499756,
"equity_diff": 0.0,
"probabilities": {
"win": 0.5357578,
"win_gammon": 0.17106593,
"win_backgammon": 0.0073204446,
"lose_gammon": 0.12172842,
"lose_backgammon": 0.0058788783
}
},
{
"rank": 2,
"move": "24/22 13/9",
"ply": 1,
"equity": 0.009185654,
"equity_diff": -0.14078994,
"probabilities": {
"win": 0.5005222,
"win_gammon": 0.13987306,
"win_backgammon": 0.0058319937,
"lose_gammon": 0.13195772,
"lose_backgammon": 0.005290314
}
},
{
"rank": 3,
"move": "13/11 13/9",
"ply": 1,
"equity": 0.00883085,
"equity_diff": -0.14114475,
"probabilities": {
"win": 0.5003679,
"win_gammon": 0.15323634,
"win_backgammon": 0.006730007,
"lose_gammon": 0.14239869,
"lose_backgammon": 0.00900721
}
},
{
"rank": 4,
"move": "24/20 13/11",
"ply": 1,
"equity": 0.003763375,
"equity_diff": -0.14621222,
"probabilities": {
"win": 0.5002758,
"win_gammon": 0.1368717,
"win_backgammon": 0.0070342678,
"lose_gammon": 0.13423003,
"lose_backgammon": 0.0064093405
}
},
{
"rank": 5,
"move": "24/22 24/20",
"ply": 1,
"equity": -0.020140165,
"equity_diff": -0.17011577,
"probabilities": {
"win": 0.49609327,
"win_gammon": 0.12574464,
"win_backgammon": 0.0066425386,
"lose_gammon": 0.13750464,
"lose_backgammon": 0.0045712073
}
},
{
"rank": 6,
"move": "24/18",
"ply": 1,
"equity": -0.024700182,
"equity_diff": -0.17467578,
"probabilities": {
"win": 0.49641377,
"win_gammon": 0.12199487,
"win_backgammon": 0.005407719,
"lose_gammon": 0.13788731,
"lose_backgammon": 0.005260935
}
},
{
"rank": 7,
"move": "24/20 6/4",
"ply": 1,
"equity": -0.050489992,
"equity_diff": -0.20046559,
"probabilities": {
"win": 0.48690128,
"win_gammon": 0.12653384,
"win_backgammon": 0.0056428686,
"lose_gammon": 0.13969593,
"lose_backgammon": 0.006175407
}
},
{
"rank": 8,
"move": "13/9 6/4",
"ply": 1,
"equity": -0.054621916,
"equity_diff": -0.20459752,
"probabilities": {
"win": 0.48639107,
"win_gammon": 0.13890329,
"win_backgammon": 0.005892756,
"lose_gammon": 0.15172012,
"lose_backgammon": 0.00969209
}
},
{
"rank": 9,
"move": "24/20 8/6",
"ply": 1,
"equity": -0.090564646,
"equity_diff": -0.24054024,
"probabilities": {
"win": 0.47541296,
"win_gammon": 0.124620385,
"win_backgammon": 0.006344036,
"lose_gammon": 0.14542966,
"lose_backgammon": 0.0065992572
}
},
{
"rank": 10,
"move": "13/7",
"ply": 1,
"equity": -0.09336931,
"equity_diff": -0.2433449,
"probabilities": {
"win": 0.47393072,
"win_gammon": 0.13328187,
"win_backgammon": 0.00536958,
"lose_gammon": 0.14898883,
"lose_backgammon": 0.009068512
}
}
]
}
}
}
}
@@ -0,0 +1,343 @@
{
"id": "opening-64-match",
"type": "move",
"categories": [
"opening",
"match"
],
"description": "Position de départ, premier coup 6-4, match en 5 points à 0-0.",
"position_id": "4HPwATDgc/ABMA",
"match_id": "cAmzAAAAAAAE",
"gnubg_commit": "14b67984737ded0f6de43d63dcb789f729d9b06b",
"met": "Kazaross-XG2",
"context": {
"dice": [
6,
4
],
"match_length": 5,
"score_player": 0,
"score_opponent": 0,
"crawford": false,
"jacoby": false,
"beavers": false,
"cube_value": 1,
"cube_owner": "centered"
},
"plies": {
"0": {
"evaluation": {
"probabilities": {
"win": 0.52150303,
"win_gammon": 0.15414569,
"win_backgammon": 0.0075623477,
"lose_gammon": 0.12963872,
"lose_backgammon": 0.007494344
},
"equity": 0.065476716
},
"moves": {
"legal_move_count": 14,
"ranking": [
{
"rank": 1,
"move": "24/14",
"ply": 0,
"equity": 0.032145042,
"equity_diff": 0.0,
"probabilities": {
"win": 0.5132097,
"win_gammon": 0.12580518,
"win_backgammon": 0.005208867,
"lose_gammon": 0.13388495,
"lose_backgammon": 0.004337863
}
},
{
"rank": 2,
"move": "24/18 13/9",
"ply": 0,
"equity": 0.012479822,
"equity_diff": -0.019665219,
"probabilities": {
"win": 0.50566316,
"win_gammon": 0.13537583,
"win_backgammon": 0.006847186,
"lose_gammon": 0.14028922,
"lose_backgammon": 0.0061775735
}
},
{
"rank": 3,
"move": "8/2 6/2",
"ply": 0,
"equity": -0.01096735,
"equity_diff": -0.04311239,
"probabilities": {
"win": 0.49491215,
"win_gammon": 0.15022527,
"win_backgammon": 0.008625889,
"lose_gammon": 0.14790136,
"lose_backgammon": 0.0062718117
}
},
{
"rank": 4,
"move": "24/20 24/18",
"ply": 0,
"equity": -0.033927325,
"equity_diff": -0.06607237,
"probabilities": {
"win": 0.4969083,
"win_gammon": 0.11908011,
"win_backgammon": 0.0046805823,
"lose_gammon": 0.14002788,
"lose_backgammon": 0.004476624
}
},
{
"rank": 5,
"move": "24/20 13/7",
"ply": 0,
"equity": -0.04174716,
"equity_diff": -0.073892206,
"probabilities": {
"win": 0.48929858,
"win_gammon": 0.12764157,
"win_backgammon": 0.0065241395,
"lose_gammon": 0.13548943,
"lose_backgammon": 0.0059220004
}
},
{
"rank": 6,
"move": "13/9 13/7",
"ply": 0,
"equity": -0.070028536,
"equity_diff": -0.10217358,
"probabilities": {
"win": 0.48026502,
"win_gammon": 0.14082111,
"win_backgammon": 0.009894757,
"lose_gammon": 0.14799584,
"lose_backgammon": 0.009749303
}
},
{
"rank": 7,
"move": "13/3",
"ply": 0,
"equity": -0.10725447,
"equity_diff": -0.13939951,
"probabilities": {
"win": 0.47168612,
"win_gammon": 0.1350749,
"win_backgammon": 0.009195123,
"lose_gammon": 0.1510934,
"lose_backgammon": 0.009191495
}
},
{
"rank": 8,
"move": "24/18 6/2",
"ply": 0,
"equity": -0.13111638,
"equity_diff": -0.16326141,
"probabilities": {
"win": 0.47397405,
"win_gammon": 0.11882964,
"win_backgammon": 0.005266155,
"lose_gammon": 0.1602438,
"lose_backgammon": 0.007042799
}
},
{
"rank": 9,
"move": "24/20 8/2",
"ply": 0,
"equity": -0.14994904,
"equity_diff": -0.18209408,
"probabilities": {
"win": 0.4667582,
"win_gammon": 0.11838941,
"win_backgammon": 0.005480149,
"lose_gammon": 0.15673465,
"lose_backgammon": 0.0073330947
}
},
{
"rank": 10,
"move": "24/18 8/4",
"ply": 0,
"equity": -0.15389982,
"equity_diff": -0.18604486,
"probabilities": {
"win": 0.46788013,
"win_gammon": 0.1191007,
"win_backgammon": 0.0062833736,
"lose_gammon": 0.16351272,
"lose_backgammon": 0.008200929
}
}
]
}
},
"2": {
"evaluation": {
"probabilities": {
"win": 0.5249716,
"win_gammon": 0.14948216,
"win_backgammon": 0.0068404144,
"lose_gammon": 0.12513305,
"lose_backgammon": 0.005308273
},
"equity": 0.07408072
},
"moves": {
"legal_move_count": 14,
"ranking": [
{
"rank": 1,
"move": "24/18 13/9",
"ply": 2,
"equity": 0.013528223,
"equity_diff": 0.0,
"probabilities": {
"win": 0.50474966,
"win_gammon": 0.13694319,
"win_backgammon": 0.006727477,
"lose_gammon": 0.13640973,
"lose_backgammon": 0.006058103
}
},
{
"rank": 2,
"move": "8/2 6/2",
"ply": 2,
"equity": 0.012467488,
"equity_diff": -0.0010607354,
"probabilities": {
"win": 0.5005937,
"win_gammon": 0.15047605,
"win_backgammon": 0.007168365,
"lose_gammon": 0.1418647,
"lose_backgammon": 0.00575178
}
},
{
"rank": 3,
"move": "24/14",
"ply": 2,
"equity": 0.004836519,
"equity_diff": -0.008691704,
"probabilities": {
"win": 0.5068997,
"win_gammon": 0.12267823,
"win_backgammon": 0.0045082034,
"lose_gammon": 0.13532133,
"lose_backgammon": 0.004538701
}
},
{
"rank": 4,
"move": "24/20 13/7",
"ply": 2,
"equity": -0.052962735,
"equity_diff": -0.066490956,
"probabilities": {
"win": 0.484963,
"win_gammon": 0.13132541,
"win_backgammon": 0.0059679076,
"lose_gammon": 0.13361627,
"lose_backgammon": 0.006393481
}
},
{
"rank": 5,
"move": "24/20 24/18",
"ply": 2,
"equity": -0.06900789,
"equity_diff": -0.08253611,
"probabilities": {
"win": 0.49018896,
"win_gammon": 0.116782986,
"win_backgammon": 0.0049995524,
"lose_gammon": 0.14722423,
"lose_backgammon": 0.0048995623
}
},
{
"rank": 6,
"move": "13/9 13/7",
"ply": 2,
"equity": -0.08274425,
"equity_diff": -0.09627247,
"probabilities": {
"win": 0.47648233,
"win_gammon": 0.14170869,
"win_backgammon": 0.008512239,
"lose_gammon": 0.14952661,
"lose_backgammon": 0.009999642
}
},
{
"rank": 7,
"move": "13/3",
"ply": 1,
"equity": -0.11306847,
"equity_diff": -0.12659669,
"probabilities": {
"win": 0.47033876,
"win_gammon": 0.13593201,
"win_backgammon": 0.0061058127,
"lose_gammon": 0.15410982,
"lose_backgammon": 0.009786302
}
},
{
"rank": 8,
"move": "24/18 6/2",
"ply": 1,
"equity": -0.118969575,
"equity_diff": -0.1324978,
"probabilities": {
"win": 0.47705173,
"win_gammon": 0.118122354,
"win_backgammon": 0.0049864654,
"lose_gammon": 0.16003127,
"lose_backgammon": 0.0070257727
}
},
{
"rank": 9,
"move": "24/18 8/4",
"ply": 1,
"equity": -0.14764719,
"equity_diff": -0.16117541,
"probabilities": {
"win": 0.46862328,
"win_gammon": 0.11914979,
"win_backgammon": 0.0055211615,
"lose_gammon": 0.16395095,
"lose_backgammon": 0.007844061
}
},
{
"rank": 10,
"move": "24/20 8/2",
"ply": 1,
"equity": -0.15855518,
"equity_diff": -0.17208341,
"probabilities": {
"win": 0.4609102,
"win_gammon": 0.12262041,
"win_backgammon": 0.005933554,
"lose_gammon": 0.15720539,
"lose_backgammon": 0.007826611
}
}
]
}
}
}
}
+258
View File
@@ -0,0 +1,258 @@
{
"id": "opening-65",
"type": "move",
"categories": [
"opening"
],
"description": "Position de départ, premier coup 6-5, partie libre.",
"position_id": "4HPwATDgc/ABMA",
"match_id": "cAkXAAAAAAAA",
"gnubg_commit": "14b67984737ded0f6de43d63dcb789f729d9b06b",
"met": "Kazaross-XG2",
"context": {
"dice": [
6,
5
],
"match_length": 0,
"score_player": 0,
"score_opponent": 0,
"crawford": false,
"jacoby": true,
"beavers": true,
"cube_value": 1,
"cube_owner": "centered"
},
"plies": {
"0": {
"evaluation": {
"probabilities": {
"win": 0.52150303,
"win_gammon": 0.15414569,
"win_backgammon": 0.0075623477,
"lose_gammon": 0.12963872,
"lose_backgammon": 0.007494344
},
"equity": 0.06758106
},
"moves": {
"legal_move_count": 7,
"ranking": [
{
"rank": 1,
"move": "24/13",
"ply": 0,
"equity": 0.082985915,
"equity_diff": 0.0,
"probabilities": {
"win": 0.52771026,
"win_gammon": 0.12740123,
"win_backgammon": 0.0043210285,
"lose_gammon": 0.1293756,
"lose_backgammon": 0.0028542082
}
},
{
"rank": 2,
"move": "24/18 13/8",
"ply": 0,
"equity": 0.03631018,
"equity_diff": -0.046675734,
"probabilities": {
"win": 0.5125045,
"win_gammon": 0.13231666,
"win_backgammon": 0.0059944545,
"lose_gammon": 0.1354161,
"lose_backgammon": 0.0042471914
}
},
{
"rank": 3,
"move": "13/8 13/7",
"ply": 0,
"equity": -0.05142035,
"equity_diff": -0.13440627,
"probabilities": {
"win": 0.482184,
"win_gammon": 0.1389856,
"win_backgammon": 0.0093267895,
"lose_gammon": 0.13843802,
"lose_backgammon": 0.0076389513
}
},
{
"rank": 4,
"move": "13/2",
"ply": 0,
"equity": -0.13522762,
"equity_diff": -0.21821353,
"probabilities": {
"win": 0.46409917,
"win_gammon": 0.13093174,
"win_backgammon": 0.008294045,
"lose_gammon": 0.15645416,
"lose_backgammon": 0.009462133
}
},
{
"rank": 5,
"move": "24/18 8/3",
"ply": 0,
"equity": -0.14635906,
"equity_diff": -0.22934496,
"probabilities": {
"win": 0.46688402,
"win_gammon": 0.1202679,
"win_backgammon": 0.0059867823,
"lose_gammon": 0.1645123,
"lose_backgammon": 0.007699021
}
},
{
"rank": 6,
"move": "13/7 8/3",
"ply": 0,
"equity": -0.17384717,
"equity_diff": -0.25683308,
"probabilities": {
"win": 0.45640922,
"win_gammon": 0.12771896,
"win_backgammon": 0.008785374,
"lose_gammon": 0.1659471,
"lose_backgammon": 0.012491724
}
},
{
"rank": 7,
"move": "8/3 8/2",
"ply": 0,
"equity": -0.37779096,
"equity_diff": -0.46077687,
"probabilities": {
"win": 0.41052693,
"win_gammon": 0.111031,
"win_backgammon": 0.0072218007,
"lose_gammon": 0.20434058,
"lose_backgammon": 0.02066777
}
}
]
}
},
"2": {
"evaluation": {
"probabilities": {
"win": 0.52483594,
"win_gammon": 0.14950693,
"win_backgammon": 0.006851064,
"lose_gammon": 0.124798514,
"lose_backgammon": 0.0052878163
},
"equity": 0.07594353
},
"moves": {
"legal_move_count": 7,
"ranking": [
{
"rank": 1,
"move": "24/13",
"ply": 2,
"equity": 0.07996891,
"equity_diff": 0.0,
"probabilities": {
"win": 0.5278382,
"win_gammon": 0.122699715,
"win_backgammon": 0.00370063,
"lose_gammon": 0.123845525,
"lose_backgammon": 0.0030469655
}
},
{
"rank": 2,
"move": "24/18 13/8",
"ply": 2,
"equity": 0.03882884,
"equity_diff": -0.04114007,
"probabilities": {
"win": 0.5134117,
"win_gammon": 0.13248979,
"win_backgammon": 0.005861981,
"lose_gammon": 0.13121237,
"lose_backgammon": 0.0042340625
}
},
{
"rank": 3,
"move": "13/8 13/7",
"ply": 1,
"equity": -0.06351556,
"equity_diff": -0.14348447,
"probabilities": {
"win": 0.48014188,
"win_gammon": 0.14122242,
"win_backgammon": 0.0071167,
"lose_gammon": 0.14585866,
"lose_backgammon": 0.0088718245
}
},
{
"rank": 4,
"move": "13/2",
"ply": 1,
"equity": -0.12083713,
"equity_diff": -0.20080604,
"probabilities": {
"win": 0.46724582,
"win_gammon": 0.1349485,
"win_backgammon": 0.0057712086,
"lose_gammon": 0.1588556,
"lose_backgammon": 0.0101343
}
},
{
"rank": 5,
"move": "24/18 8/3",
"ply": 1,
"equity": -0.13999933,
"equity_diff": -0.21996823,
"probabilities": {
"win": 0.46690857,
"win_gammon": 0.11914817,
"win_backgammon": 0.0057104947,
"lose_gammon": 0.16515465,
"lose_backgammon": 0.008027693
}
},
{
"rank": 6,
"move": "13/7 8/3",
"ply": 0,
"equity": -0.16472448,
"equity_diff": -0.2446934,
"probabilities": {
"win": 0.45640922,
"win_gammon": 0.12771896,
"win_backgammon": 0.008785374,
"lose_gammon": 0.1659471,
"lose_backgammon": 0.012491724
}
},
{
"rank": 7,
"move": "8/3 8/2",
"ply": 0,
"equity": -0.35685992,
"equity_diff": -0.43682882,
"probabilities": {
"win": 0.41052693,
"win_gammon": 0.111031,
"win_backgammon": 0.0072218007,
"lose_gammon": 0.20434058,
"lose_backgammon": 0.02066777
}
}
]
}
}
}
}
+342
View File
@@ -0,0 +1,342 @@
{
"id": "prime-1",
"type": "move",
"categories": [
"prime"
],
"description": "Prime de sept points (4 à 10) contre deux dames bloquées, 6-5 à jouer.",
"position_id": "sOfgASjYbtsAAA",
"match_id": "cAkXAAAAAAAA",
"gnubg_commit": "14b67984737ded0f6de43d63dcb789f729d9b06b",
"met": "Kazaross-XG2",
"context": {
"dice": [
6,
5
],
"match_length": 0,
"score_player": 0,
"score_opponent": 0,
"crawford": false,
"jacoby": true,
"beavers": true,
"cube_value": 1,
"cube_owner": "centered"
},
"plies": {
"0": {
"evaluation": {
"probabilities": {
"win": 0.8655992,
"win_gammon": 0.4658586,
"win_backgammon": 0.011909843,
"lose_gammon": 0.011431644,
"lose_backgammon": 0.00021469918
},
"equity": 1.1973205
},
"moves": {
"legal_move_count": 20,
"ranking": [
{
"rank": 1,
"move": "10/5 10/4",
"ply": 0,
"equity": 0.9286543,
"equity_diff": 0.0,
"probabilities": {
"win": 0.8513632,
"win_gammon": 0.43550923,
"win_backgammon": 0.005316701,
"lose_gammon": 0.014350709,
"lose_backgammon": 0.0
}
},
{
"rank": 2,
"move": "9/3 8/3",
"ply": 0,
"equity": 0.91481084,
"equity_diff": -0.013843477,
"probabilities": {
"win": 0.8225226,
"win_gammon": 0.41249195,
"win_backgammon": 0.011286367,
"lose_gammon": 0.021570234,
"lose_backgammon": 0.00028053587
}
},
{
"rank": 3,
"move": "8/2* 7/2",
"ply": 0,
"equity": 0.91188866,
"equity_diff": -0.016765654,
"probabilities": {
"win": 0.81643474,
"win_gammon": 0.505939,
"win_backgammon": 0.019068513,
"lose_gammon": 0.024723591,
"lose_backgammon": 0.00033526268
}
},
{
"rank": 4,
"move": "7/1* 6/1",
"ply": 0,
"equity": 0.91151243,
"equity_diff": -0.017141879,
"probabilities": {
"win": 0.8156509,
"win_gammon": 0.5107823,
"win_backgammon": 0.012463278,
"lose_gammon": 0.02574886,
"lose_backgammon": 0.00029595735
}
},
{
"rank": 5,
"move": "10/4 9/4",
"ply": 0,
"equity": 0.909599,
"equity_diff": -0.019055307,
"probabilities": {
"win": 0.8116646,
"win_gammon": 0.38501698,
"win_backgammon": 0.009137439,
"lose_gammon": 0.024035273,
"lose_backgammon": 0.00020561785
}
},
{
"rank": 6,
"move": "10/4 6/1*",
"ply": 0,
"equity": 0.8990789,
"equity_diff": -0.029575408,
"probabilities": {
"win": 0.7897477,
"win_gammon": 0.43079844,
"win_backgammon": 0.013715115,
"lose_gammon": 0.035248894,
"lose_backgammon": 0.00074340653
}
},
{
"rank": 7,
"move": "10/5 8/2*",
"ply": 0,
"equity": 0.88933027,
"equity_diff": -0.039324045,
"probabilities": {
"win": 0.7694381,
"win_gammon": 0.4339997,
"win_backgammon": 0.019571386,
"lose_gammon": 0.045657642,
"lose_backgammon": 0.0015209726
}
},
{
"rank": 8,
"move": "9/4 9/3",
"ply": 0,
"equity": 0.88823783,
"equity_diff": -0.04041648,
"probabilities": {
"win": 0.76716214,
"win_gammon": 0.35637382,
"win_backgammon": 0.011056388,
"lose_gammon": 0.036706883,
"lose_backgammon": 0.00064023735
}
},
{
"rank": 9,
"move": "7/2* 7/1*",
"ply": 0,
"equity": 0.8866432,
"equity_diff": -0.04201114,
"probabilities": {
"win": 0.76384,
"win_gammon": 0.5207646,
"win_backgammon": 0.016013121,
"lose_gammon": 0.045796365,
"lose_backgammon": 0.0012542859
}
},
{
"rank": 10,
"move": "8/2* 6/1*",
"ply": 0,
"equity": 0.8841353,
"equity_diff": -0.044519007,
"probabilities": {
"win": 0.75861526,
"win_gammon": 0.5065599,
"win_backgammon": 0.014366001,
"lose_gammon": 0.051405713,
"lose_backgammon": 0.0017987059
}
}
]
}
},
"2": {
"evaluation": {
"probabilities": {
"win": 0.8567083,
"win_gammon": 0.41042906,
"win_backgammon": 0.010711104,
"lose_gammon": 0.011253362,
"lose_backgammon": 0.0001909562
},
"equity": 1.1231124
},
"moves": {
"legal_move_count": 20,
"ranking": [
{
"rank": 1,
"move": "8/2* 7/2",
"ply": 2,
"equity": 1.0,
"equity_diff": 0.0,
"probabilities": {
"win": 0.81325984,
"win_gammon": 0.47152492,
"win_backgammon": 0.015115261,
"lose_gammon": 0.021139864,
"lose_backgammon": 0.00058008975
}
},
{
"rank": 2,
"move": "7/1* 6/1",
"ply": 2,
"equity": 1.0,
"equity_diff": 0.0,
"probabilities": {
"win": 0.8139828,
"win_gammon": 0.4687021,
"win_backgammon": 0.008918843,
"lose_gammon": 0.022820208,
"lose_backgammon": 0.0004943738
}
},
{
"rank": 3,
"move": "10/5 10/4",
"ply": 2,
"equity": 1.0,
"equity_diff": 0.0,
"probabilities": {
"win": 0.8509312,
"win_gammon": 0.3720924,
"win_backgammon": 0.0070947357,
"lose_gammon": 0.011542028,
"lose_backgammon": 3.5199406e-05
}
},
{
"rank": 4,
"move": "10/4 9/4",
"ply": 2,
"equity": 1.0,
"equity_diff": 0.0,
"probabilities": {
"win": 0.8130758,
"win_gammon": 0.3676943,
"win_backgammon": 0.008449971,
"lose_gammon": 0.020860892,
"lose_backgammon": 0.00039270156
}
},
{
"rank": 5,
"move": "10/4 6/1*",
"ply": 2,
"equity": 0.98973477,
"equity_diff": -0.010265231,
"probabilities": {
"win": 0.79894304,
"win_gammon": 0.3953247,
"win_backgammon": 0.00967248,
"lose_gammon": 0.025952648,
"lose_backgammon": 0.00059328304
}
},
{
"rank": 6,
"move": "9/3 8/3",
"ply": 2,
"equity": 0.9731504,
"equity_diff": -0.026849627,
"probabilities": {
"win": 0.82461846,
"win_gammon": 0.38691625,
"win_backgammon": 0.0090406,
"lose_gammon": 0.02157075,
"lose_backgammon": 0.0006911739
}
},
{
"rank": 7,
"move": "9/4 9/3",
"ply": 1,
"equity": 0.9465788,
"equity_diff": -0.0534212,
"probabilities": {
"win": 0.7728535,
"win_gammon": 0.42011485,
"win_backgammon": 0.01456115,
"lose_gammon": 0.037108038,
"lose_backgammon": 0.0013165966
}
},
{
"rank": 8,
"move": "7/2* 7/1*",
"ply": 1,
"equity": 0.897239,
"equity_diff": -0.10276097,
"probabilities": {
"win": 0.7557639,
"win_gammon": 0.50819904,
"win_backgammon": 0.014897239,
"lose_gammon": 0.04800537,
"lose_backgammon": 0.002055657
}
},
{
"rank": 9,
"move": "10/5 8/2*",
"ply": 1,
"equity": 0.8937871,
"equity_diff": -0.106212914,
"probabilities": {
"win": 0.7646039,
"win_gammon": 0.44300845,
"win_backgammon": 0.014629123,
"lose_gammon": 0.043236062,
"lose_backgammon": 0.0018545209
}
},
{
"rank": 10,
"move": "8/2* 6/1*",
"ply": 1,
"equity": 0.88665456,
"equity_diff": -0.113345444,
"probabilities": {
"win": 0.7548188,
"win_gammon": 0.4978714,
"win_backgammon": 0.0123877935,
"lose_gammon": 0.05122026,
"lose_backgammon": 0.002442581
}
}
]
}
}
}
}
+342
View File
@@ -0,0 +1,342 @@
{
"id": "prime-vs-prime",
"type": "move",
"categories": [
"prime"
],
"description": "Prime contre prime, 4-2 à jouer.",
"position_id": "4LZtAAbAbZsBAw",
"match_id": "cAkKAAAAAAAA",
"gnubg_commit": "14b67984737ded0f6de43d63dcb789f729d9b06b",
"met": "Kazaross-XG2",
"context": {
"dice": [
4,
2
],
"match_length": 0,
"score_player": 0,
"score_opponent": 0,
"crawford": false,
"jacoby": true,
"beavers": true,
"cube_value": 1,
"cube_owner": "centered"
},
"plies": {
"0": {
"evaluation": {
"probabilities": {
"win": 0.5859382,
"win_gammon": 0.104033135,
"win_backgammon": 0.0015103245,
"lose_gammon": 0.08213356,
"lose_backgammon": 0.0018884396
},
"equity": 0.19339794
},
"moves": {
"legal_move_count": 30,
"ranking": [
{
"rank": 1,
"move": "13/9 7/5",
"ply": 0,
"equity": 0.25847092,
"equity_diff": 0.0,
"probabilities": {
"win": 0.5787089,
"win_gammon": 0.116331734,
"win_backgammon": 0.001626573,
"lose_gammon": 0.093117766,
"lose_backgammon": 0.003826014
}
},
{
"rank": 2,
"move": "13/11 13/9",
"ply": 0,
"equity": 0.221898,
"equity_diff": -0.03657292,
"probabilities": {
"win": 0.5663601,
"win_gammon": 0.10177347,
"win_backgammon": 0.0009054669,
"lose_gammon": 0.07929507,
"lose_backgammon": 0.0017394633
}
},
{
"rank": 3,
"move": "13/9 11/9",
"ply": 0,
"equity": 0.19645907,
"equity_diff": -0.062011853,
"probabilities": {
"win": 0.5583523,
"win_gammon": 0.09458251,
"win_backgammon": 0.0006703551,
"lose_gammon": 0.07210356,
"lose_backgammon": 0.002796524
}
},
{
"rank": 4,
"move": "13/11 7/3",
"ply": 0,
"equity": 0.19219376,
"equity_diff": -0.06627716,
"probabilities": {
"win": 0.5591088,
"win_gammon": 0.1001975,
"win_backgammon": 0.0012615522,
"lose_gammon": 0.08479082,
"lose_backgammon": 0.0027743012
}
},
{
"rank": 5,
"move": "13/7",
"ply": 0,
"equity": 0.18945344,
"equity_diff": -0.069017485,
"probabilities": {
"win": 0.55739087,
"win_gammon": 0.09633856,
"win_backgammon": 0.00093676086,
"lose_gammon": 0.0790465,
"lose_backgammon": 0.0019305774
}
},
{
"rank": 6,
"move": "11/9 7/3",
"ply": 0,
"equity": 0.09367702,
"equity_diff": -0.16479391,
"probabilities": {
"win": 0.5286896,
"win_gammon": 0.092135176,
"win_backgammon": 0.0011084256,
"lose_gammon": 0.082942754,
"lose_backgammon": 0.0031702474
}
},
{
"rank": 7,
"move": "11/9 11/7",
"ply": 0,
"equity": 0.04228642,
"equity_diff": -0.2161845,
"probabilities": {
"win": 0.5131979,
"win_gammon": 0.0827335,
"win_backgammon": 0.00075263315,
"lose_gammon": 0.0792447,
"lose_backgammon": 0.00175771
}
},
{
"rank": 8,
"move": "11/5",
"ply": 0,
"equity": 0.033703107,
"equity_diff": -0.22476782,
"probabilities": {
"win": 0.5145213,
"win_gammon": 0.09494684,
"win_backgammon": 0.0014330989,
"lose_gammon": 0.10159985,
"lose_backgammon": 0.0047021317
}
},
{
"rank": 9,
"move": "7/5 7/3",
"ply": 0,
"equity": -0.008577732,
"equity_diff": -0.26704866,
"probabilities": {
"win": 0.5076164,
"win_gammon": 0.10781382,
"win_backgammon": 0.0021902262,
"lose_gammon": 0.13264568,
"lose_backgammon": 0.008471891
}
},
{
"rank": 10,
"move": "13/9 8/6",
"ply": 0,
"equity": -0.019187106,
"equity_diff": -0.27765802,
"probabilities": {
"win": 0.50290227,
"win_gammon": 0.10569657,
"win_backgammon": 0.0015536122,
"lose_gammon": 0.12802827,
"lose_backgammon": 0.00678722
}
}
]
}
},
"2": {
"evaluation": {
"probabilities": {
"win": 0.573719,
"win_gammon": 0.10084047,
"win_backgammon": 0.002428729,
"lose_gammon": 0.07975082,
"lose_backgammon": 0.0017157685
},
"equity": 0.16924071
},
"moves": {
"legal_move_count": 30,
"ranking": [
{
"rank": 1,
"move": "13/11 13/9",
"ply": 2,
"equity": 0.28092703,
"equity_diff": 0.0,
"probabilities": {
"win": 0.5902071,
"win_gammon": 0.10632644,
"win_backgammon": 0.0016070568,
"lose_gammon": 0.08428587,
"lose_backgammon": 0.0029952566
}
},
{
"rank": 2,
"move": "13/9 7/5",
"ply": 2,
"equity": 0.2633432,
"equity_diff": -0.017583847,
"probabilities": {
"win": 0.5850047,
"win_gammon": 0.107560314,
"win_backgammon": 0.0020355762,
"lose_gammon": 0.08815433,
"lose_backgammon": 0.0035044546
}
},
{
"rank": 3,
"move": "13/7",
"ply": 2,
"equity": 0.23465449,
"equity_diff": -0.046272546,
"probabilities": {
"win": 0.57621956,
"win_gammon": 0.1040979,
"win_backgammon": 0.0014530121,
"lose_gammon": 0.08800088,
"lose_backgammon": 0.003090742
}
},
{
"rank": 4,
"move": "13/11 7/3",
"ply": 1,
"equity": 0.110035,
"equity_diff": -0.17089203,
"probabilities": {
"win": 0.5356576,
"win_gammon": 0.09340437,
"win_backgammon": 0.0022042661,
"lose_gammon": 0.086402275,
"lose_backgammon": 0.0021580954
}
},
{
"rank": 5,
"move": "13/9 11/9",
"ply": 1,
"equity": 0.10979114,
"equity_diff": -0.1711359,
"probabilities": {
"win": 0.532701,
"win_gammon": 0.09258151,
"win_backgammon": 0.0021347587,
"lose_gammon": 0.07688659,
"lose_backgammon": 0.001572368
}
},
{
"rank": 6,
"move": "11/9 11/7",
"ply": 1,
"equity": 0.08005641,
"equity_diff": -0.20087063,
"probabilities": {
"win": 0.5264142,
"win_gammon": 0.082415216,
"win_backgammon": 0.002125705,
"lose_gammon": 0.07943145,
"lose_backgammon": 0.0014926612
}
},
{
"rank": 7,
"move": "11/5",
"ply": 1,
"equity": 0.06761365,
"equity_diff": -0.21331339,
"probabilities": {
"win": 0.527151,
"win_gammon": 0.09548307,
"win_backgammon": 0.0035322409,
"lose_gammon": 0.10803594,
"lose_backgammon": 0.0034483601
}
},
{
"rank": 8,
"move": "7/1",
"ply": 1,
"equity": 0.042479984,
"equity_diff": -0.23844704,
"probabilities": {
"win": 0.51697606,
"win_gammon": 0.089571245,
"win_backgammon": 0.0018772773,
"lose_gammon": 0.09657972,
"lose_backgammon": 0.0024391545
}
},
{
"rank": 9,
"move": "11/9 7/3",
"ply": 1,
"equity": -0.009245263,
"equity_diff": -0.2901723,
"probabilities": {
"win": 0.4997064,
"win_gammon": 0.08421732,
"win_backgammon": 0.002413399,
"lose_gammon": 0.09338032,
"lose_backgammon": 0.0025060475
}
},
{
"rank": 10,
"move": "9/5 7/5",
"ply": 1,
"equity": -0.036094524,
"equity_diff": -0.31702155,
"probabilities": {
"win": 0.49184453,
"win_gammon": 0.08312693,
"win_backgammon": 0.0025748007,
"lose_gammon": 0.09706599,
"lose_backgammon": 0.002300389
}
}
]
}
}
}
}
+342
View File
@@ -0,0 +1,342 @@
{
"id": "race-1",
"type": "move",
"categories": [
"race"
],
"description": "Course courte sans contact, 6-2 à jouer.",
"position_id": "trsXAADs7mwAAA",
"match_id": "cAkLAAAAAAAA",
"gnubg_commit": "14b67984737ded0f6de43d63dcb789f729d9b06b",
"met": "Kazaross-XG2",
"context": {
"dice": [
6,
2
],
"match_length": 0,
"score_player": 0,
"score_opponent": 0,
"crawford": false,
"jacoby": true,
"beavers": true,
"cube_value": 1,
"cube_owner": "centered"
},
"plies": {
"0": {
"evaluation": {
"probabilities": {
"win": 0.22300714,
"win_gammon": 0.0,
"win_backgammon": 0.0,
"lose_gammon": 5.0172162e-05,
"lose_backgammon": 0.0
},
"equity": -0.5540359
},
"moves": {
"legal_move_count": 12,
"ranking": [
{
"rank": 1,
"move": "8/6 8/2",
"ply": 0,
"equity": -0.99325633,
"equity_diff": 0.0,
"probabilities": {
"win": 0.2110784,
"win_gammon": 0.0,
"win_backgammon": 0.0,
"lose_gammon": 5.0172162e-05,
"lose_backgammon": 0.0
}
},
{
"rank": 2,
"move": "9/3 8/6",
"ply": 0,
"equity": -1.0,
"equity_diff": -0.0067436695,
"probabilities": {
"win": 0.20910054,
"win_gammon": 0.0,
"win_backgammon": 0.0,
"lose_gammon": 5.0172162e-05,
"lose_backgammon": 0.0
}
},
{
"rank": 3,
"move": "9/7 8/2",
"ply": 0,
"equity": -1.0,
"equity_diff": -0.0067436695,
"probabilities": {
"win": 0.20572007,
"win_gammon": 0.0,
"win_backgammon": 0.0,
"lose_gammon": 5.0172162e-05,
"lose_backgammon": 0.0
}
},
{
"rank": 4,
"move": "8/2 3/1",
"ply": 0,
"equity": -1.0,
"equity_diff": -0.0067436695,
"probabilities": {
"win": 0.20436102,
"win_gammon": 0.0,
"win_backgammon": 0.0,
"lose_gammon": 5.0172162e-05,
"lose_backgammon": 0.0
}
},
{
"rank": 5,
"move": "9/1",
"ply": 0,
"equity": -1.0,
"equity_diff": -0.0067436695,
"probabilities": {
"win": 0.20345944,
"win_gammon": 0.0,
"win_backgammon": 0.0,
"lose_gammon": 5.0172162e-05,
"lose_backgammon": 0.0
}
},
{
"rank": 6,
"move": "9/7 9/3",
"ply": 0,
"equity": -1.0,
"equity_diff": -0.0067436695,
"probabilities": {
"win": 0.20253927,
"win_gammon": 0.0,
"win_backgammon": 0.0,
"lose_gammon": 5.0172162e-05,
"lose_backgammon": 0.0
}
},
{
"rank": 7,
"move": "8/2 6/4",
"ply": 0,
"equity": -1.0,
"equity_diff": -0.0067436695,
"probabilities": {
"win": 0.19989008,
"win_gammon": 0.0,
"win_backgammon": 0.0,
"lose_gammon": 5.0172162e-05,
"lose_backgammon": 0.0
}
},
{
"rank": 8,
"move": "8/2 4/2",
"ply": 0,
"equity": -1.0,
"equity_diff": -0.0067436695,
"probabilities": {
"win": 0.19952285,
"win_gammon": 0.0,
"win_backgammon": 0.0,
"lose_gammon": 5.0172162e-05,
"lose_backgammon": 0.0
}
},
{
"rank": 9,
"move": "9/3 4/2",
"ply": 0,
"equity": -1.0,
"equity_diff": -0.0067436695,
"probabilities": {
"win": 0.19951928,
"win_gammon": 0.0,
"win_backgammon": 0.0,
"lose_gammon": 5.0172162e-05,
"lose_backgammon": 0.0
}
},
{
"rank": 10,
"move": "9/3 6/4",
"ply": 0,
"equity": -1.0,
"equity_diff": -0.0067436695,
"probabilities": {
"win": 0.19472843,
"win_gammon": 0.0,
"win_backgammon": 0.0,
"lose_gammon": 5.0172162e-05,
"lose_backgammon": 0.0
}
}
]
}
},
"2": {
"evaluation": {
"probabilities": {
"win": 0.22191674,
"win_gammon": 0.0,
"win_backgammon": 0.0,
"lose_gammon": 4.3242515e-05,
"lose_backgammon": 0.0
},
"equity": -0.5562098
},
"moves": {
"legal_move_count": 12,
"ranking": [
{
"rank": 1,
"move": "8/6 8/2",
"ply": 2,
"equity": -1.0,
"equity_diff": 0.0,
"probabilities": {
"win": 0.21125406,
"win_gammon": 0.0,
"win_backgammon": 0.0,
"lose_gammon": 2.647975e-05,
"lose_backgammon": 0.0
}
},
{
"rank": 2,
"move": "9/3 8/6",
"ply": 2,
"equity": -1.0,
"equity_diff": 0.0,
"probabilities": {
"win": 0.2100758,
"win_gammon": 0.0,
"win_backgammon": 0.0,
"lose_gammon": 1.8350003e-05,
"lose_backgammon": 0.0
}
},
{
"rank": 3,
"move": "9/7 8/2",
"ply": 2,
"equity": -1.0,
"equity_diff": 0.0,
"probabilities": {
"win": 0.2079969,
"win_gammon": 0.0,
"win_backgammon": 0.0,
"lose_gammon": 4.320381e-05,
"lose_backgammon": 0.0
}
},
{
"rank": 4,
"move": "8/2 3/1",
"ply": 2,
"equity": -1.0,
"equity_diff": 0.0,
"probabilities": {
"win": 0.20499009,
"win_gammon": 0.0,
"win_backgammon": 0.0,
"lose_gammon": 4.4597477e-05,
"lose_backgammon": 0.0
}
},
{
"rank": 5,
"move": "9/1",
"ply": 2,
"equity": -1.0,
"equity_diff": 0.0,
"probabilities": {
"win": 0.20378089,
"win_gammon": 0.0,
"win_backgammon": 0.0,
"lose_gammon": 4.320381e-05,
"lose_backgammon": 0.0
}
},
{
"rank": 6,
"move": "9/7 9/3",
"ply": 2,
"equity": -1.0,
"equity_diff": 0.0,
"probabilities": {
"win": 0.2022022,
"win_gammon": 0.0,
"win_backgammon": 0.0,
"lose_gammon": 4.320381e-05,
"lose_backgammon": 0.0
}
},
{
"rank": 7,
"move": "8/2 6/4",
"ply": 1,
"equity": -1.0,
"equity_diff": 0.0,
"probabilities": {
"win": 0.19859427,
"win_gammon": 0.0,
"win_backgammon": 0.0,
"lose_gammon": 5.017216e-05,
"lose_backgammon": 0.0
}
},
{
"rank": 8,
"move": "8/2 4/2",
"ply": 1,
"equity": -1.0,
"equity_diff": 0.0,
"probabilities": {
"win": 0.19832993,
"win_gammon": 0.0,
"win_backgammon": 0.0,
"lose_gammon": 5.017216e-05,
"lose_backgammon": 0.0
}
},
{
"rank": 9,
"move": "9/3 4/2",
"ply": 1,
"equity": -1.0,
"equity_diff": 0.0,
"probabilities": {
"win": 0.19807649,
"win_gammon": 0.0,
"win_backgammon": 0.0,
"lose_gammon": 5.017216e-05,
"lose_backgammon": 0.0
}
},
{
"rank": 10,
"move": "8/2 5/3",
"ply": 1,
"equity": -1.0,
"equity_diff": 0.0,
"probabilities": {
"win": 0.19526589,
"win_gammon": 0.0,
"win_backgammon": 0.0,
"lose_gammon": 5.017216e-05,
"lose_backgammon": 0.0
}
}
]
}
}
}
}
+342
View File
@@ -0,0 +1,342 @@
{
"id": "race-2",
"type": "move",
"categories": [
"race"
],
"description": "Course longue sans contact, 5-4 à jouer.",
"position_id": "cLezAQBwN2cGAA",
"match_id": "cIkSAAAAAAAA",
"gnubg_commit": "14b67984737ded0f6de43d63dcb789f729d9b06b",
"met": "Kazaross-XG2",
"context": {
"dice": [
5,
4
],
"match_length": 0,
"score_player": 0,
"score_opponent": 0,
"crawford": false,
"jacoby": true,
"beavers": true,
"cube_value": 1,
"cube_owner": "centered"
},
"plies": {
"0": {
"evaluation": {
"probabilities": {
"win": 0.40590674,
"win_gammon": 5.0172162e-05,
"win_backgammon": 0.0,
"lose_gammon": 0.00011031296,
"lose_backgammon": 0.0
},
"equity": -0.18824667
},
"moves": {
"legal_move_count": 29,
"ranking": [
{
"rank": 1,
"move": "13/9 11/6",
"ply": 0,
"equity": -0.22230339,
"equity_diff": 0.0,
"probabilities": {
"win": 0.42750978,
"win_gammon": 5.0172162e-05,
"win_backgammon": 0.0,
"lose_gammon": 5.0172162e-05,
"lose_backgammon": 0.0
}
},
{
"rank": 2,
"move": "11/6 9/5",
"ply": 0,
"equity": -0.22993731,
"equity_diff": -0.0076339245,
"probabilities": {
"win": 0.42501032,
"win_gammon": 7.926868e-05,
"win_backgammon": 0.0,
"lose_gammon": 5.0172162e-05,
"lose_backgammon": 0.0
}
},
{
"rank": 3,
"move": "13/8 9/5",
"ply": 0,
"equity": -0.23005769,
"equity_diff": -0.007754296,
"probabilities": {
"win": 0.42498118,
"win_gammon": 5.0172162e-05,
"win_backgammon": 0.0,
"lose_gammon": 5.0172162e-05,
"lose_backgammon": 0.0
}
},
{
"rank": 4,
"move": "13/9 13/8",
"ply": 0,
"equity": -0.23073325,
"equity_diff": -0.008429855,
"probabilities": {
"win": 0.42476094,
"win_gammon": 5.0172162e-05,
"win_backgammon": 0.0,
"lose_gammon": 5.0172162e-05,
"lose_backgammon": 0.0
}
},
{
"rank": 5,
"move": "13/8 11/7",
"ply": 0,
"equity": -0.23153114,
"equity_diff": -0.009227753,
"probabilities": {
"win": 0.4245007,
"win_gammon": 5.0172162e-05,
"win_backgammon": 0.0,
"lose_gammon": 5.0172162e-05,
"lose_backgammon": 0.0
}
},
{
"rank": 6,
"move": "11/7 11/6",
"ply": 0,
"equity": -0.2335976,
"equity_diff": -0.011294216,
"probabilities": {
"win": 0.4238268,
"win_gammon": 5.0172162e-05,
"win_backgammon": 0.0,
"lose_gammon": 5.0172162e-05,
"lose_backgammon": 0.0
}
},
{
"rank": 7,
"move": "13/8 7/3",
"ply": 0,
"equity": -0.23374501,
"equity_diff": -0.011441618,
"probabilities": {
"win": 0.42377877,
"win_gammon": 5.0172162e-05,
"win_backgammon": 0.0,
"lose_gammon": 5.0172162e-05,
"lose_backgammon": 0.0
}
},
{
"rank": 8,
"move": "11/6 7/3",
"ply": 0,
"equity": -0.23394687,
"equity_diff": -0.011643484,
"probabilities": {
"win": 0.42370635,
"win_gammon": 6.923826e-05,
"win_backgammon": 0.0,
"lose_gammon": 5.0172162e-05,
"lose_backgammon": 0.0
}
},
{
"rank": 9,
"move": "13/4",
"ply": 0,
"equity": -0.23507257,
"equity_diff": -0.012769178,
"probabilities": {
"win": 0.42334592,
"win_gammon": 5.0172162e-05,
"win_backgammon": 0.0,
"lose_gammon": 5.0172162e-05,
"lose_backgammon": 0.0
}
},
{
"rank": 10,
"move": "13/9 7/2",
"ply": 0,
"equity": -0.23529215,
"equity_diff": -0.012988761,
"probabilities": {
"win": 0.4232731,
"win_gammon": 5.365527e-05,
"win_backgammon": 0.0,
"lose_gammon": 5.0172162e-05,
"lose_backgammon": 0.0
}
}
]
}
},
"2": {
"evaluation": {
"probabilities": {
"win": 0.4062826,
"win_gammon": 5.017216e-05,
"win_backgammon": 0.0,
"lose_gammon": 0.00014703373,
"lose_backgammon": 0.0
},
"equity": -0.18753165
},
"moves": {
"legal_move_count": 29,
"ranking": [
{
"rank": 1,
"move": "13/9 11/6",
"ply": 2,
"equity": -0.21922025,
"equity_diff": 0.0,
"probabilities": {
"win": 0.42613363,
"win_gammon": 5.020016e-05,
"win_backgammon": 0.0,
"lose_gammon": 5.017216e-05,
"lose_backgammon": 0.0
}
},
{
"rank": 2,
"move": "13/9 13/8",
"ply": 2,
"equity": -0.2202243,
"equity_diff": -0.0010040551,
"probabilities": {
"win": 0.4258194,
"win_gammon": 5.017216e-05,
"win_backgammon": 0.0,
"lose_gammon": 5.017216e-05,
"lose_backgammon": 0.0
}
},
{
"rank": 3,
"move": "11/6 9/5",
"ply": 2,
"equity": -0.22022447,
"equity_diff": -0.001004219,
"probabilities": {
"win": 0.42580163,
"win_gammon": 5.0231392e-05,
"win_backgammon": 0.0,
"lose_gammon": 5.017216e-05,
"lose_backgammon": 0.0
}
},
{
"rank": 4,
"move": "13/8 9/5",
"ply": 2,
"equity": -0.22088149,
"equity_diff": -0.001661241,
"probabilities": {
"win": 0.42555606,
"win_gammon": 5.017216e-05,
"win_backgammon": 0.0,
"lose_gammon": 5.017216e-05,
"lose_backgammon": 0.0
}
},
{
"rank": 5,
"move": "11/7 11/6",
"ply": 2,
"equity": -0.22277355,
"equity_diff": -0.003553301,
"probabilities": {
"win": 0.42487752,
"win_gammon": 5.0212635e-05,
"win_backgammon": 0.0,
"lose_gammon": 5.017216e-05,
"lose_backgammon": 0.0
}
},
{
"rank": 6,
"move": "13/4",
"ply": 2,
"equity": -0.2230124,
"equity_diff": -0.0037921518,
"probabilities": {
"win": 0.42485,
"win_gammon": 5.024074e-05,
"win_backgammon": 0.0,
"lose_gammon": 5.0183233e-05,
"lose_backgammon": 0.0
}
},
{
"rank": 7,
"move": "11/7 9/4",
"ply": 1,
"equity": -0.22985312,
"equity_diff": -0.010632873,
"probabilities": {
"win": 0.4204048,
"win_gammon": 5.017216e-05,
"win_backgammon": 0.0,
"lose_gammon": 6.302685e-05,
"lose_backgammon": 0.0
}
},
{
"rank": 8,
"move": "13/8 11/7",
"ply": 1,
"equity": -0.23169218,
"equity_diff": -0.012471929,
"probabilities": {
"win": 0.4197837,
"win_gammon": 5.017216e-05,
"win_backgammon": 0.0,
"lose_gammon": 0.00022215334,
"lose_backgammon": 0.0
}
},
{
"rank": 9,
"move": "9/4 7/3",
"ply": 1,
"equity": -0.23420003,
"equity_diff": -0.01497978,
"probabilities": {
"win": 0.4189803,
"win_gammon": 5.017216e-05,
"win_backgammon": 0.0,
"lose_gammon": 0.00013822057,
"lose_backgammon": 0.0
}
},
{
"rank": 10,
"move": "13/9 7/2",
"ply": 1,
"equity": -0.23561361,
"equity_diff": -0.016393363,
"probabilities": {
"win": 0.4184612,
"win_gammon": 5.017216e-05,
"win_backgammon": 0.0,
"lose_gammon": 0.00018745882,
"lose_backgammon": 0.0
}
}
]
}
}
}
}
+111
View File
@@ -0,0 +1,111 @@
#!/usr/bin/env bash
# Vérifie la cohérence des positions de référence (tests/reference/) :
# JSON valide, au moins 30 positions, chaque catégorie présente, un résultat
# par position aux niveaux 0 et 2 plis avec tous les champs du format
# (voir tests/reference/README.md). Ne lance pas Docker ni gnubg.
set -euo pipefail
cd "$(dirname "$0")/reference"
command -v jq >/dev/null || { echo "jq est requis : sudo apt install jq"; exit 1; }
erreurs=0
signaler() {
echo "$1"
erreurs=$((erreurs + 1))
}
jq empty positions.json || { echo "positions.json : JSON invalide"; exit 1; }
nombre="$(jq '.positions | length' positions.json)"
[ "$nombre" -ge 30 ] || signaler "positions.json : $nombre positions, 30 au minimum"
doublons="$(jq -r '[.positions[].id] | group_by(.) | map(select(length > 1)[0]) | join(" ")' positions.json)"
[ -z "$doublons" ] || signaler "positions.json : identifiants en double : $doublons"
for categorie in opening middlegame prime blitz race bearoff \
cube_no_double cube_double_take cube_double_pass match crawford jacoby; do
jq -e --arg c "$categorie" 'any(.positions[]; .categories | index($c))' positions.json >/dev/null \
|| signaler "positions.json : aucune position de catégorie « $categorie »"
done
# Champs obligatoires de chaque position d'entrée.
invalides="$(jq -r '.positions[]
| select((.id | type) != "string"
or (.type | IN("move", "cube") | not)
or (.position_id | test("^[A-Za-z0-9+/]{14}$") | not)
or (.match_id | test("^[A-Za-z0-9+/]{12}$") | not)
or (.categories | type) != "array"
or (.description | type) != "string"
or (if .type == "move" then (.dice | type) != "array" else .dice != null end))
| "positions.json : position \(.id) incomplète ou invalide"' positions.json)"
[ -z "$invalides" ] || signaler "$invalides"
# Filtre jq : liste les défauts d'un fichier de résultat (vide si conforme).
read -r -d '' controle <<'JQ' || true
def nombre: type == "number";
def probas: (keys == ["lose_backgammon", "lose_gammon", "win", "win_backgammon", "win_gammon"])
and all(.[]; nombre and . >= 0 and . <= 1);
def defauts($pos):
(if .id != $pos.id or .type != $pos.type or .position_id != $pos.position_id
or .match_id != $pos.match_id or .categories != $pos.categories
then "en-tête différent de positions.json" else empty end),
(if (.gnubg_commit | test("^[0-9a-f]{40}$")) and .met == "Kazaross-XG2" then empty
else "gnubg_commit ou met invalide" end),
(.context | if (.dice == $pos.dice) and (.match_length | nombre)
and (.score_player | nombre) and (.score_opponent | nombre)
and (.cube_value | nombre) and (.cube_owner | IN("centered", "player", "opponent"))
and ([.crawford, .jacoby, .beavers] | all(type == "boolean"))
then empty else "context incomplet" end),
(if (.plies | keys) == ["0", "2"] then empty else "niveaux attendus : 0 et 2" end),
(.plies | to_entries[] | .key as $n | .value |
(if (.evaluation.probabilities | probas) and (.evaluation.equity | nombre)
then empty else "niveau \($n) : evaluation incomplète" end),
(if $pos.type == "move" then
(.moves | if (.legal_move_count | nombre)
and (.ranking | length) == ([.legal_move_count, 10] | min)
and all(.ranking[]; (.rank | nombre) and (.move | type) == "string"
and (.ply | nombre) and (.equity | nombre) and (.equity_diff | nombre)
and (.probabilities | probas))
then empty else "niveau \($n) : classement des coups incomplet" end)
else
(.cube | if ([.no_double, .double_take, .double_pass, .optimal] | all(nombre))
and (.decision | type) == "string" and (.decision_text | type) == "string"
then empty else "niveau \($n) : décision de videau incomplète" end)
end));
defauts($pos)
JQ
# Décision de videau attendue à 2 plis selon la catégorie.
read -r -d '' decision <<'JQ' || true
.categories as $c | .plies["2"].cube.decision as $d
| if ($c | index("cube_no_double")) and ($d | test("^NO_?(RE)?DOUBLE_") | not) then "pas de double attendu, gnubg dit \($d)"
elif ($c | index("cube_double_take")) and ($d | IN("DOUBLE_TAKE", "REDOUBLE_TAKE") | not) then "double/prend attendu, gnubg dit \($d)"
elif ($c | index("cube_double_pass")) and ($d | IN("DOUBLE_PASS", "REDOUBLE_PASS") | not) then "double/passe attendu, gnubg dit \($d)"
else empty end
JQ
mapfile -t ids < <(jq -r '.positions[].id' positions.json)
for id in "${ids[@]}"; do
f="results/$id.json"
if [ ! -f "$f" ]; then
signaler "$f absent : lancer make reference"
continue
fi
if ! jq empty "$f" 2>/dev/null; then
signaler "$f : JSON invalide"
continue
fi
pos="$(jq --arg id "$id" '.positions[] | select(.id == $id)' positions.json)"
while read -r defaut; do
[ -n "$defaut" ] && signaler "$f : $defaut"
done < <(jq -r --argjson pos "$pos" "$controle" "$f"; jq -r "$decision" "$f")
done
for f in results/*.json; do
[ -e "$f" ] || continue
id="$(basename "$f" .json)"
printf '%s\n' "${ids[@]}" | grep -qxF "$id" || signaler "$f : position absente de positions.json"
done
[ "$erreurs" -eq 0 ]