Answers.Body: <p>In the GUI <a href="https://github.com/rooklift/nibbler" rel="nofollow noreferrer">Nibbler</a> you have a setting called &quot;Temperature&quot;. The higher the temperature value, the more it allows the engine to play unexpected moves. You can also set temperature decay to X moves, so that after X moves it starts playing best moves again.</p>
  <p>You can load any engine you want in Nibbler, but it is designed for NN engines, such as Lc0.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-05-05T20:28:56.063Z
Answers.Text: I found Nibbler a bit hard to configure, but luckily the Temperature option can be modified by adding a lc0.config file in the same folder where the lc0 executable is placed. I have no idea wether Temperature should be 1 or 100, but after making a couple tests it seems to do the trick. I guess some trial and error will be needed.
Answers.UserDisplayName: emdio
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-05-05T12:02:37.907Z
Answers.LastActivityDate: 2021-05-05T12:02:37.907Z
Answers.UserDisplayName: B.Swan
Answers.Body: <p>There are few engines that are capable of such thing. One name that I can recall is the old Spark UCI engine by Allard Siemelink.
  Very aggressive engine with twistable attacking parameters.</p>
  <p>It has a feature called MultiPVMargin which enables you to set certain number difference between the PV (Principle Variations) measured in centipawn.</p>
  <p>For example if your best calculated variation in certain position is measured as +1 for white and you want the engine to play something less &quot;valuable&quot; than that, you can set the MultiPVMargin to a 100 so that the engine looks for a different variation within the 100 centipawn difference.</p>
  <p>You can find older versions of the Spark engine that are available for free download.
  Hope this was the answer you were looking for!</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-05-10T22:10:00.963Z
Answers.LastActivityDate: 2021-05-10T22:10:00.963Z
Answers.UserDisplayName: viktor ranic
Answers.Body: <p>Obviously, there is no such thing for you to download. If you want to happen, you need to do the works. It's not hard.</p>
  <ol>
  <li>Run engine analysis on multi-pv mode</li>
  <li>Check engine score for each line. Play the move according to your rules.</li>
  </ol>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-05-05T10:11:17.810Z
Answers.LastActivityDate: 2021-05-05T10:11:17.810Z
Answers.UserDisplayName: SmallChess
Answers.Body: <p>Stockfish actually has something like this ability implemented in its difficulty levels settings, which essentially considers the top few moves and randomly boosts move &quot;scores&quot; on its move candidate list when picking moves. See <a href="https://chess.stackexchange.com/a/35317/28052">my answer on how Stockfish implements levels</a></p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2022-06-30T01:31:28.297Z
Answers.LastActivityDate: 2022-06-30T01:31:28.297Z
Answers.UserDisplayName: qwr
Answers.Body: <p>I'm not sure what the question is.</p>
  <p><a href="https://www.youtube.com/watch?v=DpXy041BIlA" rel="nofollow noreferrer">https://www.youtube.com/watch?v=DpXy041BIlA</a> is a video about 30 different AI styles.</p>
  <p>Of course, like the early Chessmaster, you could limit the computer to only play within a certain range of evaluations.  Instead of choosing from X number of moves, the engine could store a list of moves with their evaluation and prune this list down to only the move which scored within 100 points of the best move and randomly choose from this list.</p>
  <p>You could force the computer to randomly select from the top 3 moves, probably with a cutoff, to make the openings more entertaining.  You could add more flavor by having the computer switch to the best moves at certain moves/move ranges or after it falls below s certain evaluation.  The possibilities are endless.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-05-05T09:22:25.953Z
Answers.LastActivityDate: 2021-05-05T09:22:25.953Z
Answers.UserDisplayName: Mike Jones
Body: <p>Of course this should be subjected to some rules; something like &quot;play any move that's not bellow 0,70 the best move&quot;, or something similar.</p>
  <p>My idea is to use such an engine in order to play some unorthodox openings without needing an opening book.</p>
  <p>For example, say I want to play some games as White trying 1.e4 e4 2.a3. I'm sure there are many good moves for black's second move, so I'd like the engine to &quot;choose&quot; from several of them, instead of always playing the best one.</p>
  <p>Kudos if this behavior could be limited to a fixed number of moves -so you get some variety in the opening but you want it &quot;full power&quot; on middle and endgame.</p>
  
Tags: <engines>
Title: Looking for a chess engine that instead of playing the best move randomly chooses among the best moves?
ThreadText: # Looking for a chess engine that instead of playing the best move randomly chooses among the best moves?
  
  (Asked by: username_0 on 2021-05-04)
  
  Of course this should be subjected to some rules; something like "play any move that's not bellow 0,70 the best move", or something similar.
  
  My idea is to use such an engine in order to play some unorthodox openings without needing an opening book.
  
  For example, say I want to play some games as White trying 1.e4 e4 2.a3. I'm sure there are many good moves for black's second move, so I'd like the engine to "choose" from several of them, instead of always playing the best one.
  
  Kudos if this behavior could be limited to a fixed number of moves -so you get some variety in the opening but you want it "full power" on middle and endgame.
  
  **Tags:** engines
  
  
  ---
  
  ## 5 answers
  
  ### Answer by username_1 on 2021-05-05. Score: 2 | Accepted answer
  
  In the GUI [Nibbler](https://github.com/rooklift/nibbler) you have a setting called "Temperature". The higher the temperature value, the more it allows the engine to play unexpected moves. You can also set temperature decay to X moves, so that after X moves it starts playing best moves again.
  
  You can load any engine you want in Nibbler, but it is designed for NN engines, such as Lc0.
  
  > **Comments:**
  > **username_0**: I found Nibbler a bit hard to configure, but luckily the Temperature option can be modified by adding a lc0.config file in the same folder where the lc0 executable is placed. I have no idea wether Temperature should be 1 or 100, but after making a couple tests it seems to do the trick. I guess some trial and error will be needed.  
  
  ---
  
  ### Answer by username_2 on 2021-05-10. Score: 3
  
  There are few engines that are capable of such thing. One name that I can recall is the old Spark UCI engine by Allard Siemelink.
  Very aggressive engine with twistable attacking parameters.
  
  It has a feature called MultiPVMargin which enables you to set certain number difference between the PV (Principle Variations) measured in centipawn.
  
  For example if your best calculated variation in certain position is measured as +1 for white and you want the engine to play something less "valuable" than that, you can set the MultiPVMargin to a 100 so that the engine looks for a different variation within the 100 centipawn difference.
  
  You can find older versions of the Spark engine that are available for free download.
  Hope this was the answer you were looking for!
  
  
  ---
  
  ### Answer by username_3 on 2021-05-05. Score: 2
  
  Obviously, there is no such thing for you to download. If you want to happen, you need to do the works. It's not hard.
  
  1. Run engine analysis on multi-pv mode
  2. Check engine score for each line. Play the move according to your rules.
  
  
  ---
  
  ### Answer by username_4 on 2022-06-30. Score: 0
  
  Stockfish actually has something like this ability implemented in its difficulty levels settings, which essentially considers the top few moves and randomly boosts move "scores" on its move candidate list when picking moves. See [my answer on how Stockfish implements levels](https://chess.stackexchange.com/a/35317/28052)
  
  
  ---
  
  ### Answer by username_5 on 2021-05-05. Score: -1
  
  I'm not sure what the question is.
  
  <https://www.youtube.com/watch?v=DpXy041BIlA> is a video about 30 different AI styles.
  
  Of course, like the early Chessmaster, you could limit the computer to only play within a certain range of evaluations. Instead of choosing from X number of moves, the engine could store a list of moves with their evaluation and prune this list down to only the move which scored within 100 points of the best move and randomly choose from this list.
  
  You could force the computer to randomly select from the top 3 moves, probably with a cutoff, to make the openings more entertaining. You could add more flavor by having the computer switch to the best moves at certain moves/move ranges or after it falls below s certain evaluation. The possibilities are endless.
  
  
  ---
  
  