Answers.Body: <p><strong>Short answer</strong>: No such thing</p>
  
  <p><strong>Long answer</strong>: Contempt factor noted by @Tony is close but not exactly what you are looking for. It is a scaling constant for changing the evaluation score. It is a simple technique for avoiding early draws against apparently weaker opponents, or to prefer draws versus stronger opponents otherwise.</p>
  
  <p>Other techniques that can influence the engine:</p>
  
  <ul>
  <li>Run multi-pv analysis, and choose a move from the principal variations</li>
  <li>Randomly add noise to the search</li>
  <li>Slow down the engine</li>
  <li>Fixed depth or fixed number of nodes</li>
  <li>......</li>
  </ul>
  
  <p>But they are still not what you are looking for, because chess engine <strong>always</strong> assume a perfect opponent. Why? That's because the alpha-beta framework always prune bad moves. The framework <strong>doesn't allow</strong> for dirty cheap tricks.</p>
  
  <p>Let's think about it. It's actually not trivial to code an engine that makes dirty tricks. How does an engine know the tricky would work for a human player? Maybe it's just a gross blunder?</p>
  
  <p>It's hard to to tell the engine:</p>
  
  <ul>
  <li>When to swindle vs when to defend </li>
  <li>How a human player would fall into a trap</li>
  <li>Stupid blunder vs great swindle</li>
  </ul>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-01-16T21:45:58.440Z
Answers.Text: Thanks. That makes sense, if engines were to look further into bad moves to find shortcuts, it would really limit their efficiency
Answers.UserDisplayName: Me2
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-01-14T12:28:24.830Z
Answers.LastActivityDate: 2017-01-14T13:16:23.797Z
Answers.LastEditDate: 2017-01-14T13:16:23.797Z
Answers.UserDisplayName: SmallChess
Body: <p>Chess engines are built to find the best move with the assumption they are playing against a perfect player. My question is, is there an engine out there or would it be easy to create an engine that focuses more on winning quickly against weak human players.</p>
  
  <p>For instance, maybe this engine notices that in a position, it capture a minor piece, but this would open up a 10 move tactic in which the opponent could win a rook. Perhaps this engine would risk capturing the piece and go for a quicker win under the assumption that the human player would not see the tactic.</p>
  
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-01-14T06:03:25.257Z
Comments.Text: Some engines have a "contempt factor" that can be set.
Comments.UserDisplayName: Tony Ennis
Tags: <engines><analysis>
Title: Engine against non-perfect players
ThreadText: # Engine against non-perfect players
  
  (Asked by: username_0 on 2017-01-14)
  
  Chess engines are built to find the best move with the assumption they are playing against a perfect player. My question is, is there an engine out there or would it be easy to create an engine that focuses more on winning quickly against weak human players.
  
  For instance, maybe this engine notices that in a position, it capture a minor piece, but this would open up a 10 move tactic in which the opponent could win a rook. Perhaps this engine would risk capturing the piece and go for a quicker win under the assumption that the human player would not see the tactic.
  
  **Tags:** engines, analysis
  
  > **Comments:**
  > **username_1**: Some engines have a "contempt factor" that can be set.  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_2 on 2017-01-14. Score: 4
  
  **Short answer**: No such thing
  
  **Long answer**: Contempt factor noted by @Tony is close but not exactly what you are looking for. It is a scaling constant for changing the evaluation score. It is a simple technique for avoiding early draws against apparently weaker opponents, or to prefer draws versus stronger opponents otherwise.
  
  Other techniques that can influence the engine:
  
  * Run multi-pv analysis, and choose a move from the principal variations
  * Randomly add noise to the search
  * Slow down the engine
  * Fixed depth or fixed number of nodes
  * ......
  
  But they are still not what you are looking for, because chess engine **always** assume a perfect opponent. Why? That's because the alpha-beta framework always prune bad moves. The framework **doesn't allow** for dirty cheap tricks.
  
  Let's think about it. It's actually not trivial to code an engine that makes dirty tricks. How does an engine know the tricky would work for a human player? Maybe it's just a gross blunder?
  
  It's hard to to tell the engine:
  
  * When to swindle vs when to defend
  * How a human player would fall into a trap
  * Stupid blunder vs great swindle
  
  > **Comments:**
  > **username_0**: Thanks. That makes sense, if engines were to look further into bad moves to find shortcuts, it would really limit their efficiency  
  
  ---
  
  