Recent Alpha zero vs Stockfish 8 match.

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

Moderators: hgm, Rebel, chrisw

User avatar
hgm
Posts: 27796
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Recent Alpha zero vs Stockfish 8 match.

Post by hgm »

corres wrote: Sat Dec 29, 2018 7:22 pm
hgm wrote: Sat Dec 29, 2018 5:35 pm
corres wrote: Sat Dec 29, 2018 10:57 am
Dann Corbit wrote: Sat Dec 29, 2018 3:21 am If neither engine had a book, it is completely fair.
No.
NN itself is the book.
Opening + middle game + endgame book together.
And the same holds for Stockfish, obviously.
In Stockfish where is a book?
The evaluation is just as much a book as the NN.
corres
Posts: 3657
Joined: Wed Nov 18, 2015 11:41 am
Location: hungary

Re: Recent Alpha zero vs Stockfish 8 match.

Post by corres »

hgm wrote: Sun Dec 30, 2018 11:03 am
corres wrote: Sat Dec 29, 2018 7:22 pm
hgm wrote: Sat Dec 29, 2018 5:35 pm
corres wrote: Sat Dec 29, 2018 10:57 am
Dann Corbit wrote: Sat Dec 29, 2018 3:21 am If neither engine had a book, it is completely fair.
No.
NN itself is the book.
Opening + middle game + endgame book together.
And the same holds for Stockfish, obviously.
In Stockfish where is a book?
The evaluation is just as much a book as the NN.
NN keeps the results of the self play.
When you use an NN-type engine the engine does nothing but search for sequence of moves in NN.
Do you think Stockfish also uses pre-evaluated positions?
Stockfish and other AB-type engines use a type of evaluation and NN-type engines use an other type of evaluation.
The concrete method of evaluation is not a philosophical question but a technical question.
matthewlai
Posts: 793
Joined: Sun Aug 03, 2014 4:48 am
Location: London, UK

Re: Recent Alpha zero vs Stockfish 8 match.

Post by matthewlai »

corres wrote: Sun Dec 30, 2018 12:49 pm NN keeps the results of the self play.
When you use an NN-type engine the engine does nothing but search for sequence of moves in NN.
Do you think Stockfish also uses pre-evaluated positions?
Stockfish and other AB-type engines use a type of evaluation and NN-type engines use an other type of evaluation.
The concrete method of evaluation is not a philosophical question but a technical question.
That's not how it works. A neural network is a function approximator - it looks at data and try to extract patterns that can be applied to positions it hasn't seen before.

Training a neural network to evaluate a position is like tuning the SF evaluation coefficients to make it better predict game results given a position, because ultimately, that's what evaluation functions are supposed to do. If you have a function that can tell you whether a position is won or loss given perfect play, you have solved chess.

Neither NNs nor Stockfish evaluation terms memorize sequences.
Disclosure: I work for DeepMind on the AlphaZero project, but everything I say here is personal opinion and does not reflect the views of DeepMind / Alphabet.
stavros
Posts: 165
Joined: Tue Dec 02, 2014 1:29 am

Re: Recent Alpha zero vs Stockfish 8 match.

Post by stavros »

with book or without book?
play chess 960!!
would be interesting an experiment.
corres
Posts: 3657
Joined: Wed Nov 18, 2015 11:41 am
Location: hungary

Re: Recent Alpha zero vs Stockfish 8 match.

Post by corres »

matthewlai wrote: Sun Dec 30, 2018 1:43 pm
corres wrote: Sun Dec 30, 2018 12:49 pm NN keeps the results of the self play.
When you use an NN-type engine the engine does nothing but search for sequence of moves in NN.
Do you think Stockfish also uses pre-evaluated positions?
Stockfish and other AB-type engines use a type of evaluation and NN-type engines use an other type of evaluation.
The concrete method of evaluation is not a philosophical question but a technical question.
That's not how it works. A neural network is a function approximator - it looks at data and try to extract patterns that can be applied to positions it hasn't seen before.
Training a neural network to evaluate a position is like tuning the SF evaluation coefficients to make it better predict game results given a position, because ultimately, that's what evaluation functions are supposed to do. If you have a function that can tell you whether a position is won or loss given perfect play, you have solved chess.
NN contains not only the winning possibility of a position but a prediction for the next good moves.
Where is a predictor in an AB engine?
When NN engine plays it does not evaluate positions but read out the possibilities what belong to that position and it uses these possibilities to search for the best move sequence.
Opposite to this, AB engines itself evaluate every each necessary position and it gives the value of evaluation (centi-pawn, manly) to every each analyzed position.
The substance is, in the case of NN-type engine the evaluation of every each position contained by the NN happened during self-play of NN engine, but in the case of AB-type engine the evaluation happens the course of search.
When developers optimize the parameters of an AB engines they can not make optimization for every each position what AB engine will analyze. So parameter optimization of AB engine is not equivalent to NN engine self-playing.

