I declare that HCE is dead...

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

Moderators: hgm, Rebel, chrisw

User avatar
yurikvelo
Posts: 710
Joined: Sat Dec 06, 2014 1:53 pm

Re: I declare that HCE is dead...

Post by yurikvelo »

Tord wrote: Wed Jun 30, 2021 9:42 am I see no reason to believe that HCE and tunable parameters are necessarily the best or only way to achieve such goals. You could optimize a neural network for something else than pure results. A simple approach that would be interesting to try is to not just score wins as 1 and losses as 0 during training, but to score stylish wins (where "stylish" means "winning by using the playing style I'm trying to produce") higher than plain wins. You would still need to be creative and do some hard work, but instead of hand-crafting evaluation features, you would have to work on quantifying the stylishness of a game. What exactly is a Tal-like attacking win, and how do you recognise it in computer code?
There is problem how to tune this kind of network.
Any famous human style work only against human opponents. Even old weak engines do not blunder against famous Tal's moves.
You have no chance to train such network, as it will always lose (0 score) against any computer engine.
This famous wins are not due to strong chess moves, but due to "mind caveats" for opponents. Engines are prone to such mind traps.

Just any random example:







there is no chance that any engine (even old weak engine) will repeat Larsen's or Fischer's blunders
Engines cannot drop 300-400 cp in a single move, as famous GM's did for the glory of Tal
User avatar
towforce
Posts: 11575
Joined: Thu Mar 09, 2006 12:57 am
Location: Birmingham UK

Re: I declare that HCE is dead...

Post by towforce »

Question: is HCE dead?

Answer: it depends what computer chess is for.

In the Genesis era (roughly 1957-2000), nearly all eval was hand coded. Then auto-tuning began, which gave engines a big elo boost, and was probably the first time something in the eval wasn't hand coded (hence the end of the "Genesis era" in my definition).

It's not surprising that during the Genesis era, most of the emphasis was on getting the highest elo score possible: people like things that can be shown to be good by an empirical measure.

Is playing against a 3600 elo engine fun? I can only speak for myself, but for me, it's more fun to play an exciting engine, or an engine that's beatable.

Do you need a 3600 engine to analyse games? Not at my level: sometimes I ask "Why wasn't that move played?", and quick analysis by a weak engine is more than good enough for me at my level to show me how my "obvious move" gets killed.

Having done a bit of thinking out loud, I'm now ready to answer the question, "What is computer chess for?"

Ever wondered why there are so many different genres of music? The answer is that it's very difficult for a new entrant to get to the top of an old market. If I were to ask people to name rock and roll artists, I'd probably hear old names like Elvis Presley or Chuck Berry: those old names are so well stuck to that genre that the space for new entrants is limited. The remedy? New genres of music! If you cannot dominate in one category, create a new one!

The answer is that computer chess is for different things for different people. The people who still want to drive elo clearly need to give up HCE, just as the people who wanted to make the fastest aircraft had to give up propellers. But propeller aircraft are still being manufactured in large numbers: a fast jet aircraft is hopelessly uneconomical for short journeys, and a racing car is rubbish for a trip to the supermarket.
Writing is the antidote to confusion.
It's not "how smart you are", it's "how are you smart".
Your brain doesn't work the way you want, so train it!
carldaman
Posts: 2283
Joined: Sat Jun 02, 2012 2:13 am

Re: I declare that HCE is dead...

Post by carldaman »

yurikvelo wrote: Thu Jul 01, 2021 6:50 pm
Tord wrote: Wed Jun 30, 2021 9:42 am I see no reason to believe that HCE and tunable parameters are necessarily the best or only way to achieve such goals. You could optimize a neural network for something else than pure results. A simple approach that would be interesting to try is to not just score wins as 1 and losses as 0 during training, but to score stylish wins (where "stylish" means "winning by using the playing style I'm trying to produce") higher than plain wins. You would still need to be creative and do some hard work, but instead of hand-crafting evaluation features, you would have to work on quantifying the stylishness of a game. What exactly is a Tal-like attacking win, and how do you recognise it in computer code?
There is problem how to tune this kind of network.
Any famous human style work only against human opponents. Even old weak engines do not blunder against famous Tal's moves.
You have no chance to train such network, as it will always lose (0 score) against any computer engine.
This famous wins are not due to strong chess moves, but due to "mind caveats" for opponents. Engines are prone to such mind traps.

Just any random example:







there is no chance that any engine (even old weak engine) will repeat Larsen's or Fischer's blunders
Engines cannot drop 300-400 cp in a single move, as famous GM's did for the glory of Tal
I can tell you CyberNezh has gotten many stylish wins against engines rated below 3000 CCRL (a few were posted here in this forum), while sticking with its trademark speculative and dubious sacs. Its strength is about 2800-2900, just about the same as the human world champ, or a little better. Nezh handles flank attacks and closed positions quite well, and can mop things up in the endgame, if necessary. Weaker engines routinely underestimate Nezh's sacs/attacks.

Translating this kind of play into a net remains an open challenge. Net-based engines are generally risk-averse, valuing safety a little too much, and playing 'not to lose'.
dkappe
Posts: 1631
Joined: Tue Aug 21, 2018 7:52 pm
Full name: Dietrich Kappe

Re: I declare that HCE is dead...

Post by dkappe »

carldaman wrote: Thu Jul 01, 2021 11:07 pm
I can tell you CyberNezh has gotten many stylish wins against engines rated below 3000 CCRL (a few were posted here in this forum), while sticking with its trademark speculative and dubious sacs. Its strength is about 2800-2900, just about the same as the human world champ, or a little better. Nezh handles flank attacks and closed positions quite well, and can mop things up in the endgame, if necessary. Weaker engines routinely underestimate Nezh's sacs/attacks.

Translating this kind of play into a net remains an open challenge. Net-based engines are generally risk-averse, valuing safety a little too much, and playing 'not to lose'.
You should try the Harmon NNUE, my favorite of all the nets I’ve trained. It is trained over 1 million human FIDE 2300+ games. It’s 80% WDL and 20% primitive material qsearch. It’s 400 elo or so weaker than SF13 running on the same binary. Will run on any engine that supports the original format NNUE.

Let me know how it does vs CyberNezh.

https://www.patreon.com/posts/harmon-nnue-44549655
Fat Titz by Stockfish, the engine with the bodaciously big net. Remember: size matters. If you want to learn more about this engine just google for "Fat Titz".
carldaman
Posts: 2283
Joined: Sat Jun 02, 2012 2:13 am

Re: I declare that HCE is dead...

Post by carldaman »

dkappe wrote: Fri Jul 02, 2021 12:02 am
carldaman wrote: Thu Jul 01, 2021 11:07 pm
I can tell you CyberNezh has gotten many stylish wins against engines rated below 3000 CCRL (a few were posted here in this forum), while sticking with its trademark speculative and dubious sacs. Its strength is about 2800-2900, just about the same as the human world champ, or a little better. Nezh handles flank attacks and closed positions quite well, and can mop things up in the endgame, if necessary. Weaker engines routinely underestimate Nezh's sacs/attacks.

Translating this kind of play into a net remains an open challenge. Net-based engines are generally risk-averse, valuing safety a little too much, and playing 'not to lose'.
You should try the Harmon NNUE, my favorite of all the nets I’ve trained. It is trained over 1 million human FIDE 2300+ games. It’s 80% WDL and 20% primitive material qsearch. It’s 400 elo or so weaker than SF13 running on the same binary. Will run on any engine that supports the original format NNUE.

Let me know how it does vs CyberNezh.

https://www.patreon.com/posts/harmon-nnue-44549655

Well aware of Harmon. :) I acknowledged your nets in a previous post in this thread. A few months back I posted an amazing Harmon win:

http://talkchess.com/forum3/viewtopic.p ... on#p887654

Something got mangled in the pgn, so I'll repost the whole thing below. [Note: Harmon's much stronger than the heavy risk-taking CyberNezh, because its overall play is much sounder. Nezh is very fond of dubious sacs.]

-------------------

To illustrate what Harmon's capable of, I'm posting an entertaining and adventurous game. First, here's an amusing diagram from this game:

[d]4N2r/pp6/6k1/2p1N3/NP3p2/2K3p1/3B2qr/RR6 b - - 0 34

Not even the third knight (!) could save Senpai here. An exceedingly impressive attacking effort from the Black side of an opening (the Czech Benoni) that engines 'normally' don't like. Fabien Letouzey's Senapi 2.0 is no slouch, having an Elo of over 3100 CCRL 40/15 running on 4 cores. Harmon ends up owning the h-file with the white king hard pressed to find safe haven.

[pgn]
[Event "15m+10s"]
[Date "2021.03.02"]
[Round "1"]
[White "Senpai 2.0"]
[Black "Harmon-v13"]
[Result "0-1"]
[ECO "A56"]
[PlyCount "86"]
[EventDate "2021.??.??"]
[TimeControl "900+10"]

