Example #1
0
def research_paper_heuristic(board, color):
    # msc = mobility_score(board, color)
    # ssc = stability_score(board, color)
    # return ssc * 100 + msc
    if next_player(board, color) is None:
        return count_colors(board, color) * 10 ** 10
    # return count_legal_moves(board, color) + frontier_squares(board, color) + weight_matrix(board, color) * 10
    stage = 64 - board.count(EMPTY)
    return 1*(count_legal_moves(board, color) * WEIGHT_STAGE_MOVE[stage] + \
           weight_matrix(board, color) * WEIGHT_STAGE_SQ[stage] + \
           frontier_squares(board, color))
Example #2
0
def mobility_score(board, color):
    # more legal moves is better
    lmv = count_legal_moves(board, color)
    fsq_delta = frontier_squares(board, cinv(color)) - frontier_squares(board, color)
    return int(fsq_delta * 0.5) + lmv * 2
Example #3
0
def mobility_score(node):
    # more legal moves is better
    lmv = len(node.legal_moves)
    fsq_delta = frontier_squares(node) - frontier_squares(
        Node(node.board, node.next_plr))
    return int(fsq_delta * 0.5) + lmv * 2