我正在研究使用 Minmax 解决 2048 的 AI,但我无法找到正确的启发式算法。这是我到目前为止的启发式方法:
score_grid = [
[128, 64, 32, 16],
[0, 2, 4, 8],
[0, -2, -4, -8],
[-128, -64, -32, -16]
]
sum_points = 0
for i in range(4):
for j in range(4):
sum_points += estado.matrix[i][j] * score_grid[i][j]
return sum_points*1 + len(estado.new_tiles())*5
到目前为止,我只使用网格来引导 ai 制作蛇形图案,并且还考虑了矩阵上的空白区域。
我应该考虑更多的事情吗?我在网上看到有人在使用平滑度,也就是说,如果相邻的数字具有相似的值。另外,每个的重量应该是多少?