google-deepmind / google-deepmind/open_spiel
transposition table ?
- 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
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