Change displayed informations

This commit is contained in:
Yorick Barbanneau 2023-12-20 01:35:42 +01:00
parent 46e83a63ce
commit 5dbf82521d

View file

@ -67,14 +67,14 @@ class MinmaxPlayerEngine(PlayerEngine):
value = -math.inf value = -math.inf
nodes = 1 nodes = 1
leafs = 0 leafs = 0
move = '' move = []
for m in board.legal_moves(): for m in board.legal_moves():
board.push(m) board.push(m)
v, n, l = self.checkMinMax(board, False, self.options['depth'] - 1) v, n, l = self.checkMinMax(board, False, self.options['depth'] - 1)
if v > value: if v > value:
value = v value = v
move = m move = m
self.logger.debug("found a better move: {} (heuristic:{})".format( self.logger.debug("\tfound a better move: {} (heuristic:{})".format(
move, move,
value value
)) ))
@ -82,15 +82,17 @@ class MinmaxPlayerEngine(PlayerEngine):
leafs += l leafs += l
board.pop() board.pop()
self.logger.debug("Tree statistics:\n\tnodes:{}\n\tleafs:{}".format( self.logger.info("Tree statistics:\n\tnodes:{}\n\tleafs:{}\n\theuristic:{}".format(
nodes, nodes,
leafs leafs,
)) value
))
return move return move
def checkMinMax(self, board, friend_move:bool, depth :int = 2): def checkMinMax(self, board, friend_move:bool, depth :int = 2):
nodes = 1 nodes = 1
leafs = 0 leafs = 0
move = '' move = []
if depth == 0 or board.is_game_over() or self.interrupt_search: if depth == 0 or board.is_game_over() or self.interrupt_search:
leafs +=1 leafs +=1
return self.heuristic.get(board, self.player), nodes, leafs return self.heuristic.get(board, self.player), nodes, leafs
@ -129,7 +131,6 @@ class AlphabetaPlayerEngine(PlayerEngine):
leafs = 0 leafs = 0
move = [] move = []
all_moves = board.legal_moves() all_moves = board.legal_moves()
# random.shuffle(all_moves)
for m in all_moves: for m in all_moves:
board.push(m) board.push(m)
value, n, l = self.checkAlphaBeta(board, False, self.options['depth'] - 1, alpha, beta) value, n, l = self.checkAlphaBeta(board, False, self.options['depth'] - 1, alpha, beta)
@ -161,7 +162,6 @@ class AlphabetaPlayerEngine(PlayerEngine):
if friend_move: if friend_move:
all_moves = board.legal_moves() all_moves = board.legal_moves()
random.shuffle(all_moves)
for m in all_moves: for m in all_moves:
board.push(m) board.push(m)
v, n, l = self.checkAlphaBeta(board, False, depth - 1, alpha, beta) v, n, l = self.checkAlphaBeta(board, False, depth - 1, alpha, beta)
@ -179,7 +179,6 @@ class AlphabetaPlayerEngine(PlayerEngine):
else: else:
all_moves = board.legal_moves() all_moves = board.legal_moves()
random.shuffle(all_moves)
for m in all_moves: for m in all_moves:
board.push(m) board.push(m)
v, n, l = self.checkAlphaBeta(board, True, depth - 1, alpha, beta) v, n, l = self.checkAlphaBeta(board, True, depth - 1, alpha, beta)