+5
-0
@@ -8,2 +8,3 @@ export type RewardInput<TTeam> = number | ReadonlyMap<TTeam, number> | Readonly<Record<string, number>>; | ||
| maxIterations?: number; | ||
| maxRetainedNodes?: number; | ||
| maxTimeMs?: number; | ||
@@ -94,2 +95,3 @@ } | ||
| private readonly remainingMoves; | ||
| private subtreeNodeCount; | ||
| private readonly utilitySumsMap; | ||
@@ -124,2 +126,4 @@ readonly state: TState; | ||
| getStats(depth?: number): SearchNodeStats<TMove, TTeam>; | ||
| getSubtreeNodeCount(): number; | ||
| private adjustSubtreeNodeCount; | ||
| } | ||
@@ -130,2 +134,3 @@ export declare class MCTS<TState extends GameState<TMove, TTeam, TState>, TMove = string, TTeam = string> { | ||
| readonly finalActionStrategy: FinalActionStrategy; | ||
| private currentRetainedNodeCount; | ||
| private rootNode; | ||
@@ -132,0 +137,0 @@ private readonly now; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"} |
+34
-9
@@ -43,5 +43,5 @@ export class GameState { | ||
| const validateLimits = (limits) => { | ||
| const { maxIterations, maxTimeMs } = limits; | ||
| if (maxIterations === undefined && maxTimeMs === undefined) { | ||
| throw new Error('At least one of maxIterations or maxTimeMs is required.'); | ||
| const { maxIterations, maxRetainedNodes, maxTimeMs } = limits; | ||
| if (maxIterations === undefined && maxRetainedNodes === undefined && maxTimeMs === undefined) { | ||
| throw new Error('At least one of maxIterations, maxRetainedNodes, or maxTimeMs is required.'); | ||
| } | ||
@@ -51,2 +51,5 @@ if (maxIterations !== undefined) { | ||
| } | ||
| if (maxRetainedNodes !== undefined) { | ||
| assertPositiveInteger(maxRetainedNodes, 'maxRetainedNodes'); | ||
| } | ||
| if (maxTimeMs !== undefined) { | ||
@@ -57,2 +60,3 @@ assertPositiveNumber(maxTimeMs, 'maxTimeMs'); | ||
| maxIterations: maxIterations ?? 0, | ||
| maxRetainedNodes: maxRetainedNodes ?? 0, | ||
| maxTimeMs: maxTimeMs ?? 0, | ||
@@ -137,2 +141,3 @@ }; | ||
| remainingMoves; | ||
| subtreeNodeCount; | ||
| utilitySumsMap; | ||
@@ -156,2 +161,3 @@ state; | ||
| this.inverseSqrtVisits = 0; | ||
| this.subtreeNodeCount = 1; | ||
| this.isTerminal = state.isTerminal(); | ||
@@ -209,2 +215,3 @@ this.fullyExpanded = this.isTerminal; | ||
| this.childNodes.set(move, child); | ||
| this.adjustSubtreeNodeCount(child.subtreeNodeCount); | ||
| } | ||
@@ -290,5 +297,14 @@ takeUnexpandedMove() { | ||
| } | ||
| getSubtreeNodeCount() { | ||
| return this.subtreeNodeCount; | ||
| } | ||
| adjustSubtreeNodeCount(delta) { | ||
| let currentNode = this; | ||
| while (currentNode) { | ||
| currentNode.subtreeNodeCount += delta; | ||
| currentNode = currentNode.parentNode; | ||
| } | ||
| } | ||
| } | ||
| const finalizeSearchDiagnostics = (root, diagnostics) => { | ||
| let retainedNodeCount = 0; | ||
| let treeMaxDepth = 0; | ||
@@ -303,3 +319,2 @@ const stack = [ | ||
| } | ||
| retainedNodeCount += 1; | ||
| if (current.depth > treeMaxDepth) { | ||
@@ -312,3 +327,3 @@ treeMaxDepth = current.depth; | ||
| } | ||
| diagnostics.retainedNodeCount = retainedNodeCount; | ||
| diagnostics.retainedNodeCount = root.getSubtreeNodeCount(); | ||
| diagnostics.treeMaxDepth = treeMaxDepth; | ||
@@ -320,2 +335,3 @@ }; | ||
| finalActionStrategy; | ||
| currentRetainedNodeCount; | ||
| rootNode; | ||
@@ -340,2 +356,3 @@ now; | ||
| this.stateKey = resolvedOptions.stateKey; | ||
| this.currentRetainedNodeCount = 0; | ||
| this.rootNode = null; | ||
@@ -350,2 +367,3 @@ } | ||
| reset() { | ||
| this.currentRetainedNodeCount = 0; | ||
| this.rootNode = null; | ||
@@ -355,2 +373,3 @@ } | ||
| this.rootNode = new TreeNode(state, this.random); | ||
| this.currentRetainedNodeCount = this.rootNode.getSubtreeNodeCount(); | ||
| return this.rootNode; | ||
@@ -365,2 +384,3 @@ } | ||
| } | ||
| this.currentRetainedNodeCount = this.rootNode.getSubtreeNodeCount(); | ||
| return { | ||
@@ -393,7 +413,11 @@ reused: true, | ||
| let iterations = 0; | ||
| do { | ||
| while ((validatedLimits.maxIterations === 0 || iterations < validatedLimits.maxIterations) | ||
| && this.now() < endTime | ||
| && (validatedLimits.maxRetainedNodes === 0 | ||
| || this.currentRetainedNodeCount < validatedLimits.maxRetainedNodes | ||
| || root.children.size === 0)) { | ||
| this.executeRound(root, diagnostics); | ||
| this.currentRetainedNodeCount = root.getSubtreeNodeCount(); | ||
| iterations += 1; | ||
| } while ((validatedLimits.maxIterations === 0 || iterations < validatedLimits.maxIterations) | ||
| && this.now() < endTime); | ||
| } | ||
| if (diagnostics) { | ||
@@ -495,2 +519,3 @@ finalizeSearchDiagnostics(root, diagnostics); | ||
| this.rootNode = child; | ||
| this.currentRetainedNodeCount = child.getSubtreeNodeCount(); | ||
| return child; | ||
@@ -497,0 +522,0 @@ } |
+1
-1
| { | ||
| "name": "multimcts", | ||
| "version": "2.1.1", | ||
| "version": "2.2.0", | ||
| "description": "TypeScript Monte Carlo Tree Search for multi-team games", | ||
@@ -5,0 +5,0 @@ "type": "module", |
105523
1.42%2230
1.36%