SebastianLague

Alpha-beta pseudocode

Apr 20th, 2018
19,259
1
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.67 KB | None | 1 0
  1. function minimax(position, depth, alpha, beta, maximizingPlayer)
  2. if depth == 0 or game over in position
  3. return static evaluation of position
  4.  
  5. if maximizingPlayer
  6. maxEval = -infinity
  7. for each child of position
  8. eval = minimax(child, depth - 1, alpha, beta false)
  9. maxEval = max(maxEval, eval)
  10. alpha = max(alpha, eval)
  11. if beta <= alpha
  12. break
  13. return maxEval
  14.  
  15. else
  16. minEval = +infinity
  17. for each child of position
  18. eval = minimax(child, depth - 1, alpha, beta true)
  19. minEval = min(minEval, eval)
  20. beta = min(beta, eval)
  21. if beta <= alpha
  22. break
  23. return minEval
  24.  
  25.  
  26. // initial call
  27. minimax(currentPosition, 3, -∞, +∞, true)
Advertisement
Add Comment
Please, Sign In to add comment