Advertisement
Guest User

Untitled

a guest
Dec 17th, 2017
65
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)) '99999)
  6.             (max-stanje m_stanje dubina alpha beta moj-potez (if (null roditelj) (car lp) 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) (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.  
  36.  
  37.  
  38.  
  39.  
  40. (defun max (p d)
  41.     (if (> p d) p d))
  42.    
  43. (defun min (p d)
  44.     (if (< p d) p d))
  45.  
  46.  
  47. (defun max2 (p d)
  48.     (if (> (cadr p) (cadr d)) (cadr p) (cadr d)))
  49.    
  50. (defun min2 (p d)
  51.     (if (< (cadr p) (cadr d)) (cadr p) (cadr d)))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement