@Matt:
Well, that's what I call a coincidence! Nice piece of code, btw. You (or your son) missed en passant and castling, however ;-)

@Matt, @David:
SDR encoding of chess positions: I guess the real problem is capturing the semantics. Imagine for instance all positions allowing "mate in one". Those position will look wildly different from each other on the board, but would have to have a similar SDR, wouldn't they?


Am 13.04.2015 um 20:52 schrieb David Ray:
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




Reply via email to