我想为跳棋游戏实现一个人工智能。我一定不能理解α-β剪枝的原理,因为没有什么是有效的!!
我希望算法在某个时间(5或10秒)停止。但是,我认为我的算法永远不会停止。此外,该算法从不截断分支。在
编辑:
我有这些错误:
File "player.py", line 61, in min_value
v = min(v, self.max_value(pBoard, single_move, pDue, alpha, beta))
File "player.py", line 44, in max_value
v = max(v, self.min_value(pBoard, single_move, pDue, alpha, beta))
File "player.py", line 61, in min_value
[...]
File "player.py", line 61, in min_value
v = min(v, self.max_value(pBoard, single_move, pDue, alpha, beta))
File "player.py", line 44, in max_value
v = max(v, self.min_value(pBoard, single_move, pDue, alpha, beta))
File "player.py", line 61, in min_value
TypeError: unorderable types: NoneType() < float()
如果有人能清楚地解释实施过程,我将不胜感激。
以下是我用python编写的:
“evaluation”函数提供一个相对于棋子在棋盘上的位置的值。在
谢谢你的帮助。在
File "player.py", line 61, in min_value
和{由于您没有阅读错误消息,所以您留给我们来猜测哪一行是第61行。在
在这个函数中有一些比较(例如,
min()
,if v <= alpha
)似乎是相关的。在错误消息表明
v
是None
。在由于}。这通常是因为没有
v
可以来自return self.evaluation(move, CELL_OWN)
的值,因此看起来self.evaluation
正在返回{return
或没有表达式的return
。在相关问题 更多 >
编程相关推荐