Its frequently said in the forum that...."somethings work for some programs but not for others".
I don't really understand this.
For instance, if futility pruning (or any technique) is correct in principle, then it should be an improvement for all programs.
If it isn't, doesn't this mean that there is a problem with the program that doesn't improve with it ?
Regards
Laurie.
some things work for some programs ?
Moderator: Ras
-
elcabesa
- Posts: 858
- Joined: Sun May 23, 2010 1:32 pm
Re: some things work for some programs ?
all the state of the art techniques work and improve programs. ( null move pruning, late move reductiom, futility pruning and so on)
what you frequently read is that " a small improvement to a very optimized and strong engine that give him 5 elo is not giving the boost to another strong engine"
something like happen in F1 racing, all the cars are state of the art and the tuning that work on a car, doesn't work in another one.
that's my understanding
Regards
Marco
what you frequently read is that " a small improvement to a very optimized and strong engine that give him 5 elo is not giving the boost to another strong engine"
something like happen in F1 racing, all the cars are state of the art and the tuning that work on a car, doesn't work in another one.
that's my understanding
Regards
Marco
-
hgm
- Posts: 28458
- Joined: Fri Mar 10, 2006 10:06 am
- Location: Amsterdam
- Full name: H G Muller
Re: some things work for some programs ?
Futility pruning should probably always give some improvement. But in a program that would strongly reduce moves that blunder away material, only very few nodes would contain futile moves, so that the improvement might be immeasurably small. Many search techniques depend on move ordering or evaluation. E.g. LMR might work poorly if you don't have a proper idea of which moves are 'late', and reduce too many crucial moves. Or when your evaluation does not have enough predictive value to decide at the low (reduced) depth that a move is worth it after all, and trigger an unreduced re-search. (E.g. underestimating King Safety will only recognize sacrificial mate attacks when you actually reach the checkmate, so that every move between the initial sacrifice and the mate will remain fully reduced, effectively blinding the engine against such dangers.)
-
Henk
- Posts: 7251
- Joined: Mon May 27, 2013 10:31 am
Re: some things work for some programs ?
At the start everything works. At the end nothing works.
-
lauriet
- Posts: 199
- Joined: Sun Nov 03, 2013 9:32 am
Re: some things work for some programs ?
>> Many search techniques depend on move ordering or evaluation. E.g. LMR might work poorly if you don't have a proper idea of which moves are 'late', and reduce too many crucial moves.
Yes thats what I was thinking.......if it does not work in an engine then its not doing something else properly.
Yes thats what I was thinking.......if it does not work in an engine then its not doing something else properly.
-
matthewlai
- Posts: 793
- Joined: Sun Aug 03, 2014 4:48 am
- Location: London, UK
Re: some things work for some programs ?
Not necessarily.lauriet wrote:>> Many search techniques depend on move ordering or evaluation. E.g. LMR might work poorly if you don't have a proper idea of which moves are 'late', and reduce too many crucial moves.
Yes thats what I was thinking.......if it does not work in an engine then its not doing something else properly.
For example, futility pruning may work well for most programs, because most futile moves are futile, so it helps more often than it hurts.
Now if you have a program that already uses another technique to prune futile moves, so that the only futile-looking moves left are ones that are surprisingly good, futility pruning would make that program worse.
Disclosure: I work for DeepMind on the AlphaZero project, but everything I say here is personal opinion and does not reflect the views of DeepMind / Alphabet.
-
hgm
- Posts: 28458
- Joined: Fri Mar 10, 2006 10:06 am
- Location: Amsterdam
- Full name: H G Muller
Re: some things work for some programs ?
Not necessarily. The best move ordering for LMR might not be the best move ordering for the purposeof getting the fastest beta cutoff, and a King Safety tuning that allows you to do very aggressive LMR might be an overestimate from a strategic point of view, and lead to unsound sacrifices.lauriet wrote:Yes thats what I was thinking.......if it does not work in an engine then its not doing something else properly.
Almost all features of a Chess engine are trade-offs, and many different combinations of the parameters might achieve the same or a very similar optimum. It is usually possible to repair a defect in its play in several independent ways, and if you have repaired it in one way, the other way of repairing it will seem not to work. That doesn't imply it was wrong to already repair it in the original way. Just different.