Is AlphaZero-LC0 (Leela0) A chess Engine?

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

Moderators: hgm, Rebel, chrisw

User avatar
mclane
Posts: 18748
Joined: Thu Mar 09, 2006 6:40 pm
Location: US of Europe, germany
Full name: Thorsten Czub

Re: Is AlphaZero-LC0 (Leela0) A chess Engine?

Post by mclane »

Of course they are bean counters.what else do you expect when a chess program computes millions of positions PER SECOND ???
This is not chess. This is bean counting.
What seems like a fairy tale today may be reality tomorrow.
Here we have a fairy tale of the day after tomorrow....
User avatar
sincerelybrent
Posts: 47
Joined: Fri Feb 15, 2019 11:41 pm
Full name: Brent M

Re: Is AlphaZero-LC0 (Leela0) A chess Engine?

Post by sincerelybrent »

sincerelybrent wrote: Tue Feb 26, 2019 9:52 pm When I used DKappe's LeelaRatio tool and adjusted my settings to get the ratio to 1.0 (1:1), the 100-game score was tied between Lc0 and Stockfish. When I ran the same engines with the same books and settings, w/o adjusting my ratio (which was 3.1, in favor of Leela), Leela "crushed" Stockfish by winning many more games.
It’s so easy to get an imbalance, meaning it gets exponentially worse/skewed fast:

My LeelaRatio is 0.85, when playing GPU vs 4CPUs, so Leela needs 15% more time to equalize.

My LeelaRatio is 3.1, when playing GPU vs 1CPU, so CPU engines need a bit more than 3x the amount of time to equalize.

My LeelaRatio is 0.60 when playing GPU vs 6CPUs, so Leela needs 40% more time to equalize.

My GPU is a GeForce RTX 2070 and my CPUs are i7 Intels @3.2 GHz (I cant remember the model; I’m not at the PC at the moment.)
supersharp77
Posts: 1242
Joined: Sat Jul 05, 2014 7:54 am
Location: Southwest USA

Re: Is AlphaZero-LC0 (Leela0) A chess Engine?

Post by supersharp77 »

mclane wrote: Tue Feb 26, 2019 10:30 pm Of course they are bean counters.what else do you expect when a chess program computes millions of positions PER SECOND ???
This is not chess. This is bean counting.
Touche'.....Exactly!!.. I try to test for overall chess ability using "minimums"....The more time you give with the more
speed..of course play will be "Super Strong" All my chess engines seem to play stronger (and deeper) with higher speeds.
Deep Hiarcs 14 WCSC is still hanging in there at the top of my 'leader board' though..."Quality Moves" still count! :D :wink:
corres
Posts: 3657
Joined: Wed Nov 18, 2015 11:41 am
Location: hungary

Re: Is AlphaZero-LC0 (Leela0) A chess Engine?

Post by corres »

AlphaZero is not a chess engine but it is a chess machine.
But LeelaChessZero is a real chess engine, a UCI engine.
Uri Blass
Posts: 10267
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: Is AlphaZero-LC0 (Leela0) A chess Engine?

Post by Uri Blass »

mclane wrote: Tue Feb 26, 2019 10:30 pm Of course they are bean counters.what else do you expect when a chess program computes millions of positions PER SECOND ???
This is not chess. This is bean counting.
So what is chess?

Chess is only what humans can do with their own brain.

Do you suggest that a program play chess only if a strong human chess player can follow instructions and play the same moves?

It may be interesting to have a competition of chess programs that strong humans can understand and play the same moves at tournament time control but I am not sure if it is possible to get above level of fide rating of 1500 in that way.
User avatar
mclane
Posts: 18748
Joined: Thu Mar 09, 2006 6:40 pm
Location: US of Europe, germany
Full name: Thorsten Czub

Re: Is AlphaZero-LC0 (Leela0) A chess Engine?

Post by mclane »

The quality of chess programs would increase if the programmers would not alone rely on NPS and hardware and instead try to analyze the position and create a plan.
What seems like a fairy tale today may be reality tomorrow.
Here we have a fairy tale of the day after tomorrow....
brianr
Posts: 536
Joined: Thu Mar 09, 2006 3:01 pm

