A Crossroad in Computer Chess; Or Desperate Flailing for Relevance

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Rebel, chrisw

gladius
Posts: 568
Joined: Tue Dec 12, 2006 10:10 am
Full name: Gary Linscott

Re: A Crossroad in Computer Chess; Or Desperate Flailing for Relevance

Post by gladius »

AndrewGrant wrote: Tue Sep 29, 2020 9:33 am I could be all wrong. I could be out of touch. But if I'm not, then the future of computer chess, the future of unique and diverse engines, depends upon all of us, as individuals, to encourage and promote new ideas while discouraging those who take from Stockfish without trying their hand at the problem. I'm already concerned when I see engines with Stockfish nets being placed onto rating lists.
There are many motivations for being involved in computer chess. IMO, most do it for the enjoyment. Very few engines hit the level where cloning even starts to be a consideration.

If your desire is to be the top engine, there needs to be something fundamentally new. The leading engines have all had something fundamentally different in their approach. Fruit demonstrating the importance of search over eval, Rybka showing blitz testing of patches applied at scale generates a linear increase in ELO, and Stockfish flipping what was previously a huge disadvantage (open-source) into a key advantage through distributed testing. AlphaZero (and now LCZero) was a fundamentally new approach to the game of chess, and still has a lot of headroom to grow.

NNUE is a continuation of the trend - it's a fundamental advance. It just so happens that it was implemented in SF first (although really it was done by the Shogi folks). I don't think it's specific to SF, and as you say, the idea is simple enough it's not too hard to rebuild from scratch. There might be other competing ideas that can replace it, but NNs have proven to be tough to unseat once they've taken the lead. From now on, it's going to be much easier to build an incredibly strong eval, even without directly taking one of SF nets. It's just part of the toolkit now, and it can't be avoided if strength is a focus.
MikeGL
Posts: 1010
Joined: Thu Sep 01, 2011 2:49 pm

Re: A Crossroad in Computer Chess; Or Desperate Flailing for Relevance

Post by MikeGL »

gladius wrote: Thu Oct 01, 2020 1:24 am
AndrewGrant wrote: Tue Sep 29, 2020 9:33 am I could be all wrong. I could be out of touch. But if I'm not, then the future of computer chess, the future of unique and diverse engines, depends upon all of us, as individuals, to encourage and promote new ideas while discouraging those who take from Stockfish without trying their hand at the problem. I'm already concerned when I see engines with Stockfish nets being placed onto rating lists.
~
~
Fruit demonstrating the importance of search over eval, Rybka showing blitz testing of patches applied at scale generates a linear increase in ELO, and Stockfish flipping what was previously a huge disadvantage (open-source) into a key advantage through distributed testing. AlphaZero (and now LCZero) was a fundamentally new approach to the game of chess, and still has a lot of headroom to grow.
~
~
You've got an excellent point. Innovation is the key to be on top of the list.

Prior to the advent of NNs and ML, who would've thought of the idea that a computer can defeat humans in handcrafted eval terms.
That's impossible you say, nobody can defeat deep understanding of humans when it comes to specific Eval Terms and
humans handcrafted eval func will be always stronger. NOT ANYMORE!

Now NNs proved this haughty stance of humans TO BE WRONG already. Wait when ML /NNs also defeats the best F1 drivers on the planet. But that's quite impossible, one might claim. Humans will always be a better driver than machines. But this haughty stance of humans will fail in the future too. Machine learning is here for good and better embrace it or be extinguished, as posted by Ronald above about the demise of Kodak, Nokia and RIM because those companies didn't adjust with the times.

Now enough of the Eval Function.
Just imagine if NN goes on and replaces the handcrafted Search Function of Chess engines. That's impossible one might claim, handcrafted Search Techniques by humans will always be stronger.
I told my wife that a husband is like a fine wine; he gets better with age. The next day, she locked me in the cellar.
Daniel Shawul
Posts: 4185
Joined: Tue Mar 14, 2006 11:34 am
Location: Ethiopia

Re: A Crossroad in Computer Chess; Or Desperate Flailing for Relevance

Post by Daniel Shawul »

