@stevenvo780/st-lang 4.2.0 → 4.3.0
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/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +36 -1
- package/dist/index.js.map +1 -1
- package/dist/lambda-calc/church.d.ts +8 -0
- package/dist/lambda-calc/church.d.ts.map +1 -0
- package/dist/lambda-calc/church.js +67 -0
- package/dist/lambda-calc/church.js.map +1 -0
- package/dist/lambda-calc/combinators.d.ts +8 -0
- package/dist/lambda-calc/combinators.d.ts.map +1 -0
- package/dist/lambda-calc/combinators.js +24 -0
- package/dist/lambda-calc/combinators.js.map +1 -0
- package/dist/lambda-calc/index.d.ts +8 -0
- package/dist/lambda-calc/index.d.ts.map +1 -0
- package/dist/lambda-calc/index.js +48 -0
- package/dist/lambda-calc/index.js.map +1 -0
- package/dist/lambda-calc/reduce.d.ts +18 -0
- package/dist/lambda-calc/reduce.d.ts.map +1 -0
- package/dist/lambda-calc/reduce.js +174 -0
- package/dist/lambda-calc/reduce.js.map +1 -0
- package/dist/lambda-calc/substitution.d.ts +6 -0
- package/dist/lambda-calc/substitution.d.ts.map +1 -0
- package/dist/lambda-calc/substitution.js +120 -0
- package/dist/lambda-calc/substitution.js.map +1 -0
- package/dist/lambda-calc/types.d.ts +19 -0
- package/dist/lambda-calc/types.d.ts.map +1 -0
- package/dist/lambda-calc/types.js +72 -0
- package/dist/lambda-calc/types.js.map +1 -0
- package/dist/profiles/intuitionistic-nj/formula.d.ts +19 -0
- package/dist/profiles/intuitionistic-nj/formula.d.ts.map +1 -0
- package/dist/profiles/intuitionistic-nj/formula.js +99 -0
- package/dist/profiles/intuitionistic-nj/formula.js.map +1 -0
- package/dist/profiles/intuitionistic-nj/index.d.ts +5 -0
- package/dist/profiles/intuitionistic-nj/index.d.ts.map +1 -0
- package/dist/profiles/intuitionistic-nj/index.js +24 -0
- package/dist/profiles/intuitionistic-nj/index.js.map +1 -0
- package/dist/profiles/intuitionistic-nj/kripke.d.ts +17 -0
- package/dist/profiles/intuitionistic-nj/kripke.d.ts.map +1 -0
- package/dist/profiles/intuitionistic-nj/kripke.js +206 -0
- package/dist/profiles/intuitionistic-nj/kripke.js.map +1 -0
- package/dist/profiles/intuitionistic-nj/prover.d.ts +13 -0
- package/dist/profiles/intuitionistic-nj/prover.d.ts.map +1 -0
- package/dist/profiles/intuitionistic-nj/prover.js +418 -0
- package/dist/profiles/intuitionistic-nj/prover.js.map +1 -0
- package/dist/profiles/intuitionistic-nj/types.d.ts +55 -0
- package/dist/profiles/intuitionistic-nj/types.d.ts.map +1 -0
- package/dist/profiles/intuitionistic-nj/types.js +21 -0
- package/dist/profiles/intuitionistic-nj/types.js.map +1 -0
- package/dist/profiles/many-valued/index.d.ts +39 -0
- package/dist/profiles/many-valued/index.d.ts.map +1 -0
- package/dist/profiles/many-valued/index.js +250 -0
- package/dist/profiles/many-valued/index.js.map +1 -0
- package/dist/profiles/modal-frame-axioms/formula.d.ts +23 -0
- package/dist/profiles/modal-frame-axioms/formula.d.ts.map +1 -0
- package/dist/profiles/modal-frame-axioms/formula.js +158 -0
- package/dist/profiles/modal-frame-axioms/formula.js.map +1 -0
- package/dist/profiles/modal-frame-axioms/index.d.ts +6 -0
- package/dist/profiles/modal-frame-axioms/index.d.ts.map +1 -0
- package/dist/profiles/modal-frame-axioms/index.js +41 -0
- package/dist/profiles/modal-frame-axioms/index.js.map +1 -0
- package/dist/profiles/modal-frame-axioms/systems.d.ts +29 -0
- package/dist/profiles/modal-frame-axioms/systems.d.ts.map +1 -0
- package/dist/profiles/modal-frame-axioms/systems.js +96 -0
- package/dist/profiles/modal-frame-axioms/systems.js.map +1 -0
- package/dist/profiles/modal-frame-axioms/tableau.d.ts +12 -0
- package/dist/profiles/modal-frame-axioms/tableau.d.ts.map +1 -0
- package/dist/profiles/modal-frame-axioms/tableau.js +299 -0
- package/dist/profiles/modal-frame-axioms/tableau.js.map +1 -0
- package/dist/profiles/modal-frame-axioms/types.d.ts +61 -0
- package/dist/profiles/modal-frame-axioms/types.d.ts.map +1 -0
- package/dist/profiles/modal-frame-axioms/types.js +27 -0
- package/dist/profiles/modal-frame-axioms/types.js.map +1 -0
- package/dist/profiles/substructural/index.d.ts +4 -0
- package/dist/profiles/substructural/index.d.ts.map +1 -0
- package/dist/profiles/substructural/index.js +22 -0
- package/dist/profiles/substructural/index.js.map +1 -0
- package/dist/profiles/substructural/prover.d.ts +13 -0
- package/dist/profiles/substructural/prover.d.ts.map +1 -0
- package/dist/profiles/substructural/prover.js +481 -0
- package/dist/profiles/substructural/prover.js.map +1 -0
- package/dist/profiles/substructural/types.d.ts +72 -0
- package/dist/profiles/substructural/types.d.ts.map +1 -0
- package/dist/profiles/substructural/types.js +27 -0
- package/dist/profiles/substructural/types.js.map +1 -0
- package/dist/runtime/abduction/entails.d.ts +21 -0
- package/dist/runtime/abduction/entails.d.ts.map +1 -0
- package/dist/runtime/abduction/entails.js +308 -0
- package/dist/runtime/abduction/entails.js.map +1 -0
- package/dist/runtime/abduction/find.d.ts +18 -0
- package/dist/runtime/abduction/find.d.ts.map +1 -0
- package/dist/runtime/abduction/find.js +202 -0
- package/dist/runtime/abduction/find.js.map +1 -0
- package/dist/runtime/abduction/index.d.ts +4 -0
- package/dist/runtime/abduction/index.d.ts.map +1 -0
- package/dist/runtime/abduction/index.js +26 -0
- package/dist/runtime/abduction/index.js.map +1 -0
- package/dist/runtime/abduction/types.d.ts +78 -0
- package/dist/runtime/abduction/types.d.ts.map +1 -0
- package/dist/runtime/abduction/types.js +23 -0
- package/dist/runtime/abduction/types.js.map +1 -0
- package/dist/runtime/bayesian/factor.d.ts +22 -0
- package/dist/runtime/bayesian/factor.d.ts.map +1 -0
- package/dist/runtime/bayesian/factor.js +249 -0
- package/dist/runtime/bayesian/factor.js.map +1 -0
- package/dist/runtime/bayesian/index.d.ts +3 -0
- package/dist/runtime/bayesian/index.d.ts.map +1 -0
- package/dist/runtime/bayesian/index.js +25 -0
- package/dist/runtime/bayesian/index.js.map +1 -0
- package/dist/runtime/bayesian/inference.d.ts +6 -0
- package/dist/runtime/bayesian/inference.d.ts.map +1 -0
- package/dist/runtime/bayesian/inference.js +260 -0
- package/dist/runtime/bayesian/inference.js.map +1 -0
- package/dist/runtime/bayesian/types.d.ts +19 -0
- package/dist/runtime/bayesian/types.d.ts.map +1 -0
- package/dist/runtime/bayesian/types.js +9 -0
- package/dist/runtime/bayesian/types.js.map +1 -0
- package/dist/runtime/bisimulation/index.d.ts +4 -0
- package/dist/runtime/bisimulation/index.d.ts.map +1 -0
- package/dist/runtime/bisimulation/index.js +21 -0
- package/dist/runtime/bisimulation/index.js.map +1 -0
- package/dist/runtime/bisimulation/operations.d.ts +40 -0
- package/dist/runtime/bisimulation/operations.d.ts.map +1 -0
- package/dist/runtime/bisimulation/operations.js +219 -0
- package/dist/runtime/bisimulation/operations.js.map +1 -0
- package/dist/runtime/bisimulation/paige-tarjan.d.ts +8 -0
- package/dist/runtime/bisimulation/paige-tarjan.d.ts.map +1 -0
- package/dist/runtime/bisimulation/paige-tarjan.js +199 -0
- package/dist/runtime/bisimulation/paige-tarjan.js.map +1 -0
- package/dist/runtime/bisimulation/types.d.ts +26 -0
- package/dist/runtime/bisimulation/types.d.ts.map +1 -0
- package/dist/runtime/bisimulation/types.js +22 -0
- package/dist/runtime/bisimulation/types.js.map +1 -0
- package/dist/runtime/fca/context.d.ts +46 -0
- package/dist/runtime/fca/context.d.ts.map +1 -0
- package/dist/runtime/fca/context.js +155 -0
- package/dist/runtime/fca/context.js.map +1 -0
- package/dist/runtime/fca/implications.d.ts +10 -0
- package/dist/runtime/fca/implications.d.ts.map +1 -0
- package/dist/runtime/fca/implications.js +33 -0
- package/dist/runtime/fca/implications.js.map +1 -0
- package/dist/runtime/fca/index.d.ts +6 -0
- package/dist/runtime/fca/index.d.ts.map +1 -0
- package/dist/runtime/fca/index.js +39 -0
- package/dist/runtime/fca/index.js.map +1 -0
- package/dist/runtime/fca/lattice.d.ts +10 -0
- package/dist/runtime/fca/lattice.d.ts.map +1 -0
- package/dist/runtime/fca/lattice.js +86 -0
- package/dist/runtime/fca/lattice.js.map +1 -0
- package/dist/runtime/fca/next-closure.d.ts +12 -0
- package/dist/runtime/fca/next-closure.d.ts.map +1 -0
- package/dist/runtime/fca/next-closure.js +99 -0
- package/dist/runtime/fca/next-closure.js.map +1 -0
- package/dist/runtime/fca/types.d.ts +31 -0
- package/dist/runtime/fca/types.d.ts.map +1 -0
- package/dist/runtime/fca/types.js +30 -0
- package/dist/runtime/fca/types.js.map +1 -0
- package/dist/runtime/proof-minify/index.d.ts +3 -0
- package/dist/runtime/proof-minify/index.d.ts.map +1 -0
- package/dist/runtime/proof-minify/index.js +13 -0
- package/dist/runtime/proof-minify/index.js.map +1 -0
- package/dist/runtime/proof-minify/minify.d.ts +13 -0
- package/dist/runtime/proof-minify/minify.d.ts.map +1 -0
- package/dist/runtime/proof-minify/minify.js +540 -0
- package/dist/runtime/proof-minify/minify.js.map +1 -0
- package/dist/runtime/proof-minify/types.d.ts +89 -0
- package/dist/runtime/proof-minify/types.d.ts.map +1 -0
- package/dist/runtime/proof-minify/types.js +16 -0
- package/dist/runtime/proof-minify/types.js.map +1 -0
- package/dist/runtime/symbolic-diff/constructors.d.ts +16 -0
- package/dist/runtime/symbolic-diff/constructors.d.ts.map +1 -0
- package/dist/runtime/symbolic-diff/constructors.js +75 -0
- package/dist/runtime/symbolic-diff/constructors.js.map +1 -0
- package/dist/runtime/symbolic-diff/differentiate.d.ts +22 -0
- package/dist/runtime/symbolic-diff/differentiate.d.ts.map +1 -0
- package/dist/runtime/symbolic-diff/differentiate.js +107 -0
- package/dist/runtime/symbolic-diff/differentiate.js.map +1 -0
- package/dist/runtime/symbolic-diff/evaluate.d.ts +3 -0
- package/dist/runtime/symbolic-diff/evaluate.d.ts.map +1 -0
- package/dist/runtime/symbolic-diff/evaluate.js +47 -0
- package/dist/runtime/symbolic-diff/evaluate.js.map +1 -0
- package/dist/runtime/symbolic-diff/index.d.ts +9 -0
- package/dist/runtime/symbolic-diff/index.d.ts.map +1 -0
- package/dist/runtime/symbolic-diff/index.js +34 -0
- package/dist/runtime/symbolic-diff/index.js.map +1 -0
- package/dist/runtime/symbolic-diff/parse.d.ts +16 -0
- package/dist/runtime/symbolic-diff/parse.d.ts.map +1 -0
- package/dist/runtime/symbolic-diff/parse.js +206 -0
- package/dist/runtime/symbolic-diff/parse.js.map +1 -0
- package/dist/runtime/symbolic-diff/simplify.d.ts +11 -0
- package/dist/runtime/symbolic-diff/simplify.d.ts.map +1 -0
- package/dist/runtime/symbolic-diff/simplify.js +214 -0
- package/dist/runtime/symbolic-diff/simplify.js.map +1 -0
- package/dist/runtime/symbolic-diff/stringify.d.ts +3 -0
- package/dist/runtime/symbolic-diff/stringify.d.ts.map +1 -0
- package/dist/runtime/symbolic-diff/stringify.js +69 -0
- package/dist/runtime/symbolic-diff/stringify.js.map +1 -0
- package/dist/runtime/symbolic-diff/types.d.ts +35 -0
- package/dist/runtime/symbolic-diff/types.d.ts.map +1 -0
- package/dist/runtime/symbolic-diff/types.js +9 -0
- package/dist/runtime/symbolic-diff/types.js.map +1 -0
- package/dist/runtime/term-rewriting/critical-pairs.d.ts +38 -0
- package/dist/runtime/term-rewriting/critical-pairs.d.ts.map +1 -0
- package/dist/runtime/term-rewriting/critical-pairs.js +109 -0
- package/dist/runtime/term-rewriting/critical-pairs.js.map +1 -0
- package/dist/runtime/term-rewriting/index.d.ts +9 -0
- package/dist/runtime/term-rewriting/index.d.ts.map +1 -0
- package/dist/runtime/term-rewriting/index.js +38 -0
- package/dist/runtime/term-rewriting/index.js.map +1 -0
- package/dist/runtime/term-rewriting/knuth-bendix.d.ts +29 -0
- package/dist/runtime/term-rewriting/knuth-bendix.d.ts.map +1 -0
- package/dist/runtime/term-rewriting/knuth-bendix.js +196 -0
- package/dist/runtime/term-rewriting/knuth-bendix.js.map +1 -0
- package/dist/runtime/term-rewriting/lpo.d.ts +17 -0
- package/dist/runtime/term-rewriting/lpo.d.ts.map +1 -0
- package/dist/runtime/term-rewriting/lpo.js +158 -0
- package/dist/runtime/term-rewriting/lpo.js.map +1 -0
- package/dist/runtime/term-rewriting/rewrite.d.ts +44 -0
- package/dist/runtime/term-rewriting/rewrite.d.ts.map +1 -0
- package/dist/runtime/term-rewriting/rewrite.js +189 -0
- package/dist/runtime/term-rewriting/rewrite.js.map +1 -0
- package/dist/runtime/term-rewriting/term-utils.d.ts +64 -0
- package/dist/runtime/term-rewriting/term-utils.d.ts.map +1 -0
- package/dist/runtime/term-rewriting/term-utils.js +360 -0
- package/dist/runtime/term-rewriting/term-utils.js.map +1 -0
- package/dist/runtime/term-rewriting/types.d.ts +66 -0
- package/dist/runtime/term-rewriting/types.d.ts.map +1 -0
- package/dist/runtime/term-rewriting/types.js +21 -0
- package/dist/runtime/term-rewriting/types.js.map +1 -0
- package/dist/tests/abduction/abduction.test.d.ts +2 -0
- package/dist/tests/abduction/abduction.test.d.ts.map +1 -0
- package/dist/tests/abduction/abduction.test.js +380 -0
- package/dist/tests/abduction/abduction.test.js.map +1 -0
- package/dist/tests/bayesian/bayesian.test.d.ts +2 -0
- package/dist/tests/bayesian/bayesian.test.d.ts.map +1 -0
- package/dist/tests/bayesian/bayesian.test.js +328 -0
- package/dist/tests/bayesian/bayesian.test.js.map +1 -0
- package/dist/tests/bisimulation/paige-tarjan.test.d.ts +2 -0
- package/dist/tests/bisimulation/paige-tarjan.test.d.ts.map +1 -0
- package/dist/tests/bisimulation/paige-tarjan.test.js +254 -0
- package/dist/tests/bisimulation/paige-tarjan.test.js.map +1 -0
- package/dist/tests/fca/fca.test.d.ts +2 -0
- package/dist/tests/fca/fca.test.d.ts.map +1 -0
- package/dist/tests/fca/fca.test.js +317 -0
- package/dist/tests/fca/fca.test.js.map +1 -0
- package/dist/tests/intuitionistic-nj/nj.test.d.ts +2 -0
- package/dist/tests/intuitionistic-nj/nj.test.d.ts.map +1 -0
- package/dist/tests/intuitionistic-nj/nj.test.js +216 -0
- package/dist/tests/intuitionistic-nj/nj.test.js.map +1 -0
- package/dist/tests/lambda-calc/lambda-calc.test.d.ts +2 -0
- package/dist/tests/lambda-calc/lambda-calc.test.d.ts.map +1 -0
- package/dist/tests/lambda-calc/lambda-calc.test.js +164 -0
- package/dist/tests/lambda-calc/lambda-calc.test.js.map +1 -0
- package/dist/tests/many-valued/many-valued.test.d.ts +2 -0
- package/dist/tests/many-valued/many-valued.test.d.ts.map +1 -0
- package/dist/tests/many-valued/many-valued.test.js +150 -0
- package/dist/tests/many-valued/many-valued.test.js.map +1 -0
- package/dist/tests/modal-frame-axioms/frame-axioms.test.d.ts +2 -0
- package/dist/tests/modal-frame-axioms/frame-axioms.test.d.ts.map +1 -0
- package/dist/tests/modal-frame-axioms/frame-axioms.test.js +236 -0
- package/dist/tests/modal-frame-axioms/frame-axioms.test.js.map +1 -0
- package/dist/tests/proof-minify/minify.test.d.ts +2 -0
- package/dist/tests/proof-minify/minify.test.d.ts.map +1 -0
- package/dist/tests/proof-minify/minify.test.js +281 -0
- package/dist/tests/proof-minify/minify.test.js.map +1 -0
- package/dist/tests/substructural/prover.test.d.ts +2 -0
- package/dist/tests/substructural/prover.test.d.ts.map +1 -0
- package/dist/tests/substructural/prover.test.js +271 -0
- package/dist/tests/substructural/prover.test.js.map +1 -0
- package/dist/tests/symbolic-diff/symbolic-diff.test.d.ts +2 -0
- package/dist/tests/symbolic-diff/symbolic-diff.test.d.ts.map +1 -0
- package/dist/tests/symbolic-diff/symbolic-diff.test.js +278 -0
- package/dist/tests/symbolic-diff/symbolic-diff.test.js.map +1 -0
- package/dist/tests/term-rewriting/critical-pairs.test.d.ts +2 -0
- package/dist/tests/term-rewriting/critical-pairs.test.d.ts.map +1 -0
- package/dist/tests/term-rewriting/critical-pairs.test.js +34 -0
- package/dist/tests/term-rewriting/critical-pairs.test.js.map +1 -0
- package/dist/tests/term-rewriting/knuth-bendix.test.d.ts +2 -0
- package/dist/tests/term-rewriting/knuth-bendix.test.d.ts.map +1 -0
- package/dist/tests/term-rewriting/knuth-bendix.test.js +94 -0
- package/dist/tests/term-rewriting/knuth-bendix.test.js.map +1 -0
- package/dist/tests/term-rewriting/lpo.test.d.ts +2 -0
- package/dist/tests/term-rewriting/lpo.test.d.ts.map +1 -0
- package/dist/tests/term-rewriting/lpo.test.js +57 -0
- package/dist/tests/term-rewriting/lpo.test.js.map +1 -0
- package/dist/tests/term-rewriting/rewrite.test.d.ts +2 -0
- package/dist/tests/term-rewriting/rewrite.test.d.ts.map +1 -0
- package/dist/tests/term-rewriting/rewrite.test.js +56 -0
- package/dist/tests/term-rewriting/rewrite.test.js.map +1 -0
- package/dist/tests/term-rewriting/term-utils.test.d.ts +2 -0
- package/dist/tests/term-rewriting/term-utils.test.d.ts.map +1 -0
- package/dist/tests/term-rewriting/term-utils.test.js +58 -0
- package/dist/tests/term-rewriting/term-utils.test.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/** Una fórmula (formato libre — strings, opaque al motor). */
|
|
2
|
+
export type Formula = string;
|
|
3
|
+
/**
|
|
4
|
+
* Oráculo de consecuencia lógica: dado un conjunto de premisas P y
|
|
5
|
+
* una fórmula objetivo q, devuelve `true` sii P ⊨ q.
|
|
6
|
+
*
|
|
7
|
+
* El motor abductivo es agnóstico al sistema lógico. Quien usa la
|
|
8
|
+
* librería provee este oráculo (puede ser propositional, FOL,
|
|
9
|
+
* description logic, etc).
|
|
10
|
+
*/
|
|
11
|
+
export type EntailmentOracle = (premises: ReadonlyArray<Formula>, target: Formula) => boolean;
|
|
12
|
+
/**
|
|
13
|
+
* Oráculo de consistencia: dado un conjunto de fórmulas, devuelve
|
|
14
|
+
* `true` sii admite al menos un modelo. Default razonable: si no
|
|
15
|
+
* lo dan, decimos consistente sii NO P ⊨ ⊥. Como no tenemos ⊥
|
|
16
|
+
* estándar en strings, en la práctica conviene pasar este oráculo.
|
|
17
|
+
*/
|
|
18
|
+
export type ConsistencyOracle = (premises: ReadonlyArray<Formula>) => boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Problema abductivo.
|
|
21
|
+
*
|
|
22
|
+
* - `kb`: background knowledge (axiomas del dominio).
|
|
23
|
+
* - `observation`: fórmula que queremos explicar.
|
|
24
|
+
* - `abducibles`: el conjunto de fórmulas elegibles como hipótesis.
|
|
25
|
+
* El razonador buscará H ⊆ abducibles.
|
|
26
|
+
*/
|
|
27
|
+
export interface AbductionProblem {
|
|
28
|
+
kb: ReadonlyArray<Formula>;
|
|
29
|
+
observation: Formula;
|
|
30
|
+
abducibles: ReadonlyArray<Formula>;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Una explicación candidata.
|
|
34
|
+
*
|
|
35
|
+
* - `hypotheses`: subconjunto de abducibles.
|
|
36
|
+
* - `size`: cardinalidad (= hypotheses.length).
|
|
37
|
+
* - `parsimonious`: true sii no existe subconjunto propio que
|
|
38
|
+
* también explique la observación de forma consistente.
|
|
39
|
+
* (Equivale a "minimal por inclusión".)
|
|
40
|
+
* - `costScore`: suma de costos si se proveyó costFunction.
|
|
41
|
+
*/
|
|
42
|
+
export interface Explanation {
|
|
43
|
+
hypotheses: ReadonlyArray<Formula>;
|
|
44
|
+
size: number;
|
|
45
|
+
parsimonious: boolean;
|
|
46
|
+
costScore?: number;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Criterio de preferencia sobre el conjunto de explicaciones.
|
|
50
|
+
*
|
|
51
|
+
* - `all`: todas las explicaciones encontradas (no filtra).
|
|
52
|
+
* - `minimal`: solo las minimal-por-inclusión (parsimonious).
|
|
53
|
+
* - `minimum-cardinality`: las de menor |H| entre las minimales.
|
|
54
|
+
* - `minimum-cost`: las de menor costo total (requiere costFunction).
|
|
55
|
+
*/
|
|
56
|
+
export type Preference = 'all' | 'minimal' | 'minimum-cardinality' | 'minimum-cost';
|
|
57
|
+
export interface AbductionOptions {
|
|
58
|
+
/** Oráculo de entailment. Default: `defaultEntails` (propositional, ver entails.ts). */
|
|
59
|
+
entails?: EntailmentOracle;
|
|
60
|
+
/** Oráculo de consistencia. Default: derivado de `entails` (no entails ⊥-equiv). */
|
|
61
|
+
consistent?: ConsistencyOracle;
|
|
62
|
+
/**
|
|
63
|
+
* Tope de explicaciones a retornar. Útil cuando hay explosión
|
|
64
|
+
* combinatoria. Default: 1024.
|
|
65
|
+
*/
|
|
66
|
+
maxHypotheses?: number;
|
|
67
|
+
/**
|
|
68
|
+
* Tope para |H|. Acota el espacio de búsqueda. Default: igual a
|
|
69
|
+
* |abducibles| (sin tope efectivo). Bajarlo es una buena idea
|
|
70
|
+
* para |abducibles| > 12.
|
|
71
|
+
*/
|
|
72
|
+
maxSize?: number;
|
|
73
|
+
/** Función de costo por hipótesis. Default: 1 por hipótesis. */
|
|
74
|
+
costFunction?: (h: Formula) => number;
|
|
75
|
+
/** Cómo filtrar/ordenar el output. Default: `minimal`. */
|
|
76
|
+
preferred?: Preference;
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/runtime/abduction/types.ts"],"names":[],"mappings":"AAqBA,8DAA8D;AAC9D,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC;AAE7B;;;;;;;GAOG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,QAAQ,EAAE,aAAa,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC;AAE9F;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,QAAQ,EAAE,aAAa,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC;AAE9E;;;;;;;GAOG;AACH,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IAC3B,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;CACpC;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,SAAS,GAAG,qBAAqB,GAAG,cAAc,CAAC;AAEpF,MAAM,WAAW,gBAAgB;IAC/B,wFAAwF;IACxF,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,oFAAoF;IACpF,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gEAAgE;IAChE,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,MAAM,CAAC;IACtC,0DAA0D;IAC1D,SAAS,CAAC,EAAE,UAAU,CAAC;CACxB"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ============================================================
|
|
3
|
+
// ST Abduction — Tipos públicos
|
|
4
|
+
// ============================================================
|
|
5
|
+
//
|
|
6
|
+
// Razonamiento abductivo (Peirce 1903; Reiter 1987): dado un
|
|
7
|
+
// background knowledge KB y una observación O, encontrar
|
|
8
|
+
// hipótesis H ⊆ Abducibles tal que:
|
|
9
|
+
//
|
|
10
|
+
// 1. KB ∪ H ⊨ O (la hipótesis explica la observación)
|
|
11
|
+
// 2. KB ∪ H consistent (la hipótesis es compatible con KB)
|
|
12
|
+
// 3. H es minimal (no hay H' ⊂ H que cumpla 1 y 2)
|
|
13
|
+
//
|
|
14
|
+
// Usos típicos:
|
|
15
|
+
// - Diagnóstico (¿qué fallas explican estos síntomas?)
|
|
16
|
+
// - Inferencia best-fit (la hipótesis más simple/barata gana)
|
|
17
|
+
// - Generación de explicaciones (debugging de cadenas causales)
|
|
18
|
+
//
|
|
19
|
+
// El espacio de hipótesis se enumera sobre 2^|abducibles|. Para
|
|
20
|
+
// |abducibles| ≲ 16 la enumeración exhaustiva es viable. Para más
|
|
21
|
+
// grande, conviene un oráculo SAT incremental.
|
|
22
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/runtime/abduction/types.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,gCAAgC;AAChC,+DAA+D;AAC/D,EAAE;AACF,6DAA6D;AAC7D,yDAAyD;AACzD,oCAAoC;AACpC,EAAE;AACF,8DAA8D;AAC9D,6DAA6D;AAC7D,qDAAqD;AACrD,EAAE;AACF,gBAAgB;AAChB,yDAAyD;AACzD,gEAAgE;AAChE,kEAAkE;AAClE,EAAE;AACF,gEAAgE;AAChE,kEAAkE;AAClE,+CAA+C"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { BayesianNetwork, CPT, Evidence } from './types';
|
|
2
|
+
export interface Factor {
|
|
3
|
+
variables: string[];
|
|
4
|
+
domains: Record<string, string[]>;
|
|
5
|
+
values: Map<string, number>;
|
|
6
|
+
}
|
|
7
|
+
export declare function assignmentKey(variables: string[], assignment: Record<string, string>): string;
|
|
8
|
+
export declare function parseParentKey(parents: string[], key: string): Record<string, string>;
|
|
9
|
+
export declare function buildParentKey(parents: string[], assignment: Record<string, string>): string;
|
|
10
|
+
export declare function iterateAssignments(variables: string[], domains: Record<string, string[]>): Generator<Record<string, string>>;
|
|
11
|
+
export declare function factorFromCPT(cpt: CPT, variableDomains: Record<string, string[]>): Factor;
|
|
12
|
+
export declare function restrictFactor(factor: Factor, evidence: Evidence): Factor;
|
|
13
|
+
export declare function parseAssignmentKey(key: string): Record<string, string>;
|
|
14
|
+
export declare function multiplyFactors(a: Factor, b: Factor): Factor;
|
|
15
|
+
export declare function sumOut(factor: Factor, variable: string): Factor;
|
|
16
|
+
export declare function maxOut(factor: Factor, variable: string): {
|
|
17
|
+
factor: Factor;
|
|
18
|
+
backpointer: Map<string, string>;
|
|
19
|
+
};
|
|
20
|
+
export declare function normalizeFactor(factor: Factor): Factor;
|
|
21
|
+
export declare function variableDomainsOf(net: BayesianNetwork): Record<string, string[]>;
|
|
22
|
+
//# sourceMappingURL=factor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"factor.d.ts","sourceRoot":"","sources":["../../../src/runtime/bayesian/factor.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,eAAe,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE9D,MAAM,WAAW,MAAM;IACrB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAGlC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7B;AAID,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAO7F;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAYrF;AAGD,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAO5F;AAID,wBAAiB,kBAAkB,CACjC,SAAS,EAAE,MAAM,EAAE,EACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAChC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CA0BnC;AAID,wBAAgB,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,MAAM,CAqBzF;AAID,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAsBzE;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAStE;AAID,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAgB5D;AAUD,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAc/D;AAQD,wBAAgB,MAAM,CACpB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAwBtD;AAID,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAUtD;AAID,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAIhF"}
|
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ============================================================
|
|
3
|
+
// Bayesian Inference — Factor representation
|
|
4
|
+
// ============================================================
|
|
5
|
+
//
|
|
6
|
+
// Un Factor representa una función φ(X₁,…,Xₙ) → ℝ⁺ sobre un
|
|
7
|
+
// conjunto de variables discretas. Las CPTs se convierten a
|
|
8
|
+
// factores; los algoritmos de variable elimination producen
|
|
9
|
+
// y consumen factores con tres operaciones: restricción por
|
|
10
|
+
// evidencia, producto, y suma-marginalización.
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.assignmentKey = assignmentKey;
|
|
13
|
+
exports.parseParentKey = parseParentKey;
|
|
14
|
+
exports.buildParentKey = buildParentKey;
|
|
15
|
+
exports.iterateAssignments = iterateAssignments;
|
|
16
|
+
exports.factorFromCPT = factorFromCPT;
|
|
17
|
+
exports.restrictFactor = restrictFactor;
|
|
18
|
+
exports.parseAssignmentKey = parseAssignmentKey;
|
|
19
|
+
exports.multiplyFactors = multiplyFactors;
|
|
20
|
+
exports.sumOut = sumOut;
|
|
21
|
+
exports.maxOut = maxOut;
|
|
22
|
+
exports.normalizeFactor = normalizeFactor;
|
|
23
|
+
exports.variableDomainsOf = variableDomainsOf;
|
|
24
|
+
// ── Helpers de claves ─────────────────────────────────────────
|
|
25
|
+
function assignmentKey(variables, assignment) {
|
|
26
|
+
// Asume `variables` ya está ordenado consistentemente.
|
|
27
|
+
const parts = [];
|
|
28
|
+
for (const v of variables) {
|
|
29
|
+
parts.push(`${v}=${assignment[v]}`);
|
|
30
|
+
}
|
|
31
|
+
return parts.join('|');
|
|
32
|
+
}
|
|
33
|
+
function parseParentKey(parents, key) {
|
|
34
|
+
const out = {};
|
|
35
|
+
if (parents.length === 0)
|
|
36
|
+
return out;
|
|
37
|
+
const parts = key.split('|');
|
|
38
|
+
for (const part of parts) {
|
|
39
|
+
const eq = part.indexOf('=');
|
|
40
|
+
if (eq < 0)
|
|
41
|
+
continue;
|
|
42
|
+
const k = part.slice(0, eq);
|
|
43
|
+
const v = part.slice(eq + 1);
|
|
44
|
+
out[k] = v;
|
|
45
|
+
}
|
|
46
|
+
return out;
|
|
47
|
+
}
|
|
48
|
+
// Construye la clave canónica de padres en el orden declarado por el CPT.
|
|
49
|
+
function buildParentKey(parents, assignment) {
|
|
50
|
+
if (parents.length === 0)
|
|
51
|
+
return '';
|
|
52
|
+
const parts = [];
|
|
53
|
+
for (const p of parents) {
|
|
54
|
+
parts.push(`${p}=${assignment[p]}`);
|
|
55
|
+
}
|
|
56
|
+
return parts.join('|');
|
|
57
|
+
}
|
|
58
|
+
// ── Iteración cartesiana sobre dominios ──────────────────────
|
|
59
|
+
function* iterateAssignments(variables, domains) {
|
|
60
|
+
if (variables.length === 0) {
|
|
61
|
+
yield {};
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
const sizes = variables.map((v) => domains[v]?.length ?? 0);
|
|
65
|
+
if (sizes.some((s) => s === 0))
|
|
66
|
+
return;
|
|
67
|
+
const idx = variables.map(() => 0);
|
|
68
|
+
while (true) {
|
|
69
|
+
const a = {};
|
|
70
|
+
for (let i = 0; i < variables.length; i++) {
|
|
71
|
+
const v = variables[i];
|
|
72
|
+
const dom = domains[v];
|
|
73
|
+
a[v] = dom[idx[i]];
|
|
74
|
+
}
|
|
75
|
+
yield a;
|
|
76
|
+
// incrementar como contador
|
|
77
|
+
let k = variables.length - 1;
|
|
78
|
+
while (k >= 0) {
|
|
79
|
+
idx[k] = (idx[k] ?? 0) + 1;
|
|
80
|
+
if (idx[k] < sizes[k])
|
|
81
|
+
break;
|
|
82
|
+
idx[k] = 0;
|
|
83
|
+
k--;
|
|
84
|
+
}
|
|
85
|
+
if (k < 0)
|
|
86
|
+
break;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
// ── Construcción de factor desde CPT ─────────────────────────
|
|
90
|
+
function factorFromCPT(cpt, variableDomains) {
|
|
91
|
+
const factorVars = [cpt.variable, ...cpt.parents].slice().sort();
|
|
92
|
+
const domains = {};
|
|
93
|
+
for (const v of factorVars) {
|
|
94
|
+
const dom = variableDomains[v];
|
|
95
|
+
if (!dom)
|
|
96
|
+
throw new Error(`Variable "${v}" sin dominio definido`);
|
|
97
|
+
domains[v] = dom;
|
|
98
|
+
}
|
|
99
|
+
const values = new Map();
|
|
100
|
+
for (const assign of iterateAssignments(factorVars, domains)) {
|
|
101
|
+
const parentKey = buildParentKey(cpt.parents, assign);
|
|
102
|
+
const row = cpt.entries[parentKey];
|
|
103
|
+
if (!row) {
|
|
104
|
+
// Fila ausente: probabilidad 0 (red mal definida — pero no fallamos aquí).
|
|
105
|
+
values.set(assignmentKey(factorVars, assign), 0);
|
|
106
|
+
continue;
|
|
107
|
+
}
|
|
108
|
+
const p = row[assign[cpt.variable]];
|
|
109
|
+
values.set(assignmentKey(factorVars, assign), p ?? 0);
|
|
110
|
+
}
|
|
111
|
+
return { variables: factorVars, domains, values };
|
|
112
|
+
}
|
|
113
|
+
// ── Restricción por evidencia ────────────────────────────────
|
|
114
|
+
function restrictFactor(factor, evidence) {
|
|
115
|
+
const evVars = factor.variables.filter((v) => v in evidence);
|
|
116
|
+
if (evVars.length === 0)
|
|
117
|
+
return factor;
|
|
118
|
+
const newVars = factor.variables.filter((v) => !(v in evidence));
|
|
119
|
+
const newDomains = {};
|
|
120
|
+
for (const v of newVars)
|
|
121
|
+
newDomains[v] = factor.domains[v];
|
|
122
|
+
const values = new Map();
|
|
123
|
+
for (const [key, val] of factor.values) {
|
|
124
|
+
const assign = parseAssignmentKey(key);
|
|
125
|
+
let consistent = true;
|
|
126
|
+
for (const ev of evVars) {
|
|
127
|
+
if (assign[ev] !== evidence[ev]) {
|
|
128
|
+
consistent = false;
|
|
129
|
+
break;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
if (!consistent)
|
|
133
|
+
continue;
|
|
134
|
+
const projected = {};
|
|
135
|
+
for (const v of newVars)
|
|
136
|
+
projected[v] = assign[v];
|
|
137
|
+
values.set(assignmentKey(newVars, projected), val);
|
|
138
|
+
}
|
|
139
|
+
return { variables: newVars, domains: newDomains, values };
|
|
140
|
+
}
|
|
141
|
+
function parseAssignmentKey(key) {
|
|
142
|
+
if (key === '')
|
|
143
|
+
return {};
|
|
144
|
+
const out = {};
|
|
145
|
+
for (const part of key.split('|')) {
|
|
146
|
+
const eq = part.indexOf('=');
|
|
147
|
+
if (eq < 0)
|
|
148
|
+
continue;
|
|
149
|
+
out[part.slice(0, eq)] = part.slice(eq + 1);
|
|
150
|
+
}
|
|
151
|
+
return out;
|
|
152
|
+
}
|
|
153
|
+
// ── Producto de factores ─────────────────────────────────────
|
|
154
|
+
function multiplyFactors(a, b) {
|
|
155
|
+
const varSet = new Set([...a.variables, ...b.variables]);
|
|
156
|
+
const newVars = Array.from(varSet).sort();
|
|
157
|
+
const domains = {};
|
|
158
|
+
for (const v of newVars) {
|
|
159
|
+
domains[v] = a.domains[v] ?? b.domains[v];
|
|
160
|
+
}
|
|
161
|
+
const values = new Map();
|
|
162
|
+
for (const assign of iterateAssignments(newVars, domains)) {
|
|
163
|
+
const aKey = assignmentKey(a.variables, projectAssignment(assign, a.variables));
|
|
164
|
+
const bKey = assignmentKey(b.variables, projectAssignment(assign, b.variables));
|
|
165
|
+
const va = a.values.get(aKey) ?? 0;
|
|
166
|
+
const vb = b.values.get(bKey) ?? 0;
|
|
167
|
+
values.set(assignmentKey(newVars, assign), va * vb);
|
|
168
|
+
}
|
|
169
|
+
return { variables: newVars, domains, values };
|
|
170
|
+
}
|
|
171
|
+
function projectAssignment(assign, vars) {
|
|
172
|
+
const out = {};
|
|
173
|
+
for (const v of vars)
|
|
174
|
+
out[v] = assign[v];
|
|
175
|
+
return out;
|
|
176
|
+
}
|
|
177
|
+
// ── Suma-marginalización ─────────────────────────────────────
|
|
178
|
+
function sumOut(factor, variable) {
|
|
179
|
+
if (!factor.variables.includes(variable))
|
|
180
|
+
return factor;
|
|
181
|
+
const newVars = factor.variables.filter((v) => v !== variable);
|
|
182
|
+
const newDomains = {};
|
|
183
|
+
for (const v of newVars)
|
|
184
|
+
newDomains[v] = factor.domains[v];
|
|
185
|
+
const values = new Map();
|
|
186
|
+
for (const [key, val] of factor.values) {
|
|
187
|
+
const assign = parseAssignmentKey(key);
|
|
188
|
+
const projected = {};
|
|
189
|
+
for (const v of newVars)
|
|
190
|
+
projected[v] = assign[v];
|
|
191
|
+
const pKey = assignmentKey(newVars, projected);
|
|
192
|
+
values.set(pKey, (values.get(pKey) ?? 0) + val);
|
|
193
|
+
}
|
|
194
|
+
return { variables: newVars, domains: newDomains, values };
|
|
195
|
+
}
|
|
196
|
+
// ── Max-marginalización (para MPE) ───────────────────────────
|
|
197
|
+
//
|
|
198
|
+
// Devuelve dos factores: el factor max-marginalizado y un mapa
|
|
199
|
+
// backpointer key→valor(varEliminada) usado para reconstruir el
|
|
200
|
+
// argmax.
|
|
201
|
+
function maxOut(factor, variable) {
|
|
202
|
+
if (!factor.variables.includes(variable)) {
|
|
203
|
+
return { factor, backpointer: new Map() };
|
|
204
|
+
}
|
|
205
|
+
const newVars = factor.variables.filter((v) => v !== variable);
|
|
206
|
+
const newDomains = {};
|
|
207
|
+
for (const v of newVars)
|
|
208
|
+
newDomains[v] = factor.domains[v];
|
|
209
|
+
const values = new Map();
|
|
210
|
+
const backpointer = new Map();
|
|
211
|
+
for (const [key, val] of factor.values) {
|
|
212
|
+
const assign = parseAssignmentKey(key);
|
|
213
|
+
const projected = {};
|
|
214
|
+
for (const v of newVars)
|
|
215
|
+
projected[v] = assign[v];
|
|
216
|
+
const pKey = assignmentKey(newVars, projected);
|
|
217
|
+
const prev = values.get(pKey);
|
|
218
|
+
if (prev === undefined || val > prev) {
|
|
219
|
+
values.set(pKey, val);
|
|
220
|
+
backpointer.set(`${pKey}::${variable}`, assign[variable]);
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
return {
|
|
224
|
+
factor: { variables: newVars, domains: newDomains, values },
|
|
225
|
+
backpointer,
|
|
226
|
+
};
|
|
227
|
+
}
|
|
228
|
+
// ── Normalización ────────────────────────────────────────────
|
|
229
|
+
function normalizeFactor(factor) {
|
|
230
|
+
let total = 0;
|
|
231
|
+
for (const v of factor.values.values())
|
|
232
|
+
total += v;
|
|
233
|
+
if (total === 0) {
|
|
234
|
+
// Evidencia inconsistente: devolver factor uniforme nulo.
|
|
235
|
+
return factor;
|
|
236
|
+
}
|
|
237
|
+
const values = new Map();
|
|
238
|
+
for (const [k, v] of factor.values)
|
|
239
|
+
values.set(k, v / total);
|
|
240
|
+
return { variables: factor.variables, domains: factor.domains, values };
|
|
241
|
+
}
|
|
242
|
+
// ── Utilidades de red ────────────────────────────────────────
|
|
243
|
+
function variableDomainsOf(net) {
|
|
244
|
+
const out = {};
|
|
245
|
+
for (const v of net.variables)
|
|
246
|
+
out[v.name] = v.values;
|
|
247
|
+
return out;
|
|
248
|
+
}
|
|
249
|
+
//# sourceMappingURL=factor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"factor.js","sourceRoot":"","sources":["../../../src/runtime/bayesian/factor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtime/bayesian/index.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEpG,YAAY,EACV,eAAe,EACf,GAAG,EACH,gBAAgB,EAChB,QAAQ,EACR,qBAAqB,GACtB,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ============================================================
|
|
3
|
+
// ST Bayesian Inference — Barrel
|
|
4
|
+
// ============================================================
|
|
5
|
+
//
|
|
6
|
+
// Motor de inferencia bayesiana sobre redes discretas simples.
|
|
7
|
+
// Variable elimination con orden min-fill, joint probability
|
|
8
|
+
// y most probable explanation (MAP/MPE).
|
|
9
|
+
//
|
|
10
|
+
// API pública:
|
|
11
|
+
// - `query(net, queryVar, evidence?)` → posterior P(Q | E)
|
|
12
|
+
// - `variableElimination(net, queryVar, ev?)` → idem (alias explícito)
|
|
13
|
+
// - `jointProbability(net, assignment)` → P(asignación completa)
|
|
14
|
+
// - `mostProbableExplanation(net, evidence?)` → argmax P(· | E)
|
|
15
|
+
//
|
|
16
|
+
// Tipos: `BayesianNetwork`, `DiscreteVariable`, `CPT`, `Evidence`,
|
|
17
|
+
// `PosteriorDistribution`.
|
|
18
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
+
exports.variableElimination = exports.query = exports.mostProbableExplanation = exports.jointProbability = void 0;
|
|
20
|
+
var inference_1 = require("./inference");
|
|
21
|
+
Object.defineProperty(exports, "jointProbability", { enumerable: true, get: function () { return inference_1.jointProbability; } });
|
|
22
|
+
Object.defineProperty(exports, "mostProbableExplanation", { enumerable: true, get: function () { return inference_1.mostProbableExplanation; } });
|
|
23
|
+
Object.defineProperty(exports, "query", { enumerable: true, get: function () { return inference_1.query; } });
|
|
24
|
+
Object.defineProperty(exports, "variableElimination", { enumerable: true, get: function () { return inference_1.variableElimination; } });
|
|
25
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime/bayesian/index.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,iCAAiC;AACjC,+DAA+D;AAC/D,EAAE;AACF,+DAA+D;AAC/D,6DAA6D;AAC7D,yCAAyC;AACzC,EAAE;AACF,eAAe;AACf,wEAAwE;AACxE,4EAA4E;AAC5E,4EAA4E;AAC5E,qEAAqE;AACrE,EAAE;AACF,mEAAmE;AACnE,2BAA2B;;;AAE3B,yCAAoG;AAA3F,6GAAA,gBAAgB,OAAA;AAAE,oHAAA,uBAAuB,OAAA;AAAE,kGAAA,KAAK,OAAA;AAAE,gHAAA,mBAAmB,OAAA"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { BayesianNetwork, Evidence, PosteriorDistribution } from './types';
|
|
2
|
+
export declare function jointProbability(net: BayesianNetwork, assignment: Record<string, string>): number;
|
|
3
|
+
export declare function variableElimination(net: BayesianNetwork, queryVar: string, evidence?: Evidence): PosteriorDistribution;
|
|
4
|
+
export declare function query(net: BayesianNetwork, queryVar: string, evidence?: Evidence): PosteriorDistribution;
|
|
5
|
+
export declare function mostProbableExplanation(net: BayesianNetwork, evidence?: Evidence): Record<string, string>;
|
|
6
|
+
//# sourceMappingURL=inference.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inference.d.ts","sourceRoot":"","sources":["../../../src/runtime/bayesian/inference.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,eAAe,EAAO,QAAQ,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AA4BrF,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CA4BjG;AAuDD,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,eAAe,EACpB,QAAQ,EAAE,MAAM,EAChB,QAAQ,GAAE,QAAa,GACtB,qBAAqB,CAmDvB;AAID,wBAAgB,KAAK,CACnB,GAAG,EAAE,eAAe,EACpB,QAAQ,EAAE,MAAM,EAChB,QAAQ,GAAE,QAAa,GACtB,qBAAqB,CAEvB;AAQD,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,eAAe,EACpB,QAAQ,GAAE,QAAa,GACtB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAyExB"}
|