/** * ACT-R Activation Engine * * Backend src/core/actr/engine.py 의 TypeScript 포트. * Power Law of Practice + Forgetting Curve 기반 활성화 계산. * * 공식: * B_i = ln(sum(t_j^(-d))) + B // Base-level (시간 감쇠) * S_i = sum(W_j * S_ji) // Spreading (컨텍스트 연관) * P_i = -P * (1 - similarity) // Partial Match (유사도 보정) * A_i = B_i + S_i + P_i // Total Activation */ import type { ACTRConfig, ActivationResult } from './types.js'; export declare class ACTREngine { private config; constructor(config: ACTRConfig); /** * 전체 활성화 계산 * * @param accessTimes - 접근 시간 배열 (현재 시점에서의 경과 초, 양수) * @param associations - [{ source, strength }] 연관 소스와 강도 * @param context - 현재 활성 컨텍스트 소스 집합 * @param similarity - 유사도 (0.0-1.0, 1.0=완벽 일치) * @param memoryId - 식별용 ID */ computeActivation(accessTimes: number[], associations: Array<{ source: string; strength: number; }>, context: Set, similarity: number, memoryId?: string): ActivationResult; /** * Base-level Activation: B_i = ln(sum(t_j^(-d))) + B * Power Law of Practice + Forgetting Curve */ computeBaseLevel(accessTimes: number[]): number; /** * Spreading Activation: S_i = sum(W_j * S_ji) * Fan Effect: W_j = Smax / fan(j) */ computeSpreading(associations: Array<{ source: string; strength: number; }>, context: Set): number; /** * Partial Matching: P_i = -P * (1 - similarity) */ computePartialMatch(similarity: number): number; /** * Activation을 1-maxLevel 레벨로 변환 * * 정규화: activation [-2, 5] -> [0, 1] * 레벨: ceil(normalized * maxLevel), clamp [1, maxLevel] */ computeLevel(activation: number, maxLevel: number): number; } //# sourceMappingURL=actr-engine.d.ts.map