found rating for knightdreamer of that time(see that list Deep Rybka is leading in the following link:
I think best engine in 2004 was shredder.
https://www.wbec-ridderkerk.nl/html/Bay ... o_ed19.htm
131 KnightDreamer 3.3 2433 20 20 884 46% 2462 29%
29 Shredder 10.1-x64 2844 63 62 92 60% 2766 24% still did not exist in 2004.
@Discord guys: What is modern chess programming about?
Moderators: hgm, Rebel, chrisw
-
- Posts: 10427
- Joined: Thu Mar 09, 2006 12:37 am
- Location: Tel-Aviv Israel
-
- Posts: 4393
- Joined: Tue Apr 03, 2012 4:28 pm
Re: @Discord guys: What is modern chess programming about?
I think you are arguing with a non-programmer here, so not too useful to claim the non-modern chess programmers optimise for testsuites.Viz wrote: ↑Sat Apr 27, 2024 8:37 pmWell, example, example please.Uri Blass wrote: ↑Sat Apr 27, 2024 5:27 pm I disagree test suites are useless.
Everyone can decide what he optimize the engine for.
Some people decide that they optimize for games
Other may decide that they optimize for test suites.
For the very bad results in games
I think that a test suite of 120 positions is clearly too small and this is one of the reason for the bad results.
Another reason is that I guesds there are too many sacrifices in the test suite.
It is possible never to test engine in games and simply analyze the games that it played to find the mistakes that it did and always add positions that the engine blundered to the test suite and optimize the engine to avoid them.
It may be not the best engine but at least the author can release the test suite and results and show the users improvement of the new version in specific positions.
It is possible that sometime latest version is going to be weaker than the older version but I expect the engine to improve in the long run in this case.
Test suite of not 100, let's say 10000 positions, I don't really care about it size.
Which doesn't merge upstream stockfish patches to gain strength, tries to gain via improving from optimizing to test suites.
Show me ANY engine that gains playing strength doing so in a big time run, like let's say 1 year and have progress comparable to master SF (or any progress at all actually).
Spoiler - they don't exist. At all. All engines that "optimize for testsuites" are not only weaker than stockfish master but also merge every single stockfish patch eventually, so are in reality "complete stockfish clone slightly optimized for testsuites".
-
- Posts: 11777
- Joined: Thu Mar 09, 2006 12:57 am
- Location: Birmingham UK
Re: @Discord guys: What is modern chess programming about?
Looking through this thread, I think I have the answer to the question the thread title poses:
* traditional chess programming is about individuals: sometimes they discuss and take advice, but they're basically working alone
* modern chess programming is about a team of people with various strengths and skills coming together to work as a software development team
Over the decades of the existence of computer chess, there have been many ABSOLUTELY BRILLIANT individuals - but a good team is going to run rings around an individual time and time and time again.
* traditional chess programming is about individuals: sometimes they discuss and take advice, but they're basically working alone
* modern chess programming is about a team of people with various strengths and skills coming together to work as a software development team
Over the decades of the existence of computer chess, there have been many ABSOLUTELY BRILLIANT individuals - but a good team is going to run rings around an individual time and time and time again.
The simple reveals itself after the complex has been exhausted.
-
- Posts: 2592
- Joined: Fri Nov 26, 2010 2:00 pm
- Location: Czech Republic
- Full name: Martin Sedlak
Re: @Discord guys: What is modern chess programming about?
as far as I know Uri is the author of movei https://www.chessprogramming.org/Movei
-
- Posts: 160
- Joined: Tue Apr 09, 2024 6:24 am
- Full name: Michael Chaly
Re: @Discord guys: What is modern chess programming about?
Well, anything relatively relevant and not 2400 engine, of course. No offence but this level was surpassed almost 30 years ago.Uri Blass wrote: ↑Sat Apr 27, 2024 10:04 pm found rating for knightdreamer of that time(see that list Deep Rybka is leading in the following link:
I think best engine in 2004 was shredder.
https://www.wbec-ridderkerk.nl/html/Bay ... o_ed19.htm
131 KnightDreamer 3.3 2433 20 20 884 46% 2462 29%
29 Shredder 10.1-x64 2844 63 62 92 60% 2766 24% still did not exist in 2004.
-
- Posts: 10427
- Joined: Thu Mar 09, 2006 12:37 am
- Location: Tel-Aviv Israel
Re: @Discord guys: What is modern chess programming about?
Correct butmar wrote: ↑Sat Apr 27, 2024 11:15 pmas far as I know Uri is the author of movei https://www.chessprogramming.org/Movei
I think that I did no programming in the last 10 years or something close to it(not important if it is 8 or 12).
For the subject
I did not claim something about what non modern chess programmers optimize for in most cases but only that I think it can be useful also to optimize for test postions and not for games and that I believe in this way you can also get improvement in games in the long run and not only in test positions(of course it will be very hard to get improvement in games by optimizing for test positions if you start from stockfish but I thought about people who do not start by modifying a strong engine).
Edit:I think that the last programming that I did is some patches for stockfish but it was relatively simple programming(only changing weights in stockfish or inserting relatively simple code for time management).
I am also responsible for removing partial extensions or reductions from stockfish in 2014
https://m.nextchessmove.com/dev-builds/ ... c124574e50
I think now it is not the last programming I did but I think that I did no programming at least after 2016.
-
- Posts: 4393
- Joined: Tue Apr 03, 2012 4:28 pm
Re: @Discord guys: What is modern chess programming about?
I’ll take it you’re being serious here. So this “modern” thing is not chess programming, nor engine programming, it’s optimising existing code (Finny tables for example) or tuning weights? There’s no chess involved, all that got done years ago. Or?
Should we stop to call this process “top engine development” and use “top engine tuning” instead?
-
- Posts: 160
- Joined: Tue Apr 09, 2024 6:24 am
- Full name: Michael Chaly
Re: @Discord guys: What is modern chess programming about?
ofc not.chrisw wrote: ↑Sun Apr 28, 2024 12:26 amI’ll take it you’re being serious here. So this “modern” thing is not chess programming, nor engine programming, it’s optimising existing code (Finny tables for example) or tuning weights? There’s no chess involved, all that got done years ago. Or?
Should we stop to call this process “top engine development” and use “top engine tuning” instead?
But it really has nothing to do with chess really, apart from some really chess-specific things (funny enough a lot of latest original ideas are somewhat chess-specific).
Overall you improve alpha-beta algo with some semi-speculative things that are only vaguely related to chess.
I myself started as an evaluation patches writer but like half a year before NNUE I switched to search - and search is surprisingly not really related to chess... Somehow.
It's not about optimizing code mostly actually, it's about creating new ideas that make it better. I myself am not even a programmer which didn't stop me from being top-5 stockfish contributor of all time - and most of them being search improvements.
But for example my biggest singular patch that exists to current day is adjusting quiet moves main history by static evaluation difference - at time of introduction it was worth smth like 2 elo, nowadays it grew up to 9 - and this was 1 year ago with much smaller net, so probably is even more now. Is this a chess idea? Welp, not really. Is it hard to program? Also not. Does it require for you to be decent engineer? This is probably where you get to smth...
-
- Posts: 4393
- Joined: Tue Apr 03, 2012 4:28 pm
Re: @Discord guys: What is modern chess programming about?
Given the low ratio of “successful” patches to patches, can we describe this search improvement process as alike the 50 monkeys with 50 keyboards and 50 years? Or is there a rational process by means of which we can describe the progress of the patch army as based on judgement rather than luck?Viz wrote: ↑Sun Apr 28, 2024 12:33 amofc not.chrisw wrote: ↑Sun Apr 28, 2024 12:26 amI’ll take it you’re being serious here. So this “modern” thing is not chess programming, nor engine programming, it’s optimising existing code (Finny tables for example) or tuning weights? There’s no chess involved, all that got done years ago. Or?
Should we stop to call this process “top engine development” and use “top engine tuning” instead?
But it really has nothing to do with chess really, apart from some really chess-specific things (funny enough a lot of latest original ideas are somewhat chess-specific).
Overall you improve alpha-beta algo with some semi-speculative things that are only vaguely related to chess.
I myself started as an evaluation patches writer but like half a year before NNUE I switched to search - and search is surprisingly not really related to chess... Somehow.
It's not about optimizing code mostly actually, it's about creating new ideas that make it better. I myself am not even a programmer which didn't stop me from being top-5 stockfish contributor of all time - and most of them being search improvements.
But for example my biggest singular patch that exists to current day is adjusting quiet moves main history by static evaluation difference - at time of introduction it was worth smth like 2 elo, nowadays it grew up to 9 - and this was 1 year ago with much smaller net, so probably is even more now. Is this a chess idea? Welp, not really. Is it hard to program? Also not. Does it require for you to be decent engineer? This is probably where you get to smth...
I could describe my first backgammon program as 50 monkey jog, small net, random perturb weights, keep a fraction of the perturbation if winning, repeat. The overall process had rationality, the individuals steps were random plus luck.
An example of old school chess guided development would be a mobility function. We understand mobility is good, we can take a shot at measuring mobility in various ways. Hey this works.
-
- Posts: 160
- Joined: Tue Apr 09, 2024 6:24 am
- Full name: Michael Chaly
Re: @Discord guys: What is modern chess programming about?
Well, the stronger engine gets the harder it is to improve it, this should be kinda obvious, right?chrisw wrote: ↑Sun Apr 28, 2024 1:09 am Given the low ratio of “successful” patches to patches, can we describe this search improvement process as alike the 50 monkeys with 50 keyboards and 50 years? Or is there a rational process by means of which we can describe the progress of the patch army as based on judgement rather than luck?
During SF 11 times there were people who spammed like 1000+ tests and couldn't get a single gainer and then blamed stockfish testing methodology
![Very Happy :D](./images/smilies/icon_biggrin.gif)
Sure, you fail in 99% of cases, but to succeed in 1% actually takes some skill for such a strong engine an sf. And it's really streaky. You can be dry for 2 months and then get 10 elo gainers in span of 20 days, this is life.