Re: Is AlphaZero-LC0 (Leela0) A chess Engine?

Post by brianr »

There is far more art and science (and exhaustive testing) in creating and improving a mere "bean counter" engine than you might think (SF for example).

As far as developing a plan, this has eluded 50+ years of chess programming until recently.
Unfortunately, while the trained nets have a "plan", we humans have no idea what it is.
supersharp77
Posts: 1242
Joined: Sat Jul 05, 2014 7:54 am
Location: Southwest USA

LC0-Leela0-LeelaFish Tested..Results are In!

Post by supersharp77 »

mclane wrote: Thu Feb 28, 2019 3:24 pm The quality of chess programs would increase if the programmers would not alone rely on NPS and hardware and instead try to analyze the position and create a plan.
LC0-Leela0-LeelaFish Tested..Games are in..Some 'Flashes of Genius' unusual opening concepts, lots of castles queenside or castling by hand..aggressive attacking play verging on 'reckless' with real problems in time management (CPU) few to no endgames reached so far. AR :D :wink:

http://s000.tinyupload.com/?file_id=166 ... 7320595588
supersharp77
Posts: 1242
Joined: Sat Jul 05, 2014 7:54 am
Location: Southwest USA

Re: Is AlphaZero-LC0 (Leela0) A chess Engine?

Post by supersharp77 »

Dann Corbit wrote: Sat Feb 23, 2019 12:42 am It does not work like that. It starts with the rules of the game.
It does self play to learn what things are good and what things are bad.
It is not memorizing board positions.
It writes out a file of numbers called a network that contains the values for different board features.
It uses this network to judge board positions.

The MCTS sampling is just a search method where it looks at future positions (alpha-beta also does this, but not by sampling).

It is a different approach. But it is still a chess engine.
Ok Dann Nice answer..Then why are these successful Neural Nets so HUGE(ex 90 million games NN) and why dies the speed factor so large in the performance results? Thx AR :D :wink:
Robert Pope
Posts: 558
Joined: Sat Mar 25, 2006 8:27 pm

Re: Is AlphaZero-LC0 (Leela0) A chess Engine?

Post by Robert Pope »

supersharp77 wrote: Tue Jun 04, 2019 7:00 pm
Dann Corbit wrote: Sat Feb 23, 2019 12:42 am It does not work like that. It starts with the rules of the game.
It does self play to learn what things are good and what things are bad.
It is not memorizing board positions.
It writes out a file of numbers called a network that contains the values for different board features.
It uses this network to judge board positions.

The MCTS sampling is just a search method where it looks at future positions (alpha-beta also does this, but not by sampling).

It is a different approach. But it is still a chess engine.
Ok Dann Nice answer..Then why are these successful Neural Nets so HUGE(ex 90 million games NN) and why dies the speed factor so large in the performance results? Thx AR :D :wink:
They are huge for one key reason: Neural nets are a very general solution for a very specific problem.
Two implications that come out of that:
1. The same type of neural net structure that we use to play chess is also being used for radically different things, like recognizing faces, or finding stop signs. For an architecture to be able to be able to handle such diverse problems requires a lot of generality. There is probably a much more effective way to encode the knowledge of chess, but we don't know it. So for now, we use a giant sausage grinder, and A LOT of meat.
2. There is no "smarts" to how the information in the net is coded. There is a huge amount of knowledge encoded into the numbers 100, 300, 300, 500, 900. Smart coding can let a program know with just 5 numbers that rook are stronger than knights, queens are stronger than bishops, and that two rooks are better than one. The neural net doesn't have any logic to let it generalize like that, so it needs a huge number of neurons (and games) to figure it out. Part of that is intentional, though. A neural net will figure out on its own that if it can get a head start for it's pawn, the enemy king will never stop it from promoting. 100/300/300/500/900 will never be able to teach that.
3. Because it is a general solution, you need A LOT of different examples to fine tune the solution. 200,000 positions might be enough to tune a 64x64 piece-square table in a traditional engine. Tuning a 64x64x64x64 piece square table would be a whole different can of worms.