The easiest way to weaken the engine is to make it play fixed depth. A 1 ply search is pretty weak, but a 5 ply search will beat most players, but not good tournament players, etc. But there is a very big jump going from one ply to the next so this is rather crude.fern wrote:Thanks Dan for your detailed answer. Respect to my idea of an evaluator, i was thinking JUST in something of that sort for YOUR engine, not to every engine because of the reason you said.
In my opinion, if in a complicated tactical position the human player choose the best move, that for itself is enough to put him in a certain level of proficiency. If then he play badly missing a more or less obvious move, then you have another criteria to evaluate him. In my opinion -perhaps Larry thinks the same- the fact that makes the difference between a master of any class and a good club player is that this last one is inconsistent, he can play very good moves but then he ruin everything with a silly one.
What is preposterous in any and every case is that an expert level player that anyway will lose almost every game to a 3000 engine be considered a 800 player due to that reason. It is not fair. same for club players, etc.
I like your idea of an engine going up or down in his capabilities according to results. that would be a "camarade" engine, or "Partner".
Finally, and I think we already discussed this, I believe that an engine can be weakened as much as his number of ply diminish. In fact that is probable one of the factor that makes the difference between players. Looking at the PV as I play, I have seen many times that the move I chose was considered good -for me- until ply 5,6 or 7 and then the engine goes on and get the real value of it at around ply 11 or 12 and beyond. What that it means? It means we middle level players does not go deep enough and so an engine, without committing obvious mistakes, can be weakened just in that manner.
My best
Fern
So one way is to have an intermediate step doing something like what I said earlier, playing the occasional somewhat losing game.
One concern of mine however is that even a 1 ply search tends to play very good positional moves. In other words, it doesn't play the same way as a human of the same approximate strength.
However I think have a general solution, I can play games based on fixed node levels. The GUI would hide the details of this from you. Then I have fine control over the ELO level. This is basically how Rexchess worked. You could set it to play at some specified ELO level and it adjusted itself by computing how many nodes to look at per move.