I have an idea for the encoding! How about this: 1. There are 32 different pieces, so you need 5 bits for a piece. (W) 2. There are 64 squares on a chess board, so you need 64 * 5 bits to be able to place any piece on any square. 3. Amend the above (#1) to have 6 bits - you need to encode a "empty" piece - making #2 64 * 6 bits.
So now you can express the entire chess board with all pieces having a square plus missing piece squares (empty squares). You should probably have topography using 64 * 6 bits so you might have to fudge to get an even root by upping the number of bits encoding a piece? Does that make sense? Another option is to use a MultiEncoder with a GeoSpatial and scalar encoder inside. Make a dimple coordinate system for the 64 squares of the chess board. David Sent from my iPhone > On Apr 13, 2015, at 1:14 PM, Matthew Taylor <[email protected]> wrote: > >> On Mon, Apr 13, 2015 at 11:07 AM, Ralf Seliger <[email protected]> wrote: >> For an example have a look at https://web.chessclub.com which is a web >> interface to the Internet Chess Club servers written in JavaScript/jQuery >> (client) and node.js (server). > > Wow, that looks familiar... I created this (client-only) chessboard > with my son while trying to teach him some programming concepts: > > http://rhyolight.github.io/chesster/ > https://github.com/rhyolight/chesster > > On another note, I'm interesting in figuring out how to encode the > state of a chessboard into an SDR so I can train a model on a database > of history chess games. > > --------- > Matt Taylor > OS Community Flag-Bearer > Numenta >
