1
0
Fork 0
mirror of https://github.com/sockspls/badfish synced 2025-07-11 19:49:14 +00:00

MovePicker: retire per square MVV/LVA ordering

Is not used anyway and in case we need it again we
can resurrect from git archives.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
This commit is contained in:
Marco Costalba 2009-04-18 14:19:19 +01:00
parent e68ebe618c
commit de050db2b0
2 changed files with 5 additions and 48 deletions

View file

@ -300,16 +300,14 @@ void MovePicker::score_qcaptures() {
/// find_best_index() loops across the moves and returns index of /// find_best_index() loops across the moves and returns index of
/// the highest scored one. There is also a second version that /// the highest scored one.
/// lowers the priority of moves that attack the same square,
/// so that if the best move that attack a square fails the next
/// move picked attacks a different square if any, not the same one.
int MovePicker::find_best_index() { int MovePicker::find_best_index() const {
assert(movesPicked < numOfMoves); assert(movesPicked < numOfMoves);
int bestIndex = movesPicked, bestScore = moves[movesPicked].score; int bestIndex = movesPicked;
int bestScore = moves[movesPicked].score;
for (int i = movesPicked + 1; i < numOfMoves; i++) for (int i = movesPicked + 1; i < numOfMoves; i++)
if (moves[i].score > bestScore) if (moves[i].score > bestScore)
@ -320,45 +318,6 @@ int MovePicker::find_best_index() {
return bestIndex; return bestIndex;
} }
int MovePicker::find_best_index(Bitboard* squares, int values[]) {
assert(movesPicked < numOfMoves);
int hs;
Move m;
Square to;
int bestScore = -10000000, bestIndex = -1;
for (int i = movesPicked; i < numOfMoves; i++)
{
m = moves[i].move;
to = move_to(m);
if (!bit_is_set(*squares, to))
{
// Init at first use
set_bit(squares, to);
values[to] = 0;
}
hs = moves[i].score - values[to];
if (hs > bestScore)
{
bestIndex = i;
bestScore = hs;
}
}
if (bestIndex != -1)
{
// Raise value of the picked square, so next attack
// to the same square will get low priority.
to = move_to(moves[bestIndex].move);
values[to] += 0xB00;
}
return bestIndex;
}
/// MovePicker::pick_move_from_list() picks the move with the biggest score /// MovePicker::pick_move_from_list() picks the move with the biggest score
/// from a list of generated moves (moves[] or badCaptures[], depending on /// from a list of generated moves (moves[] or badCaptures[], depending on
@ -510,5 +469,4 @@ void MovePicker::init_phase_table() {
PhaseTable[i++] = PH_TT_MOVE; PhaseTable[i++] = PH_TT_MOVE;
PhaseTable[i++] = PH_QCAPTURES; PhaseTable[i++] = PH_QCAPTURES;
PhaseTable[i++] = PH_STOP; PhaseTable[i++] = PH_STOP;
} }

View file

@ -80,8 +80,7 @@ private:
void score_evasions(); void score_evasions();
void score_qcaptures(); void score_qcaptures();
Move pick_move_from_list(); Move pick_move_from_list();
int find_best_index(); int find_best_index() const;
int find_best_index(Bitboard* squares, int values[]);
const Position& pos; const Position& pos;
Move ttMove, mateKiller, killer1, killer2; Move ttMove, mateKiller, killer1, killer2;