mirror of
https://github.com/peterosterlund2/droidfish.git
synced 2024-11-27 06:10:28 +01:00
CuckooChess: Removed FIXME items.
This commit is contained in:
parent
626854f56d
commit
949aa08207
|
@ -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
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -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) {
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user