Recent Alpha zero vs Stockfish 8 match.

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

Moderators: bob, hgm, Harvey Williamson

Forum rules
This textbox is used to restore diagrams posted with the [d] tag before the upgrade.
User avatar
hgm
Posts: 24450
Joined: Fri Mar 10, 2006 9:06 am
Location: Amsterdam
Full name: H G Muller
Contact:

Re: Recent Alpha zero vs Stockfish 8 match.

Post by hgm » Sun Dec 30, 2018 6:59 pm

corres wrote:
Sun Dec 30, 2018 6:15 pm
Where is your proof about the similarity between AB move ordering and the move prediction of NN?
I don't need proof of anything. You are the one claiming that move ordering by the NN is fundamentally different from that in conventional alpha-beta programs. I only have to provide "reasonable doubt".
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.
I think what you wrote about NN is pure imagination based on ignorance. If you want to call that a 1-person complot, I woný object...

The policy head of the NN just produces 'weights' for the moves based on their 'type', just as one assigns a sort key to each move type in an alpha-beta engine. Of course it has many more types, and is much more subtle and precise in identifying the type (at the expense of a far greater computational load). But in the end the only thing it does is prioritize the moves and determine their reduction. It doesn't decide which moves are played. Just which are searched.

corres
Posts: 2681
Joined: Wed Nov 18, 2015 10:41 am
Location: hungary

Re: Recent Alpha zero vs Stockfish 8 match.

Post by corres » Sun Dec 30, 2018 8:02 pm

hgm wrote:
Sun Dec 30, 2018 6:59 pm
corres wrote:
Sun Dec 30, 2018 6:15 pm
Where is your proof about the similarity between AB move ordering and the move prediction of NN?
I don't need proof of anything. You are the one claiming that move ordering by the NN is fundamentally different from that in conventional alpha-beta programs. I only have to provide "reasonable doubt".
So you no need proofs for your "reasonable doubt" because this is your doubt, is not it?
I like this exceeding self-confidence.
hgm wrote:
Sun Dec 30, 2018 6:59 pm
corres wrote:
Sun Dec 30, 2018 6:15 pm
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.
I think what you wrote about NN is pure imagination based on ignorance. If you want to call that a 1-person complot, I woný object...
The policy head of the NN just produces 'weights' for the moves based on their 'type', just as one assigns a sort key to each move type in an alpha-beta engine. Of course it has many more types, and is much more subtle and precise in identifying the type (at the expense of a far greater computational load). But in the end the only thing it does is prioritize the moves and determine their reduction. It doesn't decide which moves are played. Just which are searched.
[/quote]

corres
Posts: 2681
Joined: Wed Nov 18, 2015 10:41 am
Location: hungary

Re: Recent Alpha zero vs Stockfish 8 match.

Post by corres » Sun Dec 30, 2018 8:58 pm

corres wrote:
Sun Dec 30, 2018 8:02 pm
hgm wrote:
Sun Dec 30, 2018 6:59 pm
corres wrote:
Sun Dec 30, 2018 6:15 pm
Where is your proof about the similarity between AB move ordering and the move prediction of NN?
I don't need proof of anything. You are the one claiming that move ordering by the NN is fundamentally different from that in conventional alpha-beta programs. I only have to provide "reasonable doubt".
So you no need proofs for your "reasonable doubt" because this is your doubt, is not it?
I like this exceeding self-confidence.
hgm wrote:
Sun Dec 30, 2018 6:59 pm
corres wrote:
Sun Dec 30, 2018 6:15 pm
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.
I think what you wrote about NN is pure imagination based on ignorance. If you want to call that a 1-person complot, I woný object...
I wrote about "complot theory", please read at least my text without ignorance, even if you can not see the difference between the playing stile of Stockfish and Leela.
hgm wrote:
Sun Dec 30, 2018 6:59 pm
The policy head of the NN just produces 'weights' for the moves based on their 'type', just as one assigns a sort key to each move type in an alpha-beta engine. Of course it has many more types, and is much more subtle and precise in identifying the type (at the expense of a far greater computational load). But in the end the only thing it does is prioritize the moves and determine their reduction. It doesn't decide which moves are played. Just which are searched.
..."Of course it has many more types, and is much more subtle and precise in identifying type..."
But in the end you do as if there nothing difference between NN engine and AB engine in making choice of
moves...
So who interpret arbitrarily the working of NN engines?
Who is the ignorant?

(Sorry, it was the Evil of technique)

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

Re: Recent Alpha zero vs Stockfish 8 match.

Post by hgm » Sun Dec 30, 2018 9:38 pm

You advertize your ignorance by posing this silly idea that I would interpret anything. I just tell you how the publications say that it works.

But as you also seem convinced that you know better how AlphaZero works than Matthew Lai, there is Zero hope for you, and I better leave you alone with your delusions. Have a nice New Year's Eve!

corres
Posts: 2681
Joined: Wed Nov 18, 2015 10:41 am
Location: hungary

Re: Recent Alpha zero vs Stockfish 8 match.

