Lc0 51010

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

Moderators: hgm, Rebel, chrisw

Fulvio
Posts: 395
Joined: Fri Aug 12, 2016 8:43 pm

Re: Lc0 51010

Post by Fulvio »

Uri Blass wrote: Wed Apr 03, 2019 2:58 pm knowing patterns help but you need search to verify.

[d]4r2k/q5pp/8/3Q2N1/8/8/5PPP/6K1 w - - 3 1

Otherwise you play here Nf7+ and lose after Qxf7
You picked a bad example.
I just checked lc0-network41752 and it sees both patterns: the smothered mate and the back-rank mate.
The patterns are weighted: Nf7+ gets only a 10.89% and avoiding the back-rank mate gets more than 50%.
So it discards that move even without doing a search:

Code: Select all

info depth 1 seldepth 1 time 186 nodes 1 score cp 0 hashfull 0 nps 5 tbhits 0 pv g2g3
info string d5b3  (988 ) N:       0 (+ 0) (P:  0.70%) (Q: -0.14137) (D:  0.000) (U: 0.02092) (Q+U: -0.12045) (V:  -.----)
info string d5f7  (1014) N:       0 (+ 0) (P:  0.72%) (Q: -0.14137) (D:  0.000) (U: 0.02151) (Q+U: -0.11986) (V:  -.----)
info string d5a2  (985 ) N:       0 (+ 0) (P:  0.73%) (Q: -0.14137) (D:  0.000) (U: 0.02193) (Q+U: -0.11944) (V:  -.----)
info string d5a8  (1015) N:       0 (+ 0) (P:  0.74%) (Q: -0.14137) (D:  0.000) (U: 0.02208) (Q+U: -0.11929) (V:  -.----)
info string d5c5  (1000) N:       0 (+ 0) (P:  0.74%) (Q: -0.14137) (D:  0.000) (U: 0.02235) (Q+U: -0.11903) (V:  -.----)
info string d5b7  (1010) N:       0 (+ 0) (P:  0.78%) (Q: -0.14137) (D:  0.000) (U: 0.02352) (Q+U: -0.11786) (V:  -.----)
info string d5a5  (998 ) N:       0 (+ 0) (P:  0.79%) (Q: -0.14137) (D:  0.000) (U: 0.02372) (Q+U: -0.11765) (V:  -.----)
info string d5f3  (992 ) N:       0 (+ 0) (P:  0.80%) (Q: -0.14137) (D:  0.000) (U: 0.02407) (Q+U: -0.11731) (V:  -.----)
info string d5f5  (1002) N:       0 (+ 0) (P:  0.82%) (Q: -0.14137) (D:  0.000) (U: 0.02446) (Q+U: -0.11692) (V:  -.----)
info string g5h3  (1093) N:       0 (+ 0) (P:  0.83%) (Q: -0.14137) (D:  0.000) (U: 0.02491) (Q+U: -0.11646) (V:  -.----)
info string d5c6  (1006) N:       0 (+ 0) (P:  0.87%) (Q: -0.14137) (D:  0.000) (U: 0.02606) (Q+U: -0.11531) (V:  -.----)
info string d5d7  (1012) N:       0 (+ 0) (P:  0.90%) (Q: -0.14137) (D:  0.000) (U: 0.02700) (Q+U: -0.11438) (V:  -.----)
info string d5d6  (1007) N:       0 (+ 0) (P:  0.91%) (Q: -0.14137) (D:  0.000) (U: 0.02725) (Q+U: -0.11412) (V:  -.----)
info string d5b5  (999 ) N:       0 (+ 0) (P:  0.92%) (Q: -0.14137) (D:  0.000) (U: 0.02765) (Q+U: -0.11372) (V:  -.----)
info string g5h7  (1112) N:       0 (+ 0) (P:  0.95%) (Q: -0.14137) (D:  0.000) (U: 0.02852) (Q+U: -0.11285) (V:  -.----)
info string d5e4  (996 ) N:       0 (+ 0) (P:  0.95%) (Q: -0.14137) (D:  0.000) (U: 0.02857) (Q+U: -0.11281) (V:  -.----)
info string d5e6  (1008) N:       0 (+ 0) (P:  0.96%) (Q: -0.14137) (D:  0.000) (U: 0.02891) (Q+U: -0.11246) (V:  -.----)
info string d5d4  (995 ) N:       0 (+ 0) (P:  0.99%) (Q: -0.14137) (D:  0.000) (U: 0.02966) (Q+U: -0.11171) (V:  -.----)
info string d5d8  (1016) N:       0 (+ 0) (P:  1.01%) (Q: -0.14137) (D:  0.000) (U: 0.03027) (Q+U: -0.11110) (V:  -.----)
info string d5c4  (994 ) N:       0 (+ 0) (P:  1.04%) (Q: -0.14137) (D:  0.000) (U: 0.03130) (Q+U: -0.11007) (V:  -.----)
info string g5e4  (1094) N:       0 (+ 0) (P:  1.05%) (Q: -0.14137) (D:  0.000) (U: 0.03161) (Q+U: -0.10976) (V:  -.----)
info string g1h1  (153 ) N:       0 (+ 0) (P:  1.10%) (Q: -0.14137) (D:  0.000) (U: 0.03297) (Q+U: -0.10840) (V:  -.----)
info string g5e6  (1105) N:       0 (+ 0) (P:  1.12%) (Q: -0.14137) (D:  0.000) (U: 0.03375) (Q+U: -0.10762) (V:  -.----)
info string d5d2  (986 ) N:       0 (+ 0) (P:  1.29%) (Q: -0.14137) (D:  0.000) (U: 0.03866) (Q+U: -0.10271) (V:  -.----)
info string g1f1  (152 ) N:       0 (+ 0) (P:  1.33%) (Q: -0.14137) (D:  0.000) (U: 0.03985) (Q+U: -0.10152) (V:  -.----)
info string d5g8  (1017) N:       0 (+ 0) (P:  1.38%) (Q: -0.14137) (D:  0.000) (U: 0.04143) (Q+U: -0.09994) (V:  -.----)
info string d5e5  (1001) N:       0 (+ 0) (P:  1.38%) (Q: -0.14137) (D:  0.000) (U: 0.04152) (Q+U: -0.09985) (V:  -.----)
info string d5d3  (990 ) N:       0 (+ 0) (P:  1.51%) (Q: -0.14137) (D:  0.000) (U: 0.04534) (Q+U: -0.09603) (V:  -.----)
info string g5f3  (1091) N:       0 (+ 0) (P:  1.98%) (Q: -0.14137) (D:  0.000) (U: 0.05942) (Q+U: -0.08195) (V:  -.----)
info string d5d1  (983 ) N:       0 (+ 0) (P:  5.26%) (Q: -0.14137) (D:  0.000) (U: 0.15784) (Q+U:  0.01647) (V:  -.----)
info string h2h3  (400 ) N:       0 (+ 0) (P:  7.84%) (Q: -0.14137) (D:  0.000) (U: 0.23530) (Q+U:  0.09393) (V:  -.----)
info string g2g4  (378 ) N:       0 (+ 0) (P:  8.72%) (Q: -0.14137) (D:  0.000) (U: 0.26158) (Q+U:  0.12020) (V:  -.----)
info string g5f7  (1110) N:       0 (+ 0) (P: 10.89%) (Q: -0.14137) (D:  0.000) (U: 0.32676) (Q+U:  0.18539) (V:  -.----)
info string h2h4  (403 ) N:       0 (+ 0) (P: 11.20%) (Q: -0.14137) (D:  0.000) (U: 0.33592) (Q+U:  0.19455) (V:  -.----)
info string g2g3  (374 ) N:       0 (+ 0) (P: 26.78%) (Q: -0.14137) (D:  0.000) (U: 0.80350) (Q+U:  0.66212) (V:  -.----)
bestmove g2g3
Uri Blass
Posts: 10268
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: Lc0 51010

Post by Uri Blass »

Fulvio wrote: Wed Apr 03, 2019 8:00 pm
Uri Blass wrote: Wed Apr 03, 2019 2:58 pm knowing patterns help but you need search to verify.

[d]4r2k/q5pp/8/3Q2N1/8/8/5PPP/6K1 w - - 3 1

Otherwise you play here Nf7+ and lose after Qxf7
You picked a bad example.
I just checked lc0-network41752 and it sees both patterns: the smothered mate and the back-rank mate.
The patterns are weighted: Nf7+ gets only a 10.89% and avoiding the back-rank mate gets more than 50%.
So it discards that move even without doing a search:

Code: Select all

info depth 1 seldepth 1 time 186 nodes 1 score cp 0 hashfull 0 nps 5 tbhits 0 pv g2g3
info string d5b3  (988 ) N:       0 (+ 0) (P:  0.70%) (Q: -0.14137) (D:  0.000) (U: 0.02092) (Q+U: -0.12045) (V:  -.----)
info string d5f7  (1014) N:       0 (+ 0) (P:  0.72%) (Q: -0.14137) (D:  0.000) (U: 0.02151) (Q+U: -0.11986) (V:  -.----)
info string d5a2  (985 ) N:       0 (+ 0) (P:  0.73%) (Q: -0.14137) (D:  0.000) (U: 0.02193) (Q+U: -0.11944) (V:  -.----)
info string d5a8  (1015) N:       0 (+ 0) (P:  0.74%) (Q: -0.14137) (D:  0.000) (U: 0.02208) (Q+U: -0.11929) (V:  -.----)
info string d5c5  (1000) N:       0 (+ 0) (P:  0.74%) (Q: -0.14137) (D:  0.000) (U: 0.02235) (Q+U: -0.11903) (V:  -.----)
info string d5b7  (1010) N:       0 (+ 0) (P:  0.78%) (Q: -0.14137) (D:  0.000) (U: 0.02352) (Q+U: -0.11786) (V:  -.----)
info string d5a5  (998 ) N:       0 (+ 0) (P:  0.79%) (Q: -0.14137) (D:  0.000) (U: 0.02372) (Q+U: -0.11765) (V:  -.----)
info string d5f3  (992 ) N:       0 (+ 0) (P:  0.80%) (Q: -0.14137) (D:  0.000) (U: 0.02407) (Q+U: -0.11731) (V:  -.----)
info string d5f5  (1002) N:       0 (+ 0) (P:  0.82%) (Q: -0.14137) (D:  0.000) (U: 0.02446) (Q+U: -0.11692) (V:  -.----)
info string g5h3  (1093) N:       0 (+ 0) (P:  0.83%) (Q: -0.14137) (D:  0.000) (U: 0.02491) (Q+U: -0.11646) (V:  -.----)
info string d5c6  (1006) N:       0 (+ 0) (P:  0.87%) (Q: -0.14137) (D:  0.000) (U: 0.02606) (Q+U: -0.11531) (V:  -.----)
info string d5d7  (1012) N:       0 (+ 0) (P:  0.90%) (Q: -0.14137) (D:  0.000) (U: 0.02700) (Q+U: -0.11438) (V:  -.----)
info string d5d6  (1007) N:       0 (+ 0) (P:  0.91%) (Q: -0.14137) (D:  0.000) (U: 0.02725) (Q+U: -0.11412) (V:  -.----)
info string d5b5  (999 ) N:       0 (+ 0) (P:  0.92%) (Q: -0.14137) (D:  0.000) (U: 0.02765) (Q+U: -0.11372) (V:  -.----)
info string g5h7  (1112) N:       0 (+ 0) (P:  0.95%) (Q: -0.14137) (D:  0.000) (U: 0.02852) (Q+U: -0.11285) (V:  -.----)
info string d5e4  (996 ) N:       0 (+ 0) (P:  0.95%) (Q: -0.14137) (D:  0.000) (U: 0.02857) (Q+U: -0.11281) (V:  -.----)
info string d5e6  (1008) N:       0 (+ 0) (P:  0.96%) (Q: -0.14137) (D:  0.000) (U: 0.02891) (Q+U: -0.11246) (V:  -.----)
info string d5d4  (995 ) N:       0 (+ 0) (P:  0.99%) (Q: -0.14137) (D:  0.000) (U: 0.02966) (Q+U: -0.11171) (V:  -.----)
info string d5d8  (1016) N:       0 (+ 0) (P:  1.01%) (Q: -0.14137) (D:  0.000) (U: 0.03027) (Q+U: -0.11110) (V:  -.----)
info string d5c4  (994 ) N:       0 (+ 0) (P:  1.04%) (Q: -0.14137) (D:  0.000) (U: 0.03130) (Q+U: -0.11007) (V:  -.----)
info string g5e4  (1094) N:       0 (+ 0) (P:  1.05%) (Q: -0.14137) (D:  0.000) (U: 0.03161) (Q+U: -0.10976) (V:  -.----)
info string g1h1  (153 ) N:       0 (+ 0) (P:  1.10%) (Q: -0.14137) (D:  0.000) (U: 0.03297) (Q+U: -0.10840) (V:  -.----)
info string g5e6  (1105) N:       0 (+ 0) (P:  1.12%) (Q: -0.14137) (D:  0.000) (U: 0.03375) (Q+U: -0.10762) (V:  -.----)
info string d5d2  (986 ) N:       0 (+ 0) (P:  1.29%) (Q: -0.14137) (D:  0.000) (U: 0.03866) (Q+U: -0.10271) (V:  -.----)
info string g1f1  (152 ) N:       0 (+ 0) (P:  1.33%) (Q: -0.14137) (D:  0.000) (U: 0.03985) (Q+U: -0.10152) (V:  -.----)
info string d5g8  (1017) N:       0 (+ 0) (P:  1.38%) (Q: -0.14137) (D:  0.000) (U: 0.04143) (Q+U: -0.09994) (V:  -.----)
info string d5e5  (1001) N:       0 (+ 0) (P:  1.38%) (Q: -0.14137) (D:  0.000) (U: 0.04152) (Q+U: -0.09985) (V:  -.----)
info string d5d3  (990 ) N:       0 (+ 0) (P:  1.51%) (Q: -0.14137) (D:  0.000) (U: 0.04534) (Q+U: -0.09603) (V:  -.----)
info string g5f3  (1091) N:       0 (+ 0) (P:  1.98%) (Q: -0.14137) (D:  0.000) (U: 0.05942) (Q+U: -0.08195) (V:  -.----)
info string d5d1  (983 ) N:       0 (+ 0) (P:  5.26%) (Q: -0.14137) (D:  0.000) (U: 0.15784) (Q+U:  0.01647) (V:  -.----)
info string h2h3  (400 ) N:       0 (+ 0) (P:  7.84%) (Q: -0.14137) (D:  0.000) (U: 0.23530) (Q+U:  0.09393) (V:  -.----)
info string g2g4  (378 ) N:       0 (+ 0) (P:  8.72%) (Q: -0.14137) (D:  0.000) (U: 0.26158) (Q+U:  0.12020) (V:  -.----)
info string g5f7  (1110) N:       0 (+ 0) (P: 10.89%) (Q: -0.14137) (D:  0.000) (U: 0.32676) (Q+U:  0.18539) (V:  -.----)
info string h2h4  (403 ) N:       0 (+ 0) (P: 11.20%) (Q: -0.14137) (D:  0.000) (U: 0.33592) (Q+U:  0.19455) (V:  -.----)
info string g2g3  (374 ) N:       0 (+ 0) (P: 26.78%) (Q: -0.14137) (D:  0.000) (U: 0.80350) (Q+U:  0.66212) (V:  -.----)
bestmove g2g3
lc0 claims not to do a search.
I do not agree and I consider memorizing patterns of search as doing a search.

How can you know that Nf7+ is bad without having in mind Nf7+ Qxf7 Qxf7 Re1#?

You can memorize it from a similiar position that you saw in the past but even in this case I claim that you do a search because you have in your mind more than a single move when you do not play Nf7+.
jp
Posts: 1470
Joined: Mon Apr 23, 2018 7:54 am

Re: Lc0 51010

Post by jp »

Uri Blass wrote: Thu Apr 04, 2019 1:07 am lc0 claims not to do a search.
I do not agree and I consider memorizing patterns of search as doing a search.

How can you know that Nf7+ is bad without having in mind Nf7+ Qxf7 Qxf7 Re1#?

You can memorize it from a similiar position that you saw in the past but even in this case I claim that you do a search because you have in your mind more than a single move when you do not play Nf7+.
I guess you could say it's searching for info in its NN. Getting info from the NN takes huge computer resources.
Fulvio
Posts: 395
Joined: Fri Aug 12, 2016 8:43 pm

Re: Lc0 51010

Post by Fulvio »

Uri Blass wrote: Thu Apr 04, 2019 1:07 am I do not agree and I consider memorizing patterns of search as doing a search.
Communication requires a shared terminology:
https://www.chessprogramming.org/Evaluation
https://www.chessprogramming.org/Search ... Algorithms
Uri Blass wrote: Thu Apr 04, 2019 1:07 am How can you know that Nf7+ is bad without having in mind Nf7+ Qxf7 Qxf7 Re1#?
It doesn't know that it is bad, it's the 3rd choice.
You can imagine describing the position to another person which cannot see the board:
- I have a knight + pawn for a rook
- Probably not good
- But the knight can give a check
- May be interesting
- However I have to prevent the back-rank mate
- You should probably make room for the king first

If you google "Nakamura puzzle rush" you'll see that, in simple positions, he instinctively sees a move and plays it without any calculation.

And do not forget that the "Convolutional Neural Network" used by lc0 is most commonly applied to analyzing visual imagery:
https://en.wikipedia.org/wiki/Convoluti ... al_network
chrisw
Posts: 4313
Joined: Tue Apr 03, 2012 4:28 pm

Re: Lc0 51010

Post by chrisw »

Fulvio wrote: Thu Apr 04, 2019 9:47 am
Uri Blass wrote: Thu Apr 04, 2019 1:07 am I do not agree and I consider memorizing patterns of search as doing a search.
Communication requires a shared terminology:
https://www.chessprogramming.org/Evaluation
https://www.chessprogramming.org/Search ... Algorithms
Uri Blass wrote: Thu Apr 04, 2019 1:07 am How can you know that Nf7+ is bad without having in mind Nf7+ Qxf7 Qxf7 Re1#?
It doesn't know that it is bad, it's the 3rd choice.
You can imagine describing the position to another person which cannot see the board:
- I have a knight + pawn for a rook
- Probably not good
- But the knight can give a check
- May be interesting
- However I have to prevent the back-rank mate
- You should probably make room for the king first

If you google "Nakamura puzzle rush" you'll see that, in simple positions, he instinctively sees a move and plays it without any calculation.

And do not forget that the "Convolutional Neural Network" used by lc0 is most commonly applied to analyzing visual imagery:
https://en.wikipedia.org/wiki/Convoluti ... al_network
Instinctively knowing is a feature of intelligence. There are famous idiot savants (autistic) who can multiply enormous numbers together in an instant but they have no words to describe how. High functioning aspergers are very good at instant seeing, and connecting across disparate fields. Normal people function on internalised knowledge concepts, but ask for the basic explanation and they often don’t have it, internalising knowledge seems to involve forgetting the reasoning behind the knowledge. No “search” going on in any of that.

Yes, the fact that conv nets are visual analysers and chess is a visual game (I mean we see the board and piece icons as initials inputs) implies that our thinking, intuitive and otherwise, is also with increasingly abstract “visual” concepts. Visual is the main way we interact with the world, and our brains (when playing chess) are likely just visual processors, with strong players a) having more internalised visual concepts and b) brains that are strong at connections, such that we can play rapid blitz moves on intuition alone.

Okay, sorry, back to LCZero. We don’t really know what LC0 has internalised or whether or not it “knows” concepts, such as in the example above. Does it know about smothered mate? Does it know about back rank mate? Well, one experiment woud be to shift the smothered mate over by one or two files (putting block pieces onto h7 and h8) and see the difference.
Another would be to guard the bank rank mate square with, say a bishop. Does nodes=0 understand these things?

Oh and btw, in Uri’s example, nobody seemed to notice that the smothered mate simply doesn’t work anyway. After Nf7+ Kg8 Nh6+ Kh8 Qg8+ Rxg8 Nf7+ fails to Qxf7
jp
Posts: 1470
Joined: Mon Apr 23, 2018 7:54 am

Re: Lc0 51010

Post by jp »

There's no sense in talking about Lc0 like it's human or human-like.
User avatar
mclane
Posts: 18748
Joined: Thu Mar 09, 2006 6:40 pm
Location: US of Europe, germany
Full name: Thorsten Czub

Re: Lc0 51010

Post by mclane »

