GAIGResearch / TabletopGames

MIT License
81 stars 69 forks source link

Heuristic Learning and State Space rep #208

Closed hopshackle closed 2 years ago

hopshackle commented 2 years ago

This introduces a ProgressiveLearner class that tries to learn a useful heuristic from playing a game (and then bootstrapping).

More importantly, it also includes interfaces for IActionFeatureVector and IStateFeatureVector to enable game-specific action- or state-spaces to be defined, that can then hook into this auto-learning process.

IStateFeatureVector examples so far implemented for Dots and Boxes, Love Letter and Dominion (in increasing order of complexity). This is also a useful branching point for implementation of reinforcement learning.