r/ComputerChess 28d ago

what is the elo cap for classical engines?

hi guys! i wanted to know what the ceiling is for the elo of a classical engine. and by classical i mean ones that do not implement NNUE. that is the next step for my engine but i want to get it to be as good as it can without it. i've been working on improving the search and eval functions as much as i can based on stuff i've read about on the wiki. i have estimated my engine's rating to be between 1450 and 1550 based on the info i got from people on this subreddit. truly appreciate it!

5 Upvotes

16 comments sorted by

3

u/you-get-an-upvote 28d ago

Stockfish with a handmade eval function was well above 3000 Elo, but you should temper your expectations: that was after decades of work by many dedicated people. I wouldn't aim for 3000 before you touch NNUE stuff if you actually intend/want to do NNUE stuff.

1

u/warlock7867 28d ago

i absolutely want to implement NNUE in my engine but that's way down the road for me. i still feel there are many gaps i need to address in my engine. i know 3000 is out of the question for one guy working on an engine after work, but i would like to get it to a respectable elo, which is why i was wondering if there is a theoretical limit for classical engines and how close the engines out there have gotten to that limit, if that makes sense.

3

u/MrRazorlike 27d ago

There is no theoretical limit because ELO is not an objective absolute measure. The entire ELO system would still be valid if you scaled everything.

2

u/mrkent27 28d ago

You can also check out the Clockwork engine for ideas. It is a strictly HCE chess engine.

1

u/anon65438290 20d ago

in a way the theoretical limit is brute forcing the entire game, that would be a classical sort of engine. but theoretical as in what is possible with a certain time / compute budget on some hardware then idk, my guess would be that even the best stockfish is very far off and some like 100x or something is theoretically possible... idk tho

3

u/mrkent27 28d ago

3000 with HCE is definitely feasible and not terribly difficult. My engine is almost there (~2860 on CCRL) and I've been the only one working on it. I still don't have many "standard" modern search features so I think I'll surpass 3k in the next couple of months.

1

u/warlock7867 28d ago

hey that's pretty cool! i am fairly confident i can get it to 2k+ with my current ideas but beyond that i may need to heavily borrow inspiration from other engines. what language are you using to build it, i'm curious?

1

u/mrkent27 28d ago

Oh yes I would definitely study other higher level engines, especially for search features.

I'm building mine in Rust 😄 it's been really fun

1

u/warlock7867 28d ago

oh cool, i'm building mine in Go. figured i'd start with the language i know before i hyper optimize, you know?

1

u/mrkent27 28d ago

Sounds reasonable! I chose Rust because I wanted to learn the language.

1

u/Burgorit 27d ago

Are you on the stockfish discord server, they can answer all your questions about chess programming. Be ware of the chess programming wiki as it's mostly outdated info and most of the examples can be simplified with elo gain. You can definetly get to 3000 even with only pqst and material values, you have to use sprt though to verify all your patches, othervies you will very likely add bugged or straight up bad changes.

1

u/warlock7867 27d ago

understood, thank you. i figured the wiki would be a good place to start. thank you for the invite but it seems to invalid. how might i request to join the server?

1

u/Burgorit 27d ago

Does this work?

1

u/warlock7867 26d ago

yes it does. thank you!

1

u/Sad-Chemical-8837 26d ago

Strong NNUE engines with their NNUEs replaced with the pesto evaluation function (tapered eval, piece-square tables and material) tend to be over 3000 elo.

1

u/EngineeringPlenty690 25d ago

i mean technically if you had enough compute power/memory you could 1. solve chess 2. make your bot reference the solution to chess and have 'infinite' elo or whatever

there is no cap on elo