HN user

spawkfish

14 karma
Posts0
Comments8
View on HN
No posts found.

Training different policies in different styles is a really interesting idea. You could then have a gating process that first chooses the "style" of move to make and then uses the style-specific network to select a move.

I think getting data for this could be difficult though. I wonder how easy it would be to automatically categorize a game record by "style"?

Thanks!

Right now I have just about as close to an "extreme type C" engine as possible. There is a neural network that maps from a board position directly to a ranked list of moves it wants to make., and a little bit of logic on top of that to reject illegal moves.

The recognition of wins/draws/losses is actually done in a layer around the engine, which doesn't understand these things yet. One of "tricks" it is vulnerable to right now is being forced into a draw by repetition, because doesn't know that is a thing to avoid.

Adding a more traditional search (augmented by the network, of course) is on my todo list, and I think it will improve the playing strength a lot. I am pleasantly surprised though, at how well it plays without any of that.

Thanks for your feedback!

I've noticed it making quite a few errors like the one you mention. I think that a little bit of search (say just one or two ply) will help a lot with avoiding this kind of mistake, because the network seems very good at recognizing when a piece is in trouble if you show it the position.

1) Its not open source. I'll consider releasing the code at some point when the project is more mature.

2) The Go engine has a lot of pieces I don't have yet. What I have is similar to the policy network from the Go engine, but right now I don't have anything like the value network or the rollout parts. Also,

3) The current engine has no search at all. Behind the scenes the network ranks all of the moves, and then I walk down the list and choose the highest ranked legal move. The top ranked move is almost always valid, but occasionally one or two need to be rejected. It's very very rare to need to search outside of the top 5.

Search is definitely on the agenda, but I am pleasantly surprised at how well it plays without it.

4) Not yet :)

5) I'm using kingbase for training data (http://www.kingbase-chess.net/)

Hello, I'm the creator of spawkfish :)

The project is still in pretty early stages, so don't expect it won't take down any strong chess players yet, but I'm hoping that with a bit of effort it will be possible for neural networks to do for chess what they have recently done for Go.