为了账号安全,请及时绑定邮箱和手机立即绑定

Alpha Beta 修剪算法的捆绑根

Alpha Beta 修剪算法的捆绑根

月关宝盒 2022-07-26 21:57:46
我无法理解为什么 alpha-beta 修剪算法不应该在这里修剪 C?这是我的终端输出:eval Amin 2 min1 -9223372036854775807 10.0eval Bmin 2 min2 10.0 10.0*** FAIL: test_cases/q3/6-tied-root.test***     Incorrect generated nodes for depth=3***         Student generated nodes: A B max min1 min2***         Correct generated nodes: A B C max min1 min2***     Tree:***         max***        /   \***     min1    min2***      |      /  \***      A      B   C***     10     10   0我的理解是,一旦 B 被评估,min2 将看到 max 不会选择任何低于 10 的值,因此,即使找到较小的值 (x<=10) 也不会产生影响。在这种情况下,只有当 B 大于 10 时,min2 才会被激励查看 C。
查看完整描述

1 回答

?
Cats萌萌

TA贡献1805条经验 获得超9个赞

我的理解是,一旦 B 被评估,min2 将看到 max 不会选择任何低于 10 的值,因此,即使找到较小的值 (x<=10) 也不会产生影响。


这是正确的,可以使用在线模拟器进行验证(例如http://homepage.ufp.pt/jtorres/ensino/ia/alfabeta.html或https://raphsilva.github.io/utilities/minimax_simulator/):

tree_height=2;tree_number_nodes=6;Tree>0,0,2,1,-1000,393.75,30,-1000,1000,-1,-1,未定义,1,1,1,3,1000,225,295,未定义,未定义,0,-1,未定义,2,1,2,4,1000,562.5,295,未定义,未定义,0,-1,未定义,3,2,0,-1,10,225,560,未定义,未定义,1,undefined,undefined,4,2,0,-1,10,450,560,undefined,undefined,2,undefined,undefined,5,2,0,-1,0,675,560,undefined,undefined,2,undefined,undefined,<

只有当 B 大于 10 时,min2 才会被激励查看 C。

同样正确:

tree_height=2;tree_number_nodes=6;Tree>0,0,2,1,-1000,393.75,30,-1000,1000,-1,-1,未定义,1,1,1,3,1000,225,295,未定义,未定义,0,-1,未定义,2,1,2,4,1000,562.5,295,未定义,未定义,0,-1,未定义,3,2,0,-1,10,225,560,未定义,未定义,1,undefined,undefined,4,2,0,-1,12,450,560,undefined,undefined,2,undefined,undefined,5,2,0,-1,0,675,560,undefined,undefined,2,undefined,undefined,<


min2还必须检查CA 是否小于10

会不会是错误的测试用例?


查看完整回答
反对 回复 2022-07-26
  • 1 回答
  • 0 关注
  • 99 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号