4 ms·
It doesn't seem that difficult to pull off - take one of the existing engines, get the top y moves, choose randomly. For each level down increase y by 1.
by danielmarkbruce 2y ago
It doesn't seem that difficult to pull off - take one of the existing engines, get the top y moves, choose randomly. For each level down increase y by 1.
- agubelu 2y agoIt doesn't work that way. There are many positions with lots of moves that are reasonable, but many others with only 1-2 sensible moves. It would make lots of obvious blunders that an amateur human would never make.
- chmod775 2y agoAlso attention. Lower level human players are more likely to make a move close to their own/their opponent's recent move. They're focused on one area of the board. Basic computer opponents on the other hand can make moves all over the place. They look at the board state holistically. This can be very frustrating to play against as a human who has enough problems just thinking their way through some subset of the board, but is thrown off by the computer again and again. It's not that bad in chess at least (compared to Go), but still something worth to keep in mind if you're trying to make an AI that is fun to play against as an amateur.
- dullcrisp 2y agoSeems this might still have the problem of moves being either extremely good or extremely bad depending on how many good moves are found, rather than playing at a consistent level. Or for example in a degenerate case where there are only two moves and one leads to mate, the computer will be picking randomly.
- danielmarkbruce 2y agoI don't know enough about chess but surely amateurs don't play at a consistent level. Like, I play a little and I'm quite certain some of my moves are awful (20%?) and some are the same move magnus makes (10%?) and most are on a spectrum between (70%?).
- bobmcnamara 2y agoYour engine would only mate once it had y options to mate.
- dullcrisp 2y agoOr y chances. They did say it’d pick randomly. Still not great though, if a bit less funny.
- danielmarkbruce 2y agoAny time it had an option to mate it would have a chance to mate. It's choose randomly amongst top n, not take the nth.
- ajkjk 2y agoNo, it doesn't work at all. Human mistakes are not at all like computer mistakes. Like -- blundering a piece in a 1-2 move combination will straight up never show up in the stockfish move tree, no matter what you set `y` to.
- teo_zero 2y agoBetter: take one of the existing engines, sort the moves from the best to the worst, if the top move has score S, randomly choose among the moves with score >= 0.9*S. You can simulate a better/worse player by increasing/decreasing the factor: 1 plays as well as the chosen engine can do, 0 is typing random (yet valid) moves on the keyboard.
- danielmarkbruce 2y agoYup this is better.