feat: p2
This commit is contained in:
@ -116,6 +116,22 @@ Alpha-Beta 剪枝的主要思想是:在某些情况下,可以提前停止对
|
||||
|
||||
如果在搜索过程中发现一个节点的评估值无法改进当前的 Alpha 或 Beta 值,就可以停止对该节点的进一步搜索。
|
||||
|
||||
要评估的节点数量,从而提高了效率。
|
||||
|
||||
### Alpha-Beta 剪枝的步骤
|
||||
|
||||
1. 初始条件:
|
||||
|
||||
- Alpha 的初始值为负无穷(表示当前最大化玩家的已知最优值)。
|
||||
- Beta 的初始值为正无穷(表示当前最小化玩家的已知最优值)。
|
||||
2. 剪枝条件:
|
||||
|
||||
- 在最大化层(Max 层),如果当前节点的评估值大于或等于 Beta 值,则不再评估该节点的后续分支。因为这一分支返回的评估值不会小于当前评估值,即已经比 Beta 更大,因而上一层的最小化玩家不会选择这一分支,而是选择之前的 Beta(剪枝)。
|
||||
- 在最小化层(Min 层),如果当前节点的评估值小于或等于 Alpha 值,则不再评估该节点的后续分支,因为这一分支返回的评估值不会大于当前评估值,即已经比 Alpha 更小,因而上一层最大化玩家不会选择这一分支,而是选择之前的 Alpha(剪枝)。
|
||||
3. 递归过程:
|
||||
|
||||
- 在递归过程中,算法不断更新 Alpha 和 Beta 值。Alpha 表示当前最大化玩家可以保证的最高值,Beta 表示当前最小化玩家可以保证的最低值。
|
||||
- 每次评估一个节点后,根据评估结果更新 Alpha 或 Beta 值,并判断是否需要进行剪枝。
|
||||
|
||||
### 带 Alpha-Beta 剪枝的伪代码
|
||||
|
Reference in New Issue
Block a user