hgm wrote:What is the current consensus on mobility evaluation?
I have seen that some programs just count legal moves (weighted by piece type), others count only moves to squares not controlled by enemy Pawns, while still others only count forward moves of some pieces. Is there a way that is considered 'best'?
Not sure if this is best but hitting those squares near opponent's king location works for me.
hgm wrote:
From my piece-value measurements I know that forward moves on a piece are typically worth twice as much as backwards or sideway moves, so weighting them differently could make sense. (Only counting forward moves seems a bit extreme, though.) An alternative, which on average would achieve the same, would be to weigth by target square. If squares on central ranks are weighted more, this favors forward mobility, as pieces usually can only be safely kept on your own half of the board. (White and black weighting of the same square can of course be made different.)
Agree with this, target squares should be weighted, in addition to center squares, you have 7th rank squares, squares near opp king, squares on open files - these are access to enemy territories, squares on half-open files, attacks on F3/C3, F6/C6 squares, square holes along 3rd/6th ranks-these are square not protected by pawns.
hgm wrote:
I also wondered if there is a rationale for excluding only squares controlled by Pawns, as opposed to excluding squares controlled by any enemy piece of lower value. I guess mobility can also be looked upon as 'board control', and attacking a square with a Rook, even if it is protected by a Knight, still increases your control over that square (it prevents the opponent from entering it with a Queen, and it would allow you to enter it with a minor). Squares controlled by enemy Pawns can never be entered by your pieces, however, no matter how often you attack them. But attacking such squares could still prevent the opponent from entering them with a higher piece. So they might deserve to carry some (small) weigth.
I am working now on crazyhouse, and am actually counting who has the better control of every square, a small bonus is given if attacker is more than defender - this is still course but the plan is to consider the value of attackers and defenders. The drops are crazy.
hgm wrote:
I was planning to implement this by taking counts of each piece type that could reach a square (as a sort of material index of the material that reaches it), so that I can use a lookup table to translate that material to score, so that I can basically use any weighting scheme without requiring any additional computational effort.
Nice
.