My "official" request to top engine programmers

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

Moderators: hgm, Rebel, chrisw

Rodolfo Leoni
Posts: 545
Joined: Tue Jun 06, 2017 4:49 pm
Location: Italy

Re: My "official" request to top engine programmer

Post by Rodolfo Leoni »

leavenfish wrote:...wish programmers would spend more of their time looking at that as it is that which would be useful to humans...far more than getting an engine to increase it's elo a bit.
I think a well balanced view could be... we think at new user-friendly features because engines are so strong. A weak engine with PHs would be useless for analyses, I guess. So, we have some jewels as Stockfish and Komodo here, and the effort of making them stronger has been very valuable. It'd be the time, now, that programmers start to ask themselves how their top engines could be the most useful for humans. I guess nobody wants chess Terminators, killing human valuable interactions with chess.

Fishes and Komodo are atop. Why should their programmers limit their features? I can understand Daniel priorities. Andscacs is still growing and it shows potential to get further improvements. But Stockfish? Komodo?
F.S.I. Chess Teacher
Rodolfo Leoni
Posts: 545
Joined: Tue Jun 06, 2017 4:49 pm
Location: Italy

Re: My "official" request to top engine programmer

Post by Rodolfo Leoni »

Anyway, I see no top engine programmer spent half cent here. :?
F.S.I. Chess Teacher
Lyudmil Tsvetkov
Posts: 6052
Joined: Tue Jun 12, 2012 12:41 pm

Re: My "official" request to top engine programmer

Post by Lyudmil Tsvetkov »

Dann Corbit wrote:You will find that all the really big innovations in strength are due to search improvements rather than evaluation improvements.
that is not true, it is rather quite the opposite.

you can evaluate without searching, but you can not search without evaluating, even a single node.

so, evaluation is more important.

one can build a 1-ply engine using refined eval and no further search, but one can not build a good engine using only material values. it will not be able to compute anything, pretty much random searcher.

humans also mostly use evaluation to decide what move is best and what lines to prune, by recalling positions they already have in their memory. positions they have already assessed one way or another. humans almost never do any significant search, involving more than 20 or 30 moves/nodes.

any engine search technique, starting from null move and ending with LMR has to rely on static evaluation, and the results of the search technique will be mostly dependent on it.

I will give you the start position and ask you to build a only-material-based chess engine, and search with it for half a decade to pick the best move. what will that be?

[d]rnbqkbnr/pppppppp/8/8/2P5/8/PP1PPPPP/RNBQKBNR b KQkq c3 0 1

on the other hand, not doing any search at all, but only refined evaluation, I can immediately tell you what is the best first move for white: c4. c4/f4 are less central pawns, attacking a central board square, that is empty, for which a big bonus is assigned in the mg. black can not play d7-d5, as after cd5, white remains with a central d vs semi-central c pawn. e4 is not so good, as e4 is a central pawn attacking that very same d5 central square, and storming pawns on the 4th rank are mostly low-valued.

f4 is not as good as c4, because the f pawn is part of the white king shelter, and pushing such pawns early without sufficient reason is unwarranted.

so simple, no search at all, 1.c4 is the best move. :)
corres
Posts: 3657
Joined: Wed Nov 18, 2015 11:41 am
Location: hungary

Re: My "official" request to top engine programmer

Post by corres »

I think that you would address your request to a maker of commercial chess engine like Komodo/Houdini/Shredder/...
Maybe they have interest to it.
The team of Stockfish will Stockfish to be the Number One between engines
and that is all.
But for this we ought to tell them a great "Thank You!".
duncan
Posts: 12038
Joined: Mon Jul 07, 2008 10:50 pm

Re: My "official" request to top engine programmer

Post by duncan »

Lyudmil Tsvetkov wrote:

you can evaluate without searching, but you can not search without evaluating, even a single node.

so, evaluation is more important.
a 30 move searcher does not need any evaluation.
Rodolfo Leoni
Posts: 545
Joined: Tue Jun 06, 2017 4:49 pm
Location: Italy

Re: My "official" request to top engine programmer

Post by Rodolfo Leoni »

corres wrote:I think that you would address your request to a maker of commercial chess engine like Komodo/Houdini/Shredder/...
Maybe they have interest to it.
The team of Stockfish will Stockfish to be the Number One between engines
and that is all.
But for this we ought to tell them a great "Thank You!".
And for "we" it's intended all those million chess players all over the planet. Maybe some hidden alien too.

