WIP, Eta - GPGPU ANN based engine, RFC

Discussion of chess software programming and technical issues.

Moderators: bob, hgm, Harvey Williamson

Forum rules
This textbox is used to restore diagrams posted with the [d] tag before the upgrade.
Hrvoje Horvatic
Posts: 14
Joined: Mon Nov 10, 2014 12:53 pm

Re: WIP, Eta - GPGPU ANN based engine, RFC

Post by Hrvoje Horvatic » Sun Mar 03, 2019 8:05 am

smatovic wrote:
Wed Feb 06, 2019 3:45 pm
RFC, would be interested in any possible design flaws you see...
How do you define design flaw? I am Software Architect, and what you are trying to do is something completely new, so there is no established background theory/knowledge that can be used to judge whether something is a "design flaw" or not...

There are opinions and educated guesses though, and I can give you mine, but no one can claim to be an expert on this and dismiss ideas as "design flaws"...
- parallel BestFirstMiniMax-Search on gpu
* game tree in gpu memory
* best node selected via score + UCT formula (visit count based)
* AlphaBeta Q-Search performed at leafnodes to get a node score
I think UCT doesn't work for chess... the reason Leela and A0 show good results is because they are running on enormously powerful hardware, practically super-computers...

UCT is good for strategic games, but chess is both strategic AND tactical... what UCT does is sampling subspace and estimate "average" value, which is useless in case of combinations...

Best first search in general is not "auto-correcting" like alpha-beta... early mistakes are not corrected, so the search very often gets trapped in one part of the tree... A0 has a constant which balances between exploration and exploitation, but that approach in general doesn't work, it's more of a "patch" to cover a wound, than a real solution to a problem...

If you have decided to go for best-first you should check Stuart Russell's Metareasoning approach... it is mathematically more sound approach with some added benefits... start with the paper "Metareasoning for Monte Carlo Tree Search" (there are a few hundred papers on metareasoning, but this is a relevant place to start)
- multiple small MLP neural networks
* about 4 million weights per network
* 30 networks in total, split by piece count
I don't think MLP will do it... If you consider a 3 layer perceptron, it doesn't have enough of "representational power" to represent complex concepts, and if you add additional layers, learning time grows exponentially... It is also pretty bad in extracting geometrical concepts (which chess is all about)...

There are some domains in which MLP shines brightly, but chess is not one of them... I recall that I have read several papers comparing MLPs with convolutional ANNs, and they loose every time... notice that multi-layer CNNs don't have the same problem of exponential learning time as MLPs, because they "cheat" in multiple ways, and they are also constructed from the beginning for geometric problems...

anyway, just my 2 cents... NOT design flaws but opinions...

I wish you all the best, and don't quit easily... :)

Post Reply