Skip to content

argusdusty/vulpes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Vulpes GoDoc Build Status Report Card

A Negamax AI with Alpha-Beta pruning implementation. For zero-sum, turn-based, two-player games, written in pure Go.

Vulpes is designed to be both performant and easy to use, and comes built-in with an example Connect Four AI capable of searching to depths 15-20 in a matter of seconds, and with modifications could probably solve the game in a few hours.

How?

Just supply 2 functions to fulfill the Game interface:

// Game describes a two-player, zero-sum, turn-based game.
type Game interface {
	// Children returns the child nodes from this one. If the game is not ended, this must return at least 1 child.
	Children() []Game
	// Evaluate returns an evaluation of the current game state from the perspective of the current player. 'ending' must be one of {LOSS, TIE, WIN, UNFINISHED}. 'heuristic' is only required when ending is UNFINISHED.
	Evaluate() (ending int, heuristic float64)
}

About

A Minimax DFS with Alpha-Beta pruning implementation for arbitrary zero-sum, sequential games, written in Go

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages