中國象棋送子裁剪

空着裁剪可以去除掉一些無意義的着法,比如開局階段的"帥五進一"。我發現還有一種類型的着法可以剪除,就是送子步法。如果一方把棋子走到對方棋子火力範圍內,同時本方進攻力又沒得到提升(抽將抽殺或交換),那麼這步棋基本判定是一步送子。和空着裁剪相比,送子裁剪具有這些優點:

1:判定容易。空着裁剪的規則夠苟刻,而且它無法判定送子。(因爲走一步是送子,按照空着裁剪規則接着再走一步就可形成吃子)。

2:成本低。不需要進行減層的搜索,消耗時間比空着裁剪少很多。

3:效果明顯。盤面中那些無意義的送子步法不少,如果將它們剪掉,可以明顯提升搜索效率。經我測試空着裁剪只能提升10-15%的效率。而送子裁剪可提升20-30%的效率。兩者同時使用,可以提升30%左右效率(和盤面形勢有關)。

送子判定:

假設紅棋一棋子由位置a移動到了位置b,現在判定紅方這步棋是不是送子:

1.如果黑方有棋子可以對b發起攻擊,則吃子。

2.如果紅方有棋子可以對黑方任意位置棋子發起攻擊,則吃子。假設黑方被攻擊位置爲c(c可以是b,也可以是其它位置)。

3.如果黑方有棋子可以對c發起攻擊,則吃子。

4.重複第2步。

具體要通過遞歸來實現。重點在於:走棋方(待判定方)可以在任意位置進行反擊,對方卻只能針對性攻擊。前者是爲了判定走棋方送子是否能夠換來更大收益。後者則是爲了將運算僅限於送子判定上。

送子裁剪的實用性還需要進一步檢驗。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章