MikeGL wrote: Thu Oct 01, 2020 1:45 am Now enough of the Eval Function.
Just imagine if NN goes on and replaces the handcrafted Search Function of Chess engines. That's impossible one might claim, handcrafted Search Techniques by humans will always be stronger.
That is what A0's MCTS basically did.
It is still astounding to me a search that has been designed and tuned over decades was replaced
by a generic search method that essentially has one formula to tune, namely, UCB selection of moves to search deeper.

Classic AB search on the other hand, have a bunch of methods each with a paper dedicated to it
a) minmax to alpha-beta
b) PVS and aspiration search
c) Null move pruning
d) futility pruning and razoring
d) Late move reduction
e) Probcut
etc...

MCTS just replaced all these methods. Even if it turned out to be say 200 elo weaker than the Stockfish search, it was able to counter with a better NN eval. Anyone working on general AI would take MCTS any day and that is why domain-specific methods (while they may turn out to be stronger eventually) would never amount to the MCTS + NN combo.

Here is an interesting look at MCTS as a neural network
https://www.davidsilver.uk/wp-content/u ... ctsnet.pdf
MikeGL
Posts: 1010
Joined: Thu Sep 01, 2011 2:49 pm

Re: A Crossroad in Computer Chess; Or Desperate Flailing for Relevance

Post by MikeGL »

Daniel Shawul wrote: Thu Oct 01, 2020 1:57 am
MikeGL wrote: Thu Oct 01, 2020 1:45 am Now enough of the Eval Function.
Just imagine if NN goes on and replaces the handcrafted Search Function of Chess engines. That's impossible one might claim, handcrafted Search Techniques by humans will always be stronger.
That is what A0's MCTS basically did.
It is still astounding to me a search that has been designed and tuned over decades was replaced
by a generic search method that essentially has one formula to tune, namely, UCB selection of moves to search deeper.

Classic AB search on the other hand, have a bunch of methods each with a paper dedicated to it
a) minmax to alpha-beta
b) PVS and aspiration search
c) Null move pruning
d) futility pruning and razoring
d) Late move reduction
e) Probcut
etc...

MCTS just replaced all these methods. Even if it turned out to be say 200 elo weaker than the Stockfish search, it was able to counter with a better NN eval. Anyone working on general AI would take MCTS any day and that is why domain-specific methods (while they may turn out to be stronger eventually) would never amount to the MCTS + NN combo.

Here is an interesting look at MCTS as a neural network
https://www.davidsilver.uk/wp-content/u ... ctsnet.pdf
Last July 2017, while replying to Lyudmil, I also posted a similar topic about Monte Carlo with wiki link,
that's 5 months before SF-AlphaZero match. http://talkchess.com/forum3/viewtopic.p ... 70#p724929

In my above post, I was referring to improvement in A-B search using NN. There will also be a huge jump in strength once AB search is refined.
Classic AB search on the other hand, have a bunch of methods each with a paper dedicated to it
a) minmax to alpha-beta
b) PVS and aspiration search
c) Null move pruning
d) futility pruning and razoring
d) Late move reduction
e) Probcut
etc...
As an analogy, there are a bunch of papers and volumes of books too written about evaluation, like
a) Piece Placement
b) Rook endgame Technique
c) Pawn blockade
etc...

edit: sorry not 6 yrs, only 5 months. July 2017
I told my wife that a husband is like a fine wine; he gets better with age. The next day, she locked me in the cellar.
Dann Corbit
Posts: 12545
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: A Crossroad in Computer Chess; Or Desperate Flailing for Relevance

Post by Dann Corbit »

Matthew Lai talked about using the NN to power the search in his original paper.
MC searching is simpler, but I think part of the reason SF is stronger than LC0 is the combination of NN eval with alpha-beta search.
As further evidence, the MCTS Komodo is not as strong as the AB Komodo.
But I expect that MCTS can have the same sort of improvement phases as AB.
Taking ideas is not a vice, it is a virtue. We have another word for this. It is called learning.
But sharing ideas is an even greater virtue. We have another word for this. It is called teaching.
smatovic
Posts: 2667
Joined: Wed Mar 10, 2010 10:18 pm
Location: Hamburg, Germany
Full name: Srdja Matovic

Re: A Crossroad in Computer Chess; Or Desperate Flailing for Relevance

Post by smatovic »

