lukasmonk / lucaschess

Chess GUI
http://lucaschess.pythonanywhere.com/
GNU General Public License v2.0
337 stars 76 forks source link

Default 'honey' engine plays in frustrating fashion: reasonably well, then disastrously #123

Open LinuxOnTheDesktop opened 4 years ago

LinuxOnTheDesktop commented 4 years ago

If I play again 'Honey XI 32bit' with a 'depth' of 7 (and no time limit and the strength set at 'intermediate', the computer will play moderately well but then make a howler such as pointlessly sacrificing its Queen (and I'll go on to win easily). I think this should be changed, if possible, especially since the engine in question is, I believe, the default (for something or other).

Also, and as I may have said before: I have the same trouble with most of the other engines, excepting 'DeepTonga'.

Also, and as I may have said before: it is unclear how the depth, strength and time settings interrelate.

Lucas Chess 11.17

lukasmonk commented 4 years ago

The weights in intermediate level: ADJUST_SOMEWHAT_BETTER_MORE_MORE: 5, ADJUST_SOMEWHAT_BETTER_MORE: 10, ADJUST_SOMEWHAT_BETTER: 25, ADJUST_SIMILAR: 60, ADJUST_WORSE: 25, ADJUST_SOMEWHAT_WORSE_LESS: 10, ADJUST_SOMEWHAT_WORSE_LESS_LESS: 5, 5/140 is the probability of very bad move.

Depth limit, engine only thinks to that depth Time limit, engine thinks exactly that time Then engine determines some variations with an score. Then strength type serves to the gui to select the move.

LinuxOnTheDesktop commented 4 years ago

Right.

However: few people will (1) know that in advance, (2) want to learn it in order to have a satisfying game.

So, a change is desirable. Or at least it is given that the current behaviour - - decent play, decent play and . . massive blunder - would be unnatural in a human and creates unsatisfying games.

The deeper point I suppose is this: it is undesirable to set engine strength via assigning a probability of a very bad move.