@higher.archi/boe 1.0.7 → 1.0.9
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/dist/core/errors.d.ts +48 -0
- package/dist/core/errors.d.ts.map +1 -0
- package/dist/core/errors.js +63 -0
- package/dist/core/errors.js.map +1 -0
- package/dist/core/evaluation/decay.d.ts +60 -0
- package/dist/core/evaluation/decay.d.ts.map +1 -0
- package/dist/core/evaluation/decay.js +111 -0
- package/dist/core/evaluation/decay.js.map +1 -0
- package/dist/core/evaluation/index.d.ts +2 -0
- package/dist/core/evaluation/index.d.ts.map +1 -1
- package/dist/core/evaluation/index.js +5 -1
- package/dist/core/evaluation/index.js.map +1 -1
- package/dist/core/index.d.ts +2 -0
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +6 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/types/rule.d.ts +1 -0
- package/dist/core/types/rule.d.ts.map +1 -1
- package/dist/engines/backward/compiler.js +1 -1
- package/dist/engines/backward/compiler.js.map +1 -1
- package/dist/engines/bayesian/compiler.d.ts.map +1 -1
- package/dist/engines/bayesian/compiler.js +21 -9
- package/dist/engines/bayesian/compiler.js.map +1 -1
- package/dist/engines/bayesian/strategy.d.ts.map +1 -1
- package/dist/engines/bayesian/strategy.js +46 -9
- package/dist/engines/bayesian/strategy.js.map +1 -1
- package/dist/engines/bayesian/types.d.ts +16 -0
- package/dist/engines/bayesian/types.d.ts.map +1 -1
- package/dist/engines/bayesian/types.js.map +1 -1
- package/dist/engines/constraint/compiler.d.ts.map +1 -1
- package/dist/engines/constraint/compiler.js +10 -10
- package/dist/engines/constraint/compiler.js.map +1 -1
- package/dist/engines/defeasible/compiler.d.ts.map +1 -1
- package/dist/engines/defeasible/compiler.js +17 -3
- package/dist/engines/defeasible/compiler.js.map +1 -1
- package/dist/engines/defeasible/strategy.d.ts.map +1 -1
- package/dist/engines/defeasible/strategy.js +47 -2
- package/dist/engines/defeasible/strategy.js.map +1 -1
- package/dist/engines/defeasible/types.d.ts +29 -1
- package/dist/engines/defeasible/types.d.ts.map +1 -1
- package/dist/engines/defeasible/types.js.map +1 -1
- package/dist/engines/expert/compiler.d.ts.map +1 -1
- package/dist/engines/expert/compiler.js +6 -6
- package/dist/engines/expert/compiler.js.map +1 -1
- package/dist/engines/forward/compiler.d.ts.map +1 -1
- package/dist/engines/forward/compiler.js +4 -4
- package/dist/engines/forward/compiler.js.map +1 -1
- package/dist/engines/forward/strategy.d.ts.map +1 -1
- package/dist/engines/forward/strategy.js +4 -4
- package/dist/engines/forward/strategy.js.map +1 -1
- package/dist/engines/fuzzy/compiler.js +1 -1
- package/dist/engines/fuzzy/compiler.js.map +1 -1
- package/dist/engines/fuzzy/strategy.d.ts.map +1 -1
- package/dist/engines/fuzzy/strategy.js +8 -8
- package/dist/engines/fuzzy/strategy.js.map +1 -1
- package/dist/engines/monte-carlo/compiler.d.ts.map +1 -1
- package/dist/engines/monte-carlo/compiler.js +8 -8
- package/dist/engines/monte-carlo/compiler.js.map +1 -1
- package/dist/engines/monte-carlo/strategy.js +1 -1
- package/dist/engines/monte-carlo/strategy.js.map +1 -1
- package/dist/engines/pricing/compiler.d.ts.map +1 -1
- package/dist/engines/pricing/compiler.js +9 -9
- package/dist/engines/pricing/compiler.js.map +1 -1
- package/dist/engines/pricing/strategy.js +7 -6
- package/dist/engines/pricing/strategy.js.map +1 -1
- package/dist/engines/pricing/types.d.ts +2 -0
- package/dist/engines/pricing/types.d.ts.map +1 -1
- package/dist/engines/scoring/compiler.d.ts.map +1 -1
- package/dist/engines/scoring/compiler.js +24 -10
- package/dist/engines/scoring/compiler.js.map +1 -1
- package/dist/engines/scoring/strategy.d.ts.map +1 -1
- package/dist/engines/scoring/strategy.js +51 -2
- package/dist/engines/scoring/strategy.js.map +1 -1
- package/dist/engines/scoring/types.d.ts +16 -0
- package/dist/engines/scoring/types.d.ts.map +1 -1
- package/dist/engines/sequential/compiler.d.ts.map +1 -1
- package/dist/engines/sequential/compiler.js +4 -4
- package/dist/engines/sequential/compiler.js.map +1 -1
- package/dist/engines/sequential/strategy.js +1 -1
- package/dist/engines/sequential/strategy.js.map +1 -1
- package/dist/engines/state-machine/compiler.js +4 -4
- package/dist/engines/state-machine/compiler.js.map +1 -1
- package/dist/engines/state-machine/strategy.d.ts.map +1 -1
- package/dist/engines/state-machine/strategy.js +2 -1
- package/dist/engines/state-machine/strategy.js.map +1 -1
- package/dist/engines/utility/compiler.d.ts.map +1 -1
- package/dist/engines/utility/compiler.js +7 -7
- package/dist/engines/utility/compiler.js.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/core/errors.ts +69 -0
- package/src/core/evaluation/decay.ts +165 -0
- package/src/core/evaluation/index.ts +13 -0
- package/src/core/index.ts +4 -0
- package/src/core/types/rule.ts +1 -0
- package/src/engines/backward/compiler.ts +1 -1
- package/src/engines/bayesian/compiler.ts +24 -10
- package/src/engines/bayesian/strategy.ts +61 -10
- package/src/engines/bayesian/types.ts +17 -0
- package/src/engines/constraint/compiler.ts +12 -11
- package/src/engines/defeasible/compiler.ts +18 -3
- package/src/engines/defeasible/strategy.ts +62 -2
- package/src/engines/defeasible/types.ts +33 -0
- package/src/engines/expert/compiler.ts +8 -7
- package/src/engines/forward/compiler.ts +6 -5
- package/src/engines/forward/strategy.ts +6 -5
- package/src/engines/fuzzy/compiler.ts +1 -1
- package/src/engines/fuzzy/strategy.ts +9 -9
- package/src/engines/monte-carlo/compiler.ts +10 -9
- package/src/engines/monte-carlo/strategy.ts +2 -2
- package/src/engines/pricing/compiler.ts +11 -10
- package/src/engines/pricing/strategy.ts +7 -7
- package/src/engines/pricing/types.ts +2 -0
- package/src/engines/scoring/compiler.ts +27 -11
- package/src/engines/scoring/strategy.ts +67 -3
- package/src/engines/scoring/types.ts +17 -0
- package/src/engines/sequential/compiler.ts +6 -5
- package/src/engines/sequential/strategy.ts +2 -2
- package/src/engines/state-machine/compiler.ts +5 -5
- package/src/engines/state-machine/strategy.ts +3 -1
- package/src/engines/utility/compiler.ts +9 -8
- package/src/index.ts +16 -0
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
exports.bayesianStrategy = exports.BayesianStrategy = void 0;
|
|
10
10
|
const core_1 = require("../../core");
|
|
11
|
+
const decay_1 = require("../../core/evaluation/decay");
|
|
11
12
|
/**
|
|
12
13
|
* Check if value is a CompiledPath (fact reference)
|
|
13
14
|
*/
|
|
@@ -24,12 +25,12 @@ function isCompiledPath(value) {
|
|
|
24
25
|
function resolvePathValue(compiledPath, context) {
|
|
25
26
|
const fact = context[compiledPath.param];
|
|
26
27
|
if (!fact) {
|
|
27
|
-
throw new
|
|
28
|
+
throw new core_1.RuntimeError(`No fact bound to '${compiledPath.param}' for prior resolution`);
|
|
28
29
|
}
|
|
29
30
|
let value = fact.data;
|
|
30
31
|
for (const key of compiledPath.path) {
|
|
31
32
|
if (value === undefined || value === null) {
|
|
32
|
-
throw new
|
|
33
|
+
throw new core_1.RuntimeError(`Cannot resolve path '${compiledPath.param}.${compiledPath.path.join('.')}': intermediate value is ${value}`);
|
|
33
34
|
}
|
|
34
35
|
value = value[key];
|
|
35
36
|
}
|
|
@@ -52,7 +53,7 @@ function resolvePrior(prior, context) {
|
|
|
52
53
|
if (isCompiledPath(prior)) {
|
|
53
54
|
const value = resolvePathValue(prior, context);
|
|
54
55
|
if (typeof value !== 'number') {
|
|
55
|
-
throw new
|
|
56
|
+
throw new core_1.RuntimeError(`Prior path '${prior.param}.${prior.path.join('.')}' must resolve to a number, got: ${typeof value}`);
|
|
56
57
|
}
|
|
57
58
|
return value;
|
|
58
59
|
}
|
|
@@ -60,11 +61,11 @@ function resolvePrior(prior, context) {
|
|
|
60
61
|
if (typeof prior === 'object' && prior !== null && 'op' in prior) {
|
|
61
62
|
const result = (0, core_1.evaluateCondition)(prior, context);
|
|
62
63
|
if (typeof result !== 'number') {
|
|
63
|
-
throw new
|
|
64
|
+
throw new core_1.RuntimeError(`Prior expression must evaluate to a number, got: ${typeof result}`);
|
|
64
65
|
}
|
|
65
66
|
return result;
|
|
66
67
|
}
|
|
67
|
-
throw new
|
|
68
|
+
throw new core_1.RuntimeError(`Invalid prior value at runtime: ${JSON.stringify(prior)}`);
|
|
68
69
|
}
|
|
69
70
|
/**
|
|
70
71
|
* Build context for resolving hypothesis priors from ruleset inputs
|
|
@@ -141,6 +142,8 @@ class BayesianStrategy {
|
|
|
141
142
|
const fired = [];
|
|
142
143
|
const evidence = [];
|
|
143
144
|
let thresholdExceeded;
|
|
145
|
+
const decayInfoMap = {};
|
|
146
|
+
const now = new Date();
|
|
144
147
|
// Track which hypotheses were below threshold initially
|
|
145
148
|
// (so we can detect when they cross it)
|
|
146
149
|
const belowThreshold = new Set();
|
|
@@ -159,18 +162,50 @@ class BayesianStrategy {
|
|
|
159
162
|
if (!fired.includes(rule.id)) {
|
|
160
163
|
fired.push(rule.id);
|
|
161
164
|
}
|
|
165
|
+
// Compute decay for this rule's evidence
|
|
166
|
+
let effectiveLikelihoods = rule.likelihood;
|
|
167
|
+
let likelihoodsBeforeDecay;
|
|
168
|
+
let ruleDecayInfo;
|
|
169
|
+
const ruleDecay = rule.decay;
|
|
170
|
+
const engineDecay = config.decay;
|
|
171
|
+
if (ruleDecay || engineDecay) {
|
|
172
|
+
const tsRef = ruleDecay?.timestamp ?? engineDecay?.timestamp;
|
|
173
|
+
if (typeof tsRef === 'string') {
|
|
174
|
+
const dataTimestamp = (0, decay_1.resolveDecayTimestamp)(tsRef, activation.facts);
|
|
175
|
+
if (dataTimestamp) {
|
|
176
|
+
const decayConfig = {
|
|
177
|
+
...(engineDecay?.config ?? { curve: 'exponential', timeUnit: 'days' }),
|
|
178
|
+
...ruleDecay?.config
|
|
179
|
+
};
|
|
180
|
+
const info = (0, decay_1.calculateDecayMultiplier)(dataTimestamp, now, decayConfig);
|
|
181
|
+
ruleDecayInfo = info;
|
|
182
|
+
decayInfoMap[rule.id] = info;
|
|
183
|
+
// Decay likelihoods toward 1.0 (neutral)
|
|
184
|
+
// decayedLikelihood = 1.0 + (originalLikelihood - 1.0) * multiplier
|
|
185
|
+
if (info.multiplier < 1.0) {
|
|
186
|
+
likelihoodsBeforeDecay = { ...rule.likelihood };
|
|
187
|
+
effectiveLikelihoods = {};
|
|
188
|
+
for (const [h, lh] of Object.entries(rule.likelihood)) {
|
|
189
|
+
effectiveLikelihoods[h] = 1.0 + (lh - 1.0) * info.multiplier;
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
}
|
|
162
195
|
// Record evidence
|
|
163
196
|
evidence.push({
|
|
164
197
|
ruleId: rule.id,
|
|
165
198
|
ruleName: rule.name,
|
|
166
|
-
likelihoods:
|
|
199
|
+
likelihoods: effectiveLikelihoods,
|
|
200
|
+
likelihoodsBeforeDecay,
|
|
201
|
+
decayInfo: ruleDecayInfo
|
|
167
202
|
});
|
|
168
203
|
// Callback
|
|
169
204
|
if (onFire) {
|
|
170
|
-
onFire(rule.id, activation.facts,
|
|
205
|
+
onFire(rule.id, activation.facts, effectiveLikelihoods);
|
|
171
206
|
}
|
|
172
|
-
// Update posteriors with this evidence
|
|
173
|
-
posteriors = applyEvidence(posteriors,
|
|
207
|
+
// Update posteriors with this evidence (using decayed likelihoods)
|
|
208
|
+
posteriors = applyEvidence(posteriors, effectiveLikelihoods);
|
|
174
209
|
// Check if any hypothesis crossed the threshold (from below to above)
|
|
175
210
|
if (threshold !== undefined && thresholdExceeded === undefined) {
|
|
176
211
|
for (const [hypothesis, posterior] of Object.entries(posteriors)) {
|
|
@@ -194,6 +229,7 @@ class BayesianStrategy {
|
|
|
194
229
|
// Store normalized priors for result
|
|
195
230
|
const normalizedPriors = normalizePosteriors(priors);
|
|
196
231
|
const executionTimeMs = Math.round((performance.now() - startTime) * 100) / 100;
|
|
232
|
+
const hasDecay = Object.keys(decayInfoMap).length > 0;
|
|
197
233
|
return {
|
|
198
234
|
priors: normalizedPriors,
|
|
199
235
|
posteriors,
|
|
@@ -202,6 +238,7 @@ class BayesianStrategy {
|
|
|
202
238
|
fired,
|
|
203
239
|
evidence,
|
|
204
240
|
thresholdExceeded,
|
|
241
|
+
...(hasDecay ? { decayInfo: decayInfoMap } : {}),
|
|
205
242
|
iterations: 1,
|
|
206
243
|
executionTimeMs
|
|
207
244
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strategy.js","sourceRoot":"","sources":["../../../src/engines/bayesian/strategy.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,
|
|
1
|
+
{"version":3,"file":"strategy.js","sourceRoot":"","sources":["../../../src/engines/bayesian/strategy.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
* Updates belief in hypotheses based on evidence from rules.
|
|
6
6
|
*/
|
|
7
7
|
import { BaseRule, BaseRuleSet, InputParameter, CompiledBaseRule, CompiledBaseRuleSet, CompiledCondition, CompiledPath, Expression, BindingContext } from '../../core';
|
|
8
|
+
import { DecayConfig, DecayInfo } from '../../core/evaluation/decay';
|
|
8
9
|
/**
|
|
9
10
|
* Semantic likelihood labels - human-readable strength indicators
|
|
10
11
|
*/
|
|
@@ -56,6 +57,10 @@ export type PriorDefault = 'uniform' | 'skeptical' | 'optimistic';
|
|
|
56
57
|
*/
|
|
57
58
|
export type BayesianRule = BaseRule & {
|
|
58
59
|
likelihood: LikelihoodMap;
|
|
60
|
+
decay?: {
|
|
61
|
+
timestamp: string | Expression;
|
|
62
|
+
config?: Partial<DecayConfig>;
|
|
63
|
+
};
|
|
59
64
|
};
|
|
60
65
|
/**
|
|
61
66
|
* Bayesian ruleset configuration
|
|
@@ -64,6 +69,10 @@ export type BayesianConfig = {
|
|
|
64
69
|
mode: 'bayesian';
|
|
65
70
|
threshold?: number;
|
|
66
71
|
priorDefault?: PriorDefault;
|
|
72
|
+
decay?: {
|
|
73
|
+
timestamp?: string | Expression;
|
|
74
|
+
config: DecayConfig;
|
|
75
|
+
};
|
|
67
76
|
};
|
|
68
77
|
/**
|
|
69
78
|
* Bayesian ruleset
|
|
@@ -98,6 +107,10 @@ export type CompiledLikelihoodMap = Record<string, number>;
|
|
|
98
107
|
*/
|
|
99
108
|
export type CompiledBayesianRule = CompiledBaseRule & {
|
|
100
109
|
likelihood: CompiledLikelihoodMap;
|
|
110
|
+
decay?: {
|
|
111
|
+
timestamp: string;
|
|
112
|
+
config?: Partial<DecayConfig>;
|
|
113
|
+
};
|
|
101
114
|
};
|
|
102
115
|
/**
|
|
103
116
|
* Compiled Bayesian ruleset
|
|
@@ -116,6 +129,8 @@ export type EvidenceEntry = {
|
|
|
116
129
|
ruleId: string;
|
|
117
130
|
ruleName?: string;
|
|
118
131
|
likelihoods: CompiledLikelihoodMap;
|
|
132
|
+
likelihoodsBeforeDecay?: CompiledLikelihoodMap;
|
|
133
|
+
decayInfo?: DecayInfo;
|
|
119
134
|
};
|
|
120
135
|
/**
|
|
121
136
|
* Runtime options for Bayesian execution
|
|
@@ -135,6 +150,7 @@ export type BayesianResult = {
|
|
|
135
150
|
fired: string[];
|
|
136
151
|
evidence: EvidenceEntry[];
|
|
137
152
|
thresholdExceeded?: string;
|
|
153
|
+
decayInfo?: Record<string, DecayInfo>;
|
|
138
154
|
iterations: 1;
|
|
139
155
|
executionTimeMs: number;
|
|
140
156
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/engines/bayesian/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,QAAQ,EACR,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,YAAY,EACZ,UAAU,EACV,cAAc,EACf,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/engines/bayesian/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/engines/bayesian/types.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/engines/bayesian/types.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAuNH,2CAA2C;AAC3C,+BAA+B;AAC/B,2CAA2C;AAE3C;;GAEG;AACU,QAAA,oBAAoB,GAAuC;IACtE,aAAa,EAAE,GAAG;IAClB,aAAa,EAAE,GAAG;IAClB,sBAAsB,EAAE,GAAG;IAC3B,SAAS,EAAE,GAAG;IACd,sBAAsB,EAAE,CAAC,GAAG,GAAG,EAAG,SAAS;IAC3C,aAAa,EAAE,CAAC,GAAG,GAAG,EAAY,SAAS;IAC3C,cAAc,EAAE,CAAC,GAAG,GAAG,CAAW,MAAM;CACzC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compiler.d.ts","sourceRoot":"","sources":["../../../src/engines/constraint/compiler.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"compiler.d.ts","sourceRoot":"","sources":["../../../src/engines/constraint/compiler.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,OAAO,EACL,iBAAiB,EAEjB,yBAAyB,EAS1B,MAAM,SAAS,CAAC;AAuLjB,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,iBAAiB,GACzB,yBAAyB,CAwD3B"}
|
|
@@ -27,10 +27,10 @@ const DEFAULT_CONFIG = {
|
|
|
27
27
|
// ========================================
|
|
28
28
|
function compileVariable(variable, index) {
|
|
29
29
|
if (!variable.name) {
|
|
30
|
-
throw new
|
|
30
|
+
throw new core_1.CompilationError(`Variable at index ${index} must have a name`);
|
|
31
31
|
}
|
|
32
32
|
if (!Array.isArray(variable.domain) || variable.domain.length === 0) {
|
|
33
|
-
throw new
|
|
33
|
+
throw new core_1.CompilationError(`Variable '${variable.name}' must have a non-empty domain array`);
|
|
34
34
|
}
|
|
35
35
|
return {
|
|
36
36
|
name: variable.name,
|
|
@@ -43,17 +43,17 @@ function compileVariable(variable, index) {
|
|
|
43
43
|
// ========================================
|
|
44
44
|
function compileConstraint(constraint, variableMap, constraintIndex) {
|
|
45
45
|
if (!constraint.id) {
|
|
46
|
-
throw new
|
|
46
|
+
throw new core_1.CompilationError(`Constraint at index ${constraintIndex} must have an id`);
|
|
47
47
|
}
|
|
48
48
|
if (!Array.isArray(constraint.variables) || constraint.variables.length === 0) {
|
|
49
|
-
throw new
|
|
49
|
+
throw new core_1.CompilationError(`Constraint '${constraint.id}' must reference at least one variable`);
|
|
50
50
|
}
|
|
51
51
|
// Map variable names to indices
|
|
52
52
|
const variableIndices = [];
|
|
53
53
|
for (const varName of constraint.variables) {
|
|
54
54
|
const index = variableMap.get(varName);
|
|
55
55
|
if (index === undefined) {
|
|
56
|
-
throw new
|
|
56
|
+
throw new core_1.CompilationError(`Constraint '${constraint.id}' references unknown variable '${varName}'`);
|
|
57
57
|
}
|
|
58
58
|
variableIndices.push(index);
|
|
59
59
|
}
|
|
@@ -82,17 +82,17 @@ function resolveWeight(weight) {
|
|
|
82
82
|
}
|
|
83
83
|
function compilePreference(preference, variableMap, preferenceIndex) {
|
|
84
84
|
if (!preference.id) {
|
|
85
|
-
throw new
|
|
85
|
+
throw new core_1.CompilationError(`Preference at index ${preferenceIndex} must have an id`);
|
|
86
86
|
}
|
|
87
87
|
if (!Array.isArray(preference.variables) || preference.variables.length === 0) {
|
|
88
|
-
throw new
|
|
88
|
+
throw new core_1.CompilationError(`Preference '${preference.id}' must reference at least one variable`);
|
|
89
89
|
}
|
|
90
90
|
// Map variable names to indices
|
|
91
91
|
const variableIndices = [];
|
|
92
92
|
for (const varName of preference.variables) {
|
|
93
93
|
const index = variableMap.get(varName);
|
|
94
94
|
if (index === undefined) {
|
|
95
|
-
throw new
|
|
95
|
+
throw new core_1.CompilationError(`Preference '${preference.id}' references unknown variable '${varName}'`);
|
|
96
96
|
}
|
|
97
97
|
variableIndices.push(index);
|
|
98
98
|
}
|
|
@@ -147,14 +147,14 @@ function compileInputParameter(input) {
|
|
|
147
147
|
function compileConstraintRuleSet(ruleSet) {
|
|
148
148
|
// Validate mode
|
|
149
149
|
if (ruleSet.mode !== 'constraint') {
|
|
150
|
-
throw new
|
|
150
|
+
throw new core_1.CompilationError(`Expected mode 'constraint', got '${ruleSet.mode}'`);
|
|
151
151
|
}
|
|
152
152
|
// Compile variables and build name->index map
|
|
153
153
|
const variableMap = new Map();
|
|
154
154
|
const compiledVariables = ruleSet.variables.map((variable, index) => {
|
|
155
155
|
const compiled = compileVariable(variable, index);
|
|
156
156
|
if (variableMap.has(variable.name)) {
|
|
157
|
-
throw new
|
|
157
|
+
throw new core_1.CompilationError(`Duplicate variable name: '${variable.name}'`);
|
|
158
158
|
}
|
|
159
159
|
variableMap.set(variable.name, index);
|
|
160
160
|
return compiled;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compiler.js","sourceRoot":"","sources":["../../../src/engines/constraint/compiler.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;
|
|
1
|
+
{"version":3,"file":"compiler.js","sourceRoot":"","sources":["../../../src/engines/constraint/compiler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compiler.d.ts","sourceRoot":"","sources":["../../../src/engines/defeasible/compiler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,OAAO,EACL,iBAAiB,EAEjB,yBAAyB,EAW1B,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"compiler.d.ts","sourceRoot":"","sources":["../../../src/engines/defeasible/compiler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,OAAO,EACL,iBAAiB,EAEjB,yBAAyB,EAW1B,MAAM,SAAS,CAAC;AAmPjB;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,iBAAiB,GAAG,yBAAyB,CA0B9F"}
|
|
@@ -16,7 +16,8 @@ const DEFAULT_CONFIG = {
|
|
|
16
16
|
aggregation: 'average',
|
|
17
17
|
threshold: 0.5,
|
|
18
18
|
conflictResolution: 'specificity',
|
|
19
|
-
maxIterations: 100
|
|
19
|
+
maxIterations: 100,
|
|
20
|
+
decay: undefined // Optional at runtime; Required<> demands a key
|
|
20
21
|
};
|
|
21
22
|
// ========================================
|
|
22
23
|
// Helper Functions
|
|
@@ -155,6 +156,18 @@ function countConditionNodes(condition) {
|
|
|
155
156
|
function compileRule(rule, index) {
|
|
156
157
|
const inputs = (rule.inputs || []).map(compileInputParameter);
|
|
157
158
|
const when = rule.when ? (0, core_1.compileCondition)(rule.when) : undefined;
|
|
159
|
+
// Compile decay — only pass through $-prefixed string timestamps
|
|
160
|
+
let compiledDecay;
|
|
161
|
+
if (rule.decay) {
|
|
162
|
+
const ts = rule.decay.timestamp;
|
|
163
|
+
if (typeof ts === 'string') {
|
|
164
|
+
compiledDecay = {
|
|
165
|
+
timestamp: ts,
|
|
166
|
+
config: rule.decay.config,
|
|
167
|
+
target: rule.decay.target
|
|
168
|
+
};
|
|
169
|
+
}
|
|
170
|
+
}
|
|
158
171
|
return {
|
|
159
172
|
id: rule.id,
|
|
160
173
|
name: rule.name,
|
|
@@ -167,7 +180,8 @@ function compileRule(rule, index) {
|
|
|
167
180
|
credibility: normalizeCredibility(rule.credibility),
|
|
168
181
|
conclusion: compileConclusion(rule.conclude),
|
|
169
182
|
defeats: (rule.defeats || []).map(normalizeDefeat),
|
|
170
|
-
specificity: countSpecificity(rule)
|
|
183
|
+
specificity: countSpecificity(rule),
|
|
184
|
+
decay: compiledDecay
|
|
171
185
|
};
|
|
172
186
|
}
|
|
173
187
|
/**
|
|
@@ -234,7 +248,7 @@ function compileDefeasibleRuleSet(ruleSet) {
|
|
|
234
248
|
// Compile top-level inputs
|
|
235
249
|
const inputs = (ruleSet.inputs || []).map(compileInputParameter);
|
|
236
250
|
// Compile rules
|
|
237
|
-
const rules = ruleSet.rules.map((rule, index) => compileRule(rule, index));
|
|
251
|
+
const rules = ruleSet.rules.filter(r => !r.disabled).map((rule, index) => compileRule(rule, index));
|
|
238
252
|
// Build superiority map
|
|
239
253
|
const superiority = buildSuperiorityMap(rules, ruleSet.superiority);
|
|
240
254
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compiler.js","sourceRoot":"","sources":["../../../src/engines/defeasible/compiler.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;
|
|
1
|
+
{"version":3,"file":"compiler.js","sourceRoot":"","sources":["../../../src/engines/defeasible/compiler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strategy.d.ts","sourceRoot":"","sources":["../../../src/engines/defeasible/strategy.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"strategy.d.ts","sourceRoot":"","sources":["../../../src/engines/defeasible/strategy.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAQnD,OAAO,EACL,yBAAyB,EAEzB,iBAAiB,EACjB,gBAAgB,EAOjB,MAAM,SAAS,CAAC;AAqEjB,qBAAa,kBAAkB;IAC7B,GAAG,CACD,OAAO,EAAE,yBAAyB,EAClC,EAAE,EAAE,cAAc,EAClB,OAAO,GAAE,iBAAsB,GAC9B,gBAAgB;IA0QnB;;OAEG;IACH,OAAO,CAAC,eAAe;IA8IvB;;OAEG;IACH,OAAO,CAAC,cAAc;IA0BtB;;OAEG;IACH,OAAO,CAAC,aAAa;CAqFtB;AAGD,eAAO,MAAM,kBAAkB,oBAA2B,CAAC"}
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
exports.defeasibleStrategy = exports.DefeasibleStrategy = void 0;
|
|
10
10
|
const matching_1 = require("../../core/matching");
|
|
11
|
+
const decay_1 = require("../../core/evaluation/decay");
|
|
11
12
|
// ========================================
|
|
12
13
|
// Aggregation Strategies
|
|
13
14
|
// ========================================
|
|
@@ -68,15 +69,48 @@ class DefeasibleStrategy {
|
|
|
68
69
|
// Phase 1: Match all rules and collect fired rules
|
|
69
70
|
const firedRules = [];
|
|
70
71
|
const firedRuleIds = [];
|
|
72
|
+
const decayInfoMap = {};
|
|
73
|
+
const decayMultipliersByRule = {};
|
|
74
|
+
const now = new Date();
|
|
71
75
|
for (const rule of ruleSet.rules) {
|
|
72
76
|
// Match inputs against working memory (includes when clause evaluation)
|
|
73
77
|
const activations = (0, matching_1.match)(rule, wm);
|
|
74
78
|
for (const activation of activations) {
|
|
79
|
+
// Compute decay if configured
|
|
80
|
+
let effectiveCredibility = rule.credibility;
|
|
81
|
+
let credibilityBeforeDecay;
|
|
82
|
+
let ruleDecayInfo;
|
|
83
|
+
const ruleDecay = rule.decay;
|
|
84
|
+
const engineDecay = config.decay;
|
|
85
|
+
if (ruleDecay || engineDecay) {
|
|
86
|
+
const tsRef = ruleDecay?.timestamp ?? engineDecay?.timestamp;
|
|
87
|
+
const decayTarget = ruleDecay?.target ?? engineDecay?.target ?? 'credibility';
|
|
88
|
+
if (typeof tsRef === 'string') {
|
|
89
|
+
const dataTimestamp = (0, decay_1.resolveDecayTimestamp)(tsRef, activation.facts);
|
|
90
|
+
if (dataTimestamp) {
|
|
91
|
+
const decayConfig = {
|
|
92
|
+
...(engineDecay?.config ?? { curve: 'exponential', timeUnit: 'days' }),
|
|
93
|
+
...ruleDecay?.config
|
|
94
|
+
};
|
|
95
|
+
const info = (0, decay_1.calculateDecayMultiplier)(dataTimestamp, now, decayConfig);
|
|
96
|
+
ruleDecayInfo = info;
|
|
97
|
+
decayInfoMap[rule.id] = info;
|
|
98
|
+
decayMultipliersByRule[rule.id] = info.multiplier;
|
|
99
|
+
// Apply decay to credibility if target includes it
|
|
100
|
+
if (decayTarget === 'credibility' || decayTarget === 'both') {
|
|
101
|
+
credibilityBeforeDecay = rule.credibility;
|
|
102
|
+
effectiveCredibility = rule.credibility * info.multiplier;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
75
107
|
// Rule fires
|
|
76
108
|
firedRules.push({
|
|
77
109
|
ruleId: rule.id,
|
|
78
110
|
conclusion: rule.conclusion,
|
|
79
|
-
credibility:
|
|
111
|
+
credibility: effectiveCredibility,
|
|
112
|
+
credibilityBeforeDecay,
|
|
113
|
+
decayInfo: ruleDecayInfo,
|
|
80
114
|
bindings: activation.facts
|
|
81
115
|
});
|
|
82
116
|
if (!firedRuleIds.includes(rule.id)) {
|
|
@@ -121,9 +155,18 @@ class DefeasibleStrategy {
|
|
|
121
155
|
if (!defeatsMap.has(defeat.rule)) {
|
|
122
156
|
defeatsMap.set(defeat.rule, []);
|
|
123
157
|
}
|
|
158
|
+
// Apply decay to defeat strength if target includes it
|
|
159
|
+
let effectiveStrength = defeat.strength;
|
|
160
|
+
const ruleDecay = rule.decay;
|
|
161
|
+
const engineDecay = config.decay;
|
|
162
|
+
const decayTarget = ruleDecay?.target ?? engineDecay?.target ?? 'credibility';
|
|
163
|
+
if ((decayTarget === 'defeat-strength' || decayTarget === 'both') &&
|
|
164
|
+
decayMultipliersByRule[fired.ruleId] !== undefined) {
|
|
165
|
+
effectiveStrength = defeat.strength * decayMultipliersByRule[fired.ruleId];
|
|
166
|
+
}
|
|
124
167
|
defeatsMap.get(defeat.rule).push({
|
|
125
168
|
by: fired.ruleId,
|
|
126
|
-
strength:
|
|
169
|
+
strength: effectiveStrength
|
|
127
170
|
});
|
|
128
171
|
}
|
|
129
172
|
}
|
|
@@ -227,6 +270,7 @@ class DefeasibleStrategy {
|
|
|
227
270
|
};
|
|
228
271
|
};
|
|
229
272
|
const executionTimeMs = Math.round((performance.now() - startTime) * 100) / 100;
|
|
273
|
+
const hasDecay = Object.keys(decayInfoMap).length > 0;
|
|
230
274
|
return {
|
|
231
275
|
conclusions,
|
|
232
276
|
definitely,
|
|
@@ -235,6 +279,7 @@ class DefeasibleStrategy {
|
|
|
235
279
|
conflicts,
|
|
236
280
|
fired: firedRuleIds,
|
|
237
281
|
iterations: 1, // Current implementation is single-pass
|
|
282
|
+
...(hasDecay ? { decayInfo: decayInfoMap } : {}),
|
|
238
283
|
executionTimeMs,
|
|
239
284
|
query
|
|
240
285
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strategy.js","sourceRoot":"","sources":["../../../src/engines/defeasible/strategy.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"strategy.js","sourceRoot":"","sources":["../../../src/engines/defeasible/strategy.ts"],"names":[],"mappings":"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"}
|