AlphaZero Chess is not that strong ...

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

Moderators: hgm, Rebel, chrisw

User avatar
Ovyron
Posts: 4556
Joined: Tue Jul 03, 2007 4:30 am

Re: AlphaZero Chess is not that strong ...

Post by Ovyron »

fern wrote:The essence of the matter if that this new criature is capable of learning chess and playing at SGM level after a couple of hours of learning from zero.
What if instead of "4 hours", it was "30 years"? Because, with your cpu at home that could be as long as it'd take to train the thing to play this strong...

The question is if they can produce such an engine that can be released, and play just as strong in your CPU.
User avatar
fern
Posts: 8755
Joined: Sun Feb 26, 2006 4:07 pm

Re: AlphaZero Chess is not that strong ...

Post by fern »

Time is of the essence. Thats the core of any and every technology.
Not a banal thing.
User avatar
Ovyron
Posts: 4556
Joined: Tue Jul 03, 2007 4:30 am

Re: AlphaZero Chess is not that strong ...

Post by Ovyron »

mario carbonell wrote:Another interesting thing that can be done with neural networks is style transfer. Maybe it could be trained to imitate the style of you favorite chess player, could be Mijail Tal, Anatoly Karpov, Gary Kasparov etc...
Sure, the problem is that you run into "overfitting".

What it means is that the AI will aim to play as close as possible to Tal and will not care about the game results, so you'd see an engine that plays Tal's sacrifices without aim and loses its games.

Playing like Tal at the strength of A0 is hard, because the AI has conflicting goals (sacrifice a piece and win the game.)
User avatar
fern
Posts: 8755
Joined: Sun Feb 26, 2006 4:07 pm

Re: AlphaZero Chess is not that strong ...

Post by fern »

I do n ot see such a problem, As in Asimov three laws of robotic, you can put limits to imitation according score or something
User avatar
Ovyron
Posts: 4556
Joined: Tue Jul 03, 2007 4:30 am

Re: AlphaZero Chess is not that strong ...

Post by Ovyron »

fern wrote:I do n ot see such a problem, As in Asimov three laws of robotic, you can put limits to imitation according score or something
Yeah, but where do you draw the line?

Suppose Alpha Zero has an elo of 3500, while Tal Zero has a rating of 2800, at what rating do you want it to play?

If it plays at 3400 then it's going to play in the style of A0 most of the time, and play a Tal sacrifice every 100 games.

On the middle ground of 3150 elo, half its wins will be won in the style of Alpha, and half its loses will be in the style of Tal. Is it acceptable to have an engine of such a style if it's weaker than Rybka 4?

Probably other GMs will be easier to emulate without such a drastic loss in strength, but I wonder if current approaches would do even better. Say, a Stockfish that allows you to create personalities with it, you tune it until most of its moves match Kasparov's, maybe you can keep it above 3300 ELO.

(note: one can already do this since it's open source, I mean, for the regular user that doesn't want to be messing with makefiles)

What is fun is that modern engines already play mostly like Capablanca, at least in the way that fitting more would make them weaker, so you can wave them around and say you already have a decent imitation of CyberCapablanca :lol:
Milos
Posts: 4190
Joined: Wed Nov 25, 2009 1:47 am

Re: AlphaZero Chess is not that strong ...

Post by Milos »

mario carbonell wrote: That is the point.

AlphaZero is the first iteration of a new technology.

Somebody will continue their work and do something even stronger. Maybe in a few years every chess engine will be derived from AlphaZero.

Another interesting thing that can be done with neural networks is style transfer. Maybe it could be trained to imitate the style of you favorite chess player, could be Mijail Tal, Anatoly Karpov, Gary Kasparov etc...
Ppl really don't have a clue about NNs.
NNs are good in processing a huge amount of data in an approximate way.
I.e. you need a large amount of data to train NN to be good in recognizing specific types of patterns with a good accuracy.
To train NN to play in the style of Tal, Karpov, Kasparov, etc, one would need a large training set of games of Tal, Karpov, Kasparov, etc, that counts in millions.
That has absolutely nothing to do with taking Van Gogh's painting and extracting few hundreds of features and than applying those to an existing photo.
So the answer is no, it can't be trained and it will never be possible to be trained simply because we don't have enough data.
User avatar
Ovyron
Posts: 4556
Joined: Tue Jul 03, 2007 4:30 am

Re: AlphaZero Chess is not that strong ...

Post by Ovyron »

Milos wrote:To train NN to play in the style of Tal, Karpov, Kasparov, etc, one would need a large training set of games of Tal, Karpov, Kasparov, etc, that counts in millions.
That has absolutely nothing to do with taking Van Gogh's painting and extracting few hundreds of features and than applying those to an existing photo.
You didn't need millions of paintings of Van Gogh for training.

If you need millions of Morphy games to emulate him, you're doing something wrong...

No, you don't just use the games of the player you're emulating. What you need to do is feed the thing all the games that have been played by humans in history. All the games played between chess engines in history. You can easily produce millions of games to input to the thing.

The idea is it's able to recognize the style of all the players of the thing.

Then, you delete from its learning some game from the player you want to emulate, say, Morphy, and make it guess who are the players of the games.

Initially it's going to guess at random.

Eventually, the NN will get better at guessing what games were played by Morphy.

That is, it'll make guesses of the players of the games, and it'll turn out that players that play very unlike Morphy will soon cease to be guessed, while the NN will focus on telling apart players of similar styles to it. But still, it will learn clearly the difference from players of "opposite style."

