js-chess-engine 2.1.2 → 2.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ai/Evaluator.d.ts +40 -0
- package/dist/ai/Evaluator.d.ts.map +1 -1
- package/dist/ai/Evaluator.js +236 -7
- package/dist/ai/Evaluator.js.map +1 -1
- package/dist/ai/Search.d.ts.map +1 -1
- package/dist/ai/Search.js +57 -17
- package/dist/ai/Search.js.map +1 -1
- package/package.json +1 -1
package/dist/ai/Evaluator.d.ts
CHANGED
|
@@ -21,6 +21,37 @@ export declare class Evaluator {
|
|
|
21
21
|
* @returns Score in centipawns (positive = good for playerColor)
|
|
22
22
|
*/
|
|
23
23
|
static evaluate(board: InternalBoard, playerColor: InternalColor, depth?: number): Score;
|
|
24
|
+
/**
|
|
25
|
+
* Evaluate rook activity
|
|
26
|
+
* Rewards rooks on open/semi-open files and 7th rank
|
|
27
|
+
*
|
|
28
|
+
* @param board - Board to evaluate
|
|
29
|
+
* @param playerColor - Color to evaluate for
|
|
30
|
+
* @returns Rook activity score
|
|
31
|
+
*/
|
|
32
|
+
private static evaluateRookActivity;
|
|
33
|
+
/**
|
|
34
|
+
* Evaluate king position in endgame
|
|
35
|
+
* In endgames, king should be centralized and active
|
|
36
|
+
*
|
|
37
|
+
* @param board - Board to evaluate
|
|
38
|
+
* @param playerColor - Color to evaluate for
|
|
39
|
+
* @returns Endgame king activity score
|
|
40
|
+
*/
|
|
41
|
+
private static evaluateEndgameKing;
|
|
42
|
+
/**
|
|
43
|
+
* Get king square for a color
|
|
44
|
+
*/
|
|
45
|
+
private static getKingSquare;
|
|
46
|
+
/**
|
|
47
|
+
* Evaluate passed pawns
|
|
48
|
+
* A passed pawn has no enemy pawns in front of it or on adjacent files
|
|
49
|
+
*
|
|
50
|
+
* @param board - Board to evaluate
|
|
51
|
+
* @param playerColor - Color to evaluate for
|
|
52
|
+
* @returns Passed pawn bonus score
|
|
53
|
+
*/
|
|
54
|
+
private static evaluatePassedPawns;
|
|
24
55
|
/**
|
|
25
56
|
* Evaluate material balance
|
|
26
57
|
*
|
|
@@ -37,6 +68,15 @@ export declare class Evaluator {
|
|
|
37
68
|
* @returns Positional score
|
|
38
69
|
*/
|
|
39
70
|
private static evaluatePieceSquareTables;
|
|
71
|
+
/**
|
|
72
|
+
* Evaluate castling status
|
|
73
|
+
* Rewards having castled, which is a key strategic concept
|
|
74
|
+
*
|
|
75
|
+
* @param board - Board to evaluate
|
|
76
|
+
* @param playerColor - Color to evaluate for
|
|
77
|
+
* @returns Castling bonus score
|
|
78
|
+
*/
|
|
79
|
+
private static evaluateCastling;
|
|
40
80
|
/**
|
|
41
81
|
* Get total material value on the board (used for endgame detection)
|
|
42
82
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Evaluator.d.ts","sourceRoot":"","sources":["../../src/ai/Evaluator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAS,aAAa,EAAE,MAAM,UAAU,CAAC;AAC/D,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAwB1C;;GAEG;AACH,eAAO,MAAM,SAAS,QAAQ,CAAC;AAC/B,eAAO,MAAM,SAAS,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Evaluator.d.ts","sourceRoot":"","sources":["../../src/ai/Evaluator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAS,aAAa,EAAE,MAAM,UAAU,CAAC;AAC/D,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAwB1C;;GAEG;AACH,eAAO,MAAM,SAAS,QAAQ,CAAC;AAC/B,eAAO,MAAM,SAAS,OAAO,CAAC;AAsI9B,qBAAa,SAAS;IAClB;;;;;;;OAOG;IACH,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,KAAK,GAAE,MAAU,GAAG,KAAK;IAgC3F;;;;;;;OAOG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAyDnC;;;;;;;OAOG;IACH,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAuClC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,aAAa;IAc5B;;;;;;;OAOG;IACH,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAoElC;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAoB/B;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,yBAAyB;IA0BxC;;;;;;;OAOG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;IA4B/B;;;;;OAKG;IACH,MAAM,CAAC,qBAAqB,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM;CAY7D"}
|
package/dist/ai/Evaluator.js
CHANGED
|
@@ -48,27 +48,30 @@ const PST_MULTIPLIER = 0.5;
|
|
|
48
48
|
/**
|
|
49
49
|
* Pawn piece-square table (black's perspective, reversed for white)
|
|
50
50
|
* Encourages center control and advancement
|
|
51
|
+
* Central pawns (d4/e4) given large bonus to encourage proper opening play
|
|
51
52
|
*/
|
|
52
53
|
const PAWN_PST = [
|
|
53
54
|
[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], // Rank 0 (promotion rank)
|
|
54
55
|
[5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0], // Rank 1 (7th rank - near promotion)
|
|
55
56
|
[1.0, 1.0, 2.0, 3.0, 3.0, 2.0, 1.0, 1.0], // Rank 2 (6th rank)
|
|
56
|
-
[0.5, 0.5, 1.0,
|
|
57
|
-
[0.0, 0.0, 0.0,
|
|
58
|
-
[0.5, 0.5, 1.0,
|
|
57
|
+
[0.5, 0.5, 1.0, 4.5, 4.5, 1.0, 0.5, 0.5], // Rank 3 (5th rank) - increased d5/e5 to 4.5
|
|
58
|
+
[0.0, 0.0, 0.0, 4.0, 4.0, 0.0, 0.0, 0.0], // Rank 4 (4th rank) - increased d4/e4 to 4.0
|
|
59
|
+
[0.5, 0.5, 1.0, 2.0, 2.0, 1.0, 0.5, 0.5], // Rank 5 (3rd rank) - increased d3/e3 to 2.0
|
|
59
60
|
[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], // Rank 6 (starting rank - neutral)
|
|
60
61
|
[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], // Rank 7 (back rank - pawns never here)
|
|
61
62
|
];
|
|
62
63
|
/**
|
|
63
64
|
* Knight piece-square table (black's perspective, reversed for white)
|
|
64
65
|
* Encourages centralization and active placement
|
|
66
|
+
* Central squares (e4/d4/e5/d5) set equal to development squares to prevent premature centralization
|
|
67
|
+
* Knights should develop to good squares (f3, c3) before jumping to ultra-central squares
|
|
65
68
|
*/
|
|
66
69
|
const KNIGHT_PST = [
|
|
67
70
|
[-5.0, -4.0, -3.0, -3.0, -3.0, -3.0, -4.0, -5.0], // Back rank
|
|
68
71
|
[-4.0, -2.0, 0.0, 0.0, 0.0, 0.0, -2.0, -4.0],
|
|
69
72
|
[-3.0, 0.0, 1.0, 1.5, 1.5, 1.0, 0.0, -3.0],
|
|
70
|
-
[-3.0, 0.5, 1.5,
|
|
71
|
-
[-3.0, 0.0, 1.5,
|
|
73
|
+
[-3.0, 0.5, 1.5, 1.0, 1.0, 1.5, 0.5, -3.0], // e5/d5 equal to c5/f5 (1.5) and less than c3 development
|
|
74
|
+
[-3.0, 0.0, 1.5, 1.0, 1.0, 1.5, 0.0, -3.0], // e4/d4 equal to c4/f4 (1.5) and less than c3 development
|
|
72
75
|
[-3.0, 0.5, 1.0, 1.5, 1.5, 1.0, 0.5, -3.0],
|
|
73
76
|
[-4.0, -2.0, 0.0, 0.5, 0.5, 0.0, -2.0, -4.0],
|
|
74
77
|
[-5.0, -4.0, -3.0, -3.0, -3.0, -3.0, -4.0, -5.0], // Starting rank - discourage edge knights
|
|
@@ -175,10 +178,204 @@ class Evaluator {
|
|
|
175
178
|
if (board.isStalemate) {
|
|
176
179
|
return 0; // Draw is neutral
|
|
177
180
|
}
|
|
178
|
-
//
|
|
181
|
+
// Detect endgame phase
|
|
182
|
+
const totalMaterial = this.getTotalMaterialValue(board);
|
|
183
|
+
const isEndgame = totalMaterial < 32; // Less than ~2 rooks + 2 minor pieces worth
|
|
184
|
+
// Material + piece-square tables + passed pawns + endgame adjustments + rook activity + castling
|
|
179
185
|
const materialScore = this.evaluateMaterial(board, playerColor);
|
|
180
186
|
const positionalScore = this.evaluatePieceSquareTables(board, playerColor);
|
|
181
|
-
|
|
187
|
+
const passedPawnScore = this.evaluatePassedPawns(board, playerColor);
|
|
188
|
+
const endgameKingScore = isEndgame ? this.evaluateEndgameKing(board, playerColor) : 0;
|
|
189
|
+
const rookActivityScore = this.evaluateRookActivity(board, playerColor);
|
|
190
|
+
const castlingScore = !isEndgame ? this.evaluateCastling(board, playerColor) : 0; // Only in non-endgame
|
|
191
|
+
return materialScore + positionalScore + passedPawnScore + endgameKingScore + rookActivityScore + castlingScore;
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Evaluate rook activity
|
|
195
|
+
* Rewards rooks on open/semi-open files and 7th rank
|
|
196
|
+
*
|
|
197
|
+
* @param board - Board to evaluate
|
|
198
|
+
* @param playerColor - Color to evaluate for
|
|
199
|
+
* @returns Rook activity score
|
|
200
|
+
*/
|
|
201
|
+
static evaluateRookActivity(board, playerColor) {
|
|
202
|
+
let score = 0;
|
|
203
|
+
// Check each square for rooks
|
|
204
|
+
for (let square = 0; square < 64; square++) {
|
|
205
|
+
const piece = board.mailbox[square];
|
|
206
|
+
if (piece !== types_1.Piece.WHITE_ROOK && piece !== types_1.Piece.BLACK_ROOK)
|
|
207
|
+
continue;
|
|
208
|
+
const pieceColor = piece === types_1.Piece.WHITE_ROOK ? types_1.InternalColor.WHITE : types_1.InternalColor.BLACK;
|
|
209
|
+
const rank = Math.floor(square / 8);
|
|
210
|
+
const file = square % 8;
|
|
211
|
+
// Check if file is open (no pawns) or semi-open (no friendly pawns)
|
|
212
|
+
let hasOwnPawn = false;
|
|
213
|
+
let hasEnemyPawn = false;
|
|
214
|
+
for (let checkRank = 0; checkRank < 8; checkRank++) {
|
|
215
|
+
const checkSquare = checkRank * 8 + file;
|
|
216
|
+
const checkPiece = board.mailbox[checkSquare];
|
|
217
|
+
if (piece === types_1.Piece.WHITE_ROOK) {
|
|
218
|
+
if (checkPiece === types_1.Piece.WHITE_PAWN)
|
|
219
|
+
hasOwnPawn = true;
|
|
220
|
+
if (checkPiece === types_1.Piece.BLACK_PAWN)
|
|
221
|
+
hasEnemyPawn = true;
|
|
222
|
+
}
|
|
223
|
+
else {
|
|
224
|
+
if (checkPiece === types_1.Piece.BLACK_PAWN)
|
|
225
|
+
hasOwnPawn = true;
|
|
226
|
+
if (checkPiece === types_1.Piece.WHITE_PAWN)
|
|
227
|
+
hasEnemyPawn = true;
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
let bonus = 0;
|
|
231
|
+
// Open file (no pawns) - very good
|
|
232
|
+
if (!hasOwnPawn && !hasEnemyPawn) {
|
|
233
|
+
bonus += 20;
|
|
234
|
+
}
|
|
235
|
+
// Semi-open file (no own pawns) - good
|
|
236
|
+
else if (!hasOwnPawn) {
|
|
237
|
+
bonus += 10;
|
|
238
|
+
}
|
|
239
|
+
// 7th rank bonus (attacking enemy pawns on starting rank)
|
|
240
|
+
const is7thRank = (piece === types_1.Piece.WHITE_ROOK && rank === 6) ||
|
|
241
|
+
(piece === types_1.Piece.BLACK_ROOK && rank === 1);
|
|
242
|
+
if (is7thRank) {
|
|
243
|
+
bonus += 15; // Rook on 7th rank is powerful
|
|
244
|
+
}
|
|
245
|
+
if (pieceColor === playerColor) {
|
|
246
|
+
score += bonus;
|
|
247
|
+
}
|
|
248
|
+
else {
|
|
249
|
+
score -= bonus;
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
return score;
|
|
253
|
+
}
|
|
254
|
+
/**
|
|
255
|
+
* Evaluate king position in endgame
|
|
256
|
+
* In endgames, king should be centralized and active
|
|
257
|
+
*
|
|
258
|
+
* @param board - Board to evaluate
|
|
259
|
+
* @param playerColor - Color to evaluate for
|
|
260
|
+
* @returns Endgame king activity score
|
|
261
|
+
*/
|
|
262
|
+
static evaluateEndgameKing(board, playerColor) {
|
|
263
|
+
let score = 0;
|
|
264
|
+
// Find kings
|
|
265
|
+
const whiteKingSquare = this.getKingSquare(board, types_1.InternalColor.WHITE);
|
|
266
|
+
const blackKingSquare = this.getKingSquare(board, types_1.InternalColor.BLACK);
|
|
267
|
+
if (whiteKingSquare !== null) {
|
|
268
|
+
const rank = Math.floor(whiteKingSquare / 8);
|
|
269
|
+
const file = whiteKingSquare % 8;
|
|
270
|
+
// Bonus for king centralization (distance from center)
|
|
271
|
+
const centerDistance = Math.abs(rank - 3.5) + Math.abs(file - 3.5);
|
|
272
|
+
const centralizationBonus = (7 - centerDistance) * 5; // Max 35 points for center
|
|
273
|
+
if (playerColor === types_1.InternalColor.WHITE) {
|
|
274
|
+
score += centralizationBonus;
|
|
275
|
+
}
|
|
276
|
+
else {
|
|
277
|
+
score -= centralizationBonus;
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
if (blackKingSquare !== null) {
|
|
281
|
+
const rank = Math.floor(blackKingSquare / 8);
|
|
282
|
+
const file = blackKingSquare % 8;
|
|
283
|
+
const centerDistance = Math.abs(rank - 3.5) + Math.abs(file - 3.5);
|
|
284
|
+
const centralizationBonus = (7 - centerDistance) * 5;
|
|
285
|
+
if (playerColor === types_1.InternalColor.BLACK) {
|
|
286
|
+
score += centralizationBonus;
|
|
287
|
+
}
|
|
288
|
+
else {
|
|
289
|
+
score -= centralizationBonus;
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
return score;
|
|
293
|
+
}
|
|
294
|
+
/**
|
|
295
|
+
* Get king square for a color
|
|
296
|
+
*/
|
|
297
|
+
static getKingSquare(board, color) {
|
|
298
|
+
const kingBitboard = color === types_1.InternalColor.WHITE ? board.whiteKing : board.blackKing;
|
|
299
|
+
if (kingBitboard === 0n)
|
|
300
|
+
return null;
|
|
301
|
+
// Find the king square from bitboard
|
|
302
|
+
for (let square = 0; square < 64; square++) {
|
|
303
|
+
if ((kingBitboard & (1n << BigInt(square))) !== 0n) {
|
|
304
|
+
return square;
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
return null;
|
|
308
|
+
}
|
|
309
|
+
/**
|
|
310
|
+
* Evaluate passed pawns
|
|
311
|
+
* A passed pawn has no enemy pawns in front of it or on adjacent files
|
|
312
|
+
*
|
|
313
|
+
* @param board - Board to evaluate
|
|
314
|
+
* @param playerColor - Color to evaluate for
|
|
315
|
+
* @returns Passed pawn bonus score
|
|
316
|
+
*/
|
|
317
|
+
static evaluatePassedPawns(board, playerColor) {
|
|
318
|
+
let score = 0;
|
|
319
|
+
// Check each square for pawns
|
|
320
|
+
for (let square = 0; square < 64; square++) {
|
|
321
|
+
const piece = board.mailbox[square];
|
|
322
|
+
if (piece === types_1.Piece.EMPTY)
|
|
323
|
+
continue;
|
|
324
|
+
const pieceColor = piece <= types_1.Piece.WHITE_KING ? types_1.InternalColor.WHITE : types_1.InternalColor.BLACK;
|
|
325
|
+
const isWhitePawn = piece === types_1.Piece.WHITE_PAWN;
|
|
326
|
+
const isBlackPawn = piece === types_1.Piece.BLACK_PAWN;
|
|
327
|
+
if (!isWhitePawn && !isBlackPawn)
|
|
328
|
+
continue;
|
|
329
|
+
const rank = Math.floor(square / 8);
|
|
330
|
+
const file = square % 8;
|
|
331
|
+
// Check if this pawn is passed
|
|
332
|
+
let isPassed = true;
|
|
333
|
+
if (isWhitePawn) {
|
|
334
|
+
// Check if any black pawns block this pawn's path
|
|
335
|
+
// Check current file and adjacent files (file-1, file, file+1)
|
|
336
|
+
for (let checkFile = Math.max(0, file - 1); checkFile <= Math.min(7, file + 1); checkFile++) {
|
|
337
|
+
for (let checkRank = rank + 1; checkRank <= 7; checkRank++) {
|
|
338
|
+
const checkSquare = checkRank * 8 + checkFile;
|
|
339
|
+
if (board.mailbox[checkSquare] === types_1.Piece.BLACK_PAWN) {
|
|
340
|
+
isPassed = false;
|
|
341
|
+
break;
|
|
342
|
+
}
|
|
343
|
+
}
|
|
344
|
+
if (!isPassed)
|
|
345
|
+
break;
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
else {
|
|
349
|
+
// Black pawn - check ranks below
|
|
350
|
+
for (let checkFile = Math.max(0, file - 1); checkFile <= Math.min(7, file + 1); checkFile++) {
|
|
351
|
+
for (let checkRank = rank - 1; checkRank >= 0; checkRank--) {
|
|
352
|
+
const checkSquare = checkRank * 8 + checkFile;
|
|
353
|
+
if (board.mailbox[checkSquare] === types_1.Piece.WHITE_PAWN) {
|
|
354
|
+
isPassed = false;
|
|
355
|
+
break;
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
if (!isPassed)
|
|
359
|
+
break;
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
if (isPassed) {
|
|
363
|
+
// Passed pawn bonus increases with advancement
|
|
364
|
+
// White: rank 1 (idx 0) to rank 8 (idx 7)
|
|
365
|
+
// Black: rank 8 (idx 7) to rank 1 (idx 0)
|
|
366
|
+
const advancement = isWhitePawn ? rank : (7 - rank);
|
|
367
|
+
// Bonus: 10 points per rank advanced, squared for acceleration
|
|
368
|
+
// Rank 2: 10, Rank 3: 20, Rank 4: 30, Rank 5: 40, Rank 6: 50, Rank 7: 60
|
|
369
|
+
const bonus = advancement * 10 + advancement * advancement * 2;
|
|
370
|
+
if (pieceColor === playerColor) {
|
|
371
|
+
score += bonus;
|
|
372
|
+
}
|
|
373
|
+
else {
|
|
374
|
+
score -= bonus;
|
|
375
|
+
}
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
return score;
|
|
182
379
|
}
|
|
183
380
|
/**
|
|
184
381
|
* Evaluate material balance
|
|
@@ -233,6 +430,38 @@ class Evaluator {
|
|
|
233
430
|
}
|
|
234
431
|
return score;
|
|
235
432
|
}
|
|
433
|
+
/**
|
|
434
|
+
* Evaluate castling status
|
|
435
|
+
* Rewards having castled, which is a key strategic concept
|
|
436
|
+
*
|
|
437
|
+
* @param board - Board to evaluate
|
|
438
|
+
* @param playerColor - Color to evaluate for
|
|
439
|
+
* @returns Castling bonus score
|
|
440
|
+
*/
|
|
441
|
+
static evaluateCastling(board, playerColor) {
|
|
442
|
+
let score = 0;
|
|
443
|
+
if (playerColor === types_1.InternalColor.WHITE) {
|
|
444
|
+
// Check if white has castled (king on g1 or c1, and has lost castling rights)
|
|
445
|
+
// If king is on g1 and kingside castling rights are gone, king has castled kingside
|
|
446
|
+
const kingsideCastled = board.mailbox[6] === types_1.Piece.WHITE_KING && !board.castlingRights.whiteShort;
|
|
447
|
+
// If king is on c1 and queenside castling rights are gone, king has castled queenside
|
|
448
|
+
const queensideCastled = board.mailbox[2] === types_1.Piece.WHITE_KING && !board.castlingRights.whiteLong;
|
|
449
|
+
if (kingsideCastled || queensideCastled) {
|
|
450
|
+
score += 15; // Significant bonus for having castled
|
|
451
|
+
}
|
|
452
|
+
}
|
|
453
|
+
else {
|
|
454
|
+
// Black - king starts on e8 (square 60)
|
|
455
|
+
// Kingside castle: king on g8 (square 62)
|
|
456
|
+
// Queenside castle: king on c8 (square 58)
|
|
457
|
+
const kingsideCastled = board.mailbox[62] === types_1.Piece.BLACK_KING && !board.castlingRights.blackShort;
|
|
458
|
+
const queensideCastled = board.mailbox[58] === types_1.Piece.BLACK_KING && !board.castlingRights.blackLong;
|
|
459
|
+
if (kingsideCastled || queensideCastled) {
|
|
460
|
+
score += 15;
|
|
461
|
+
}
|
|
462
|
+
}
|
|
463
|
+
return score;
|
|
464
|
+
}
|
|
236
465
|
/**
|
|
237
466
|
* Get total material value on the board (used for endgame detection)
|
|
238
467
|
*
|
package/dist/ai/Evaluator.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Evaluator.js","sourceRoot":"","sources":["../../src/ai/Evaluator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Evaluator.js","sourceRoot":"","sources":["../../src/ai/Evaluator.ts"],"names":[],"mappings":"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"}
|
package/dist/ai/Search.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Search.d.ts","sourceRoot":"","sources":["../../src/ai/Search.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAgD,MAAM,UAAU,CAAC;AAIvF,OAAO,EAAS,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAKxD;;GAEG;AACH,qBAAa,MAAM;IACf,OAAO,CAAC,aAAa,CAAa;IAClC,OAAO,CAAC,kBAAkB,CAA4B;IACtD,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,gBAAgB,CAAiB;gBAE7B,QAAQ,GAAE,MAAW;IAMjC;;OAEG;IACH,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIxC;;OAEG;IACH,KAAK,IAAI,IAAI;IAOb;;;;;;;OAOG;IACH,YAAY,CACR,KAAK,EAAE,aAAa,EACpB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,GACtB,YAAY,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"Search.d.ts","sourceRoot":"","sources":["../../src/ai/Search.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAgD,MAAM,UAAU,CAAC;AAIvF,OAAO,EAAS,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAKxD;;GAEG;AACH,qBAAa,MAAM;IACf,OAAO,CAAC,aAAa,CAAa;IAClC,OAAO,CAAC,kBAAkB,CAA4B;IACtD,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,gBAAgB,CAAiB;gBAE7B,QAAQ,GAAE,MAAW;IAMjC;;OAEG;IACH,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIxC;;OAEG;IACH,KAAK,IAAI,IAAI;IAOb;;;;;;;OAOG;IACH,YAAY,CACR,KAAK,EAAE,aAAa,EACpB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,GACtB,YAAY,GAAG,IAAI;IA0PtB;;OAEG;IACH,OAAO,CAAC,WAAW;IAuDnB;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,SAAS;IAyKjB;;;;;OAKG;IACH,OAAO,CAAC,SAAS;CA6BpB"}
|
package/dist/ai/Search.js
CHANGED
|
@@ -121,33 +121,51 @@ class Search {
|
|
|
121
121
|
// This helps especially at low/medium depths where the search may miss immediate recaptures.
|
|
122
122
|
// We only apply a penalty if the moved piece ends up attacked by the opponent.
|
|
123
123
|
let finalScore = score;
|
|
124
|
+
// Determine the moved piece type (used by multiple heuristics below)
|
|
125
|
+
const absPiece = move.piece;
|
|
126
|
+
const isQueen = absPiece === types_1.Piece.WHITE_QUEEN || absPiece === types_1.Piece.BLACK_QUEEN;
|
|
127
|
+
const isRook = absPiece === types_1.Piece.WHITE_ROOK || absPiece === types_1.Piece.BLACK_ROOK;
|
|
128
|
+
const isBishop = absPiece === types_1.Piece.WHITE_BISHOP || absPiece === types_1.Piece.BLACK_BISHOP;
|
|
129
|
+
const isKnight = absPiece === types_1.Piece.WHITE_KNIGHT || absPiece === types_1.Piece.BLACK_KNIGHT;
|
|
130
|
+
const isPawn = absPiece === types_1.Piece.WHITE_PAWN || absPiece === types_1.Piece.BLACK_PAWN;
|
|
131
|
+
const isKing = absPiece === types_1.Piece.WHITE_KING || absPiece === types_1.Piece.BLACK_KING;
|
|
124
132
|
const movedPieceSquare = move.to;
|
|
125
133
|
const opponentColor = playerColor === types_1.InternalColor.WHITE ? types_1.InternalColor.BLACK : types_1.InternalColor.WHITE;
|
|
126
134
|
const movedPieceAttacked = (0, AttackDetector_2.isSquareAttacked)(testBoard, movedPieceSquare, opponentColor);
|
|
127
135
|
if (movedPieceAttacked) {
|
|
128
|
-
// Determine the moved piece type to scale the penalty.
|
|
129
|
-
// (We can't reliably inspect mailbox vs enums across colors here, so use move.piece.)
|
|
130
|
-
const absPiece = move.piece;
|
|
131
|
-
const isQueen = absPiece === types_1.Piece.WHITE_QUEEN || absPiece === types_1.Piece.BLACK_QUEEN;
|
|
132
|
-
const isRook = absPiece === types_1.Piece.WHITE_ROOK || absPiece === types_1.Piece.BLACK_ROOK;
|
|
133
|
-
const isBishop = absPiece === types_1.Piece.WHITE_BISHOP || absPiece === types_1.Piece.BLACK_BISHOP;
|
|
134
|
-
const isKnight = absPiece === types_1.Piece.WHITE_KNIGHT || absPiece === types_1.Piece.BLACK_KNIGHT;
|
|
135
|
-
const isPawn = absPiece === types_1.Piece.WHITE_PAWN || absPiece === types_1.Piece.BLACK_PAWN;
|
|
136
|
-
const isKing = absPiece === types_1.Piece.WHITE_KING || absPiece === types_1.Piece.BLACK_KING;
|
|
137
136
|
// Penalties are in the same score scale as Evaluator (centipawn-ish).
|
|
138
137
|
// Queen hangs should be strongly discouraged.
|
|
139
138
|
// Never apply this heuristic to king moves.
|
|
140
139
|
// The king is *supposed* to step into attacked squares only when illegal; legality is already filtered
|
|
141
140
|
// by move generation, so penalizing attacked king squares can distort endgames.
|
|
142
|
-
// Also skip
|
|
143
|
-
//
|
|
144
|
-
//
|
|
145
|
-
//
|
|
141
|
+
// Also skip full penalty for promotion moves: often tactically sound even if the new piece is attacked.
|
|
142
|
+
//
|
|
143
|
+
// IMPORTANT: Penalty application strategy:
|
|
144
|
+
// 1. Non-captures: Full penalty (piece hangs for nothing)
|
|
145
|
+
// 2. Checking captures: 50% penalty (tactical sacrifices)
|
|
146
|
+
// 3. Regular captures with valuable pieces (Q, R): 40% penalty (discourage bad trades like Qxp hanging)
|
|
147
|
+
// 4. Regular captures with minor pieces (B, N, p): No penalty (allow normal trades)
|
|
148
|
+
const isCapture = (move.flags & types_1.MoveFlag.CAPTURE) !== 0;
|
|
146
149
|
const isCheckingMove = testBoard.isCheck;
|
|
147
|
-
const isCheckingCapture = isCheckingMove &&
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
150
|
+
const isCheckingCapture = isCheckingMove && isCapture;
|
|
151
|
+
const isRegularCapture = isCapture && !isCheckingMove;
|
|
152
|
+
const isValuablePiece = isQueen || isRook; // Queen and Rook are valuable
|
|
153
|
+
// Apply penalty based on move type
|
|
154
|
+
if (!isKing && !(move.flags & types_1.MoveFlag.PROMOTION)) {
|
|
155
|
+
const basePenalty = isQueen ? 120 : isRook ? 60 : (isBishop || isKnight) ? 35 : isPawn ? 15 : 0;
|
|
156
|
+
if (!isCapture) {
|
|
157
|
+
// Non-capture: full penalty
|
|
158
|
+
finalScore -= basePenalty;
|
|
159
|
+
}
|
|
160
|
+
else if (isCheckingCapture) {
|
|
161
|
+
// Checking capture: 50% penalty (allow tactical sacs)
|
|
162
|
+
finalScore -= Math.floor(basePenalty * 0.5);
|
|
163
|
+
}
|
|
164
|
+
else if (isRegularCapture && isValuablePiece) {
|
|
165
|
+
// Regular capture with valuable piece: 40% penalty (discourage Qxp hanging)
|
|
166
|
+
finalScore -= Math.floor(basePenalty * 0.4);
|
|
167
|
+
}
|
|
168
|
+
// Regular captures with minor pieces: no penalty (allow normal trades)
|
|
151
169
|
}
|
|
152
170
|
}
|
|
153
171
|
// Strongly encourage promotions at the root.
|
|
@@ -155,6 +173,28 @@ class Search {
|
|
|
155
173
|
if (move.flags & types_1.MoveFlag.PROMOTION) {
|
|
156
174
|
finalScore += 200;
|
|
157
175
|
}
|
|
176
|
+
// Strongly reward castling in the opening/middlegame
|
|
177
|
+
// Castling is a fundamental strategic concept that should be prioritized
|
|
178
|
+
const isCastling = (move.flags & types_1.MoveFlag.CASTLING) !== 0;
|
|
179
|
+
const isOpening = testBoard.fullMoveNumber < 15; // Opening/early middlegame
|
|
180
|
+
if (isCastling && isOpening) {
|
|
181
|
+
finalScore += 50; // Large bonus to encourage castling
|
|
182
|
+
}
|
|
183
|
+
// Reward central pawn pushes in the opening
|
|
184
|
+
// E2-E4, D2-D4, E7-E5, D7-D5 are key opening moves
|
|
185
|
+
if (isPawn && testBoard.fullMoveNumber < 5) {
|
|
186
|
+
const fromRank = Math.floor(move.from / 8);
|
|
187
|
+
const toRank = Math.floor(move.to / 8);
|
|
188
|
+
const toFile = move.to % 8;
|
|
189
|
+
// Check for central pawn (d or e file) moving 2 squares from starting position
|
|
190
|
+
const isCentralFile = toFile === 3 || toFile === 4; // d or e file
|
|
191
|
+
const isTwoSquarePush = Math.abs(toRank - fromRank) === 2;
|
|
192
|
+
const isFromStartingRank = (playerColor === types_1.InternalColor.WHITE && fromRank === 1) ||
|
|
193
|
+
(playerColor === types_1.InternalColor.BLACK && fromRank === 6);
|
|
194
|
+
if (isCentralFile && isTwoSquarePush && isFromStartingRank) {
|
|
195
|
+
finalScore += 30; // Encourage E2-E4, D2-D4, etc.
|
|
196
|
+
}
|
|
197
|
+
}
|
|
158
198
|
// Debug logging
|
|
159
199
|
if (debugRoot && debugMoves.length < 20) { // Increased to 20 to see more moves
|
|
160
200
|
const fromFile = String.fromCharCode(65 + (move.from % 8));
|
package/dist/ai/Search.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Search.js","sourceRoot":"","sources":["../../src/ai/Search.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Search.js","sourceRoot":"","sources":["../../src/ai/Search.ts"],"names":[],"mappings":"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"}
|