人机博弈之(五)---估值基础

    技术2022-05-11  72

    估值是一个通过既有的棋类知识来评估一个局面的优劣的过程。这一过程对具体的棋类知识的依赖程度很深,但是仍有一般性的规律可循。

    1. 棋子的价值评估,简单的说就是评估双方都有哪些棋子在棋盘上。根据我们的经验,可以让一个车的价值为500,一个马的价值为300,一个兵的价值为100等等。将的价值为无限大。一方的棋子总值就是棋盘上存活的该方棋子乘以棋子的价值的和。用一个式子表示:  sideValue = sum(Number*pValude)其中Number是某种棋子的数量,pValue是该中棋子的价值,sum是对各种棋子的总价值求和。如果红色棋子的价值总和大于黑色的棋子价值总和,通常意味着红方的局势优于黑方。而红黑双方的sideValue之差越大,红方的优势就越大。

    2 棋子的灵活性与棋盘控制棋子的灵活性是指棋子的活动范围,通常越大越好。一匹不能动的马很难在棋局中发挥重要的作用;同样,一个蹲在角落里的车也是价值不高。评估棋子的灵活性较为简单,将一个棋子的所有合法的走法罗列出来,称上该种棋子每一可移动的价值就行了。可用下面的公式:  mobility = sum(moveNumber * moveValue)其中,moveNumber是某种棋子的合法走法数量,moveValue是该种棋子每一走法的价值,sum是对所有棋子灵活性价值求和。mobility就是所有棋子的灵活性分数。    与灵活性评估类似,还可以评估博弈双方对棋盘上位置的控制能力。在象棋中,如果一位置落在某方棋子的合法走不上,就可以认为被该方控制。如果某一位置同时落在双方的合法的步上,我们可以根据双方控制该位置的棋子数量及棋子价值来决定孰优孰劣。能控制更多位置的一方应该在这项得分上更多。

    3. 棋子之间的关系也是估值重要的内容之一,我们可以将某个棋子被对方棋子威胁看成是一个步利因素。类如红车的位置在黑马的合法走法当中,此时我们可以把红车的价值减去一个值如200来刻画这种情形。而如果红马在黑车的合法走步之中,而红马同时也在红卒的合法走步之中,我们可以认为红马置于红卒的保护之下,没有受到威胁,价值不变。 棋子关系的评估应考虑到该谁走棋的问题。如果某个红马落在黑炮的合法走步之内,但此时轮到红方走棋,应该认为红马受到的威胁较轻。而如果此时轮到黑方走棋,就应该认为受到的危险很大,应减去一个相对较大的值了。如果将被威胁,且轮到对方走棋,那么无论有何种可以走到将位都没有意义,将等于失去了。此时应该结束估值返回失败的估值。棋子间关系的评估可以在很大程度上提高估值的精度,通常是博弈估值的必备内容。 


    最新回复(0)