BoCC -- Beauty of Computer Chess

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

Moderator: Ras

User avatar
Rebel
Posts: 7346
Joined: Thu Aug 18, 2011 12:04 pm
Full name: Ed Schröder

Re: BoCC -- Beauty of Computer Chess

Post by Rebel »

pohl4711 wrote: Tue Aug 12, 2025 7:32 amBut, what really would be an improvement for the EAS-tool:
The main idea of my fast and eval-free sac-search is, that engines do not blunder and do not loose on time, so a sac game is, when the winning engine had a material disadvantage for 8 consecutive plies. This great idea has the disadvantage, that it fails, if the game-result is not correct (means for example a timeloss or a crash of the engine in a winning position) and until now, I had no possibility to avoid this. And this "weak point" of the EAS-tool also makes the sac-search in human-games very "buggy", because humans do blunder and loose on time...
But, I had an idea, how to fix this (for this, an eval is really needed...):
An extra mini-tool (I would add it to the EAS-Tool download), that fixes games-results of any source.pgn (including human games, of course). To do this, this tool needs to do a quick (HCE-)evaluation of each endposition of each game of the source.pgn, that does not end with mate or draw by draw-rules. With very, very small thinking-time for each endposition, of course. Sadly, counting just the material does not help here, because of the case, the opponent resigns, after a sac is played. So, the winning color has less material, but the game is still won.
Then the game-result is set to result of the evaluation. Perhaps with a threshhold parameter (example here: 1.0)
Eval from -1.0 up to +1.0 or so would mean a draw and any eval above +1.0 means 1-0 and below -1.0 means a 0-1
But perhaps a threshhold of 1.5 is better? Here I would love to try some different settings.

I know, that evaluating all endpositions of a source.pgn will take some time, even when using just 25ms or so for each single evaluation. That is the reason, this tool can not be directly included in the EAS-Tool. The user would need this tool just from time to time and especially when using the EAS-Tool on a human games gamebase.pgn.
Example: With 25ms thinking-time, the investigation of my UHO-Top15 Ratinglist gamebase with 120000 games will take around 50 minutes (40 games per second can be evaluated)
But gamebases containing human games are way smaller most of the time and here, this tool would be very, very helpful. And much faster.

And the good news is: This tool could look into the gamebase first, if there are evals stored in the comments of the plies of the investigated game. If this is the case, the tool can cancel the evaluation of this game and use the eval in the game-comments instead of its own evaluation-function. Then proceed to the next game (=nice speedup). Mention, a single gamebase can contain both: commented and not-commented games.

If you could make this tool, this would be a huge improvement for the EAS-tool, especially when running it on human games. For you, already having a HCE-eval, this should be quite easy to do. I would be extremely grateful, because I am too stupid to do it by myself. Because I got so many requests: "Can I use the EAS-Tool on my human games bases?" And I always had to answer, that the EAS-Tool sadly does not work very good on human games.
But with this additional tool, the EAS-Tool would work fine on human games. A huge improvement...and a still eval-free EAS-Tool (very important point for me...)
I will see what I can do.

Maybe others may pick your wish as well.
90% of coding is debugging, the other 10% is writing bugs.
User avatar
Rebel
Posts: 7346
Joined: Thu Aug 18, 2011 12:04 pm
Full name: Ed Schröder

Re: BoCC -- Beauty of Computer Chess

Post by Rebel »

pohl4711 wrote: Wed Aug 13, 2025 9:59 am
Rebel wrote: Wed Aug 13, 2025 9:48 am I did -

E:\short-wins>echo 9:35:32,17
9:35:32,17

E:\short-wins>pgn-extract --quiet --fixresulttags --plycount UHO_Ratinglist_full.pgn --output newsource.pgn

E:\short-wins>echo 9:39:44,56
9:39:44,56

E:\short-wins>shorts newsource.pgn

E:\short-wins>echo 9:39:51,53
9:39:51,53

E:\short-wins>pause
Press any key to continue . . .

**********************************************

12 minutes to add the plycount tag with pgn-extract.

Then 7 seconds to do the actual job.

Keep the plycount in your UHO_Ratinglist_full.pgn ?
Yeah, you are right. When I use it in the EAS-Tool, I have always the plycount data, because the EAS-tool generates them at the start, so no need for you to do so.
I tried my 120000 games UHO-Top15 gamebase: I deleted all comments (=evals) and added the plycount.
Then it works (and is really brutally fast!). But I only got 227 games back (short-outs.pgn), that seems a very small number, out of 120000 games ?! (=0.19% hits)
But the games are awesome. I will defintily deeper look into this tools output and compare the found games with the findings of my tools. Perhaps I could add something here to the EAS-Tool.
But for the scoring-system of the EAS-Tool, a hit-rate of only 0.19% is way too small. Such small numbers used in an exponential scoring-system will not work properly. All below 1% is critical. Only one or 2 hits more in a 120000 games gamebase, will then lead to much higher scorings: A complete distortion would be unavoidable.

But the idea itself is nice, IMHO. And finds awesome games. But very small number of games. Right now, this is a problem, when trying to use this tool in the EAS-scoring-system.
Tune the pgn output in the "values.txt" evaluations, it currently stops at move 40, increase them, for example -

Code: Select all

                     OLD                           |                      NEW
8000 7500 7000 6500 6000 5500 5000 4500 4000 3600  | 8000 7500 7000 6500 6000 5500 5000 4500 4000 3600
3200 2800 3500 2200 1900 1700 1500 1350 1200 1100  | 3200 2800 3500 2200 1900 1700 1500 1350 1200 1100
1000  900  800  700  600  500  450  400  350  300  | 1000  900  800  700  600  500  450  400  350  300
 250  210  180  150  120   95   70   50   35   25  |  250  210  180  150  120   95   70   50   35   25
  10    5    0    0    0    0    0    0    0    0  |   10    5    5    5    5    5    5    5    5    5
   0    0    0    0    0    0    0    0    0    0  |    5    5    5    5    5    5    5    5    5    5
   0    0    0    0    0    0    0    0    0    0  |    5    0    0    0    0    0    0    0    0    0
Doing so it will extract games till 60 moves.

Still, only 227 games as output looks suspicious, I agree.

I will look into the code.
90% of coding is debugging, the other 10% is writing bugs.
User avatar
Rebel
Posts: 7346
Joined: Thu Aug 18, 2011 12:04 pm
Full name: Ed Schröder

Re: BoCC -- Beauty of Computer Chess

Post by Rebel »

My stats are -

Code: Select all

pgn\newsource.pgn contains 1.675.000 games
pgn\shorts-out-40-moves.pgn contains 6.584 games    // thus not your 227 games
pgn\shorts-out-50-moves.pgn contains 30.158 games 
pgn\shorts-out-60-moves.pgn contains 134.746 games
Nothing wrong with the code.
90% of coding is debugging, the other 10% is writing bugs.
User avatar
pohl4711
Posts: 2767
Joined: Sat Sep 03, 2011 7:25 am
Location: Berlin, Germany
Full name: Stefan Pohl

Re: BoCC -- Beauty of Computer Chess

Post by pohl4711 »

Rebel wrote: Wed Aug 13, 2025 10:15 am
pohl4711 wrote: Tue Aug 12, 2025 7:32 amBut, what really would be an improvement for the EAS-tool:
The main idea of my fast and eval-free sac-search is, that engines do not blunder and do not loose on time, so a sac game is, when the winning engine had a material disadvantage for 8 consecutive plies. This great idea has the disadvantage, that it fails, if the game-result is not correct (means for example a timeloss or a crash of the engine in a winning position) and until now, I had no possibility to avoid this. And this "weak point" of the EAS-tool also makes the sac-search in human-games very "buggy", because humans do blunder and loose on time...
But, I had an idea, how to fix this (for this, an eval is really needed...):
An extra mini-tool (I would add it to the EAS-Tool download), that fixes games-results of any source.pgn (including human games, of course). To do this, this tool needs to do a quick (HCE-)evaluation of each endposition of each game of the source.pgn, that does not end with mate or draw by draw-rules. With very, very small thinking-time for each endposition, of course. Sadly, counting just the material does not help here, because of the case, the opponent resigns, after a sac is played. So, the winning color has less material, but the game is still won.
Then the game-result is set to result of the evaluation. Perhaps with a threshhold parameter (example here: 1.0)
Eval from -1.0 up to +1.0 or so would mean a draw and any eval above +1.0 means 1-0 and below -1.0 means a 0-1
But perhaps a threshhold of 1.5 is better? Here I would love to try some different settings.

I know, that evaluating all endpositions of a source.pgn will take some time, even when using just 25ms or so for each single evaluation. That is the reason, this tool can not be directly included in the EAS-Tool. The user would need this tool just from time to time and especially when using the EAS-Tool on a human games gamebase.pgn.
Example: With 25ms thinking-time, the investigation of my UHO-Top15 Ratinglist gamebase with 120000 games will take around 50 minutes (40 games per second can be evaluated)
But gamebases containing human games are way smaller most of the time and here, this tool would be very, very helpful. And much faster.

And the good news is: This tool could look into the gamebase first, if there are evals stored in the comments of the plies of the investigated game. If this is the case, the tool can cancel the evaluation of this game and use the eval in the game-comments instead of its own evaluation-function. Then proceed to the next game (=nice speedup). Mention, a single gamebase can contain both: commented and not-commented games.

If you could make this tool, this would be a huge improvement for the EAS-tool, especially when running it on human games. For you, already having a HCE-eval, this should be quite easy to do. I would be extremely grateful, because I am too stupid to do it by myself. Because I got so many requests: "Can I use the EAS-Tool on my human games bases?" And I always had to answer, that the EAS-Tool sadly does not work very good on human games.
But with this additional tool, the EAS-Tool would work fine on human games. A huge improvement...and a still eval-free EAS-Tool (very important point for me...)
I will see what I can do.

Maybe others may pick your wish as well.
Definitly. A "game-result-fixer"-Tool would be awesome. Not just for me, but especially for human gamebases. There are so many broken results in the Megabase alone...
And in these days there a lot of blitzgames played by humans and are stored in (example) the Lichess-Database. Lot of these games have results, caused by timelosses, not by the situation on the board.
User avatar
pohl4711
Posts: 2767
Joined: Sat Sep 03, 2011 7:25 am
Location: Berlin, Germany
Full name: Stefan Pohl

Re: BoCC -- Beauty of Computer Chess

Post by pohl4711 »

Rebel wrote: Wed Aug 13, 2025 12:55 pm
Tune the pgn output in the "values.txt" evaluations, it currently stops at move 40, increase them, for example -

Code: Select all

                     OLD                           |                      NEW
8000 7500 7000 6500 6000 5500 5000 4500 4000 3600  | 8000 7500 7000 6500 6000 5500 5000 4500 4000 3600
3200 2800 3500 2200 1900 1700 1500 1350 1200 1100  | 3200 2800 3500 2200 1900 1700 1500 1350 1200 1100
1000  900  800  700  600  500  450  400  350  300  | 1000  900  800  700  600  500  450  400  350  300
 250  210  180  150  120   95   70   50   35   25  |  250  210  180  150  120   95   70   50   35   25
  10    5    0    0    0    0    0    0    0    0  |   10    5    5    5    5    5    5    5    5    5
   0    0    0    0    0    0    0    0    0    0  |    5    5    5    5    5    5    5    5    5    5
   0    0    0    0    0    0    0    0    0    0  |    5    0    0    0    0    0    0    0    0    0