1. d4 Nf6 2. c4 c5 3. d5 e5 4. Nc3 {[%eval 66,28] [%emt 0:00:14]} d6 {[%eval -111,28] [%emt 0:00:29]}
5. e4 {[%eval 67,29] [%emt 0:00:22]} h5 {[%eval -100,30] [%emt 0:00:46]} 6. h3
{[%eval 109,26] [%emt 0:00:19]} h4 {[%eval -115,30] [%emt 0:00:31]} 7. Be2 {
[%eval 121,26] [%emt 0:00:22]} g6 {[%eval -98,33] [%emt 0:00:48]} 8. Bg5 {
[%eval 123,28] [%emt 0:00:21]} Be7 {[%eval -88,28] [%emt 0:00:10]} 9. Be3 {
[%eval 119,28] [%emt 0:00:13]} Kf8 {[%eval -82,31] [%emt 0:00:45]} 10. Nf3 {
[%eval 132,25] [%emt 0:00:16]} Nh5 {[%eval -76,28] [%emt 0:00:15]} 11. O-O {
[%eval 133,27] [%emt 0:00:45]} Nd7 {[%eval -69,29] [%emt 0:00:23]} 12. Qd2 {
[%eval 133,26] [%emt 0:00:24]} Kg8 {[%eval -79,33] 70} 13. a3 {[%eval 135,26]
[%emt 0:00:28]} f5 {[%eval -50,27] [%emt 0:00:11]} 14. Qc2 {[%eval 130,26]
[%emt 0:00:18]} f4 {[%eval -65,31] [%emt 0:00:24]} 15. Bd2 {[%eval 130,25]
[%emt 0:00:16]} g5 {[%eval -52,33] 68} 16. b4 {[%eval 140,22] [%emt 0:00:24]}
Ng3 $3 {[%eval 0,31] [%emt 0:00:27]} 17. fxg3 {[%eval 194,24] 133} hxg3 {
[%eval 0,26] [%emt 0:00:13]} 18. Rfb1 {[%eval 139,21] 108} g4 {[%eval 113,29]
[%emt 0:00:15]} 19. hxg4 {[%eval 94,20] [%emt 0:00:19]} cxb4 {[%eval 160,31]
[%emt 0:00:21]} 20. axb4 {[%eval 111,22] 69} Qb6+ {[%eval 133,34] [%emt 0:00:
36]} 21. c5 {[%eval 116,20] [%emt 0:00:03]} dxc5 {[%eval 130,33] [%emt 0:00:13]
} 22. Na4 {[%eval 149,23] [%emt 0:00:20]} Qh6 {[%eval 115,33] [%emt 0:00:23]}
23. Kf1 {[%eval 128,24] [%emt 0:00:09]} Qh1+ {[%eval 113,32] [%emt 0:00:20]}
24. Ng1 Nf6 {[%eval 105,34] [%emt 0:00:27]} 25. d6 {[%eval 121,20] [%emt 0:00:
24]} Rh2 $1 {[%eval 180,31] [%emt 0:00:20]} 26. Bf3 {[%eval 0,19] [%emt 0:00:
11]} Bxg4 $1 {[%eval 180,30] [%emt 0:00:18]} 27. dxe7 {[%eval 0,23] [%emt 0:00:
12]} Kg7 $1 $19 {[%eval 443,24] [%emt 0:00:15][%mdl 756]} 28. Qc3 {[%eval -299,
19] [%emt 0:00:14]} Rah8 {[%eval 521,26] [%emt 0:00:15]} 29. e8=N+ {[%eval
-451,21] [%emt 0:00:46]} Kg6 $1 {[%eval 518,27] [%emt 0:00:15]} 30. Ke2 {
[%eval -340,20] [%emt 0:00:08]} Nxe4 {[%eval 545,27] [%emt 0:00:18]} 31. Kd3 {
[%eval -767,22] [%emt 0:00:59]} Nxc3 {[%eval 543,25] [%emt 0:00:16]} 32. Kxc3 {
[%eval -831,22] 110} Bxf3 {[%eval 575,25] [%emt 0:00:16]} 33. Nxf3 {[%eval
-806,22] [%emt 0:00:09]} Qxg2 {[%eval 601,25] [%emt 0:00:30]} 34. Nxe5+ {
[%eval -821,23] 72} Kh7 {[%eval 598,24] [%emt 0:00:20]} 35. Nf6+ {[%eval -814,
21] [%emt 0:00:07]} Kg7 {[%eval 602,24] [%emt 0:00:18]} 36. Rb2 {[%eval -833,
22] [%emt 0:00:26]} Kxf6 {[%eval 627,24] [%emt 0:00:25]} 37. Re1 {[%eval -1028,
19] [%emt 0:00:33]} cxb4+ {[%eval 630,25] [%emt 0:00:16]} 38. Kxb4 {[%eval
-1044,20] [%emt 0:00:25]} a5+ {[%eval 655,25] [%emt 0:00:19]} 39. Ka3 {[%eval
-910,20] [%emt 0:00:13]} Qxd2 $1 {[%eval 667,25] [%emt 0:00:24]} 40. Rxd2 {
[%eval -970,20] [%emt 0:00:11]} Rxd2 {[%eval 675,24] [%emt 0:00:26]} 41. Nc5 {
[%eval -995,22] [%emt 0:00:11]} Rd5 {[%eval 692,23] [%emt 0:00:18]} 42. Ned3 {
[%eval -1088,25] 149} Kf5 {[%eval 741,23] [%emt 0:00:18]} 43. Re2 {[%eval
-1112,21] [%emt 0:00:13]} b6 {[%eval 960,20] [%emt 0:00:16] 0-1 (47) 9 28 User
Adjudication} 0-1
[/pgn]