google-deepmind / google-deepmind/open_spiel

transposition table ?

Open
#1,582 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
5.5k
Forks
1.2k
Avg merge
2d 8h
Merged PRs (30d)
4

Description

Suppose I want to implement a basic algorithm such as AlphaBeta with transposition table for a deterministic game with full observability, I would need a function key(state) such that if any two states s1 and s2 are equivalent (in the sense they have similar futures, whatever the past) then key(s1)=key(s2).
I haven't found such a function in the API.

At first glance, I have the feeling that serialize() may produce different results for equivalent states. Similarly, I have the feeling that state representation may produce identical results for different states (eg in chess there are special rules about repetitions, en passant, etc...)

Have I missed something ? (sorry if this is the case)

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the API documentation and implementations for serialize() and state representation. Compare their behavior for equivalent states and history-sensitive cases such as repetitions and en passant. Done should be a clear determination of whether an appropriate transposition-table key exists or what API change is needed.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
ai, backend-api-design
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.