Exemplo n.º 1
0
 def evaluate(self, board: chess.Board):
     epd = board.epd()
     if epd in self.cache:
         policy, value = self.cache[epd]
         return policy, value
     else:
         policy, value = self.net.evaluate(board)
         self.cache[epd] = [policy, value]
         return policy, value
Exemplo n.º 2
0
    def _evaluate_board(board: chess.Board):
        """Simple valuation function.

        Just sums the piece values.
        """
        pieces = board.epd().split()[0]
        piece_values = {
            'p': 1,
            'n': 3,
            'b': 3.25,
            'k': 10000,
            'q': 9,
            'r': 5,
            'P': -1,
            'N': -3,
            'B': -3.25,
            'K': -10000,
            'Q': -9,
            'R': -5
        }
        return sum(piece_values.get(c, 0) for c in pieces)