js-chess-engine 2.3.4 → 2.3.6
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/README.md +3 -3
- package/dist/ai/Search.d.ts.map +1 -1
- package/dist/ai/Search.js +69 -39
- package/dist/ai/Search.js.map +1 -1
- package/dist/ai/TranspositionTable.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -240,7 +240,7 @@ console.log(result3.move) // AI move with level 3
|
|
|
240
240
|
|
|
241
241
|
// TT size auto-scales by level (see Auto-Scaling Transposition Table section)
|
|
242
242
|
const result4 = game.ai({ level: 5 })
|
|
243
|
-
console.log(result4.move) // Level 5:
|
|
243
|
+
console.log(result4.move) // Level 5: 40 MB Node.js / 20 MB browser (auto)
|
|
244
244
|
|
|
245
245
|
// Override TT size manually if needed
|
|
246
246
|
const result5 = game.ai({ level: 3, ttSizeMB: 128 })
|
|
@@ -478,7 +478,7 @@ console.log(result3.move) // AI move with level 3
|
|
|
478
478
|
|
|
479
479
|
// TT size auto-scales by level (see Auto-Scaling Transposition Table section)
|
|
480
480
|
const result4 = ai(fen, { level: 5 })
|
|
481
|
-
console.log(result4.move) // Level 5:
|
|
481
|
+
console.log(result4.move) // Level 5: 40 MB Node.js / 20 MB browser (auto)
|
|
482
482
|
|
|
483
483
|
// Override TT size manually if needed
|
|
484
484
|
const result5 = ai(fen, { level: 3, ttSizeMB: 128 })
|
|
@@ -625,7 +625,7 @@ The engine automatically adjusts cache size based on AI level and environment:
|
|
|
625
625
|
| 2 | 1 MB | 0.5 MB | Mobile-friendly performance |
|
|
626
626
|
| 3 | 4 MB | 2 MB | Balanced (default) |
|
|
627
627
|
| 4 | 16 MB | 8 MB | Strong tactical play |
|
|
628
|
-
| 5 |
|
|
628
|
+
| 5 | 40 MB | 20 MB | Maximum strength |
|
|
629
629
|
|
|
630
630
|
Lower levels use less memory for faster responses, higher levels use more for better move quality. Browser cache sizes are appropriate for modern devices (2024+). Override with `ttSizeMB` option if needed.
|
|
631
631
|
|
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;;;;;;;GAOG;AAEH,OAAO,EAAE,aAAa,EAAgD,MAAM,UAAU,CAAC;AAMvF,OAAO,EAAS,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAOxD,qBAAa,MAAM;IACf,OAAO,CAAC,aAAa,CAAK;IAE1B,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,cAAc,CAAQ;IAE9B,OAAO,CAAC,kBAAkB,CAA4B;IACtD,OAAO,CAAC,WAAW,CAAc;gBAErB,QAAQ,GAAE,MAAW;IAKjC,KAAK,IAAI,IAAI;IAKb,YAAY,CACR,KAAK,EAAE,aAAa,EACpB,SAAS,EAAE,MAAM,EACjB,SAAS,GAAE,MAAU,EACrB,cAAc,GAAE,OAAc,EAC9B,OAAO,GAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAO,GACrC,YAAY,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"Search.d.ts","sourceRoot":"","sources":["../../src/ai/Search.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,aAAa,EAAgD,MAAM,UAAU,CAAC;AAMvF,OAAO,EAAS,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAOxD,qBAAa,MAAM;IACf,OAAO,CAAC,aAAa,CAAK;IAE1B,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,cAAc,CAAQ;IAE9B,OAAO,CAAC,kBAAkB,CAA4B;IACtD,OAAO,CAAC,WAAW,CAAc;gBAErB,QAAQ,GAAE,MAAW;IAKjC,KAAK,IAAI,IAAI;IAKb,YAAY,CACR,KAAK,EAAE,aAAa,EACpB,SAAS,EAAE,MAAM,EACjB,SAAS,GAAE,MAAU,EACrB,cAAc,GAAE,OAAc,EAC9B,OAAO,GAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAO,GACrC,YAAY,GAAG,IAAI;IA8HtB,OAAO,CAAC,OAAO;IAiGf,OAAO,CAAC,UAAU;IAgElB;;;;OAIG;IACH,OAAO,CAAC,aAAa;CAUxB"}
|
package/dist/ai/Search.js
CHANGED
|
@@ -51,52 +51,82 @@ class Search {
|
|
|
51
51
|
let scoredMoves;
|
|
52
52
|
// Iterative deepening: search depth 1..baseDepth.
|
|
53
53
|
// Populates TT progressively for better move ordering at deeper levels.
|
|
54
|
+
const ASPIRATION_DELTA = 25;
|
|
54
55
|
for (let d = 1; d <= baseDepth; d++) {
|
|
55
|
-
const pvMove = this.transpositionTable?.getBestMove(board.zobristHash) ?? null;
|
|
56
|
-
const selector = new MoveOrdering_1.MoveSelector(moves, pvMove, this.killerMoves, 0);
|
|
57
56
|
const collectScores = analysis && d === baseDepth;
|
|
58
|
-
|
|
57
|
+
// Aspiration window: use previous iteration's score for d >= 4
|
|
58
|
+
let alpha = Evaluator_1.SCORE_MIN;
|
|
59
|
+
let beta = Evaluator_1.SCORE_MAX;
|
|
60
|
+
let delta = ASPIRATION_DELTA;
|
|
61
|
+
if (d >= 4 && bestScore > Evaluator_1.SCORE_MIN && bestScore < Evaluator_1.SCORE_MAX) {
|
|
62
|
+
alpha = (bestScore - delta);
|
|
63
|
+
beta = (bestScore + delta);
|
|
64
|
+
}
|
|
65
|
+
// Aspiration retry loop
|
|
59
66
|
let iterBestMove = null;
|
|
60
67
|
let iterBestScore = Evaluator_1.SCORE_MIN;
|
|
61
|
-
let
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
if (moveIndex === 0 || collectScores) {
|
|
78
|
-
score = -this.negamax(child, d - 1 + extension, -beta, -alpha, 1);
|
|
79
|
-
}
|
|
80
|
-
else {
|
|
81
|
-
// PVS: zero window search first
|
|
82
|
-
score = -this.negamax(child, d - 1 + extension, -alpha - 1, -alpha, 1);
|
|
83
|
-
// Re-search with full window if it beats alpha
|
|
84
|
-
if (score > alpha && score < beta) {
|
|
85
|
-
score = -this.negamax(child, d - 1 + extension, -beta, -alpha, 1);
|
|
68
|
+
let iterScoredMoves = null;
|
|
69
|
+
while (true) {
|
|
70
|
+
const pvMove = this.transpositionTable?.getBestMove(board.zobristHash) ?? null;
|
|
71
|
+
const selector = new MoveOrdering_1.MoveSelector(moves, pvMove, this.killerMoves, 0);
|
|
72
|
+
iterScoredMoves = collectScores ? [] : null;
|
|
73
|
+
iterBestMove = null;
|
|
74
|
+
iterBestScore = Evaluator_1.SCORE_MIN;
|
|
75
|
+
let iterAlpha = alpha;
|
|
76
|
+
let move;
|
|
77
|
+
let moveIndex = 0;
|
|
78
|
+
while ((move = selector.pickNext()) !== null) {
|
|
79
|
+
if ((move.flags & types_1.MoveFlag.PROMOTION) && move.promotionPiece) {
|
|
80
|
+
const isQueenPromotion = move.promotionPiece === types_1.Piece.WHITE_QUEEN ||
|
|
81
|
+
move.promotionPiece === types_1.Piece.BLACK_QUEEN;
|
|
82
|
+
if (!isQueenPromotion)
|
|
83
|
+
continue;
|
|
86
84
|
}
|
|
85
|
+
const child = (0, Board_1.copyBoard)(board);
|
|
86
|
+
(0, MoveGenerator_1.applyMoveComplete)(child, move);
|
|
87
|
+
const extension = (this.checkExtension && child.isCheck) ? 1 : 0;
|
|
88
|
+
let score;
|
|
89
|
+
// Use PVS at root (but not when collecting analysis scores - need accurate values)
|
|
90
|
+
if (moveIndex === 0 || collectScores) {
|
|
91
|
+
score = -this.negamax(child, d - 1 + extension, -beta, -iterAlpha, 1);
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
// PVS: zero window search first
|
|
95
|
+
score = -this.negamax(child, d - 1 + extension, -iterAlpha - 1, -iterAlpha, 1);
|
|
96
|
+
// Re-search with full window if it beats alpha
|
|
97
|
+
if (score > iterAlpha && score < beta) {
|
|
98
|
+
score = -this.negamax(child, d - 1 + extension, -beta, -iterAlpha, 1);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
moveIndex++;
|
|
102
|
+
if (iterScoredMoves) {
|
|
103
|
+
iterScoredMoves.push({ move, score });
|
|
104
|
+
}
|
|
105
|
+
if (score > iterBestScore || iterBestMove === null) {
|
|
106
|
+
iterBestScore = score;
|
|
107
|
+
iterBestMove = move;
|
|
108
|
+
}
|
|
109
|
+
if (score > iterAlpha)
|
|
110
|
+
iterAlpha = score;
|
|
111
|
+
if (iterAlpha >= beta)
|
|
112
|
+
break;
|
|
87
113
|
}
|
|
88
|
-
|
|
89
|
-
if (
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
114
|
+
// Check aspiration window result
|
|
115
|
+
if (d >= 4 && (alpha > Evaluator_1.SCORE_MIN || beta < Evaluator_1.SCORE_MAX)) {
|
|
116
|
+
if (iterBestScore <= alpha) {
|
|
117
|
+
// Fail low - widen alpha
|
|
118
|
+
delta *= 2;
|
|
119
|
+
alpha = (delta > 400) ? Evaluator_1.SCORE_MIN : Math.max(Evaluator_1.SCORE_MIN, alpha - delta);
|
|
120
|
+
continue;
|
|
121
|
+
}
|
|
122
|
+
if (iterBestScore >= beta) {
|
|
123
|
+
// Fail high - widen beta
|
|
124
|
+
delta *= 2;
|
|
125
|
+
beta = (delta > 400) ? Evaluator_1.SCORE_MAX : Math.min(Evaluator_1.SCORE_MAX, beta + delta);
|
|
126
|
+
continue;
|
|
127
|
+
}
|
|
95
128
|
}
|
|
96
|
-
|
|
97
|
-
alpha = score;
|
|
98
|
-
if (alpha >= beta)
|
|
99
|
-
break;
|
|
129
|
+
break;
|
|
100
130
|
}
|
|
101
131
|
if (iterBestMove) {
|
|
102
132
|
bestMove = iterBestMove;
|
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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"}
|