X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=strategies.lisp;h=e0e108d1d0ed1320b3c9d25b392570cc6bc82421;hb=d270f6e4758c478c6ec9a70ef4059a44097ce514;hp=c2cade730dbc034d99bba3498b72fec6842ff592;hpb=20c849f483c381f84eae22eee807280c8d00e554;p=reversi.git diff --git a/strategies.lisp b/strategies.lisp index c2cade7..e0e108d 100644 --- a/strategies.lisp +++ b/strategies.lisp @@ -8,7 +8,7 @@ ;;;; Programer: Kevin Rosenberg based on code by Peter Norvig ;;;; Date Started: 1 Nov 2001 ;;;; -;;;; $Id: strategies.lisp,v 1.6 2003/06/12 12:42:13 kevin Exp $ +;;;; $Id: strategies.lisp,v 1.7 2003/06/12 13:08:43 kevin Exp $ ;;;; ;;;; This file is Copyright (c) 2001-2003 by Kevin M. Rosenberg ;;;; and Copyright (c) 1998-2002 Peter Norvig @@ -24,8 +24,7 @@ "Make any legal move." (declare (type player player) (type board board)) - (random-elt (legal-moves player board))) - + (random-nth (legal-moves player board))) (defun maximize-difference (player board) "A strategy that maximizes the difference in pieces." @@ -286,7 +285,7 @@ (defun negate-value (node) "Set the value of a node to its negative." (declare (fixnum node) - (speed 3) (safety 0) (space 0)) + (optimize (speed 3) (safety 0) (space 0))) (setf (node-value node) (- (node-value node))) node) @@ -401,6 +400,7 @@ (defun alpha-beta-searcher3w (depth eval-fn) "Return a strategy that does A-B search with killer moves." + (declare (fixnum depth)) #'(lambda (player board) (multiple-value-bind (value move) (alpha-beta3w player board losing-value winning-value @@ -455,10 +455,9 @@ "Total edge evaluation for player to move on board." (declare (type board board) (type player player) - (optimize (speed 3) (safety 0) (space 0)) - (loop for edge-list in *edge-and-x-lists* - sum (aref *edge-table* - (edge-index player board edge-list)))) + (optimize (speed 3) (safety 0) (space 0))) + (loop for edge-list of-type (simple-array fixnum (*)) in *edge-and-x-lists* + sum (aref *edge-table* (edge-index player board edge-list)))) (defun iago-eval (player board) "Combine edge-stability, current mobility and