Uri Blass wrote: ↑Wed Apr 03, 2019 11:30 am
chrisw wrote: ↑Tue Apr 02, 2019 11:32 pm
Uri Blass wrote: ↑Tue Apr 02, 2019 11:01 pm
Raphexon wrote: ↑Tue Apr 02, 2019 7:41 pm
Seems like I spoke too quickly and 0 node Leela is already quite strong at Blitz.
0 node is certainly a lie.
You cannot play with 0 nodes.
I also do not buy the 1 node.
Chess players including humans always see more than a single move in part of the moves of a game(even at the fastest time control) and I cannot believe lc0 is different.
Suppose I play chess and make a move that threat a piece of the opponent
and the opponent make a move to defend the piece(something like Nc6 in reply to Nf3). What happens in the next move and how many nodes do I consider?
In the next move I reject the capture and choose something else so I practically consider 2 moves (capture that I reject and the move that I practically choose).
This happens regardless of the time control that I play and can happen even at bullet.
Zero neural net has a policy net wih 4096 outputs (64 origin squares x 64 destination squares), well, the 4096 is squashed down a bit, but basically that’s the idea.
The network inputs see the chess board and lights up, to greater or lesser extent, the 4096 outputs. The output lit up the most (obviously filtered for legal move validity) is the chosen move. At “nodes=0”.
There is no look-ahead in the sense you describe. It’s a kind of “raw positional” intuition. Only it isn’t, it’s just generalised statistically what generally statistically works. Sometimes it doesn’t, the same type of networks in visual recognition can tell you sometimes with 99% certainty that a mouse is a cat.
1)Suppose a human have a move that make a threat to capture a piece and he know that he has a threat at the time of making the move.
The human practically search some line like 2.Nf3 null 3.Nxe5 and this line is 3 nodes if you consider null move to be a node.
I am sure all humans including top GM's do it regardless of the time control
2)Note that usually alpha-beta engine does not search 2.Nf3 null 3.Nxe5 in 1 ply search(because they have no threat extension).
I do not know exactly what lc0 does but it certainly cannot play good moves without using the board position and doing a search even if it does not call the search nodes.
How do you know that there is a threat against a piece without a search?
It can be inside the evaluation but in this case the evaluation does a search.
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.
As to your question, how can you play good moves without a search ..... well, by remembering themes you've seen in the past. Do you need to search out the standard QN smothered mate position ? I would say not, you just need to recognise the pattern to know it's mate.
kh8, ph7, g7, re8, Ng5, Qd5. Anybody who needs to search that out is not a very strong chess player. Strong players are strong players because they recognise patterns and don't need to search, amongst other reasons. If LC0 has seen that sort of pattern enough times, it will register Nf7+ in the policy. But LC0 might also register Nf7+ in the policy when black could capture the Knight, or the Q path to g8 was obstructed, or, or, or. It's a statistical engine which can get things objectively very wrong, too.