Advertisement
ithoran

alfa test

Dec 17th, 2017
327
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lisp 1.14 KB | None | 0 0
  1. (defun alphabeta (m_stanje dubina alpha beta moj-potez roditelj)
  2.     (if (or (zerop dubina) (kraj_igre m_stanje))
  3.         (list m_stanje (proc m_stanje) roditelj)
  4.         (if (null moj-potez)
  5.             (min-stanje m_stanje dubina alpha beta moj-potez roditelj (sledbenici m_stanje (figura_comp moj-potez)) '99999)
  6.             (max-stanje m_stanje dubina alpha beta moj-potez roditelj (sledbenici m_stanje (figura_comp moj-potez)) '-99999)
  7.         )
  8.     )
  9. )
  10.  
  11. (defun max-stanje (m_stanje dubina alpha beta moj-potez roditelj lp v)
  12.     (if (null lp) v
  13.     (let* ((v1 (max (alphabeta (car lp) (1- dubina) alpha beta drugoOdMojPotez neZnamStaJeRoditelj) 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) v
  25.     (let* ((v1 (min (alphabeta (car lp) (1- dubina) alpha beta drugoOdMojPotez neZnamStaJeRoditelj) 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 (> p d) p d))
  37.    
  38. (defun min (p d)
  39.     (if (< p d) p d))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement