Ferdy wrote:Have you tried weakening by multipv?
This comes as a natural weakening, generate pv's (multipv = 5 for example) sort them and the first one is the best and the last one is the worst at a given iteration depth.
pv's at iteration 1 is generally weaker than pv's at iteration 2 and so on. Not only you can vary the strength along the iteration depths but also can vary the strength by the ordering in multipv at a given iteration.
You can then introduce the top move percentage per skill level. The strongest skill level will most of the time pick the top move, the 2nd top move in the sorted multipv will be picked by certain percentage higher for higher skill level and lower for lower skill level.
Then you can introduce the blunder percentage. High skill level has less blunder rate and low skill level has high blunder rate.
This is very natural this is what most humans are behaving.
Then you can introduce the error margin per skill level. Strong players may blunder at times but their blunder move is not that worst. For example for high skill level, multipv 1 is +15cp, multipv 2 is +2cp, multipv 3 is -10 multipv 4 is -200cp. Being that skilled you may select the move in multipv 3 which has a score of -10. That multipv 4 which has a score of -200 cp can be assigned for lower skills.
always bothered me trying to quantify the likelihood of a blunder by cp score. strong players make potentially large blunders plenty - it's not the size of the blunder, it's how obvious it is that decreases with strength.
i.e. a complete beginner might commonly forget to move a piece out of en prise - but will still be making a move that appears to do something. making the occasional -5 blunder will still look wrong if that -5 blunder is undeveloping a piece for no reason while another is under attack.
the next step up might count an exchange sequence wrong
the next step up might miss simple two step tactics like removing a defender
the next step up might miss attacks that begin with a sacrifice or other unnatural move
the next step up might struggle with combinations involving multiple areas of the board
and finally any strength of player may struggle with complex combinations mixing multiple sacrifices, unnatural moves, quiet moves to varying degrees.
etc
then there's coupling that with missing or incorrect knowledge to cover the more subtle blunders (liking knights too much, not understanding pawn structure at all, excessive fear of doubled pawns, etc) that would be best covered by exposing large amounts of broad eval weights as options and coupling it with a gui that has personalities setup to represent common failings. In order for these wrong weights to take hold though you'll also need to limit search tree to an extreme degree so that the consequences of the wrong knowledge are often outside of the search tree.
Natural blunders are NOT merely randomly intentionally losing some centipawns every couple moves.