Versions in this module Expand all Collapse all v0 v0.1.1 Jan 18, 2021 v0.1.0 Jan 14, 2021 Changes in this version + func EncodeTwoPlayerBoard(a []game.Colour, prealloc []float32) []float32 + func MakeIterator(board []float32, m, n int) (retVal [][]float32) + func ReturnIterator(m, n int, it [][]float32) + func RotateBoard(board []float32, m, n int) ([]float32, error) + func WQEncoder(a game.State) []float32 + type AZ struct + func New(g game.State, conf Config) *AZ + func (a *AZ) Learn(iters, episodes, nniters, arenaGames int) error + func (a *AZ) Load(filename string) error + func (a *AZ) Save(filename string) error + func (a *AZ) SelfPlay() []Example + type Agent struct + Draw float32 + Enc GameEncoder + Loss float32 + MCTS *mcts.MCTS + NN *dual.Dual + Player game.Player + Wins float32 + func (a *Agent) Close() error + func (a *Agent) Infer(g game.State) (policy []float32, value float32) + func (a *Agent) NNOutput(g game.State) (policy []float32, value float32, err error) + func (a *Agent) Search(g game.State) game.Single + func (a *Agent) SwitchToInference(g game.State) (err error) + type Arena struct + A *Agent + B *Agent + func MakeArena(g game.State, a, b Dualer, conf mcts.Config, enc GameEncoder, aug Augmenter, ...) Arena + func NewArena(g game.State, a, b Dualer, conf mcts.Config, enc GameEncoder, aug Augmenter, ...) *Arena + func (a *Arena) Epoch() int + func (a *Arena) GameNumber() int + func (a *Arena) Log(w io.Writer) + func (a *Arena) Name() string + func (a *Arena) Play(record bool, enc OutputEncoder, aug Augmenter) (winner game.Player, examples []Example) + func (a *Arena) Score(p game.Player) float64 + func (a *Arena) State() game.State + type Augmenter func(a Example) []Example + type Config struct + Augmenter Augmenter + Encoder GameEncoder + MCTSConf mcts.Config + MaxExamples int + NNConf dual.Config + Name string + OutputEncoder OutputEncoder + UpdateThreshold float64 + type Dualer interface + Dual func() *dual.Dual + type Example struct + Board []float32 + Policy []float32 + Value float32 + type ExecLogger interface + ExecLog func() string + type GameEncoder func(a game.State) []float32 + type Inferer interface + Infer func(a []float32) (policy []float32, value float32, err error) + type OutputEncoder interface + Encode func(ms game.MetaState) error + Flush func() error + type Statistics struct + Creation []string + Draws map[string][]float32 + Losses map[string][]float32 + Wins map[string][]float32 + func (s *Statistics) Dump(filename string) error