We only want to differentiate between artificial stupidity (e.g.stockfish) and natural intelligence (human) and NN.
My wish would be that programmers try to begin to create chess engines doing artificial intelligence and not hope that NN will do the job.

You could also use driving car as the example. As long as you have to think how to drive, you are a weak driver.
Good drivers drive without thinking about it, with the unconscious. As long as you have to consider what to do you are a beginner driver and drive lousy.

Doing something perfect means forget about it.
First you think about it. Then you sleep about it. And next step is to forget the unimportant and automize the job and do it without thinking about it .
THEN you learned it.
Over night you filter out unimportant stuff. Put a hierarchical order of importance.
This is how you play chess. You filter out those areas of the board and those branches that do not help to solve the position. You see only the important branches and ideas.

The first b Strategy engines in the early days of computer chess came closer to this filtering then today's engines.
In 1981 scisys MKV won the championship in Travemünde with a machine that was b Strategy.

https://www.schach-computer.info/wiki/i ... ton,_David

In 1984 in Glasgow Mephisto III S won a championship title with an engine that did 3-5 NPS (!!) While the competitors did 1500 NPS or more.

https://www.schach-computer.info/wiki/i ... -S_Glasgow

We lost the track.
Today's chess engines are stronger then these artificial intelligence examples. Stockfish is doing millions of NPS and has a very slim branching factor. But it is stupid.

We got Elo. But in the race concerning artificial intelligence the programs are not better then those 1981 or 1984.
What seems like a fairy tale today may be reality tomorrow.
Here we have a fairy tale of the day after tomorrow....
Albert Silver
Posts: 3019
Joined: Wed Mar 08, 2006 9:57 pm
Location: Rio de Janeiro, Brazil

Re: Lc0 51010

Post by Albert Silver »

chrisw wrote: Wed Apr 03, 2019 1:23 pm
LC0 engine does have a search, but we are discussing here the outputs of the neural network itself without search (you can get LC0 to do this with the command nodes=0).

Some people are claiming that the network output without search is 2400 or whatever, or they know somebody who knows somebody who says it is very strong (at blitz). Well, I posted some games from a batch of 100 test games in which I took a look at the moves that caused LC0 to lose, in another thread that shows LC0 policy alone plays some completely idiotic moves, so at least my disagreement with 2400 has some data to back it. Of course, LC0 policy plays some good moves, it's just statistics and sometimes it screws up.
FWIW. adding another layer to this, I was actually very surprised by the 2700's comment, and chose not to say that my one experiment with this last year had been different. There had been claims that Test10, I do not recall which build, was a good 2400 at 1 node, based on some spreadsheet. I found that absurd, but decided to test it myself. I played against it from the official lczero.org website with some Sicilian from White's side. I figured tactics would be the Achilles Heel and was correct as it fell for a two-mover that dropped a piece, then a few moves a pawn. I concluded that while positionally it was no doubt stronger than I was, even at 1 node (never was my forte anyhow), I could not get behind the 2400 Elo statement.I have not bothered to revisit this test since then, but have trouble imagining that Test30 or 40, the latest Leelas, or even Alpha Zero, would somehow be vastly different. This was only one test, one game, so certainly not statistically significant, and perhaps I just got lucky that my one example fit my expectation. Still...
"Tactics are the bricks and sticks that make up a game, but positional play is the architectural blueprint."
chrisw
Posts: 4313
Joined: Tue Apr 03, 2012 4:28 pm

Re: Lc0 51010

Post by chrisw »

mclane wrote: Thu Apr 04, 2019 3:14 pm We only want to differentiate between artificial stupidity (e.g.stockfish) and natural intelligence (human) and NN.
Stockfish has been crafted with a great deal of human brain power, and the elements within it are pretty smart. It makes no sense to call it artificial stupidity.

My wish would be that programmers try to begin to create chess engines doing artificial intelligence and not hope that NN will do the job.
Ah well, this is a valid point. You know the little joke about there being three kind of idiots, those who can count and those who can’t. For sure it applies here, you have “idiots who can count” applying quite simple knowledge extraction algorithms (designed by google researchers et al) to enormous masses of data and ending up with lots of extracted smartness without any need at all for the “counting idiots” to have any knowledge of the domain. Whilst amazing, this is also very dangerous and not just because counting idiot now acts as if Zeus. Nobody knows what is going on in new smart counting idiot created machine. Medicine? Law? International diplomacy? Warfare? Facebook hate speech detectors. Good luck.

