I'm thinking about doing my (fourth...) Go(-game) AI implementation in
Elixir for fun, learning and profit. It needs to be as fast as possible
to be good, and one of the cornerstones of course is the game
board/state and many simulations will be run.
A game board is special because...
* has a set size (19x19 for instance), which can also be "unfolded" to
be one dimensional (just 361 fields)
* needs random access (you often check a field and its surrounding
fields, or many of them)
* is usually updated less than read (you move/set one piece but usually
do more checks before that)
* for Go specifically each board field can only have 3 different values
(empty, black, white)
Lists are out due to the random access/update change. Now it seems like
my choices sort of boil down to...
Does anyone have any recommendations/experience/tips which data type
might be best suited to what I'm describing or what data type I might be
missing or ignoring.
Cheers + thanks in advance!