@Discord guys: What is modern chess programming about?

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

Moderators: hgm, Rebel, chrisw

Uri Blass
Posts: 10424
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: @Discord guys: What is modern chess programming about?

Post by Uri Blass »

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.
chrisw
Posts: 4360
Joined: Tue Apr 03, 2012 4:28 pm

Re: @Discord guys: What is modern chess programming about?

Post by chrisw »

Viz wrote: Sat Apr 27, 2024 8:37 pm
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.
Well, example, example please.
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".
I think you are arguing with a non-programmer here, so not too useful to claim the non-modern chess programmers optimise for testsuites.
User avatar
towforce
Posts: 11751
Joined: Thu Mar 09, 2006 12:57 am
Location: Birmingham UK

Re: @Discord guys: What is modern chess programming about?

Post by towforce »

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.
The simple reveals itself after the complex has been exhausted.
mar
Posts: 2579
Joined: Fri Nov 26, 2010 2:00 pm
Location: Czech Republic
Full name: Martin Sedlak

Re: @Discord guys: What is modern chess programming about?

Post by mar »

chrisw wrote: Sat Apr 27, 2024 10:56 pm I think you are arguing with a non-programmer here, so not too useful to claim the non-modern chess programmers optimise for testsuites.
as far as I know Uri is the author of movei https://www.chessprogramming.org/Movei
Viz
Posts: 110
Joined: Tue Apr 09, 2024 6:24 am
Full name: Michael Chaly

Re: @Discord guys: What is modern chess programming about?

Post by Viz »

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.
Well, anything relatively relevant and not 2400 engine, of course. No offence but this level was surpassed almost 30 years ago.
Uri Blass
Posts: 10424
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: @Discord guys: What is modern chess programming about?

Post by Uri Blass »

mar wrote: Sat Apr 27, 2024 11:15 pm
chrisw wrote: Sat Apr 27, 2024 10:56 pm I think you are arguing with a non-programmer here, so not too useful to claim the non-modern chess programmers optimise for testsuites.
as far as I know Uri is the author of movei https://www.chessprogramming.org/Movei
Correct but
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.
chrisw
Posts: 4360
Joined: Tue Apr 03, 2012 4:28 pm

Re: @Discord guys: What is modern chess programming about?

Post by chrisw »

RubiChess wrote: Sat Apr 27, 2024 4:17 pm
chrisw wrote: Sat Apr 27, 2024 3:50 pm This is just plain programming, not chess programming. Faster better optimised code is hardly chess specialist
You got it! This IS chess programming nowadays.

You don't need to know anything about chess. But at least you learn something about it watching engines in a GUI.
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?
Viz
Posts: 110
Joined: Tue Apr 09, 2024 6:24 am
Full name: Michael Chaly

Re: @Discord guys: What is modern chess programming about?

Post by Viz »

chrisw wrote: Sun Apr 28, 2024 12:26 am
RubiChess wrote: Sat Apr 27, 2024 4:17 pm
chrisw wrote: Sat Apr 27, 2024 3:50 pm This is just plain programming, not chess programming. Faster better optimised code is hardly chess specialist
You got it! This IS chess programming nowadays.

You don't need to know anything about chess. But at least you learn something about it watching engines in a GUI.
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?
ofc not.
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...
chrisw
Posts: 4360
Joined: Tue Apr 03, 2012 4:28 pm

Re: @Discord guys: What is modern chess programming about?

Post by chrisw »

Viz wrote: Sun Apr 28, 2024 12:33 am
chrisw wrote: Sun Apr 28, 2024 12:26 am
RubiChess wrote: Sat Apr 27, 2024 4:17 pm
chrisw wrote: Sat Apr 27, 2024 3:50 pm This is just plain programming, not chess programming. Faster better optimised code is hardly chess specialist
You got it! This IS chess programming nowadays.

You don't need to know anything about chess. But at least you learn something about it watching engines in a GUI.
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?
ofc not.
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...
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?
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.
Viz
Posts: 110
Joined: Tue Apr 09, 2024 6:24 am
Full name: Michael Chaly

Re: @Discord guys: What is modern chess programming about?

Post by Viz »

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?
Well, the stronger engine gets the harder it is to improve it, this should be kinda obvious, right?
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 :D
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.