You could also use driving car as the example. As long as you have to think how to drive, you are a weak driver.
Good drivers drive without thinking about it, with the unconscious. As long as you have to consider what to do you are a beginner driver and drive lousy.

Doing something perfect means forget about it.
First you think about it. Then you sleep about it. And next step is to forget the unimportant and automize the job and do it without thinking about it .
THEN you learned it.
Well, a lot of learnt is because somebody else told you and/or your tribe all thinks that way, and you don’t have time to check all this input stuff out, so you just internalise it.
So it is with machines that learn, what they learn is massively dependent on the data they get exposed to. Counting idiots in any field you name are not able to distinguish the data.

Over night you filter out unimportant stuff. Put a hierarchical order of importance.
Ha ha. Another topic entirely, but almost all the filtering has already been done before you get to see any “stuff”.
This is how you play chess. You filter out those areas of the board and those branches that do not help to solve the position. You see only the important branches and ideas.

The first b Strategy engines in the early days of computer chess came closer to this filtering then today's engines.
In 1981 scisys MKV won the championship in Travemünde with a machine that was b Strategy.

https://www.schach-computer.info/wiki/i ... ton,_David

In 1984 in Glasgow Mephisto III S won a championship title with an engine that did 3-5 NPS (!!) While the competitors did 1500 NPS or more.

https://www.schach-computer.info/wiki/i ... -S_Glasgow

We lost the track.
Today's chess engines are stronger then these artificial intelligence examples. Stockfish is doing millions of NPS and has a very slim branching factor. But it is stupid.

We got Elo. But in the race concerning artificial intelligence the programs are not better then those 1981 or 1984.
User avatar
mclane
Posts: 18748
Joined: Thu Mar 09, 2006 6:40 pm
Location: US of Europe, germany
Full name: Thorsten Czub

Re: Lc0 51010

Post by mclane »

Yes. Stockfish and Komodo and Houdini, maybe even rybka or fruit... are very clever pieces of code. Programs that use the search tree in a very very clever way. Optimised for NPS, parallel computation and depth.
But Frans morschs Fritz was also very clever concerning null move at it’s Time.
And all the other software were also clever at its time.

Today w do have nearly infinite amount of ram and program size.
This was not possible in earlier times.

Nevertheless. What is the sense of Stockfish computing 30-40 searches and doing millions of NPS , playing chess ?
Doing a move after millions and millions of considered moves ???
Why ?

They beat all humans on earth.
And they still compete against each other. Nothing against it.
But is it intelligent. Will it bring us to the Next level ?

In early years people drove to Spain by car.
Today they fly to Caribbean islands with plane.
In early years they drove 100 or 170 km/h.
Planes fly with 900 km/h.

But is it intelligent ?

Is increasing speed or increasing NPS the way to reach artificial intelligence ?
I would say NO.

I can buy Komodo 13. or 14. and i can buy a pc 4 times faster.
So I buy Komodo 14 and a pc 4 times faster.
And for lc0 I don’t use my NVIDIA 970 but 2070 instead. Or even better use 2 2070 instead.

First I had Quad Core. Now 6 cores. Then 12 cores. Or 24. and ?

Why if the main quality or method the engines use is not really changing anything ?!

My thesis or point is that all those MHz or NPS are not really needed.
We use these methods because it is easier for us.
It’s easier to replace the quadcore with a 12 core pc.
And to replace the NVIDIA 970 with a 2070 or better 2x 2070.


It’s easier,

And it’s also easier to concentrate on search and depths instead of understanding,
Well I am telling this here to a programmer, you, who tried to implement understanding of chess
On a z80a Sinclair zx spectrum. In days where the software was loaded by cassette tape.
I think you understand my point.

Why do we still, with the huge amount of possibilities, the huge ram and rom and cores we can choose today,
Concentrate on elo. And not on alternative methods,
Is this race still about elo or is it about how to reach the next level.
The next level of quality.
Why do we still concentrate on quantifying things ?
What seems like a fairy tale today may be reality tomorrow.
Here we have a fairy tale of the day after tomorrow....