[qoute=matthewlai post_id=784420 time=1546173816 user_id=1759]
Neither NNs nor Stockfish evaluation terms memorize sequences.
[/quote]

I wrote: NN engine SEARCH for sequence of moves.
During search NN engine rests on the results of the self-play stored in NN.
User avatar
hgm
Posts: 27796
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Recent Alpha zero vs Stockfish 8 match.

Post by hgm »

corres wrote: Sun Dec 30, 2018 3:04 pmWhere is a predictor in an AB engine?
It is hard-coded in the static move ordering. The NN sort of provides the sorting key, that's all. It determines which moves should be considered 'late', to reduce them so they get less search effort.
corres
Posts: 3657
Joined: Wed Nov 18, 2015 11:41 am
Location: hungary

Re: Recent Alpha zero vs Stockfish 8 match.

Post by corres »

hgm wrote: Sun Dec 30, 2018 4:10 pm
corres wrote: Sun Dec 30, 2018 3:04 pmWhere is a predictor in an AB engine?
It is hard-coded in the static move ordering. The NN sort of provides the sorting key, that's all. It determines which moves should be considered 'late', to reduce them so they get less search effort.
There is a fundamental difference: NN engine gives the own predictions to every each positions but AB engine uses the same move ordering ("prediction" ?) to the same type of move.
User avatar
hgm
Posts: 27796
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Recent Alpha zero vs Stockfish 8 match.

Post by hgm »

That is of course not possible, because different positions have different moves. In reality the sort key of an alpha-beta engine depends not just on the move, but also on other aspects of the position. Like whether there is something on the to-square, what it is, whether there are other pieces around that can also reach the to-square, perhaps whether there are enemy pieces around that can go to the from-square... Not fundamentally different from what the NN does.

Furthermore it seems to me that what you claim about the NN is 100% speculation on your part, not based on any real data. What is your proof that the move ordering recommended by the policy head of the NN isn't very similar to the conventional move ordering in conventional alpha-beta engines? (Except that we know it doesn't do null move.)
corres
Posts: 3657
Joined: Wed Nov 18, 2015 11:41 am
Location: hungary

Re: Recent Alpha zero vs Stockfish 8 match.

Post by corres »

hgm wrote: Sun Dec 30, 2018 6:33 pm That is of course not possible, because different positions have different moves. In reality the sort key of an alpha-beta engine depends not just on the move, but also on other aspects of the position. Like whether there is something on the to-square, what it is, whether there are other pieces around that can also reach the to-square, perhaps whether there are enemy pieces around that can go to the from-square... Not fundamentally different from what the NN does.

Furthermore it seems to me that what you claim about the NN is 100% speculation on your part, not based on any real data. What is your proof that the move ordering recommended by the policy head of the NN isn't very similar to the conventional move ordering in conventional alpha-beta engines? (Except that we know it doesn't do null move.)
Where is your proof about the similarity between AB move ordering and the move prediction of NN?
I think the developers of Leela and A0 have direct proofs.
But the different playing stile strongly renders the difference in prediction.
Or you think what I wrote about NN is it also a complot theory?
I know this is your favorite presuming.
Leo
Posts: 1080
Joined: Fri Sep 16, 2016 6:55 pm
Location: USA/Minnesota
Full name: Leo Anger

Re: Recent Alpha zero vs Stockfish 8 match.

Post by Leo »

matthewlai wrote: Sun Dec 30, 2018 1:43 pm
corres wrote: Sun Dec 30, 2018 12:49 pm NN keeps the results of the self play.
When you use an NN-type engine the engine does nothing but search for sequence of moves in NN.
Do you think Stockfish also uses pre-evaluated positions?
Stockfish and other AB-type engines use a type of evaluation and NN-type engines use an other type of evaluation.
The concrete method of evaluation is not a philosophical question but a technical question.
That's not how it works. A neural network is a function approximator - it looks at data and try to extract patterns that can be applied to positions it hasn't seen before.

Training a neural network to evaluate a position is like tuning the SF evaluation coefficients to make it better predict game results given a position, because ultimately, that's what evaluation functions are supposed to do. If you have a function that can tell you whether a position is won or loss given perfect play, you have solved chess.

Neither NNs nor Stockfish evaluation terms memorize sequences.
Thanks Mathew for joining in on Talkchess.
Advanced Micro Devices fan.