Advertisement
ithoran

alfa 2

Dec 17th, 2017
344
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lisp 1.43 KB | None | 0 0
  1. (defun alphabeta (m_stanje dubina alpha beta moj-potez roditelj)
  2.     (if (or (zerop dubina) (pobeda m_stanje (figura_comp moj-potez)))
  3.         (list m_stanje (proc m_stanje) roditelj)
  4.         (if (null moj-potez)
  5.             (min-stanje m_stanje dubina alpha beta moj-potez (if (null roditelj) (car lp) roditelj) (sledbenici m_stanje (figura_comp moj-potez)) (list '99999 '()))
  6.             (max-stanje m_stanje dubina alpha beta moj-potez (if (null roditelj) (car lp) roditelj) (sledbenici m_stanje (figura_comp moj-potez)) (list '-99999 '()))
  7.         )
  8.     )
  9. )
  10.  
  11. (defun max-stanje (m_stanje dubina alpha beta moj-potez roditelj lp v)
  12.     (if (null lp) (list m_stanje (proc m_stanje) roditelj)
  13.     (let* ((v1 (max2 (alphabeta (car lp) (1- dubina) alpha beta (not moj-potez) roditelj) v))
  14.         (a (max (v1 alpha)))
  15.         )
  16.         (if (<= beta a) v1
  17.             (max-stanje m_stanje dubina a beta moj-potez roditelj (cdr lp) v1)
  18.         )
  19.     )
  20.     )
  21. )
  22.  
  23. (defun min-stanje (m_stanje dubina alpha beta moj-potez roditelj lp v)
  24.     (if (null lp) (list m_stanje (proc m_stanje) roditelj)
  25.     (let* ((v1 (min2 (alphabeta (car lp) (1- dubina) alpha beta (not moj-potez) roditelj) v))
  26.         (b (min (v1 beta)))
  27.         )
  28.         (if (<= beta a) v1
  29.             (min-stanje m_stanje dubina alpha b moj-potez roditelj (cdr lp) v1)
  30.         )
  31.     )
  32.     )
  33. )
  34.  
  35. (defun max (p d)
  36.     (if (> (cadr p) d) (cadr p) d))
  37.    
  38. (defun min (p d)
  39.     (if (< (cadr p) d) (cadr p) d))
  40.  
  41. (defun max2 (p d)
  42.     (if (> (cadr p) (cadr d)) p d))
  43.    
  44. (defun min2 (p d)
  45.     (if (< (cadr p) (cadr d)) p d))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement