Hacker News new | ask | show | jobs
by thangalin 5712 days ago
Architecture in a nutshell:

http://i.imgur.com/IZ52u.png

A list of 10 moves from 30 different machines, even using a heavy-weight protocol like SOAP, would be nearly instantaneous. I would favour a light-weight format such as JSON, though. For other applications, I agree, network bandwidth would be a possible bottleneck.

My initial idea was to have each engine return ten moves, in sequence, with the first move being most important. The moves need not be delivered simultaneously. The Master selects the lowest scoring move that was picked by multiple engines. Other ideas include weighting (the fuseki engine's input is not very important in chuban or yose), and imperative moves (death engine forces a play to save a 30 point group).

The Master would send requests for moves by submitting a board position and whose turn to play.

What I really like about the idea, though, is that anyone could develop an engine (in any language) that adheres to the protocol, and add it to the AI network. At any time.

P.S.

http://www.whitemagicsoftware.com/software/java/jigo/

1 comments

Cool stuff. Do you already have an API for people to write their own solvers -- something that passes a board state and an interface to return ranked choices? How do you stop people on the network from overranking their own AI's choices (assuming this were an open project)?
I do not have an API for solvers. There would have to be a registration system, possibly white-listed by IP address.