個人認為:αβ剪枝就是為了減少子節點比較,目的就是為了走哪條路(或者說是出哪張牌)能最穩妥的,能贏得絕對到手的錢。(其實懂了你就可以知道,這是可以贏的概率)
第一步 “比較” ,理解它本身是一個樹結構,這棵樹是一層最大值,一層最小值,以此類推。最大值一層就是取子節點最大值。最小值一層就是取子節點最小值。
第二步 “剪枝” ,在第一步的基礎上理解,左節點已經確認取值范圍后,是否還需要繼續判斷右節點,如果不需要判斷右節點,那么就剪枝。
咱們開始了:
稱我方為MAX
,對方為MIN
,圖示如下:
比如以此樹先理解第一步,每個節點都需要比較大小:
最后這一排數字是什么?它就意味着能得到的美元金額
第一步,圈圈(最小值一層),取最少可以贏多少錢,3美元和17美元,那么最少贏3美元
第二步,圈圈(最小值一層),取最少可以贏多少錢,2美元和12美元,那么最少贏2美元
第三步,方塊(最大值一層),取最多可以贏多少錢,3美元和2美元,那么最多可以贏3美元
第四步,方塊(最大值一層),取最多贏多少錢,下限已經是3美元了,就不看2美元了,取3美元
依次類推,按這種每個節點都比較大小的算法,最終得到的結果就是:
剪枝:
首先必須牢記一下:β 是上限;α 是下限;
第一步:o代表最少贏3美元,p代表贏17美元,但是H是最小節點,那么就意味着不能貪心,需要取最小值,設置H的上限為3
第二步:那么H是D的子節點,那么D是最大節點,意味着要貪心一點,需要取最大值,但是現在咱們只有3美元,只好先把D下限設置為3。
第三步:首先D的下限已經是3了,所以I的下限也必須為3,(因為I如果確定小於3,那么D節點必然會取3做為最大值)。然后,I的左側倒推值是2,設置I的上限是2。此時,I的α下限是3,β上限是2,那么R節點不管是多少都不用看了。
換句話說就是,你出I撲克將有幾率贏得2美元或者12美元。出H撲克你已經知道能贏3美元,穩妥起見為了規避只贏2美元,那么12美元就不冒險去賭這個概率了。所以,R節點不管是多少,都把他剪掉。
~~~~~如有不對,歡迎各位看官老爺蒞臨指正!推薦!!!!