/** * Mathematical utility functions for POLARIS */ /** * Mathematical utilities for MCTS and evaluations */ export declare class MathUtils { /** * Calculate UCB1 value for node selection */ static ucb1(value: number, visits: number, parentVisits: number, c?: number): number; /** * Normalize an array of values to [0, 1] */ static normalize(values: number[]): number[]; /** * Calculate entropy of a probability distribution */ static entropy(distribution: number[]): number; /** * Calculate variance of a set of values */ static variance(values: number[]): number; /** * Calculate standard deviation */ static standardDeviation(values: number[]): number; /** * Sigmoid function */ static sigmoid(x: number): number; /** * Softmax function */ static softmax(values: number[]): number[]; /** * Clamp a value between min and max */ static clamp(value: number, min: number, max: number): number; /** * Linear interpolation between two values */ static lerp(a: number, b: number, t: number): number; /** * Calculate weighted average */ static weightedAverage(values: number[], weights: number[]): number; } /** * Random number utilities with seeding support */ export declare class RandomUtils { private static seed; /** * Set the random seed for reproducibility */ static setSeed(newSeed: number): void; /** * Generate a pseudo-random number between 0 and 1 */ static random(): number; /** * Generate a random integer between min and max (inclusive) */ static randomInt(min: number, max: number): number; /** * Choose a random element from an array */ static choice(array: T[]): T; /** * Shuffle an array in place using Fisher-Yates algorithm */ static shuffle(array: T[]): T[]; /** * Choose a random element based on weights */ static weightedChoice(items: T[], weights: number[]): T; /** * Generate random number from normal distribution using Box-Muller transform */ static normalRandom(mean?: number, stdDev?: number): number; } //# sourceMappingURL=math.d.ts.map