Dann Corbit wrote: Thu Oct 01, 2020 6:05 am Matthew Lai talked about using the NN to power the search in his original paper.
MC searching is simpler, but I think part of the reason SF is stronger than LC0 is the combination of NN eval with alpha-beta search.
As further evidence, the MCTS Komodo is not as strong as the AB Komodo.
But I expect that MCTS can have the same sort of improvement phases as AB.
Yea, maybe we will see a kind of merger, there are different approaches to
combine a Best-First with Depth-First search, like Best-First-MiniMax, MCAB,
or the Rolllout Paradigm and alike.

--
Srdja
Dann Corbit
Posts: 12545
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: A Crossroad in Computer Chess; Or Desperate Flailing for Relevance

Post by Dann Corbit »

I guess at some point we will have 256 cores and 512 or more threads on the average desktop.
Why not 128 threads doing AB, 128 threads doing MCTS and the other 256 threads doing the better, more efficient search that gets discovered next year? After 128 threads, we seem to be adding less and less anyway.
Taking ideas is not a vice, it is a virtue. We have another word for this. It is called learning.
But sharing ideas is an even greater virtue. We have another word for this. It is called teaching.
User avatar
Guenther
Posts: 4611
Joined: Wed Oct 01, 2008 6:33 am
Location: Regensburg, Germany
Full name: Guenther Simon

Re: A Crossroad in Computer Chess; Or Desperate Flailing for Relevance

Post by Guenther »

gladius wrote: Thu Oct 01, 2020 1:24 am
AndrewGrant wrote: Tue Sep 29, 2020 9:33 am I could be all wrong. I could be out of touch. But if I'm not, then the future of computer chess, the future of unique and diverse engines, depends upon all of us, as individuals, to encourage and promote new ideas while discouraging those who take from Stockfish without trying their hand at the problem. I'm already concerned when I see engines with Stockfish nets being placed onto rating lists.
There are many motivations for being involved in computer chess. IMO, most do it for the enjoyment. Very few engines hit the level where cloning even starts to be a consideration.

...
This is wrong, history has shown that people clone engines nearly of all levels.
https://rwbc-chess.de

trollwatch:
Talkchess nowadays is a joke - it is full of trolls/idiots/people stuck in the pleistocene > 80% of the posts fall into this category...
smatovic
Posts: 2667
Joined: Wed Mar 10, 2010 10:18 pm
Location: Hamburg, Germany
Full name: Srdja Matovic

Re: A Crossroad in Computer Chess; Or Desperate Flailing for Relevance

Post by smatovic »

Dann Corbit wrote: Thu Oct 01, 2020 8:02 am I guess at some point we will have 256 cores and 512 or more threads on the average desktop.
Yes, might be that Moore's Law will peak with 256 or 512 cores per socket, and then some new technology steps in with new opportunities for the next thing.
Dann Corbit wrote: Thu Oct 01, 2020 8:02 am Why not 128 threads doing AB, 128 threads doing MCTS and the other 256 threads doing the better, more efficient search that gets discovered next year? After 128 threads, we seem to be adding less and less anyway.
Currently we seem to have a kind of sweet-spot for office PCs and mobiles with about 4 cores or so, chess enthusiasts play in another league of course ;-)

Gaming will grow maybe up to 8k resolutions, so NNs in CC will still profit a while from GPUs.

The next thing in hardware and the next thing as killer-application may define what the next thing in CC will be, or alike.

--
Srdja
User avatar
mvanthoor
Posts: 1784
Joined: Wed Jul 03, 2019 4:42 pm
Location: Netherlands
Full name: Marcel Vanthoor

Re: A Crossroad in Computer Chess; Or Desperate Flailing for Relevance

Post by mvanthoor »

When reading some of the latest threads revolving about idea's and where they come from, I'm almost afraid to start writing an evaluation function.

I'm a decent chess player, but except if it's a -really- serious game, I'm also sometimes lazy with calculation and applying the rules and best practices. That doesn't mean I don't know them, however. Therefore I feel that I could get into the position where people say: "You stole evaluation term from <engine> and you didn't put that in your credits!", even though the only thing I did was implement what I would normally do (or -should- normally do) over the board.
Author of Rustic, an engine written in Rust.
Releases | Code | Docs | Progress | CCRL