@stevenvo780/st-lang 4.5.1 → 4.5.2
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/bdd/index.d.ts +4 -0
- package/dist/bdd/index.d.ts.map +1 -0
- package/dist/bdd/index.js +29 -0
- package/dist/bdd/index.js.map +1 -0
- package/dist/bdd/manager.d.ts +122 -0
- package/dist/bdd/manager.d.ts.map +1 -0
- package/dist/bdd/manager.js +524 -0
- package/dist/bdd/manager.js.map +1 -0
- package/dist/bdd/types.d.ts +20 -0
- package/dist/bdd/types.d.ts.map +1 -0
- package/dist/bdd/types.js +28 -0
- package/dist/bdd/types.js.map +1 -0
- package/dist/game-theory/common-games.d.ts +50 -0
- package/dist/game-theory/common-games.d.ts.map +1 -0
- package/dist/game-theory/common-games.js +112 -0
- package/dist/game-theory/common-games.js.map +1 -0
- package/dist/game-theory/dominance.d.ts +26 -0
- package/dist/game-theory/dominance.d.ts.map +1 -0
- package/dist/game-theory/dominance.js +203 -0
- package/dist/game-theory/dominance.js.map +1 -0
- package/dist/game-theory/index.d.ts +8 -0
- package/dist/game-theory/index.d.ts.map +1 -0
- package/dist/game-theory/index.js +47 -0
- package/dist/game-theory/index.js.map +1 -0
- package/dist/game-theory/lemke-howson.d.ts +3 -0
- package/dist/game-theory/lemke-howson.d.ts.map +1 -0
- package/dist/game-theory/lemke-howson.js +269 -0
- package/dist/game-theory/lemke-howson.js.map +1 -0
- package/dist/game-theory/linalg.d.ts +7 -0
- package/dist/game-theory/linalg.d.ts.map +1 -0
- package/dist/game-theory/linalg.js +69 -0
- package/dist/game-theory/linalg.js.map +1 -0
- package/dist/game-theory/pure-nash.d.ts +3 -0
- package/dist/game-theory/pure-nash.d.ts.map +1 -0
- package/dist/game-theory/pure-nash.js +86 -0
- package/dist/game-theory/pure-nash.js.map +1 -0
- package/dist/game-theory/support-enumeration.d.ts +3 -0
- package/dist/game-theory/support-enumeration.d.ts.map +1 -0
- package/dist/game-theory/support-enumeration.js +214 -0
- package/dist/game-theory/support-enumeration.js.map +1 -0
- package/dist/game-theory/types.d.ts +57 -0
- package/dist/game-theory/types.d.ts.map +1 -0
- package/dist/game-theory/types.js +191 -0
- package/dist/game-theory/types.js.map +1 -0
- package/dist/index.d.ts +9 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +36 -1
- package/dist/index.js.map +1 -1
- package/dist/information-theory/index.d.ts +29 -0
- package/dist/information-theory/index.d.ts.map +1 -0
- package/dist/information-theory/index.js +323 -0
- package/dist/information-theory/index.js.map +1 -0
- package/dist/namespaces/logic.d.ts +42 -0
- package/dist/namespaces/logic.d.ts.map +1 -0
- package/dist/namespaces/logic.js +112 -0
- package/dist/namespaces/logic.js.map +1 -0
- package/dist/namespaces/proof-systems.d.ts +18 -0
- package/dist/namespaces/proof-systems.d.ts.map +1 -0
- package/dist/namespaces/proof-systems.js +59 -0
- package/dist/namespaces/proof-systems.js.map +1 -0
- package/dist/namespaces/reasoning.d.ts +26 -0
- package/dist/namespaces/reasoning.d.ts.map +1 -0
- package/dist/namespaces/reasoning.js +72 -0
- package/dist/namespaces/reasoning.js.map +1 -0
- package/dist/namespaces/semantics.d.ts +21 -0
- package/dist/namespaces/semantics.d.ts.map +1 -0
- package/dist/namespaces/semantics.js +64 -0
- package/dist/namespaces/semantics.js.map +1 -0
- package/dist/namespaces/solvers.d.ts +22 -0
- package/dist/namespaces/solvers.d.ts.map +1 -0
- package/dist/namespaces/solvers.js +66 -0
- package/dist/namespaces/solvers.js.map +1 -0
- package/dist/namespaces/type-theory.d.ts +22 -0
- package/dist/namespaces/type-theory.d.ts.map +1 -0
- package/dist/namespaces/type-theory.js +65 -0
- package/dist/namespaces/type-theory.js.map +1 -0
- package/dist/optimization/branch-and-bound.d.ts +11 -0
- package/dist/optimization/branch-and-bound.d.ts.map +1 -0
- package/dist/optimization/branch-and-bound.js +311 -0
- package/dist/optimization/branch-and-bound.js.map +1 -0
- package/dist/optimization/index.d.ts +5 -0
- package/dist/optimization/index.d.ts.map +1 -0
- package/dist/optimization/index.js +20 -0
- package/dist/optimization/index.js.map +1 -0
- package/dist/optimization/simplex.d.ts +8 -0
- package/dist/optimization/simplex.d.ts.map +1 -0
- package/dist/optimization/simplex.js +408 -0
- package/dist/optimization/simplex.js.map +1 -0
- package/dist/optimization/standard-form.d.ts +11 -0
- package/dist/optimization/standard-form.d.ts.map +1 -0
- package/dist/optimization/standard-form.js +112 -0
- package/dist/optimization/standard-form.js.map +1 -0
- package/dist/optimization/types.d.ts +44 -0
- package/dist/optimization/types.d.ts.map +1 -0
- package/dist/optimization/types.js +15 -0
- package/dist/optimization/types.js.map +1 -0
- package/dist/profiles/hol/connectives.d.ts +46 -0
- package/dist/profiles/hol/connectives.d.ts.map +1 -0
- package/dist/profiles/hol/connectives.js +104 -0
- package/dist/profiles/hol/connectives.js.map +1 -0
- package/dist/profiles/hol/index.d.ts +7 -0
- package/dist/profiles/hol/index.d.ts.map +1 -0
- package/dist/profiles/hol/index.js +77 -0
- package/dist/profiles/hol/index.js.map +1 -0
- package/dist/profiles/hol/rules.d.ts +31 -0
- package/dist/profiles/hol/rules.d.ts.map +1 -0
- package/dist/profiles/hol/rules.js +258 -0
- package/dist/profiles/hol/rules.js.map +1 -0
- package/dist/profiles/hol/term.d.ts +52 -0
- package/dist/profiles/hol/term.d.ts.map +1 -0
- package/dist/profiles/hol/term.js +345 -0
- package/dist/profiles/hol/term.js.map +1 -0
- package/dist/profiles/hol/type-system.d.ts +38 -0
- package/dist/profiles/hol/type-system.d.ts.map +1 -0
- package/dist/profiles/hol/type-system.js +133 -0
- package/dist/profiles/hol/type-system.js.map +1 -0
- package/dist/profiles/hol/types.d.ts +59 -0
- package/dist/profiles/hol/types.d.ts.map +1 -0
- package/dist/profiles/hol/types.js +26 -0
- package/dist/profiles/hol/types.js.map +1 -0
- package/dist/smt-lib/ast.d.ts +138 -0
- package/dist/smt-lib/ast.d.ts.map +1 -0
- package/dist/smt-lib/ast.js +73 -0
- package/dist/smt-lib/ast.js.map +1 -0
- package/dist/smt-lib/emitter.d.ts +12 -0
- package/dist/smt-lib/emitter.d.ts.map +1 -0
- package/dist/smt-lib/emitter.js +174 -0
- package/dist/smt-lib/emitter.js.map +1 -0
- package/dist/smt-lib/index.d.ts +6 -0
- package/dist/smt-lib/index.d.ts.map +1 -0
- package/dist/smt-lib/index.js +31 -0
- package/dist/smt-lib/index.js.map +1 -0
- package/dist/smt-lib/parser.d.ts +13 -0
- package/dist/smt-lib/parser.d.ts.map +1 -0
- package/dist/smt-lib/parser.js +614 -0
- package/dist/smt-lib/parser.js.map +1 -0
- package/dist/smt-lib/tokenizer.d.ts +16 -0
- package/dist/smt-lib/tokenizer.d.ts.map +1 -0
- package/dist/smt-lib/tokenizer.js +234 -0
- package/dist/smt-lib/tokenizer.js.map +1 -0
- package/dist/tests/api/namespaces.test.d.ts +9 -0
- package/dist/tests/api/namespaces.test.d.ts.map +1 -0
- package/dist/tests/api/namespaces.test.js +218 -0
- package/dist/tests/api/namespaces.test.js.map +1 -0
- package/dist/tests/bdd/manager.test.d.ts +2 -0
- package/dist/tests/bdd/manager.test.d.ts.map +1 -0
- package/dist/tests/bdd/manager.test.js +472 -0
- package/dist/tests/bdd/manager.test.js.map +1 -0
- package/dist/tests/game-theory/game-theory.test.d.ts +2 -0
- package/dist/tests/game-theory/game-theory.test.d.ts.map +1 -0
- package/dist/tests/game-theory/game-theory.test.js +252 -0
- package/dist/tests/game-theory/game-theory.test.js.map +1 -0
- package/dist/tests/hol/hol.test.d.ts +2 -0
- package/dist/tests/hol/hol.test.d.ts.map +1 -0
- package/dist/tests/hol/hol.test.js +340 -0
- package/dist/tests/hol/hol.test.js.map +1 -0
- package/dist/tests/information-theory/information-theory.test.d.ts +2 -0
- package/dist/tests/information-theory/information-theory.test.d.ts.map +1 -0
- package/dist/tests/information-theory/information-theory.test.js +291 -0
- package/dist/tests/information-theory/information-theory.test.js.map +1 -0
- package/dist/tests/optimization/ilp.test.d.ts +2 -0
- package/dist/tests/optimization/ilp.test.d.ts.map +1 -0
- package/dist/tests/optimization/ilp.test.js +204 -0
- package/dist/tests/optimization/ilp.test.js.map +1 -0
- package/dist/tests/optimization/lp.test.d.ts +2 -0
- package/dist/tests/optimization/lp.test.d.ts.map +1 -0
- package/dist/tests/optimization/lp.test.js +224 -0
- package/dist/tests/optimization/lp.test.js.map +1 -0
- package/dist/tests/properties/agm.property.test.d.ts +2 -0
- package/dist/tests/properties/agm.property.test.d.ts.map +1 -0
- package/dist/tests/properties/agm.property.test.js +75 -0
- package/dist/tests/properties/agm.property.test.js.map +1 -0
- package/dist/tests/properties/anti-unification.property.test.d.ts +2 -0
- package/dist/tests/properties/anti-unification.property.test.d.ts.map +1 -0
- package/dist/tests/properties/anti-unification.property.test.js +43 -0
- package/dist/tests/properties/anti-unification.property.test.js.map +1 -0
- package/dist/tests/properties/argumentation.property.test.d.ts +2 -0
- package/dist/tests/properties/argumentation.property.test.d.ts.map +1 -0
- package/dist/tests/properties/argumentation.property.test.js +51 -0
- package/dist/tests/properties/argumentation.property.test.js.map +1 -0
- package/dist/tests/properties/bayesian.property.test.d.ts +2 -0
- package/dist/tests/properties/bayesian.property.test.d.ts.map +1 -0
- package/dist/tests/properties/bayesian.property.test.js +32 -0
- package/dist/tests/properties/bayesian.property.test.js.map +1 -0
- package/dist/tests/properties/bisimulation.property.test.d.ts +2 -0
- package/dist/tests/properties/bisimulation.property.test.d.ts.map +1 -0
- package/dist/tests/properties/bisimulation.property.test.js +50 -0
- package/dist/tests/properties/bisimulation.property.test.js.map +1 -0
- package/dist/tests/properties/cdcl.property.test.d.ts +2 -0
- package/dist/tests/properties/cdcl.property.test.d.ts.map +1 -0
- package/dist/tests/properties/cdcl.property.test.js +70 -0
- package/dist/tests/properties/cdcl.property.test.js.map +1 -0
- package/dist/tests/properties/coinduction.property.test.d.ts +2 -0
- package/dist/tests/properties/coinduction.property.test.d.ts.map +1 -0
- package/dist/tests/properties/coinduction.property.test.js +34 -0
- package/dist/tests/properties/coinduction.property.test.js.map +1 -0
- package/dist/tests/properties/constructive-reals.property.test.d.ts +2 -0
- package/dist/tests/properties/constructive-reals.property.test.d.ts.map +1 -0
- package/dist/tests/properties/constructive-reals.property.test.js +59 -0
- package/dist/tests/properties/constructive-reals.property.test.js.map +1 -0
- package/dist/tests/properties/csp.property.test.d.ts +2 -0
- package/dist/tests/properties/csp.property.test.d.ts.map +1 -0
- package/dist/tests/properties/csp.property.test.js +58 -0
- package/dist/tests/properties/csp.property.test.js.map +1 -0
- package/dist/tests/properties/generators.d.ts +78 -0
- package/dist/tests/properties/generators.d.ts.map +1 -0
- package/dist/tests/properties/generators.js +348 -0
- package/dist/tests/properties/generators.js.map +1 -0
- package/dist/tests/properties/ho-unify.property.test.d.ts +2 -0
- package/dist/tests/properties/ho-unify.property.test.d.ts.map +1 -0
- package/dist/tests/properties/ho-unify.property.test.js +46 -0
- package/dist/tests/properties/ho-unify.property.test.js.map +1 -0
- package/dist/tests/properties/hyperreal.property.test.d.ts +2 -0
- package/dist/tests/properties/hyperreal.property.test.d.ts.map +1 -0
- package/dist/tests/properties/hyperreal.property.test.js +33 -0
- package/dist/tests/properties/hyperreal.property.test.js.map +1 -0
- package/dist/tests/properties/intuit-nj.property.test.d.ts +2 -0
- package/dist/tests/properties/intuit-nj.property.test.d.ts.map +1 -0
- package/dist/tests/properties/intuit-nj.property.test.js +57 -0
- package/dist/tests/properties/intuit-nj.property.test.js.map +1 -0
- package/dist/tests/properties/lambda-calc.property.test.d.ts +2 -0
- package/dist/tests/properties/lambda-calc.property.test.d.ts.map +1 -0
- package/dist/tests/properties/lambda-calc.property.test.js +35 -0
- package/dist/tests/properties/lambda-calc.property.test.js.map +1 -0
- package/dist/tests/properties/mln.property.test.d.ts +2 -0
- package/dist/tests/properties/mln.property.test.d.ts.map +1 -0
- package/dist/tests/properties/mln.property.test.js +41 -0
- package/dist/tests/properties/mln.property.test.js.map +1 -0
- package/dist/tests/properties/mltt.property.test.d.ts +2 -0
- package/dist/tests/properties/mltt.property.test.d.ts.map +1 -0
- package/dist/tests/properties/mltt.property.test.js +33 -0
- package/dist/tests/properties/mltt.property.test.js.map +1 -0
- package/dist/tests/properties/nbe.property.test.d.ts +2 -0
- package/dist/tests/properties/nbe.property.test.d.ts.map +1 -0
- package/dist/tests/properties/nbe.property.test.js +44 -0
- package/dist/tests/properties/nbe.property.test.js.map +1 -0
- package/dist/tests/properties/planning.property.test.d.ts +2 -0
- package/dist/tests/properties/planning.property.test.d.ts.map +1 -0
- package/dist/tests/properties/planning.property.test.js +51 -0
- package/dist/tests/properties/planning.property.test.js.map +1 -0
- package/dist/tests/properties/profile-bridge.property.test.d.ts +2 -0
- package/dist/tests/properties/profile-bridge.property.test.d.ts.map +1 -0
- package/dist/tests/properties/profile-bridge.property.test.js +71 -0
- package/dist/tests/properties/profile-bridge.property.test.js.map +1 -0
- package/dist/tests/properties/refinement-types.property.test.d.ts +2 -0
- package/dist/tests/properties/refinement-types.property.test.d.ts.map +1 -0
- package/dist/tests/properties/refinement-types.property.test.js +37 -0
- package/dist/tests/properties/refinement-types.property.test.js.map +1 -0
- package/dist/tests/properties/sequent-g3.property.test.d.ts +2 -0
- package/dist/tests/properties/sequent-g3.property.test.d.ts.map +1 -0
- package/dist/tests/properties/sequent-g3.property.test.js +34 -0
- package/dist/tests/properties/sequent-g3.property.test.js.map +1 -0
- package/dist/tests/properties/symbolic-diff.property.test.d.ts +2 -0
- package/dist/tests/properties/symbolic-diff.property.test.d.ts.map +1 -0
- package/dist/tests/properties/symbolic-diff.property.test.js +49 -0
- package/dist/tests/properties/symbolic-diff.property.test.js.map +1 -0
- package/dist/tests/properties/system-f.property.test.d.ts +2 -0
- package/dist/tests/properties/system-f.property.test.d.ts.map +1 -0
- package/dist/tests/properties/system-f.property.test.js +37 -0
- package/dist/tests/properties/system-f.property.test.js.map +1 -0
- package/dist/tests/properties/theorem-cache.property.test.d.ts +2 -0
- package/dist/tests/properties/theorem-cache.property.test.d.ts.map +1 -0
- package/dist/tests/properties/theorem-cache.property.test.js +38 -0
- package/dist/tests/properties/theorem-cache.property.test.js.map +1 -0
- package/dist/tests/properties/trs.property.test.d.ts +2 -0
- package/dist/tests/properties/trs.property.test.d.ts.map +1 -0
- package/dist/tests/properties/trs.property.test.js +34 -0
- package/dist/tests/properties/trs.property.test.js.map +1 -0
- package/dist/tests/properties/unification.property.test.d.ts +2 -0
- package/dist/tests/properties/unification.property.test.d.ts.map +1 -0
- package/dist/tests/properties/unification.property.test.js +42 -0
- package/dist/tests/properties/unification.property.test.js.map +1 -0
- package/dist/tests/smt-lib/emitter.test.d.ts +2 -0
- package/dist/tests/smt-lib/emitter.test.d.ts.map +1 -0
- package/dist/tests/smt-lib/emitter.test.js +155 -0
- package/dist/tests/smt-lib/emitter.test.js.map +1 -0
- package/dist/tests/smt-lib/parser.test.d.ts +2 -0
- package/dist/tests/smt-lib/parser.test.d.ts.map +1 -0
- package/dist/tests/smt-lib/parser.test.js +164 -0
- package/dist/tests/smt-lib/parser.test.js.map +1 -0
- package/dist/tests/smt-lib/tokenizer.test.d.ts +2 -0
- package/dist/tests/smt-lib/tokenizer.test.d.ts.map +1 -0
- package/dist/tests/smt-lib/tokenizer.test.js +59 -0
- package/dist/tests/smt-lib/tokenizer.test.js.map +1 -0
- package/package.json +2 -1
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ============================================================
|
|
3
|
+
// Support enumeration — algoritmo para enumerar TODOS los Nash
|
|
4
|
+
// equilibria de un juego 2-player.
|
|
5
|
+
// ============================================================
|
|
6
|
+
//
|
|
7
|
+
// Idea (Dickhaut–Kaplan, generalizado): un equilibrio mixto está
|
|
8
|
+
// soportado por dos subconjuntos S_1 ⊆ [n], S_2 ⊆ [m] de igual
|
|
9
|
+
// cardinalidad (por el Lemma de complementariedad).
|
|
10
|
+
//
|
|
11
|
+
// Para cada par (S_1, S_2) del mismo tamaño k:
|
|
12
|
+
// - jugador 1 mezcla solo en S_1 con probs p_i (i ∈ S_1)
|
|
13
|
+
// - jugador 2 mezcla solo en S_2 con probs q_j (j ∈ S_2)
|
|
14
|
+
// - p, q deben volver indiferente al rival en su soporte:
|
|
15
|
+
// sum_i p_i * a[i][j] = u_2 para todo j ∈ S_2
|
|
16
|
+
// sum_j q_j * a'[i][j] = u_1 para todo i ∈ S_1
|
|
17
|
+
// (donde a' = pagos de player 1, a = pagos de player 2)
|
|
18
|
+
// - p, q ≥ 0, suman 1
|
|
19
|
+
// - mejores fuera del soporte no deben superar el pago de equilibrio
|
|
20
|
+
//
|
|
21
|
+
// Resolvemos el sistema lineal y filtramos. Para juegos chicos
|
|
22
|
+
// (n*m ≤ ~10) la enumeración es trivial: 2^n * 2^m subsets.
|
|
23
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
|
+
exports.enumerateAllNash = enumerateAllNash;
|
|
25
|
+
const types_1 = require("./types");
|
|
26
|
+
const linalg_1 = require("./linalg");
|
|
27
|
+
const TOL = 1e-9;
|
|
28
|
+
function enumerateAllNash(game, maxSize) {
|
|
29
|
+
if (game.players !== 2) {
|
|
30
|
+
throw new Error('enumerateAllNash currently supports 2-player games only');
|
|
31
|
+
}
|
|
32
|
+
const n = game.strategies[0];
|
|
33
|
+
const m = game.strategies[1];
|
|
34
|
+
const a1 = game.payoffs[0]; // a1[i*m+j] = u_1(i, j)
|
|
35
|
+
const a2 = game.payoffs[1]; // a2[i*m+j] = u_2(i, j)
|
|
36
|
+
const cap = maxSize ?? Math.min(n, m);
|
|
37
|
+
const results = [];
|
|
38
|
+
const seen = new Set();
|
|
39
|
+
// Enumerar subsets crecientes para que las equilibria puras
|
|
40
|
+
// aparezcan primero.
|
|
41
|
+
for (let k = 1; k <= cap; k++) {
|
|
42
|
+
const subsetsRow = subsetsOfSize(n, k);
|
|
43
|
+
const subsetsCol = subsetsOfSize(m, k);
|
|
44
|
+
for (const S1 of subsetsRow) {
|
|
45
|
+
for (const S2 of subsetsCol) {
|
|
46
|
+
const eq = solveSupport(n, m, a1, a2, S1, S2);
|
|
47
|
+
if (eq == null)
|
|
48
|
+
continue;
|
|
49
|
+
const key = canonicalKey(eq.strategies[0].distribution, eq.strategies[1].distribution);
|
|
50
|
+
if (seen.has(key))
|
|
51
|
+
continue;
|
|
52
|
+
seen.add(key);
|
|
53
|
+
results.push(eq);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return results;
|
|
58
|
+
}
|
|
59
|
+
function solveSupport(n, m, a1, a2, S1, S2) {
|
|
60
|
+
const k = S1.length;
|
|
61
|
+
if (S2.length !== k)
|
|
62
|
+
return null;
|
|
63
|
+
// Sistema para q (variable del jugador 2, |S2| = k):
|
|
64
|
+
// Para cada i ∈ S1: sum_{j ∈ S2} a1[i,j] * q_j = u_1
|
|
65
|
+
// sum_{j ∈ S2} q_j = 1
|
|
66
|
+
// Variables: q_j (k), u_1 (1). Ecuaciones: k + 1.
|
|
67
|
+
const A_q = [];
|
|
68
|
+
const b_q = [];
|
|
69
|
+
for (const i of S1) {
|
|
70
|
+
const row = new Array(k + 1).fill(0);
|
|
71
|
+
for (let idx = 0; idx < k; idx++) {
|
|
72
|
+
const j = S2[idx];
|
|
73
|
+
row[idx] = a1[i * m + j];
|
|
74
|
+
}
|
|
75
|
+
row[k] = -1; // -u_1
|
|
76
|
+
A_q.push(row);
|
|
77
|
+
b_q.push(0);
|
|
78
|
+
}
|
|
79
|
+
const last_q = new Array(k + 1).fill(0);
|
|
80
|
+
for (let idx = 0; idx < k; idx++)
|
|
81
|
+
last_q[idx] = 1;
|
|
82
|
+
A_q.push(last_q);
|
|
83
|
+
b_q.push(1);
|
|
84
|
+
const solQ = (0, linalg_1.solveLinear)(A_q, b_q);
|
|
85
|
+
if (solQ === null)
|
|
86
|
+
return null;
|
|
87
|
+
// Sistema para p (variable del jugador 1, |S1| = k):
|
|
88
|
+
// Para cada j ∈ S2: sum_{i ∈ S1} a2[i,j] * p_i = u_2
|
|
89
|
+
// sum_{i ∈ S1} p_i = 1
|
|
90
|
+
const A_p = [];
|
|
91
|
+
const b_p = [];
|
|
92
|
+
for (const j of S2) {
|
|
93
|
+
const row = new Array(k + 1).fill(0);
|
|
94
|
+
for (let idx = 0; idx < k; idx++) {
|
|
95
|
+
const i = S1[idx];
|
|
96
|
+
row[idx] = a2[i * m + j];
|
|
97
|
+
}
|
|
98
|
+
row[k] = -1; // -u_2
|
|
99
|
+
A_p.push(row);
|
|
100
|
+
b_p.push(0);
|
|
101
|
+
}
|
|
102
|
+
const last_p = new Array(k + 1).fill(0);
|
|
103
|
+
for (let idx = 0; idx < k; idx++)
|
|
104
|
+
last_p[idx] = 1;
|
|
105
|
+
A_p.push(last_p);
|
|
106
|
+
b_p.push(1);
|
|
107
|
+
const solP = (0, linalg_1.solveLinear)(A_p, b_p);
|
|
108
|
+
if (solP === null)
|
|
109
|
+
return null;
|
|
110
|
+
const q_support = solQ.slice(0, k);
|
|
111
|
+
const u1 = solQ[k];
|
|
112
|
+
const p_support = solP.slice(0, k);
|
|
113
|
+
const u2 = solP[k];
|
|
114
|
+
// Probabilidades dentro del soporte deben ser ≥ 0 (y >0 idealmente)
|
|
115
|
+
for (const v of q_support) {
|
|
116
|
+
if (v < -TOL)
|
|
117
|
+
return null;
|
|
118
|
+
if (v < TOL)
|
|
119
|
+
return null; // soporte = solo elementos con prob>0
|
|
120
|
+
}
|
|
121
|
+
for (const v of p_support) {
|
|
122
|
+
if (v < -TOL)
|
|
123
|
+
return null;
|
|
124
|
+
if (v < TOL)
|
|
125
|
+
return null;
|
|
126
|
+
}
|
|
127
|
+
// Reconstruir distribuciones completas
|
|
128
|
+
const p = new Array(n).fill(0);
|
|
129
|
+
for (let idx = 0; idx < k; idx++)
|
|
130
|
+
p[S1[idx]] = p_support[idx];
|
|
131
|
+
const q = new Array(m).fill(0);
|
|
132
|
+
for (let idx = 0; idx < k; idx++)
|
|
133
|
+
q[S2[idx]] = q_support[idx];
|
|
134
|
+
// Mejor respuesta fuera del soporte no debe superar u_1 / u_2
|
|
135
|
+
for (let i = 0; i < n; i++) {
|
|
136
|
+
if (S1.includes(i))
|
|
137
|
+
continue;
|
|
138
|
+
let u = 0;
|
|
139
|
+
for (let j = 0; j < m; j++)
|
|
140
|
+
u += q[j] * a1[i * m + j];
|
|
141
|
+
if (u > u1 + 1e-7)
|
|
142
|
+
return null;
|
|
143
|
+
}
|
|
144
|
+
for (let j = 0; j < m; j++) {
|
|
145
|
+
if (S2.includes(j))
|
|
146
|
+
continue;
|
|
147
|
+
let u = 0;
|
|
148
|
+
for (let i = 0; i < n; i++)
|
|
149
|
+
u += p[i] * a2[i * m + j];
|
|
150
|
+
if (u > u2 + 1e-7)
|
|
151
|
+
return null;
|
|
152
|
+
}
|
|
153
|
+
const game = {
|
|
154
|
+
players: 2,
|
|
155
|
+
strategies: [n, m],
|
|
156
|
+
payoffs: [a1, a2],
|
|
157
|
+
};
|
|
158
|
+
const dists = [p, q];
|
|
159
|
+
const payoffs = [
|
|
160
|
+
(0, types_1.expectedPayoffFromDistributions)(game, 0, dists),
|
|
161
|
+
(0, types_1.expectedPayoffFromDistributions)(game, 1, dists),
|
|
162
|
+
];
|
|
163
|
+
const isPure = k === 1;
|
|
164
|
+
const isStrict = isPure && isStrictBR(n, m, a1, a2, S1[0], S2[0]);
|
|
165
|
+
return {
|
|
166
|
+
strategies: [
|
|
167
|
+
{ player: 0, distribution: p },
|
|
168
|
+
{ player: 1, distribution: q },
|
|
169
|
+
],
|
|
170
|
+
payoffs,
|
|
171
|
+
isPure,
|
|
172
|
+
isStrict,
|
|
173
|
+
};
|
|
174
|
+
}
|
|
175
|
+
function isStrictBR(n, m, a1, a2, i, j) {
|
|
176
|
+
const cur1 = a1[i * m + j];
|
|
177
|
+
for (let ii = 0; ii < n; ii++) {
|
|
178
|
+
if (ii === i)
|
|
179
|
+
continue;
|
|
180
|
+
if (a1[ii * m + j] >= cur1 - TOL)
|
|
181
|
+
return false;
|
|
182
|
+
}
|
|
183
|
+
const cur2 = a2[i * m + j];
|
|
184
|
+
for (let jj = 0; jj < m; jj++) {
|
|
185
|
+
if (jj === j)
|
|
186
|
+
continue;
|
|
187
|
+
if (a2[i * m + jj] >= cur2 - TOL)
|
|
188
|
+
return false;
|
|
189
|
+
}
|
|
190
|
+
return true;
|
|
191
|
+
}
|
|
192
|
+
function subsetsOfSize(n, k) {
|
|
193
|
+
const result = [];
|
|
194
|
+
const cur = [];
|
|
195
|
+
function rec(start) {
|
|
196
|
+
if (cur.length === k) {
|
|
197
|
+
result.push(cur.slice());
|
|
198
|
+
return;
|
|
199
|
+
}
|
|
200
|
+
const need = k - cur.length;
|
|
201
|
+
for (let i = start; i <= n - need; i++) {
|
|
202
|
+
cur.push(i);
|
|
203
|
+
rec(i + 1);
|
|
204
|
+
cur.pop();
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
rec(0);
|
|
208
|
+
return result;
|
|
209
|
+
}
|
|
210
|
+
function canonicalKey(p, q) {
|
|
211
|
+
const round = (xs) => xs.map((x) => Math.round(x * 1e6) / 1e6).join(',');
|
|
212
|
+
return `${round(p)}|${round(q)}`;
|
|
213
|
+
}
|
|
214
|
+
//# sourceMappingURL=support-enumeration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"support-enumeration.js","sourceRoot":"","sources":["../../src/game-theory/support-enumeration.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
export interface NormalFormGame {
|
|
2
|
+
/** Cantidad de jugadores (≥ 2). */
|
|
3
|
+
players: number;
|
|
4
|
+
/** strategies[i] = número de estrategias puras del jugador i. */
|
|
5
|
+
strategies: number[];
|
|
6
|
+
/** payoffs[player][profileIndex] = utilidad del jugador en ese perfil. */
|
|
7
|
+
payoffs: number[][];
|
|
8
|
+
}
|
|
9
|
+
export interface MixedStrategy {
|
|
10
|
+
/** Índice del jugador (0-based). */
|
|
11
|
+
player: number;
|
|
12
|
+
/** Distribución sobre estrategias puras; debe sumar 1 y ser no-negativa. */
|
|
13
|
+
distribution: number[];
|
|
14
|
+
}
|
|
15
|
+
export interface NashEquilibrium {
|
|
16
|
+
/** Una distribución mixta por jugador (en orden de jugador). */
|
|
17
|
+
strategies: MixedStrategy[];
|
|
18
|
+
/** Pagos esperados por jugador en este equilibrio. */
|
|
19
|
+
payoffs: number[];
|
|
20
|
+
/** True si toda distribución pone masa 1 en alguna estrategia pura. */
|
|
21
|
+
isPure: boolean;
|
|
22
|
+
/** True si el equilibrio es estricto (best response única para cada jugador puro). */
|
|
23
|
+
isStrict: boolean;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Convierte un perfil `(s_0, ..., s_{n-1})` a su índice row-major
|
|
27
|
+
* en `payoffs[player]`. Lanza si el perfil no encaja en `sizes`.
|
|
28
|
+
*/
|
|
29
|
+
export declare function profileToIndex(profile: number[], sizes: number[]): number;
|
|
30
|
+
/** Inversa de `profileToIndex`. */
|
|
31
|
+
export declare function indexToProfile(index: number, sizes: number[]): number[];
|
|
32
|
+
/** Producto cartesiano de tamaños — número total de perfiles. */
|
|
33
|
+
export declare function totalProfiles(sizes: number[]): number;
|
|
34
|
+
/**
|
|
35
|
+
* Construye un juego en forma normal validando dimensiones.
|
|
36
|
+
*/
|
|
37
|
+
export declare function createGame(players: number, strategies: number[], payoffs: number[][]): NormalFormGame;
|
|
38
|
+
/**
|
|
39
|
+
* Construye un juego 2-player a partir de dos matrices NxM.
|
|
40
|
+
* `payoff1[i][j]` = utilidad del jugador 1 cuando juega i y el 2 juega j.
|
|
41
|
+
* `payoff2[i][j]` = utilidad del jugador 2.
|
|
42
|
+
*/
|
|
43
|
+
export declare function createTwoPlayerGame(payoff1: number[][], payoff2: number[][]): NormalFormGame;
|
|
44
|
+
/** Lectura ergonómica del pago: u_player(profile). */
|
|
45
|
+
export declare function payoffOf(game: NormalFormGame, player: number, profile: number[]): number;
|
|
46
|
+
/** Suma de un vector — útil para chequeos de simplex. */
|
|
47
|
+
export declare function sumOf(xs: number[]): number;
|
|
48
|
+
/** Pago esperado del jugador en un perfil mixto. */
|
|
49
|
+
export declare function expectedPayoff(game: NormalFormGame, player: number, mixed: MixedStrategy[]): number;
|
|
50
|
+
export declare function expectedPayoffFromDistributions(game: NormalFormGame, player: number, dists: number[][]): number;
|
|
51
|
+
/** Distribución pura: masa 1 en `s`, 0 en el resto. */
|
|
52
|
+
export declare function pureDistribution(s: number, size: number): number[];
|
|
53
|
+
/** Dos números reales aproximadamente iguales. */
|
|
54
|
+
export declare function approxEqual(a: number, b: number, tol?: number): boolean;
|
|
55
|
+
/** Igualdad punto a punto bajo tolerancia. */
|
|
56
|
+
export declare function vectorsApproxEqual(a: number[], b: number[], tol?: number): boolean;
|
|
57
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/game-theory/types.ts"],"names":[],"mappings":"AAeA,MAAM,WAAW,cAAc;IAC7B,mCAAmC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,iEAAiE;IACjE,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,0EAA0E;IAC1E,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,oCAAoC;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,4EAA4E;IAC5E,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,gEAAgE;IAChE,UAAU,EAAE,aAAa,EAAE,CAAC;IAC5B,sDAAsD;IACtD,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,uEAAuE;IACvE,MAAM,EAAE,OAAO,CAAC;IAChB,sFAAsF;IACtF,QAAQ,EAAE,OAAO,CAAC;CACnB;AAID;;;GAGG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAczE;AAED,mCAAmC;AACnC,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAYvE;AAED,iEAAiE;AACjE,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAIrD;AAED;;GAEG;AACH,wBAAgB,UAAU,CACxB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAAE,EACpB,OAAO,EAAE,MAAM,EAAE,EAAE,GAClB,cAAc,CAgBhB;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,GAAG,cAAc,CAwB5F;AAED,sDAAsD;AACtD,wBAAgB,QAAQ,CAAC,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAOxF;AAED,yDAAyD;AACzD,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,MAAM,CAI1C;AAED,oDAAoD;AACpD,wBAAgB,cAAc,CAC5B,IAAI,EAAE,cAAc,EACpB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,aAAa,EAAE,GACrB,MAAM,CAGR;AAED,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,cAAc,EACpB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EAAE,EAAE,GAChB,MAAM,CAmBR;AAED,uDAAuD;AACvD,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAIlE;AAED,kDAAkD;AAClD,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,SAAO,GAAG,OAAO,CAErE;AAED,8CAA8C;AAC9C,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,SAAO,GAAG,OAAO,CAMhF"}
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ============================================================
|
|
3
|
+
// Game theory — Tipos y utilidades de juegos en forma normal
|
|
4
|
+
// ============================================================
|
|
5
|
+
//
|
|
6
|
+
// Modelo de juego en forma normal (también llamado matriz de
|
|
7
|
+
// pagos) para n jugadores con conjuntos finitos de estrategias
|
|
8
|
+
// puras. Los pagos se almacenan en un layout flat:
|
|
9
|
+
//
|
|
10
|
+
// payoffs[player][index] = u_player(s_1, ..., s_n)
|
|
11
|
+
//
|
|
12
|
+
// donde `index` es la codificación row-major (lexicográfica) del
|
|
13
|
+
// perfil de estrategias `(s_1, ..., s_n)` usando los tamaños en
|
|
14
|
+
// `strategies`. Esta forma permite manejar uniformemente juegos
|
|
15
|
+
// 2-player NxM y juegos n-player simétricos chicos.
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.profileToIndex = profileToIndex;
|
|
18
|
+
exports.indexToProfile = indexToProfile;
|
|
19
|
+
exports.totalProfiles = totalProfiles;
|
|
20
|
+
exports.createGame = createGame;
|
|
21
|
+
exports.createTwoPlayerGame = createTwoPlayerGame;
|
|
22
|
+
exports.payoffOf = payoffOf;
|
|
23
|
+
exports.sumOf = sumOf;
|
|
24
|
+
exports.expectedPayoff = expectedPayoff;
|
|
25
|
+
exports.expectedPayoffFromDistributions = expectedPayoffFromDistributions;
|
|
26
|
+
exports.pureDistribution = pureDistribution;
|
|
27
|
+
exports.approxEqual = approxEqual;
|
|
28
|
+
exports.vectorsApproxEqual = vectorsApproxEqual;
|
|
29
|
+
// ---------- helpers internos ----------
|
|
30
|
+
/**
|
|
31
|
+
* Convierte un perfil `(s_0, ..., s_{n-1})` a su índice row-major
|
|
32
|
+
* en `payoffs[player]`. Lanza si el perfil no encaja en `sizes`.
|
|
33
|
+
*/
|
|
34
|
+
function profileToIndex(profile, sizes) {
|
|
35
|
+
if (profile.length !== sizes.length) {
|
|
36
|
+
throw new Error(`profile length ${profile.length} != strategies length ${sizes.length}`);
|
|
37
|
+
}
|
|
38
|
+
let idx = 0;
|
|
39
|
+
for (let i = 0; i < profile.length; i++) {
|
|
40
|
+
const s = profile[i];
|
|
41
|
+
const size = sizes[i];
|
|
42
|
+
if (s < 0 || s >= size) {
|
|
43
|
+
throw new Error(`strategy ${s} out of range [0, ${size}) for player ${i}`);
|
|
44
|
+
}
|
|
45
|
+
idx = idx * size + s;
|
|
46
|
+
}
|
|
47
|
+
return idx;
|
|
48
|
+
}
|
|
49
|
+
/** Inversa de `profileToIndex`. */
|
|
50
|
+
function indexToProfile(index, sizes) {
|
|
51
|
+
const profile = new Array(sizes.length);
|
|
52
|
+
let remaining = index;
|
|
53
|
+
for (let i = sizes.length - 1; i >= 0; i--) {
|
|
54
|
+
const size = sizes[i];
|
|
55
|
+
profile[i] = remaining % size;
|
|
56
|
+
remaining = Math.floor(remaining / size);
|
|
57
|
+
}
|
|
58
|
+
if (remaining !== 0) {
|
|
59
|
+
throw new Error(`index ${index} out of range for sizes ${sizes.join(',')}`);
|
|
60
|
+
}
|
|
61
|
+
return profile;
|
|
62
|
+
}
|
|
63
|
+
/** Producto cartesiano de tamaños — número total de perfiles. */
|
|
64
|
+
function totalProfiles(sizes) {
|
|
65
|
+
let n = 1;
|
|
66
|
+
for (const s of sizes)
|
|
67
|
+
n *= s;
|
|
68
|
+
return n;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Construye un juego en forma normal validando dimensiones.
|
|
72
|
+
*/
|
|
73
|
+
function createGame(players, strategies, payoffs) {
|
|
74
|
+
if (players < 2)
|
|
75
|
+
throw new Error('a game needs at least 2 players');
|
|
76
|
+
if (strategies.length !== players) {
|
|
77
|
+
throw new Error(`strategies length ${strategies.length} != players ${players}`);
|
|
78
|
+
}
|
|
79
|
+
const total = totalProfiles(strategies);
|
|
80
|
+
if (payoffs.length !== players) {
|
|
81
|
+
throw new Error(`payoffs has ${payoffs.length} rows, expected ${players}`);
|
|
82
|
+
}
|
|
83
|
+
for (let i = 0; i < players; i++) {
|
|
84
|
+
const row = payoffs[i];
|
|
85
|
+
if (row.length !== total) {
|
|
86
|
+
throw new Error(`payoffs[${i}] has length ${row.length}, expected ${total}`);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
return { players, strategies: strategies.slice(), payoffs: payoffs.map((r) => r.slice()) };
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Construye un juego 2-player a partir de dos matrices NxM.
|
|
93
|
+
* `payoff1[i][j]` = utilidad del jugador 1 cuando juega i y el 2 juega j.
|
|
94
|
+
* `payoff2[i][j]` = utilidad del jugador 2.
|
|
95
|
+
*/
|
|
96
|
+
function createTwoPlayerGame(payoff1, payoff2) {
|
|
97
|
+
const n = payoff1.length;
|
|
98
|
+
if (n === 0)
|
|
99
|
+
throw new Error('payoff1 must have at least one row');
|
|
100
|
+
const first = payoff1[0];
|
|
101
|
+
const m = first.length;
|
|
102
|
+
if (m === 0)
|
|
103
|
+
throw new Error('payoff1 must have at least one column');
|
|
104
|
+
if (payoff2.length !== n) {
|
|
105
|
+
throw new Error(`payoff2 has ${payoff2.length} rows, expected ${n}`);
|
|
106
|
+
}
|
|
107
|
+
for (let i = 0; i < n; i++) {
|
|
108
|
+
const r1 = payoff1[i];
|
|
109
|
+
const r2 = payoff2[i];
|
|
110
|
+
if (r1.length !== m)
|
|
111
|
+
throw new Error(`payoff1[${i}] has length ${r1.length}, expected ${m}`);
|
|
112
|
+
if (r2.length !== m)
|
|
113
|
+
throw new Error(`payoff2[${i}] has length ${r2.length}, expected ${m}`);
|
|
114
|
+
}
|
|
115
|
+
const flat1 = new Array(n * m);
|
|
116
|
+
const flat2 = new Array(n * m);
|
|
117
|
+
for (let i = 0; i < n; i++) {
|
|
118
|
+
for (let j = 0; j < m; j++) {
|
|
119
|
+
flat1[i * m + j] = payoff1[i][j];
|
|
120
|
+
flat2[i * m + j] = payoff2[i][j];
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
return { players: 2, strategies: [n, m], payoffs: [flat1, flat2] };
|
|
124
|
+
}
|
|
125
|
+
/** Lectura ergonómica del pago: u_player(profile). */
|
|
126
|
+
function payoffOf(game, player, profile) {
|
|
127
|
+
const idx = profileToIndex(profile, game.strategies);
|
|
128
|
+
const row = game.payoffs[player];
|
|
129
|
+
if (!row)
|
|
130
|
+
throw new Error(`player ${player} out of range`);
|
|
131
|
+
const v = row[idx];
|
|
132
|
+
if (v === undefined)
|
|
133
|
+
throw new Error('payoff missing at index');
|
|
134
|
+
return v;
|
|
135
|
+
}
|
|
136
|
+
/** Suma de un vector — útil para chequeos de simplex. */
|
|
137
|
+
function sumOf(xs) {
|
|
138
|
+
let s = 0;
|
|
139
|
+
for (const x of xs)
|
|
140
|
+
s += x;
|
|
141
|
+
return s;
|
|
142
|
+
}
|
|
143
|
+
/** Pago esperado del jugador en un perfil mixto. */
|
|
144
|
+
function expectedPayoff(game, player, mixed) {
|
|
145
|
+
const dists = mixed.map((m) => m.distribution);
|
|
146
|
+
return expectedPayoffFromDistributions(game, player, dists);
|
|
147
|
+
}
|
|
148
|
+
function expectedPayoffFromDistributions(game, player, dists) {
|
|
149
|
+
const sizes = game.strategies;
|
|
150
|
+
const total = totalProfiles(sizes);
|
|
151
|
+
const row = game.payoffs[player];
|
|
152
|
+
if (!row)
|
|
153
|
+
throw new Error(`player ${player} out of range`);
|
|
154
|
+
let total2 = 0;
|
|
155
|
+
for (let idx = 0; idx < total; idx++) {
|
|
156
|
+
const profile = indexToProfile(idx, sizes);
|
|
157
|
+
let prob = 1;
|
|
158
|
+
for (let p = 0; p < profile.length; p++) {
|
|
159
|
+
const d = dists[p];
|
|
160
|
+
if (!d)
|
|
161
|
+
throw new Error(`missing distribution for player ${p}`);
|
|
162
|
+
const sp = profile[p];
|
|
163
|
+
prob *= d[sp];
|
|
164
|
+
}
|
|
165
|
+
if (prob === 0)
|
|
166
|
+
continue;
|
|
167
|
+
total2 += prob * row[idx];
|
|
168
|
+
}
|
|
169
|
+
return total2;
|
|
170
|
+
}
|
|
171
|
+
/** Distribución pura: masa 1 en `s`, 0 en el resto. */
|
|
172
|
+
function pureDistribution(s, size) {
|
|
173
|
+
const d = new Array(size).fill(0);
|
|
174
|
+
d[s] = 1;
|
|
175
|
+
return d;
|
|
176
|
+
}
|
|
177
|
+
/** Dos números reales aproximadamente iguales. */
|
|
178
|
+
function approxEqual(a, b, tol = 1e-9) {
|
|
179
|
+
return Math.abs(a - b) < tol;
|
|
180
|
+
}
|
|
181
|
+
/** Igualdad punto a punto bajo tolerancia. */
|
|
182
|
+
function vectorsApproxEqual(a, b, tol = 1e-9) {
|
|
183
|
+
if (a.length !== b.length)
|
|
184
|
+
return false;
|
|
185
|
+
for (let i = 0; i < a.length; i++) {
|
|
186
|
+
if (!approxEqual(a[i], b[i], tol))
|
|
187
|
+
return false;
|
|
188
|
+
}
|
|
189
|
+
return true;
|
|
190
|
+
}
|
|
191
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/game-theory/types.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -43,7 +43,9 @@ export { minifyProof, compactModusPonensChain, removeUnusedSubproofs, } from './
|
|
|
43
43
|
export type { GenericProofNode, MinifyOptions, MinifyResult, MinifyRule, } from './runtime/proof-minify';
|
|
44
44
|
export { exportToCoq, exportProofToCoq } from './exporters/coq';
|
|
45
45
|
export { computeExtensions, isAdmissible, isConflictFree, defends, dotExport, } from './argumentation';
|
|
46
|
-
export type { ArgumentationFramework
|
|
46
|
+
export type { ArgumentationFramework } from './argumentation';
|
|
47
|
+
import type { Semantics as ArgumentationSemanticsType } from './argumentation';
|
|
48
|
+
export type Semantics = ArgumentationSemanticsType;
|
|
47
49
|
export { proveFOL, unify, skolemize, toCNF } from './fol-prover';
|
|
48
50
|
export { canonicalize, hashProof, signProof, verifyProof, generateKeyPair } from './proof-exchange';
|
|
49
51
|
export type { ProofPackage } from './proof-exchange';
|
|
@@ -71,4 +73,10 @@ export { take as streamTake, repeat as streamRepeat, iterate as streamIterate, m
|
|
|
71
73
|
export type { Stream, BisimulationProof } from './coinduction';
|
|
72
74
|
export { isPattern as hoIsPattern, isHigherOrderPattern, unifyPattern as hoUnifyPattern, applyHOSubst, } from './higher-order-unify';
|
|
73
75
|
export type { HOTerm, HOSubst } from './higher-order-unify';
|
|
76
|
+
export * as Logic from './namespaces/logic';
|
|
77
|
+
export * as ProofSystems from './namespaces/proof-systems';
|
|
78
|
+
export * as TypeTheory from './namespaces/type-theory';
|
|
79
|
+
export * as Solvers from './namespaces/solvers';
|
|
80
|
+
export * as Reasoning from './namespaces/reasoning';
|
|
81
|
+
export * as Semantics from './namespaces/semantics';
|
|
74
82
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -13,14 +13,36 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
|
|
|
13
13
|
if (k2 === undefined) k2 = k;
|
|
14
14
|
o[k2] = m[k];
|
|
15
15
|
}));
|
|
16
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
17
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
18
|
+
}) : function(o, v) {
|
|
19
|
+
o["default"] = v;
|
|
20
|
+
});
|
|
16
21
|
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
17
22
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
18
23
|
};
|
|
24
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
25
|
+
var ownKeys = function(o) {
|
|
26
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
27
|
+
var ar = [];
|
|
28
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
29
|
+
return ar;
|
|
30
|
+
};
|
|
31
|
+
return ownKeys(o);
|
|
32
|
+
};
|
|
33
|
+
return function (mod) {
|
|
34
|
+
if (mod && mod.__esModule) return mod;
|
|
35
|
+
var result = {};
|
|
36
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
37
|
+
__setModuleDefault(result, mod);
|
|
38
|
+
return result;
|
|
39
|
+
};
|
|
40
|
+
})();
|
|
19
41
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
42
|
exports.TypeChecker = exports.typeCheck = exports.REPL = exports.ProtocolHandler = exports.Interpreter = exports.CycleError = exports.ClaimGraph = exports.registerInterpretation = exports.registerSource = exports.registerDefinition = exports.compileClaimsToTheory = exports.registerContext = exports.registerConfidence = exports.registerSupport = exports.registerClaim = exports.registerFormalization = exports.registerPassage = exports.parseAnchorPath = exports.createTextLayerState = exports.detectFallacies = exports.formulaToLaTeX = exports.formulaToUnicode = exports.PARALLEL_THRESHOLD = exports.workersAvailable = exports.dpllAsync = exports.dpll = exports.cdclAsync = exports.cdcl = exports.ParaconsistentBelnap = exports.ModalK = exports.ClassicalFirstOrder = exports.formulaToString = exports.ClassicalPropositional = exports.registry = exports.ProfileRegistry = exports.Parser = exports.KEYWORDS = exports.TokenType = exports.Lexer = exports.render = exports.completion = exports.gotoDefinition = exports.symbols = exports.hover = exports.listProfiles = exports.createInterpreter = exports.quickEval = exports.check = exports.parse = exports.evaluate = void 0;
|
|
21
43
|
exports.proofIsConsistent = exports.proofToTerm = exports.termToProof = exports.isNormal = exports.normalize = exports.reduceBeta = exports.isInferError = exports.inferType = exports.explainProof = exports.deriveWithCitations = exports.detectAvailableSMT = exports.SubprocessSMTBackend = exports.MockSMTBackend = exports.toSMTLIB = exports.generateLessonPath = exports.checkAnswer = exports.generateExercise = exports.SnapshotStore = exports.captureSnapshot = exports.generateKeyPair = exports.verifyProof = exports.signProof = exports.hashProof = exports.canonicalize = exports.toCNF = exports.skolemize = exports.unify = exports.proveFOL = exports.dotExport = exports.defends = exports.isConflictFree = exports.isAdmissible = exports.computeExtensions = exports.exportProofToCoq = exports.exportToCoq = exports.removeUnusedSubproofs = exports.compactModusPonensChain = exports.minifyProof = exports.minimizeCountermodel = exports.streamEval = exports.tryReuseProof = exports.TheoremCache = exports.hashFormula = exports.DerivationCache = exports.shutdownPool = exports.evalParallel = exports.solveCDCLv2 = exports.BaseASTVisitor = exports.visitProgram = exports.visit = void 0;
|
|
22
44
|
exports.lcY = exports.lcS = exports.lcK = exports.lcI = exports.lcIsWHNF = exports.lcIsNormalForm = exports.lcNormalize = exports.lcEtaStep = exports.lcBetaStep = exports.lcMakeFreshSupply = exports.lcAlphaRename = exports.lcSubstitute = exports.lcFreeVars = exports.lcTermToString = exports.lcAlphaEq = exports.lcApN = exports.lcAp = exports.lcLam = exports.lcVar = exports.mlttTermToString = exports.mlttOccursFree = exports.mlttFreeVars = exports.mlttSubstitute = exports.mlttAlphaBetaEq = exports.mlttAlphaEq = exports.mlttIsNormal = exports.mlttReduceStep = exports.mlttNormalize = exports.mlttIsInferError = exports.mlttCheckType = exports.mlttInferType = exports.mArrow = exports.mSucc = exports.mZero = exports.mNat = exports.mRefl = exports.mId = exports.mSnd = exports.mFst = exports.mPair = exports.mSigma = exports.mApp = exports.mLam = exports.mPi = exports.mUniverse = exports.mVar = exports.chEqType = exports.chTermToString = exports.chTypeToString = exports.ProofConversionError = void 0;
|
|
23
|
-
exports.applyHOSubst = exports.hoUnifyPattern = exports.isHigherOrderPattern = exports.hoIsPattern = exports.isBisimilar = exports.fibonacci = exports.naturals = exports.streamZipWith = exports.streamMap = exports.streamIterate = exports.streamRepeat = exports.streamTake = exports.ipcBottom = exports.ipcNot = exports.ipcImplies = exports.ipcOr = exports.ipcAnd = exports.ipcAtom = exports.play = exports.winningStrategy = exports.createPropositionalProver = exports.TableauProver = exports.TRANSLATIONS = exports.translateFormula = exports.findTranslationPath = exports.ctlToLTL = exports.ltlToCTL = exports.godelTranslation = exports.glivenkoTranslation = exports.lcChurchMul = exports.lcChurchAdd = exports.lcChurchSucc = exports.lcEvalChurch = exports.lcDecodeChurch = exports.lcChurchNumeral = exports.lcOmegaSmall = exports.lcOmega = void 0;
|
|
45
|
+
exports.Semantics = exports.Reasoning = exports.Solvers = exports.TypeTheory = exports.ProofSystems = exports.Logic = exports.applyHOSubst = exports.hoUnifyPattern = exports.isHigherOrderPattern = exports.hoIsPattern = exports.isBisimilar = exports.fibonacci = exports.naturals = exports.streamZipWith = exports.streamMap = exports.streamIterate = exports.streamRepeat = exports.streamTake = exports.ipcBottom = exports.ipcNot = exports.ipcImplies = exports.ipcOr = exports.ipcAnd = exports.ipcAtom = exports.play = exports.winningStrategy = exports.createPropositionalProver = exports.TableauProver = exports.TRANSLATIONS = exports.translateFormula = exports.findTranslationPath = exports.ctlToLTL = exports.ltlToCTL = exports.godelTranslation = exports.glivenkoTranslation = exports.lcChurchMul = exports.lcChurchAdd = exports.lcChurchSucc = exports.lcEvalChurch = exports.lcDecodeChurch = exports.lcChurchNumeral = exports.lcOmegaSmall = exports.lcOmega = void 0;
|
|
24
46
|
// API programática (uso recomendado para integración)
|
|
25
47
|
var api_1 = require("./api");
|
|
26
48
|
Object.defineProperty(exports, "evaluate", { enumerable: true, get: function () { return api_1.evaluate; } });
|
|
@@ -293,4 +315,17 @@ Object.defineProperty(exports, "hoIsPattern", { enumerable: true, get: function
|
|
|
293
315
|
Object.defineProperty(exports, "isHigherOrderPattern", { enumerable: true, get: function () { return higher_order_unify_1.isHigherOrderPattern; } });
|
|
294
316
|
Object.defineProperty(exports, "hoUnifyPattern", { enumerable: true, get: function () { return higher_order_unify_1.unifyPattern; } });
|
|
295
317
|
Object.defineProperty(exports, "applyHOSubst", { enumerable: true, get: function () { return higher_order_unify_1.applyHOSubst; } });
|
|
318
|
+
// ── Namespaces semánticos (aditivo, no breaking) ─────────────────────────────
|
|
319
|
+
// Re-organiza los símbolos públicos por dominio sin remover los flat exports.
|
|
320
|
+
// Uso: `import { Logic, TypeTheory } from '@stevenvo780/st-lang'`.
|
|
321
|
+
//
|
|
322
|
+
// Nota: el namespace `Semantics` (valor) convive con `type Semantics` ya
|
|
323
|
+
// exportado por argumentation usando `export * as` (re-export wildcard), que
|
|
324
|
+
// crea un namespace de valor compatible con la fusión de declaraciones de TS.
|
|
325
|
+
exports.Logic = __importStar(require("./namespaces/logic"));
|
|
326
|
+
exports.ProofSystems = __importStar(require("./namespaces/proof-systems"));
|
|
327
|
+
exports.TypeTheory = __importStar(require("./namespaces/type-theory"));
|
|
328
|
+
exports.Solvers = __importStar(require("./namespaces/solvers"));
|
|
329
|
+
exports.Reasoning = __importStar(require("./namespaces/reasoning"));
|
|
330
|
+
exports.Semantics = __importStar(require("./namespaces/semantics"));
|
|
296
331
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;GAEG
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|