CuckooChess: Removed FIXME items.

This commit is contained in:
Peter Osterlund 2015-03-13 23:34:44 +01:00
parent 626854f56d
commit 949aa08207
5 changed files with 0 additions and 18 deletions

View File

@ -245,6 +245,4 @@ public class ComputerPlayer implements Player {
double w = 100*Math.exp(-d*d/2); double w = 100*Math.exp(-d*d/2);
return (int)Math.ceil(w); return (int)Math.ceil(w);
} }
// FIXME!!! Test Botvinnik-Markoff extension
} }

View File

@ -291,10 +291,6 @@ public class Evaluate {
if (!pos.whiteMove) if (!pos.whiteMove)
score = -score; score = -score;
return score; return score;
// FIXME! Test penalty if side to move has >1 hanging piece
// FIXME! Test "tempo value"
} }
/** Compute white_material - black_material. */ /** Compute white_material - black_material. */
@ -756,8 +752,6 @@ public class Evaluate {
score -= 28 + (8 - numPawns) * 3; score -= 28 + (8 - numPawns) * 3;
} }
// FIXME!!! Bad bishop
if ((numWhite == 1) && (numBlack == 1) && (whiteDark != blackDark) && if ((numWhite == 1) && (numBlack == 1) && (whiteDark != blackDark) &&
(pos.wMtrl - pos.wMtrlPawns == pos.bMtrl - pos.bMtrlPawns)) { (pos.wMtrl - pos.wMtrlPawns == pos.bMtrl - pos.bMtrlPawns)) {
final int penalty = (oldScore + score) / 2; final int penalty = (oldScore + score) / 2;
@ -791,7 +785,6 @@ public class Evaluate {
} }
private int threatBonus(Position pos) { private int threatBonus(Position pos) {
// FIXME!! Try higher weight for attacks on more valuable pieces.
int score = 0; int score = 0;
// Sum values for all black pieces under attack // Sum values for all black pieces under attack
@ -896,7 +889,6 @@ public class Evaluate {
} }
private final int kingSafetyKPPart(Position pos) { private final int kingSafetyKPPart(Position pos) {
// FIXME!!! Try non-linear king safety
final long key = pos.pawnZobristHash() ^ pos.kingZobristHash(); final long key = pos.pawnZobristHash() ^ pos.kingZobristHash();
KingSafetyHashData ksh = kingSafetyHash[(int)key & (kingSafetyHash.length - 1)]; KingSafetyHashData ksh = kingSafetyHash[(int)key & (kingSafetyHash.length - 1)];
if (ksh.key != key) { if (ksh.key != key) {
@ -1145,9 +1137,6 @@ public class Evaluate {
} }
} }
return score; return score;
// FIXME! Add evaluation of KRPKR : eg 8/8/8/5pk1/1r6/R7/8/4K3 w - - 0 74
// FIXME! KRBKR is very hard to draw
} }
private static final int evalKQKP(int wKing, int wQueen, int bKing, int bPawn, boolean whiteMove) { private static final int evalKQKP(int wKing, int wQueen, int bKing, int bPawn, boolean whiteMove) {

View File

@ -603,7 +603,6 @@ public class Search {
} }
// Try null-move pruning // Try null-move pruning
// FIXME! Try null-move verification in late endgames. See loss in round 21.
sti.currentMove = emptyMove; sti.currentMove = emptyMove;
if ( (depth >= 3*plyScale) && !inCheck && sti.allowNullMove && if ( (depth >= 3*plyScale) && !inCheck && sti.allowNullMove &&
(Math.abs(beta) <= MATE0 / 2)) { (Math.abs(beta) <= MATE0 / 2)) {
@ -692,7 +691,6 @@ public class Search {
} }
// Start searching move alternatives // Start searching move alternatives
// FIXME! Try hash move before generating move list.
MoveGen.MoveList moves; MoveGen.MoveList moves;
if (inCheck) if (inCheck)
moves = moveGen.checkEvasions(pos); moves = moveGen.checkEvasions(pos);
@ -732,7 +730,6 @@ public class Search {
boolean isCapture = (pos.getPiece(m.to) != Piece.EMPTY); boolean isCapture = (pos.getPiece(m.to) != Piece.EMPTY);
boolean isPromotion = (m.promoteTo != Piece.EMPTY); boolean isPromotion = (m.promoteTo != Piece.EMPTY);
int sVal = Integer.MIN_VALUE; int sVal = Integer.MIN_VALUE;
// FIXME! Test extending pawn pushes to 7:th rank
boolean mayReduce = (m.score < 53) && (!isCapture || m.score < 0) && !isPromotion; boolean mayReduce = (m.score < 53) && (!isCapture || m.score < 0) && !isPromotion;
boolean givesCheck = MoveGen.givesCheck(pos, m); boolean givesCheck = MoveGen.givesCheck(pos, m);
boolean doFutility = false; boolean doFutility = false;

View File

@ -34,7 +34,6 @@ public class TranspositionTable {
byte generation; // Increase when OTB position changes byte generation; // Increase when OTB position changes
public byte type; // exact score, lower bound, upper bound public byte type; // exact score, lower bound, upper bound
short evalScore; // Score from static evaluation short evalScore; // Score from static evaluation
// FIXME!!! Test storing both upper and lower bound in each hash entry.
static public final int T_EXACT = 0; // Exact score static public final int T_EXACT = 0; // Exact score
static public final int T_GE = 1; // True score >= this.score static public final int T_GE = 1; // True score >= this.score

View File

@ -430,7 +430,6 @@ public class MoveGenTest {
List<String> swapList = getMoveList0(swap, onlyLegal); List<String> swapList = getMoveList0(swap, onlyLegal);
List<String> ret = getMoveList0(pos, onlyLegal); List<String> ret = getMoveList0(pos, onlyLegal);
assertEquals(swapList.size(), ret.size()); assertEquals(swapList.size(), ret.size());
// FIXME! Test that swapList contains swapped moves compared to ret
return ret; return ret;
} }