OK, I understand. I will defintly do some experiments here. Trying to get more hits. When this works, I will check, how many games your algorithm finds, that my EAS-Tool / IWS-Tool do not find. And if these additional found games are enough for an own stat in the EAS-Tool. Otherwise, the found games by your tool, which are already found by my tool, could get a shorty-booster-bonus or so, instead.
Please allow a little delay (in the summer, I do not invest so much time in computerchess)...and mention, any changes in the EAS scoring system have to be done very carefully and a lot of tests are needed here. So, this will not be a quick update.
jefk
Posts: 972
Joined: Sun Jul 25, 2010 10:07 pm
Location: the Netherlands
Full name: Jef Kaan

Re: BoCC -- Beauty of Computer Chess

Post by jefk »

in these days there a lot of blitzgames played by humans and are stored
high Elo blitz games are nowadays included in the Chessbase Megabases (yearly updates)
eg. with title Tuesday games from chess.com; at the levels of Nakamura these
guys play better in blitz than you (probably) and me (for certain do in rapid.
So is understandable to store such games in database , but time forfeit
can distort results, of course.
(made a better database myself by removing blitz games and including correspondence
games, and that's where i usually look); but when i check for novelty value of
gambit, then i also check with the Megabase.
User avatar
Rebel
Posts: 7346
Joined: Thu Aug 18, 2011 12:04 pm
Full name: Ed Schröder

Re: BoCC -- Beauty of Computer Chess

Post by Rebel »

In case you missed it - Rebel-Extreme 1.1

REBEL-EXTREME 1.1 is our new STYLE engine where the focus is on playing style and ELO has a less priority. Nevertheless the engine has an estimated CEGT rating of 3350 elo.

Additional info.

Instead of playing from balanced openings (I am using the Frank Q. positions) I also used Stefan's UHO positions and played the usual 45.000 games. Remarkable EAS numbers.

Code: Select all

                            bad  avg.win                         
 EAS-Score  sacs   shorts  draws  moves  Engine/player 
   532453  50.18%  74.26%  09.34%   51   Rebel-Extrene-1.1     // 3578 elo pool | BoCC = 373.512 [!]
   548632  46.28%  73.85%  07.47%   51   Rebel-Extrene-1.1     // 3500 elo pool | BoCC = 337.375
   598924  48.19%  78.67%  06.81%   49   Rebel-Extreme-1.1     // 3400 elo pool | BoCC = 365.025
Almost 600K gained in the 3400 elo pool.

Small disadvantage, playing from UHO positions lowers the elo somewhat, one would expect the opposite.

Draw rate dropped to 25.2%
90% of coding is debugging, the other 10% is writing bugs.
User avatar
pohl4711
Posts: 2767
Joined: Sat Sep 03, 2011 7:25 am
Location: Berlin, Germany
Full name: Stefan Pohl

Re: BoCC -- Beauty of Computer Chess

Post by pohl4711 »

Rebel wrote: Thu Aug 14, 2025 7:57 pm In case you missed it - Rebel-Extreme 1.1

REBEL-EXTREME 1.1 is our new STYLE engine where the focus is on playing style and ELO has a less priority. Nevertheless the engine has an estimated CEGT rating of 3350 elo.
Thanks for the hint!
Crazy numbers - cant wait to see my testing-results.

Please consider implementing a skill-system and a Multi-PV analysis. Otherwise, the pratical usefulness of Rebel Extreme is very small: You can not play against Rebel as a human and you can not use Rebel for analyzing/kiebitzing properly.
peter
Posts: 3401
Joined: Sat Feb 16, 2008 7:38 am
Full name: Peter Martan

Re: BoCC -- Beauty of Computer Chess

Post by peter »

3'+1" single thread (3.5GHz), UHO 2024 900-990cp 6mvs:

Score of RebelExtreme1.1 vs Patricia5: 19 - 137 - 94 [0.264]
Elo difference: -178.1 +/- 35.3, LOS: 0.0 %, DrawRatio: 37.6 %
250 of 500 games finished.
Peter.