Now, create a Generative Adversarial Network, that is going to produce fake games that try to fool the first one into thinking Morphy was one of the players.

Once you have a NN able to recognize games played by Morphy, and an GAN that is able to fool the first, you just need to give the GAN the game up to the present point, and make it produce the continuation that would fool the NN into thinking it's Morphy playing.

This method will result in a chess entity that doesn't care about a game result, and will play really poorly, so here's where you insert Alpha Zero methods to make it play to win as well.
Adam Hair
Posts: 3226
Joined: Wed May 06, 2009 10:31 pm
Location: Fuquay-Varina, North Carolina

Re: AlphaZero Chess is not that strong ...

Post by Adam Hair »

hgm wrote:
jhellis3 wrote:Once saturated, it governs depth reached in search over a given period of time quite strongly.
That is not what I found in my engine. The search only slowed down if the 'saturation' reaches a factor 10:

Image

Is your statement based on anything else than blind guessing / wishful thinking?
Stockfish does not seem to exhibit this characteristic. I have more complete data for asmFish, but here is the average and median times to depth 26 for Stockfish 8 over 52 positions with hash=1MB, hash=256MB, and hash=4096MB:

1MB - avg ttd=44669 ms, median ttd=41276 ms, avg nodes=53310080, median nodes=49430915
256MB - avg ttd=43771 ms, median ttd=45069 ms, avg nodes=50823732, median nodes=52026477
4096MB - avg ttd=44227 ms, median ttd=43975 ms, avg nodes=48099211, median nodes=48230517

When I looked over the more extensive asmFish data, there is no slowdown as the loading factor increases. The reason for this is beyond my understanding.

I also performed a quick test to measure the difference in strength between a high load factor and a moderate load factor:

asmFish 2017-11-19
1MB vs 64MB @ 3.2 million nodes per move

Code: Select all

   # PLAYER    :  RATING  ERROR  POINTS  PLAYED   (%)
   1 64MB      :      28      4  1078.5    2000  53.9
   2 1MB       :       0      4   921.5    2000  46.1

White advantage = 44.49 +/- 3.85
Draw rate (equal opponents) = 81.15 % +/- 0.97
+308,=1541,-151
User avatar
Laskos
Posts: 10948
Joined: Wed Jul 26, 2006 10:21 pm
Full name: Kai Laskos

Re: AlphaZero Chess is not that strong ...

Post by Laskos »

Adam Hair wrote:
hgm wrote:
jhellis3 wrote:Once saturated, it governs depth reached in search over a given period of time quite strongly.
That is not what I found in my engine. The search only slowed down if the 'saturation' reaches a factor 10:

Image

Is your statement based on anything else than blind guessing / wishful thinking?
Stockfish does not seem to exhibit this characteristic. I have more complete data for asmFish, but here is the average and median times to depth 26 for Stockfish 8 over 52 positions with hash=1MB, hash=256MB, and hash=4096MB:

1MB - avg ttd=44669 ms, median ttd=41276 ms, avg nodes=53310080, median nodes=49430915
256MB - avg ttd=43771 ms, median ttd=45069 ms, avg nodes=50823732, median nodes=52026477
4096MB - avg ttd=44227 ms, median ttd=43975 ms, avg nodes=48099211, median nodes=48230517

When I looked over the more extensive asmFish data, there is no slowdown as the loading factor increases. The reason for this is beyond my understanding.

I also performed a quick test to measure the difference in strength between a high load factor and a moderate load factor:

asmFish 2017-11-19
1MB vs 64MB @ 3.2 million nodes per move

Code: Select all

   # PLAYER    :  RATING  ERROR  POINTS  PLAYED   (%)
   1 64MB      :      28      4  1078.5    2000  53.9
   2 1MB       :       0      4   921.5    2000  46.1

White advantage = 44.49 +/- 3.85
Draw rate (equal opponents) = 81.15 % +/- 0.97
+308,=1541,-151
I get utterly weird results in Shredder GUI.
First, 52 positions you use are insufficient. I used two successions of identical tests with 300 (opening) positions each to depth 21. The time-to-depth is total time used for the tests. Hashfull is at about 60 MB on average, so 128 MB is about the optimum size of hash if this test stands:
http://www.talkchess.com/forum/viewtopi ... &&start=20

Hash used: 1 MB (overload of 60), 128 MB (optimum) and 4096 MB.
What I get with the latest Stockfish 181217 on one thread defies my understanding, I am probably doing something wrong:

Code: Select all

pos       300              250
         d=21        Arasan 18
==============================
1M:     23:08    139/250 12:03
        23:16

128M:   24:05    140/250 12:32
        24:13

4096M:  28:12    140/250 13:17
        28:13
I even imagined something weird happening, that time-to-depth might not be correct measure, and tested on Arasan 18 positions at 5s/move (approximately the same hashfull as before of 60 MB), the results are inconclusive as the number of solutions, but it still has shortest times to solution with 1 MB hash. What's this anomaly?
User avatar
hgm
Posts: 27808
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: AlphaZero Chess is not that strong ...

Post by hgm »

This is surely weird, and suggests that Stockfish gets weaker with more hash.

Note that in my graph the load factor is not defined w.r.t. hashfull, but w.r.t. node count. Which should be much higher, as many nodes are for the same position.

I am also not sure whether Stockfish counts hash cutoffs as nodes or not.