Post by corres » Sun Dec 30, 2018 11:02 pm

hgm wrote:
Sun Dec 30, 2018 9:38 pm
You advertize your ignorance by posing this silly idea that I would interpret anything. I just tell you how the publications say that it works.

But as you also seem convinced that you know better how AlphaZero works than Matthew Lai, there is Zero hope for you, and I better leave you alone with your delusions. Have a nice New Year's Eve!
Where Matthew Lai wrote that an NN engine makes choice of moves as an AB engine does it?
I think this is one of your own delusion.

Naturally everybody can keep their own delusions for the next year too.
Have a nice New Year's Eve!

matthewlai
Posts: 793
Joined: Sun Aug 03, 2014 2:48 am
Location: London, UK
Contact:

Re: Recent Alpha zero vs Stockfish 8 match.

Post by matthewlai » Mon Dec 31, 2018 6:29 am

First some terminology: a value function is a function that predicts the outcome of the game given an input state. A policy function is a function that predicts the best move given a state. They are both necessary in both alpha-beta and MCTS, but that's more a practical detail than theoretical. Theoretically, if you have a perfect value function, you can trivially construct a perfect policy function just by calling the value function on all possible child states, and pick the move where the child has highest value.

In a traditional engine, the value function is what we usually call the evaluation function in computer chess (value function is the more common name in machine learning). The policy function is the move ordering (hash move, killers, SEE, history heuristics, etc).

In a NN-based engine (at least ones modelled after AlphaZero), both are provided by a NN.

So yes, the NN predicts an ordering (with a bit more information in the form of a probability distribution), just like how the hand-crafted policy function predicts a move given a state. Neither memorize positions. They are both designed or trained to predict moves that look statistically more likely to be best move for the position.
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.

matthewlai
Posts: 793
Joined: Sun Aug 03, 2014 2:48 am
Location: London, UK
Contact:

Re: Recent Alpha zero vs Stockfish 8 match.

Post by matthewlai » Mon Dec 31, 2018 6:33 am

Leo wrote:
Sun Dec 30, 2018 6:41 pm
matthewlai wrote:
Sun Dec 30, 2018 12:43 pm
corres wrote:
Sun Dec 30, 2018 11:49 am
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.
Thanks. I was actually a lot more active back in the days when I was working on my first two engines! (AlphaZero is my third engine... More or less. I wrote most of the chess implementation in AZ, although most of the interesting stuff is shared between all the games)
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.

corres
Posts: 2681
Joined: Wed Nov 18, 2015 10:41 am
Location: hungary

Re: Recent Alpha zero vs Stockfish 8 match.

Post by corres » Mon Dec 31, 2018 9:24 am

matthewlai wrote:
Mon Dec 31, 2018 6:29 am
First some terminology: a value function is a function that predicts the outcome of the game given an input state. A policy function is a function that predicts the best move given a state. They are both necessary in both alpha-beta and MCTS, but that's more a practical detail than theoretical. Theoretically, if you have a perfect value function, you can trivially construct a perfect policy function just by calling the value function on all possible child states, and pick the move where the child has highest value.

In a traditional engine, the value function is what we usually call the evaluation function in computer chess (value function is the more common name in machine learning). The policy function is the move ordering (hash move, killers, SEE, history heuristics, etc).

In a NN-based engine (at least ones modelled after AlphaZero), both are provided by a NN.

So yes, the NN predicts an ordering (with a bit more information in the form of a probability distribution), just like how the hand-crafted policy function predicts a move given a state. Neither memorize positions. They are both designed or trained to predict moves that look statistically more likely to be best move for the position.
I think seeing the things from properly high near everything seems the same.
Every program what is proper to play chess must contain the same units: representation of the chess table, a move generator, a position evaluator, a searcher for best position/move and an interface and some auxiliary unit.
So from the viewpoint of the game philosophy or from the game theory there is no fundamental difference between an AB engine and an NN engine. But with theories we can not make working any machines. In practice always there are the machines at first and when the machines are ready ones make to them the theories.
Moreover the behavior of a machine is determined by the technical realization of that machine and not by the game theory made for that type of machines.
Because there is important difference between not only the technical realization of an AB engine and an NN engine but between the playing style of an AB engine and an NN engine we can not speak about the two type of chess engine that they are the same technically.

User avatar
Nordlandia
Posts: 2588
Joined: Fri Sep 25, 2015 7:38 pm
Location: Sortland, Norway

Re: Recent Alpha zero vs Stockfish 8 match.

Post by Nordlandia » Mon Dec 31, 2018 10:08 am

Stockfish 8 is an old dog.

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

Re: Recent Alpha zero vs Stockfish 8 match.

Post by hgm » Mon Dec 31, 2018 10:18 am

corres wrote:
Mon Dec 31, 2018 9:24 am
Because there is important difference between not only the technical realization of an AB engine and an NN engine but between the playing style of an AB engine and an NN engine we can not speak about the two type of chess engine that they are the same technically.
Nonsense. Playing style is just a consequence of the evaluation function. Not of the technical method used to caluclate that function.

Post Reply