/** * Consolidation Score Service * Hou et al. 정규화 회상 확률 공식을 기반으로 동적 기억 통합 점수를 계산합니다. * * 공식: * - p_n(t) = (1 - exp(-r * e^(-t/g_n))) / (1 - e^(-1)) * - g_n = g_{n-1} + S(t) * - S(t) = (1 - e^(-t)) / (1 + e^(-t)) * - g_0 = 1 */ import type { IConsolidationScoreService } from '../shared/interfaces/consolidation-score.interface.js'; import type { ConsolidationScoreInput, ConsolidationScoreResult, GValueUpdateInput, MemoryType } from '../shared/types/consolidation-score.types.js'; /** * Consolidation Score Service */ export declare class ConsolidationScoreService implements IConsolidationScoreService { /** * S(t) 함수 구현: (1 - e^(-t)) / (1 + e^(-t)) * * @param t 경과 시간 (시간 단위) * @returns S(t) 값 */ calculateS(t: number): number; /** * g_n 계산 로직: g_n = g_{n-1} + S(t) * * @param input g_value 업데이트 입력 파라미터 * @returns 업데이트된 g_value */ updateGValue(input: GValueUpdateInput): number; /** * 타입별 초기 회상 확률 상수 (r_base) 조회 * * @param type 메모리 타입 * @returns r_base 값 */ getRBaseForType(type: MemoryType): number; /** * Hou et al. 정규화 회상 확률 공식 구현 * p_n(t) = (1 - exp(-r * e^(-t/g_n))) / (1 - e^(-1)) * * @param r 초기 회상 확률 상수 * @param t 경과 시간 (시간 단위) * @param gN 감쇠 상수 g_n * @returns 정규화된 회상 확률 (0.0 ~ 1.0) */ calculateRecallProbability(r: number, t: number, gN: number): number; /** * 경과 시간 계산 (시간 단위) * * @param lastAccessedAt 마지막 접근 시간 (NULL인 경우 createdAt 사용) * @param createdAt 생성 시간 * @param now 현재 시간 (기본값: 현재 시각) * @returns 경과 시간 (시간 단위) */ calculateTimeElapsed(lastAccessedAt: Date | null, createdAt: Date, now?: Date): number; /** * g_value 재계산 (g_value가 NULL인 경우) * recall_count를 기반으로 처음부터 계산 * * @param recallCount 회상 횟수 * @param timeElapsed 경과 시간 (시간 단위) * @returns 계산된 g_value */ recalculateGValue(recallCount: number, timeElapsed: number): number; /** * Consolidation Score 계산 * * @param input 계산 입력 파라미터 * @returns 계산 결과 */ calculateScore(input: ConsolidationScoreInput): ConsolidationScoreResult; /** * g_value 업데이트 (recall_count 증가 시 호출) * * @param input g_value 업데이트 입력 파라미터 * @returns 업데이트된 g_value */ updateGValueForRecall(input: GValueUpdateInput): number; } //# sourceMappingURL=consolidation-score-service.d.ts.map