Anyway, if you look at feature, McBrain is the number one. UCI limit strenght, nullmove on/off, tactics... and Cerebellum compatible too. I think Michael Byrne spends his programming time not only for imroving strenght. I had a project about building a chess e-book for beginners and children. I think, if I decide to do it, I'll link it to McBrain. Just need to find time to do it, and to understand how DDE works with VB...
F.S.I. Chess Teacher
corres
Posts: 3657
Joined: Wed Nov 18, 2015 11:41 am
Location: hungary

Re: My "official" request to top engine programmer

Post by corres »

McBrain is only a small contribution to Stockfish project.
Naturally if you use McBrain you ought to tell "Thanks" to its author, too.
User avatar
hgm
Posts: 27836
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: My "official" request to top engine programmer

Post by hgm »

Rodolfo Leoni wrote:Anyway, I see no top engine programmer spent half cent here. :?
Stockfish is open source, so anyone can add features to it to make it useful. No reason to have the official Stockfish team involved in that. Any programmer interested enough in Stockfish to bother can do this.

You could also try to get Daniel Dugovic interested in implementing this in Stockfish-variant. He has a much more reasonable attitude towards usability and user-friendliness.
Rodolfo Leoni
Posts: 545
Joined: Tue Jun 06, 2017 4:49 pm
Location: Italy

Re: My "official" request to top engine programmer

Post by Rodolfo Leoni »

hgm wrote:
Rodolfo Leoni wrote:Anyway, I see no top engine programmer spent half cent here. :?
You could also try to get Daniel Dugovic interested in implementing this in Stockfish-variant. He has a much more reasonable attitude towards usability and user-friendliness.
Many thanks for the hint! I'll try to find a way to contact him. I didn't know about his Stockfish fork. :)
McBrain is only a small contribution to Stockfish project.
Naturally if you use McBrain you ought to tell "Thanks" to its author, too.
Of course. I respect others work and I'd not use it without permission. Give a look at the situation here in my city (129.000 living souls).

http://sassariscacchi.fuoriradio.com/in ... ca/tornei/

A bit off topic. :)
The local chess club has 200+ new children playing chess per year, thanks to chess lessons in schools. I'd like to contribute, but I've little free time. So I thought to build some chess e-books. But I really don't understand HOW to send an uci command or to receive infos to/from engines with Visual Basic... everything else is rather easy. :)
F.S.I. Chess Teacher
User avatar
cdani
Posts: 2204
Joined: Sat Jan 18, 2014 10:24 am
Location: Andorra

Re: My "official" request to top engine programmer

Post by cdani »

hgm wrote:The problem that scores of a variation get lost when you go deeper in a variation, and then return to (before) a previously analyzed one, is not related to persistent hash. The latter only makes it possible to transfer analysis between different sessions with the engine.

What you complain about (and also bugged me, when I started to do thorough analysis) is caused by a bad replacement strategy for hash entries. Most engines number the searches they do, and remember in the hash table which search was responsible for creating a stored entry, or remember what was the last search that actually used the stored information. If they then stumble on entries that are not used in any recent search (sometimes even just the current search), they assume the positions they refer to no longer are reachable from the current root position, and thus useless. They are treated as empty, and immediately overwritten.

This works very well in games, where no take-backs are done. Such as in the games used to determine the rating of the engine. For interactive analysis this is fatal, however: as soon as you go into an alterative variation, and play an irreversible move, all your previous analysis will be purged from the hash table, as the positions are no longer reachable. But of course they remain reachable, through the take-back you will sooner or later do to back-poropagate the score of the newly analyzed variation.

The solution is quite simple: engines should realize that an interactive analysis session is in fact a single search, where the low plies are governed by the user, and the root positions of the various analysis searches are not root positions at all, but just internal nodes of the tree the user is constructing. As such, they should not increment the search number during analysis. They are just not different searches, but part of the larger one.

In my engines incrementing the search number only before searches intended to play in a game ('thinking'), and leaving it as it was in an analysis search, did solve the problem.
Done here!
http://www.andscacs.com/downloads/andscacs091142.zip
(Windows version)
Can someone test it and see if it behaves better in analysis mode? I will try it also.
Thanks