北大公開課-人工智能基礎(chǔ) 31 對抗性搜索之 a-b剪枝


之前的課程已經(jīng)說過了,通過互相action的節(jié)點,形成一棵決策樹。
而隨著博弈的深入,決策樹的節(jié)點增加是指數(shù)式的
通過a-b剪枝,可以至少砍去一半的決策樹,提高對抗性搜索的效率。

只考慮有希望的節(jié)點及其后續(xù)節(jié)點,對于明顯價值較差的節(jié)點,盡早剪枝,節(jié)省算力。

a:對于本方max的一系列最大值的節(jié)點。
b:對于對方一系列最小值的節(jié)點。
如果當(dāng)前節(jié)點差于a,或者高于b,則直接剪枝舍去。

alpha-beta算法
通過max的最大值alpha,或min的最小值 beta,定義值v
將當(dāng)前狀態(tài)與 alpha,beta值比較,
若當(dāng)前狀態(tài)好于alpha或差于beta,則將當(dāng)前值賦值給新的v
否則,則舍去當(dāng)前狀態(tài)節(jié)點及其后續(xù)子節(jié)點。


這是一個交替執(zhí)行的決策樹
max執(zhí)行了自己的步數(shù),得到值3
min執(zhí)行的步數(shù)中,取最小值
max在min最小值的節(jié)點中,再求下一步驟的最大值。


剪枝是剪去整個枝干(剪去某一節(jié)點及其全部后續(xù)節(jié)點),
而非只是剪去某一個節(jié)點??梢源蟠筇嵘阉鞯男?。

標簽: