math-skill 2.0.1 → 3.0.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/README.en-US.md +167 -175
- package/README.md +167 -175
- package/agents/math-critic.en.md +235 -0
- package/agents/math-critic.md +10 -8
- package/commands/ask.md +3 -12
- package/design-patterns/attention/equivariant-attention.en.md +72 -0
- package/design-patterns/attention/equivariant-attention.md +72 -0
- package/design-patterns/attention/geometry-aware-attention.en.md +73 -0
- package/design-patterns/attention/geometry-aware-attention.md +72 -0
- package/design-patterns/attention/information-bottleneck-attention.en.md +72 -0
- package/design-patterns/attention/information-bottleneck-attention.md +72 -0
- package/design-patterns/attention/projection-attention.en.md +68 -0
- package/design-patterns/attention/projection-attention.md +68 -0
- package/design-patterns/attention/spectral-attention.en.md +71 -0
- package/design-patterns/attention/spectral-attention.md +71 -0
- package/design-patterns/compression/leverage-score-selection.en.md +71 -0
- package/design-patterns/compression/leverage-score-selection.md +71 -0
- package/design-patterns/compression/low-rank-kv-cache.en.md +60 -0
- package/design-patterns/compression/low-rank-kv-cache.md +60 -0
- package/design-patterns/compression/spectral-token-pruning.en.md +61 -0
- package/design-patterns/compression/spectral-token-pruning.md +61 -0
- package/design-patterns/compression/topology-preserving-compression.en.md +64 -0
- package/design-patterns/compression/topology-preserving-compression.md +64 -0
- package/design-patterns/loss/constraint-penalty.en.md +67 -0
- package/design-patterns/loss/constraint-penalty.md +78 -0
- package/design-patterns/loss/contrastive-loss.en.md +59 -0
- package/design-patterns/loss/contrastive-loss.md +68 -0
- package/design-patterns/loss/information-bottleneck-loss.en.md +69 -0
- package/design-patterns/loss/information-bottleneck-loss.md +74 -0
- package/design-patterns/loss/orthogonality-loss.en.md +56 -0
- package/design-patterns/loss/orthogonality-loss.md +60 -0
- package/design-patterns/loss/variational-loss.en.md +61 -0
- package/design-patterns/loss/variational-loss.md +71 -0
- package/design-patterns/representation/equivariant-split.en.md +87 -0
- package/design-patterns/representation/equivariant-split.md +89 -0
- package/design-patterns/representation/manifold-representation.en.md +85 -0
- package/design-patterns/representation/manifold-representation.md +87 -0
- package/design-patterns/representation/shared-private-decomposition.en.md +84 -0
- package/design-patterns/representation/shared-private-decomposition.md +86 -0
- package/design-patterns/representation/subspace-alignment.en.md +90 -0
- package/design-patterns/representation/subspace-alignment.md +92 -0
- package/design-patterns/routing/graph-routing.en.md +79 -0
- package/design-patterns/routing/graph-routing.md +81 -0
- package/design-patterns/routing/moe-routing.en.md +85 -0
- package/design-patterns/routing/moe-routing.md +87 -0
- package/design-patterns/routing/optimal-transport-routing.en.md +68 -0
- package/design-patterns/routing/optimal-transport-routing.md +72 -0
- package/design-patterns/routing/spectral-clustering-routing.en.md +88 -0
- package/design-patterns/routing/spectral-clustering-routing.md +90 -0
- package/knowledge-base/differential-geometry/connection.en.md +51 -0
- package/knowledge-base/differential-geometry/connection.md +51 -0
- package/knowledge-base/differential-geometry/curvature.en.md +49 -0
- package/knowledge-base/differential-geometry/curvature.md +49 -0
- package/knowledge-base/differential-geometry/geodesic.en.md +51 -0
- package/knowledge-base/differential-geometry/geodesic.md +51 -0
- package/knowledge-base/differential-geometry/manifold.en.md +47 -0
- package/knowledge-base/differential-geometry/manifold.md +47 -0
- package/knowledge-base/differential-geometry/metric-tensor.en.md +50 -0
- package/knowledge-base/differential-geometry/metric-tensor.md +50 -0
- package/knowledge-base/differential-geometry/tangent-space.en.md +48 -0
- package/knowledge-base/differential-geometry/tangent-space.md +48 -0
- package/knowledge-base/information-geometry/fisher-metric.en.md +56 -0
- package/knowledge-base/information-geometry/fisher-metric.md +56 -0
- package/knowledge-base/information-geometry/natural-gradient.en.md +54 -0
- package/knowledge-base/information-geometry/natural-gradient.md +54 -0
- package/knowledge-base/lie-theory/equivariance.en.md +54 -0
- package/knowledge-base/lie-theory/equivariance.md +54 -0
- package/knowledge-base/lie-theory/group-action.en.md +51 -0
- package/knowledge-base/lie-theory/group-action.md +51 -0
- package/knowledge-base/lie-theory/lie-algebra.en.md +51 -0
- package/knowledge-base/lie-theory/lie-algebra.md +51 -0
- package/knowledge-base/lie-theory/lie-group.en.md +51 -0
- package/knowledge-base/lie-theory/lie-group.md +51 -0
- package/knowledge-base/lie-theory/representation.en.md +52 -0
- package/knowledge-base/lie-theory/representation.md +52 -0
- package/knowledge-base/matrix-analysis/low-rank-approximation.en.md +49 -0
- package/knowledge-base/matrix-analysis/low-rank-approximation.md +49 -0
- package/knowledge-base/matrix-analysis/matrix-perturbation.en.md +49 -0
- package/knowledge-base/matrix-analysis/matrix-perturbation.md +49 -0
- package/knowledge-base/matrix-analysis/positive-semidefinite.en.md +50 -0
- package/knowledge-base/matrix-analysis/positive-semidefinite.md +50 -0
- package/knowledge-base/matrix-analysis/projection.en.md +47 -0
- package/knowledge-base/matrix-analysis/projection.md +47 -0
- package/knowledge-base/matrix-analysis/spectral-decomposition.en.md +48 -0
- package/knowledge-base/matrix-analysis/spectral-decomposition.md +48 -0
- package/knowledge-base/optimization/constrained-optimization.en.md +53 -0
- package/knowledge-base/optimization/constrained-optimization.md +53 -0
- package/knowledge-base/optimization/convex-optimization.en.md +50 -0
- package/knowledge-base/optimization/convex-optimization.md +50 -0
- package/knowledge-base/optimization/lagrangian-duality.en.md +50 -0
- package/knowledge-base/optimization/lagrangian-duality.md +50 -0
- package/knowledge-base/optimization/proximal-method.en.md +52 -0
- package/knowledge-base/optimization/proximal-method.md +52 -0
- package/knowledge-base/optimization/riemannian-optimization.en.md +51 -0
- package/knowledge-base/optimization/riemannian-optimization.md +51 -0
- package/knowledge-base/overview.en.md +39 -0
- package/knowledge-base/overview.md +29 -218
- package/knowledge-base/probability/concentration-inequality.en.md +45 -0
- package/knowledge-base/probability/concentration-inequality.md +45 -0
- package/knowledge-base/probability/entropy.en.md +47 -0
- package/knowledge-base/probability/entropy.md +47 -0
- package/knowledge-base/probability/fisher-information.en.md +48 -0
- package/knowledge-base/probability/fisher-information.md +48 -0
- package/knowledge-base/probability/information-bottleneck.en.md +49 -0
- package/knowledge-base/probability/information-bottleneck.md +49 -0
- package/knowledge-base/probability/kl-divergence.en.md +51 -0
- package/knowledge-base/probability/kl-divergence.md +51 -0
- package/knowledge-base/topology/euler-characteristic.en.md +54 -0
- package/knowledge-base/topology/euler-characteristic.md +54 -0
- package/knowledge-base/topology/fundamental-group.en.md +52 -0
- package/knowledge-base/topology/fundamental-group.md +52 -0
- package/knowledge-base/topology/persistent-homology.en.md +54 -0
- package/knowledge-base/topology/persistent-homology.md +54 -0
- package/lenses/algorithmic.en.md +49 -0
- package/lenses/algorithmic.md +49 -0
- package/lenses/axiomatization.en.md +48 -0
- package/lenses/axiomatization.md +48 -0
- package/lenses/categorical.en.md +48 -0
- package/lenses/categorical.md +48 -0
- package/lenses/causal.en.md +49 -0
- package/lenses/causal.md +49 -0
- package/lenses/duality.en.md +47 -0
- package/lenses/duality.md +47 -0
- package/lenses/game.en.md +50 -0
- package/lenses/game.md +50 -0
- package/lenses/geometric.en.md +53 -0
- package/lenses/geometric.md +53 -0
- package/lenses/local-to-global.en.md +52 -0
- package/lenses/local-to-global.md +52 -0
- package/lenses/perturbation.en.md +51 -0
- package/lenses/perturbation.md +51 -0
- package/lenses/probabilistic.en.md +48 -0
- package/lenses/probabilistic.md +48 -0
- package/lenses/projection.en.md +50 -0
- package/lenses/projection.md +50 -0
- package/lenses/spectral.en.md +52 -0
- package/lenses/spectral.md +52 -0
- package/lenses/symmetry.en.md +49 -0
- package/lenses/symmetry.md +49 -0
- package/lenses/topological.en.md +48 -0
- package/lenses/topological.md +48 -0
- package/lenses/variational.en.md +48 -0
- package/lenses/variational.md +48 -0
- package/package.json +11 -3
- package/references/agentic-workflow.en.md +53 -0
- package/references/agentic-workflow.md +2 -0
- package/references/books/abstract-algebra.md +9 -5
- package/references/books/algebraic-geometry-rising-sea.md +9 -5
- package/references/books/differential-geometry.md +7 -3
- package/references/books/matrix-analysis.md +8 -4
- package/references/books/micro-lie-theory.md +7 -3
- package/references/books/optimization-ml.md +5 -1
- package/references/books/smooth-manifolds.md +7 -3
- package/references/gpu-friendly-math.en.md +65 -0
- package/references/gpu-friendly-math.md +4 -2
- package/references/inspiration.en.md +113 -0
- package/references/inspiration.md +4 -2
- package/skills/math-research-activator/SKILL.en.md +187 -0
- package/skills/math-research-activator/SKILL.md +162 -108
- package/skills/math-research-activator/original-texts.en.md +105 -0
- package/skills/math-research-activator/original-texts.md +11 -11
- package/commands/abstraction.md +0 -13
- package/commands/algorithmic-thinking.md +0 -13
- package/commands/axiomatization.md +0 -13
- package/commands/causal-inference.md +0 -13
- package/commands/discrete-combinatorial.md +0 -13
- package/commands/game-theory.md +0 -13
- package/commands/induction-analogy.md +0 -13
- package/commands/information-theory.md +0 -13
- package/commands/logic-deduction.md +0 -13
- package/commands/modeling.md +0 -13
- package/commands/optimization.md +0 -13
- package/commands/probability-statistics.md +0 -13
- package/commands/symmetry-invariance.md +0 -13
- package/commands/topological-thinking.md +0 -13
- package/commands/transformation.md +0 -13
- package/skills/abstraction/SKILL.md +0 -119
- package/skills/abstraction/original-texts.md +0 -175
- package/skills/algorithmic-thinking/SKILL.md +0 -136
- package/skills/algorithmic-thinking/original-texts.md +0 -256
- package/skills/axiomatization/SKILL.md +0 -149
- package/skills/axiomatization/original-texts.md +0 -160
- package/skills/causal-inference/SKILL.md +0 -149
- package/skills/causal-inference/original-texts.md +0 -167
- package/skills/discrete-combinatorial/SKILL.md +0 -129
- package/skills/discrete-combinatorial/original-texts.md +0 -185
- package/skills/game-theory/SKILL.md +0 -121
- package/skills/game-theory/original-texts.md +0 -131
- package/skills/induction-analogy/SKILL.md +0 -150
- package/skills/induction-analogy/original-texts.md +0 -154
- package/skills/information-theory/SKILL.md +0 -138
- package/skills/information-theory/original-texts.md +0 -127
- package/skills/logic-deduction/SKILL.md +0 -133
- package/skills/logic-deduction/original-texts.md +0 -173
- package/skills/modeling/SKILL.md +0 -137
- package/skills/modeling/original-texts.md +0 -165
- package/skills/optimization/SKILL.md +0 -133
- package/skills/optimization/original-texts.md +0 -168
- package/skills/probability-statistics/SKILL.md +0 -149
- package/skills/probability-statistics/original-texts.md +0 -193
- package/skills/symmetry-invariance/SKILL.md +0 -137
- package/skills/symmetry-invariance/original-texts.md +0 -221
- package/skills/topological-thinking/SKILL.md +0 -126
- package/skills/topological-thinking/original-texts.md +0 -164
- package/skills/transformation/SKILL.md +0 -122
- package/skills/transformation/original-texts.md +0 -216
|
@@ -1,173 +0,0 @@
|
|
|
1
|
-
# 数学出处与经典文献 / Mathematical Sources and Classic Texts
|
|
2
|
-
|
|
3
|
-
## 命题逻辑 / Propositional Logic
|
|
4
|
-
|
|
5
|
-
**基本推理规则**:
|
|
6
|
-
|
|
7
|
-
| 规则名 | 形式 | 有效性 |
|
|
8
|
-
|--------|------|--------|
|
|
9
|
-
| 假言推理 (Modus Ponens) | P → Q, P ⊢ Q | ✅ 有效 |
|
|
10
|
-
| 拒取式 (Modus Tollens) | P → Q, ¬Q ⊢ ¬P | ✅ 有效 |
|
|
11
|
-
| 假言三段论 | P → Q, Q → R ⊢ P → R | ✅ 有效 |
|
|
12
|
-
| 析取三段论 | P ∨ Q, ¬P ⊢ Q | ✅ 有效 |
|
|
13
|
-
| 肯定后件 | P → Q, Q ⊢ P | ❌ 无效 |
|
|
14
|
-
| 否定前件 | P → Q, ¬P ⊢ ¬Q | ❌ 无效 |
|
|
15
|
-
|
|
16
|
-
## Boole 布尔代数 / Boolean Algebra (1854)
|
|
17
|
-
|
|
18
|
-
George Boole 在 *An Investigation of the Laws of Thought* (1854) 中建立了命题逻辑的代数化系统,将逻辑推理转化为代数运算:
|
|
19
|
-
|
|
20
|
-
> "逻辑是代数的一种,其变量仅取 0 与 1 两个值。"
|
|
21
|
-
> "Logic is a species of algebra whose variables take only the values 0 and 1."
|
|
22
|
-
|
|
23
|
-
布尔代数的核心运算:∧ (乘法), ∨ (加法), ¬ (补), 满足分配律、德摩根律等代数性质。这是命题逻辑的代数对偶——同一推理结构既可用演绎方式也可用计算方式处理。布尔代数后来成为数字电路设计(Shannon, 1938)与计算机科学的数学基础。
|
|
24
|
-
|
|
25
|
-
## Frege《概念文字》/ Frege's *Begriffsschrift* (1879)
|
|
26
|
-
|
|
27
|
-
Frege 发明了第一个完整的一阶逻辑形式系统,引入量词 (∀, ∃) 和函数符号,展示了逻辑推理可以被完全机械化。这是现代数理逻辑的起点——从此,数学证明有了精确的语法规则,而非仅靠直觉叙述。
|
|
28
|
-
|
|
29
|
-
> "算术真理能否被纯逻辑地证明?概念文字为此提供了工具。"
|
|
30
|
-
> "Can arithmetical truths be proved purely logically? The Begriffsschrift provides the instrument for this."
|
|
31
|
-
|
|
32
|
-
## Peano 公理 / Peano Axioms (1889)
|
|
33
|
-
|
|
34
|
-
从逻辑出发构建自然数体系:
|
|
35
|
-
|
|
36
|
-
> 1. 0 是一个自然数。
|
|
37
|
-
> 2. 每个自然数 n 有一个后继 S(n)。
|
|
38
|
-
> 3. 0 不是任何自然数的后继。
|
|
39
|
-
> 4. 不同的自然数有不同的后继。
|
|
40
|
-
> 5. (归纳公理)如果一个性质对 0 成立,且对 n 成立则对 S(n) 也成立,则该性质对所有自然数成立。
|
|
41
|
-
|
|
42
|
-
这展示了如何从最少量的逻辑假设出发构建一个完整的数学体系。Peano 公理是一阶理论的典范——仅用一条二阶归纳公理(或一阶归纳公理模式)即可刻画自然数的全部结构。
|
|
43
|
-
|
|
44
|
-
## Russell 悖论 / Russell's Paradox (1901)
|
|
45
|
-
|
|
46
|
-
> "考虑所有不包含自身的集合所组成的集合 R:R 是否包含 R?"
|
|
47
|
-
> "Consider the set R of all sets that do not contain themselves: does R contain R?"
|
|
48
|
-
|
|
49
|
-
若 R ∈ R,则按定义 R ∉ R;若 R ∉ R,则按定义 R ∈ R。矛盾不可消解。此悖论直接摧毁了 Frege 的朴素集合论(Frege 在收到 Russell 信后承认其系统存在根本缺陷),引发了数学基础的"第三次危机"。由此催生了:
|
|
50
|
-
|
|
51
|
-
- **ZFC 集合论** (Zermelo-Fraenkel + Choice):通过限制集合构造规则(分离公理模式而非概括公理)排除悖论
|
|
52
|
-
- **类型论** (Russell, 1908):通过类型层级禁止自指
|
|
53
|
-
- **直觉主义** (Brouwer):拒绝将无穷集视为已完成对象
|
|
54
|
-
|
|
55
|
-
Russell 悖论深刻揭示:逻辑系统的一致性不能被默认,必须被证明或被构造性地保证。
|
|
56
|
-
|
|
57
|
-
## ZFC 集合论 / ZFC as Background Logic for Mathematics
|
|
58
|
-
|
|
59
|
-
Zermelo-Fraenkel 集合论加选择公理 (ZFC) 是当代数学的默认基础语言——几乎所有数学对象(数、函数、空间、群)都可以在 ZFC 中被定义为集合,所有数学定理都可以(原则上)被翻译为 ZFC 中的形式证明。
|
|
60
|
-
|
|
61
|
-
> "数学家在日常工作中不写 ZFC 证明,但他们默认所有证明都可以在 ZFC 中被形式化。"
|
|
62
|
-
> "Mathematicians do not write ZFC proofs in daily work, but they presuppose that all proofs can in principle be formalized in ZFC."
|
|
63
|
-
|
|
64
|
-
ZFC 的九条公理(外延、空集、配对、并集、幂集、无穷、分离、替换、选择)精心规避了 Russell 悖论,同时保留了足够强的构造能力。选择公理 (AC) 引发了持续争议——它允许非构造性选择(如 Zorn 引理、良序定理),在 Banach-Tarski 分球等反直觉结果中显露其代价。
|
|
65
|
-
|
|
66
|
-
## 一阶逻辑 vs 高阶逻辑 / First-Order vs Higher-Order Logic
|
|
67
|
-
|
|
68
|
-
**一阶逻辑 (FOL)**:量词仅作用于个体 (∀x, ∃x),不允许量化谓词或函数。这是数理逻辑的"标准语言",拥有完备性(Gödel 1929)和紧致性。
|
|
69
|
-
|
|
70
|
-
**高阶逻辑 (HOL)**:允许量化谓词 (∀P) 和函数 (∀f),表达力更强但代价沉重——高阶逻辑**不完备**(无递归可枚举的证明系统能覆盖所有有效推理),且不可紧致。
|
|
71
|
-
|
|
72
|
-
> "一阶逻辑是完备的但表达力受限;高阶逻辑表达力强但不可完备。这是一个根本性的权衡。"
|
|
73
|
-
> "First-order logic is complete but limited in expressive power; higher-order logic is expressive but incomplete. This is a fundamental trade-off."
|
|
74
|
-
|
|
75
|
-
Peano 算术 (PA) 是一阶理论,其归纳公理被编码为无穷多条一阶公理模式;真正的 Peano 公理(二阶归纳)唯一刻画 ℕ,但一阶 PA 有非标准模型。这直接联系到 Löwenheim-Skolem 定理。
|
|
76
|
-
|
|
77
|
-
## Gödel 完备性 vs 不完备性 / Completeness (1929) vs Incompleteness (1931)
|
|
78
|
-
|
|
79
|
-
**完备性定理 (1929)**:一阶逻辑的演绎系统是完备的——每个逻辑上有效的公式都可被形式证明。
|
|
80
|
-
|
|
81
|
-
> "一阶逻辑中,所有逻辑上有效的公式都可以从公理出发通过形式推理得到证明。"
|
|
82
|
-
> "In first-order logic, all logically valid formulas can be proved from the axioms through formal inference."
|
|
83
|
-
|
|
84
|
-
**不完备性定理 (1931)**:任何包含基本算术的一致形式系统都存在不可判定命题——既不可证也不可否证。
|
|
85
|
-
|
|
86
|
-
> "任何足够强的一致形式系统 T 中,存在语句 G 使得 T ⊬ G 且 T ⊬ ¬G。"
|
|
87
|
-
> "In any sufficiently strong consistent formal system T, there exists a sentence G such that T ⊬ G and T ⊬ ¬G."
|
|
88
|
-
|
|
89
|
-
关键区别:完备性定理说的是**逻辑系统本身**不遗漏有效推理;不完备性定理说的是**算术理论**无法穷尽所有真理。二者不矛盾——完备性保证"推理规则够用",不完备性揭示"算术真理超出任何固定公理集"。
|
|
90
|
-
|
|
91
|
-
## Löwenheim-Skolem 定理 / Löwenheim-Skolem Theorem (1920, 1922)
|
|
92
|
-
|
|
93
|
-
> "若一阶理论 T 有无穷模型,则 T 对每个无穷基数 κ ≥ ℵ₀ 都有模型。"
|
|
94
|
-
> "If a first-order theory T has an infinite model, then T has a model of every infinite cardinality κ ≥ ℵ₀."
|
|
95
|
-
|
|
96
|
-
下 Löwenheim-Skolem:T 必有可数模型。上 Löwenheim-Skolem:T 必有任意大基数模型。
|
|
97
|
-
|
|
98
|
-
震撼性推论:一阶理论**无法控制其模型的基数**。即使 ZFC 旨在描述一个不可数集合宇宙,ZFC 本身也有可数模型(Skolem 悖论)。这揭示了一阶逻辑的表达力根本性限制——一阶语句无法区分"可数"与"不可数"的内部视角与外部视角。
|
|
99
|
-
|
|
100
|
-
## Tarski 真理的语义理论 / Tarski's Semantic Theory of Truth (1933)
|
|
101
|
-
|
|
102
|
-
> "'雪是白的'为真,当且仅当雪是白的。"
|
|
103
|
-
> "'Snow is white' is true if and only if snow is white."
|
|
104
|
-
|
|
105
|
-
Tarski 给出了真理的形式定义 (T-schema),展示了逻辑中"真"与"可证"的区别——"真"是语义概念(取决于模型),"可证"是语法概念(取决于证明系统)。完备性定理连接二者(在 FOL 中 T ⊢ φ ⇔ T ⊨ φ),但在算术等强理论中二者永久分离(Gödel 不完备性)。
|
|
106
|
-
|
|
107
|
-
Tarski 还证明了:足够强的语言**不可能在自身内部一致地定义真理**——真理定义必须使用更强的元语言。这与 Russell 悖论和 Gödel 不完备性形成三重不可自指限制。
|
|
108
|
-
|
|
109
|
-
## Gentzen 自然演绎与相继演算 / Gentzen's Natural Deduction and Sequent Calculus (1935)
|
|
110
|
-
|
|
111
|
-
Gerhard Gentzen 在 *Investigations into Logical Deduction* 中发明了两种全新的证明结构:
|
|
112
|
-
|
|
113
|
-
**自然演绎 (Natural Deduction)**:推理规则围绕引入 (I) 和消除 (E) 每个逻辑联结词组织——∧I, ∧E, →I, →E, ∀I, ∀E 等。这捕捉了数学家的实际推理方式:假设一个前提,推导结论,然后取消假设(→I 即条件证明)。
|
|
114
|
-
|
|
115
|
-
**相继演算 (Sequent Calculus)**:证明的对象是相继式 Γ ⊢ Δ(左边假设,右边结论),规则在相继式之间操作。关键突破:**切割消除定理** (Hauptsatz)——任何使用切割规则 (Cut) 的证明都可以被转化为无切割证明。
|
|
116
|
-
|
|
117
|
-
> "主定理 (Hauptsatz) 表明:所有证明都可以被转化为无切割的证明,即消除一切'中间公式'。"
|
|
118
|
-
> "The Hauptsatz states that all proofs can be transformed into cut-free proofs, eliminating all 'intermediate formulas'."
|
|
119
|
-
|
|
120
|
-
切割消除是证明论的核心工具:它保证了子公式性质(无切割证明的每一步只涉及最终结论的子公式),使得一致性和可判定性证明成为可能。Gentzen 的工作将逻辑从"公理化"转向"结构化",开创了证明论 (Proof Theory) 这一学科。
|
|
121
|
-
|
|
122
|
-
## Turing 停机问题 / Turing's Halting Problem (1936)
|
|
123
|
-
|
|
124
|
-
Alan Turing 在 *On Computable Numbers* 中定义了 Turing 机,并证明了:
|
|
125
|
-
|
|
126
|
-
> "不存在通用算法能判定任意 Turing 机是否在任意输入上停机。"
|
|
127
|
-
> "There is no general algorithm that can decide whether an arbitrary Turing machine halts on an arbitrary input."
|
|
128
|
-
|
|
129
|
-
停机问题的不可判定性是计算与逻辑的根本性限制。它的逻辑本质与 Gödel 不完备性等价:若停机可判定,则算术不完备性可被绕过;若算术完备,则停机可被判定。二者互为对偶——同一堵墙的两个面。
|
|
130
|
-
|
|
131
|
-
停机问题的直接推论:一阶逻辑的**有效性判定问题** (Entscheidungsproblem) 也是不可判定的(Church, 1936; Turing, 1936)——不存在通用算法能判定任意一阶公式是否逻辑有效。逻辑演绎可以被执行,但不可被机械地全面预判。
|
|
132
|
-
|
|
133
|
-
## Robinson 消解与合一 / Resolution and Unification (1965)
|
|
134
|
-
|
|
135
|
-
J. A. Robinson 在 *A Machine-Oriented Logic Based on the Resolution Principle* 中引入了消解规则:
|
|
136
|
-
|
|
137
|
-
> "从 P ∨ Q 和 ¬P ∨ R 消解得到 Q ∨ R。"
|
|
138
|
-
> "Resolve P ∨ Q and ¬P ∨ R to obtain Q ∨ R."
|
|
139
|
-
|
|
140
|
-
消解将所有推理压缩为一条规则加上合一算法 (Unification)——自动寻找使两个项相等的代数替换 σ,使得 σ(P) = σ(P'),从而对互补文字执行消解。
|
|
141
|
-
|
|
142
|
-
消解-合一是自动定理证明 (Automated Theorem Proving) 和逻辑编程 (Logic Programming, e.g. Prolog) 的数学核心。它证明了:一阶逻辑的证明搜索可以被统一为一个算法过程,尽管效率问题(搜索空间爆炸)在实践中仍然严峻。
|
|
143
|
-
|
|
144
|
-
## Curry-Howard 对应 / Curry-Howard Correspondence (1969)
|
|
145
|
-
|
|
146
|
-
> "命题即类型,证明即程序。"
|
|
147
|
-
> "Propositions as types, proofs as programs."
|
|
148
|
-
|
|
149
|
-
Curry (1958) 首先观察到组合逻辑的类型与命题逻辑的公式之间的对应;Howard (1969) 将其扩展到构造性谓词逻辑:
|
|
150
|
-
|
|
151
|
-
| 逻辑概念 | 类型论/编程概念 |
|
|
152
|
-
|----------|----------------|
|
|
153
|
-
| 命题 A | 类型 A |
|
|
154
|
-
| A ∧ B | A × B (积类型) |
|
|
155
|
-
| A ∨ B | A + B (和类型) |
|
|
156
|
-
| A → B | A → B (函数类型) |
|
|
157
|
-
| ∀x. P(x) | Πx:A. P(x) (依赖函数类型) |
|
|
158
|
-
| ∃x. P(x) | Σx:A. P(x) (依赖对类型) |
|
|
159
|
-
| 构造性证明 | 可执行程序 |
|
|
160
|
-
|
|
161
|
-
Curry-Howard 对应揭示了逻辑演绎与计算之间的深层同构:一个构造性证明就是一个程序,程序的执行就是证明的归约 (proof normalization)。这是 Gentzen 切割消除在计算层面的对应——β-归约就是切割消除。
|
|
162
|
-
|
|
163
|
-
此对应成为类型论 (Martin-Löf, 1972)、依赖类型编程 (Coq, Agda) 和同伦类型论 (HoTT, 2013) 的理论基础,将"证明正确性"与"程序正确性"统一为同一问题。
|
|
164
|
-
|
|
165
|
-
## 常见逻辑谬误的形式化
|
|
166
|
-
|
|
167
|
-
| 谬误名 | 形式 | 反例 |
|
|
168
|
-
|--------|------|------|
|
|
169
|
-
| 肯定后件 | P → Q, Q ∴ P | "如果下雨则地湿,地湿,所以下雨了"(可能是洒水车) |
|
|
170
|
-
| 否定前件 | P → Q, ¬P ∴ ¬Q | "如果下雨则地湿,没下雨,所以地不湿"(可能是洒水车) |
|
|
171
|
-
| 循环论证 | P ∴ P | "这本书说的是真话,因为书上这么写的" |
|
|
172
|
-
| 稻草人 | 攻击 P' ≠ P | A: "应该增加教育预算" B: "你想把所有钱都给学校" |
|
|
173
|
-
| 滑坡 | A → B → ... → Z, ∴ ¬A | "允许这个→那个→灾难,所以不能允许" |
|
package/skills/modeling/SKILL.md
DELETED
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: modeling
|
|
3
|
-
description: |
|
|
4
|
-
触发:当需要将现实问题转化为数学问题(现实→数学→解释)、构建预测/解释模型、进行量纲分析与模型选择、为算法/算子/结构建立可计算模型时调用。
|
|
5
|
-
English: Trigger when translating real-world problems into mathematics (reality→math→interpretation), building predictive/explanatory models, performing dimensional analysis and model selection, or establishing computable models for algorithms/operators/structures.
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# 🌉 建模思想 / Modeling
|
|
9
|
-
|
|
10
|
-
> "将现实世界的问题转化为数学问题,通过求解数学问题来解释和预测现实。所有模型都是错的,但有些是有用的。"
|
|
11
|
-
> "Transforming real-world problems into mathematical problems, solving them mathematically to explain and predict reality. All models are wrong, but some are useful."
|
|
12
|
-
>
|
|
13
|
-
> —— 应用数学、数学建模 / Applied Mathematics, Mathematical Modeling
|
|
14
|
-
|
|
15
|
-
## 核心原则 / Core Principle
|
|
16
|
-
|
|
17
|
-
**模型是现实的简化表示,不是现实本身。一个好模型不是"真实"的模型,而是在其适用范围内能做出准确预测的模型。**
|
|
18
|
-
|
|
19
|
-
建模的黄金循环:① **现实问题→数学问题**(翻译);② **数学问题→数学解**(求解);③ **数学解→现实解释**(回译);④ **现实解释→实验验证**(检验)。
|
|
20
|
-
|
|
21
|
-
> **数学形式化 / Mathematical Formalization**
|
|
22
|
-
>
|
|
23
|
-
> **量纲分析与 Buckingham Pi 定理 / Dimensional Analysis & Buckingham Pi Theorem**:建方程前必须检查量纲一致性。若系统有 $n$ 个物理量涉及 $m$ 个基本量纲,可构造 $k=n-m$ 个无量纲 Pi 项,减少变量、简化方程;量纲不一致的方程物理上不可接受。
|
|
24
|
-
>
|
|
25
|
-
> **模型规格 / Model Specification**:设系统输出 $y$,输入 $x_1,\dots,x_p$,模型 $y=f(x_1,\dots,x_p;\theta)+\varepsilon$,其中 $f$ 为模型函数、$\theta$ 为参数向量、$\varepsilon$ 为误差项。模型选择即在候选集 $\{f_1,f_2,\dots\}$ 中选出偏差-方差最优的 $f$。
|
|
26
|
-
|
|
27
|
-
## GPU 友好性 / GPU-Friendliness(横切检查)
|
|
28
|
-
|
|
29
|
-
当模型用于**算法/算子/训练设计**时,模型选择与参数化直接决定 GPU 可行性——过 `../../references/gpu-friendly-math.md` 八维门:
|
|
30
|
-
|
|
31
|
-
- **线性/可 GEMM 化参数化**:$y=f(x;\theta)$ 中 $f$ 表为稠密张量代数或矩阵乘链(线性回归、MLP)→ 友好,吃满 Tensor Core。
|
|
32
|
-
- **低秩参数化**:$\theta$ 用低秩/块结构代替稠密 → 显存友好、可压缩(见 `../../references/books/matrix-analysis.md`)。
|
|
33
|
-
- **算子分裂/块并行**:PDE/ODE 模型按空间/时间分块、串行递推改并行扫描 → 可改造。
|
|
34
|
-
- **反模式**:模型需 $O(n^2)$ 稠密全局算子(朴素全注意力)、数据相关分支/标量循环、病态需 fp64、不可微需离散搜索 → "美但不可算",改选可张量化、可融合、数值稳定的等价参数化。
|
|
35
|
-
|
|
36
|
-
八维最低判定(正式术语):**张量化**看模型方程能否批量求值;**GEMM 可映射**看参数化是否可写成矩阵乘/卷积/低秩因子;**复杂度**看状态维、时间步、交互项增长;**显存与 KV-Cache**看隐状态、激活、缓存能否压缩;**低精度稳定**看方程是否病态或需 fp64;**并行与通信**看动态系统能否分块/scan;**稀疏结构**看耦合图是否结构化;**算子融合**看模型更新与 loss 是否可融合。
|
|
37
|
-
|
|
38
|
-
> 配合 `../../references/books/optimization-ml.md`(模型参数化与训练)、`matrix-analysis.md`(低秩、条件数、压缩)。
|
|
39
|
-
|
|
40
|
-
## 不适用场景 / When NOT to Use
|
|
41
|
-
|
|
42
|
-
- **问题无法量化或结构化**——建模需要可定义的变量和关系。
|
|
43
|
-
- **只需要定性理解**(如"这个现象大概怎么回事")——建模会过度精确。
|
|
44
|
-
- **缺乏基本数据**——没有数据的模型只是猜测。
|
|
45
|
-
|
|
46
|
-
## 何时使用 / When to Use
|
|
47
|
-
|
|
48
|
-
- 需要将现实问题用数学语言精确表述(现实→数学→解释)。
|
|
49
|
-
- 构建预测/解释模型以解读实验数据或预测新现象。
|
|
50
|
-
- 理解复杂系统中各因素的相互作用与敏感度。
|
|
51
|
-
- 进行量纲分析、模型选择(AIC/BIC/CV)与敏感度分析。
|
|
52
|
-
- **为算法/算子/结构建立可计算模型**,并评估其参数化的 GPU 可行性。
|
|
53
|
-
|
|
54
|
-
## 方法流程 / Method
|
|
55
|
-
|
|
56
|
-
### 第一步:明确现实问题
|
|
57
|
-
用最清晰的语言描述要解决的问题。关键:系统的**输入**是什么?**输出**是什么?**目标**是预测、解释还是优化?方向不清,建模即失准。
|
|
58
|
-
|
|
59
|
-
### 第二步:做出假设
|
|
60
|
-
建模中最关键也最危险的一步。所有模型都需简化,但必须**明确记录每一个假设**:哪些因素重要、哪些可忽略?系统是确定性还是随机?静态还是动态?变量关系线性还是非线性?每个假设都要有依据。
|
|
61
|
-
|
|
62
|
-
### 第三步:建立数学结构 / 量纲分析
|
|
63
|
-
根据假设选择数学框架:
|
|
64
|
-
|
|
65
|
-
| 现象特征 | 数学框架 |
|
|
66
|
-
|---|---|
|
|
67
|
-
| 变量间因果关系 | 微分/差分方程 ODE/PDE |
|
|
68
|
-
| 空间分布与传播 | 偏微分方程(热传导、波动、扩散)|
|
|
69
|
-
| 离散对象的关系 | 图论 |
|
|
70
|
-
| 不确定性下的决策 | 概率模型 |
|
|
71
|
-
| 资源分配 | 优化模型 |
|
|
72
|
-
| 群体行为与交互 | 统计模型 / 马尔可夫链 / Agent-based |
|
|
73
|
-
| 分类与预测 | 函数逼近 / 回归 |
|
|
74
|
-
|
|
75
|
-
建方程前必须检查量纲一致性,构造 $k=n-m$ 个无量纲 Pi 项以减少变量、简化方程;量纲不一致的方程物理上不可接受。
|
|
76
|
-
|
|
77
|
-
### 第四步:求解
|
|
78
|
-
用数学方法求解模型:**解析解**(精确但可能不存在)、**数值解**(近似但总能得到)、**定性分析**(不求具体解,只求性质如稳定性、单调性)。
|
|
79
|
-
|
|
80
|
-
### 第五步:解释与验证
|
|
81
|
-
将数学解翻译回现实语言;与已有数据或实验结果对比;做 sanity check 检验预测是否合理。与现实不符的结论无论多"漂亮"都无效。
|
|
82
|
-
|
|
83
|
-
### 第六步:敏感度分析与模型选择
|
|
84
|
-
**敏感度分析**:若某参数小扰动导致输出大幅变化,则为敏感参数,需重点关注其取值精度。
|
|
85
|
-
**偏差-方差权衡**:简单模型偏差高、方差低(欠拟合);复杂模型偏差低、方差高(过拟合);最优模型在两者间平衡。
|
|
86
|
-
**模型选择准则**:AIC $= -2\log L + 2k$(倾向略复杂,适合预测);BIC $= -2\log L + k\log n$(惩罚更重,倾向简约,适合解释);交叉验证(CV)评估样本外预测性能、防过拟合。
|
|
87
|
-
|
|
88
|
-
### 第七步:迭代与改进
|
|
89
|
-
模型几乎总需改进。若预测与事实不符:哪个假设出了问题?是否需要增加新因素?是否需要改变数学框架?与现实不符时不是放弃建模,而是修正模型。
|
|
90
|
-
|
|
91
|
-
### 第八步:适用范围声明
|
|
92
|
-
明确标注模型在什么条件下有效、什么条件下失效。所有模型都有边界——适用范围声明是模型的"保质期标签",是防止误用的关键。
|
|
93
|
-
|
|
94
|
-
## 常见错误 / Common Errors
|
|
95
|
-
|
|
96
|
-
| 错误 / Error | 批评 / Critique | 正确做法 / Correct Approach |
|
|
97
|
-
|---|---|---|
|
|
98
|
-
| 过度拟合 | 模型太复杂,拟合了噪声而非信号 | 用奥卡姆剃刀:如无必要勿增实体 |
|
|
99
|
-
| 欠拟合 | 模型太简单,无法捕捉关键现象 | 检查残差模式,识别缺失因素 |
|
|
100
|
-
| 忽略假设的合理性 | 假设只为数学方便而非现实合理 | 每个假设都要有现实依据 |
|
|
101
|
-
| 外推超出适用范围 | 模型只在某范围内有效,超出失效 | 明确标注模型适用范围 |
|
|
102
|
-
| 把相关性当因果性 | 模型中的关系≠因果关系 | 区分描述性模型与因果模型 |
|
|
103
|
-
| 忘记验证 | 建完模型直接用,不检验预测 | 必须用独立数据验证 |
|
|
104
|
-
| 忽略量纲一致性 | 方程两侧量纲不匹配,物理不可接受 | 建方程前做量纲分析,构造无量纲 Pi 项 |
|
|
105
|
-
| 仅用样本内拟合选模型 | 样本内误差低估真实预测误差 | 用 AIC/BIC 或交叉验证评估样本外性能 |
|
|
106
|
-
| 忽略敏感度分析 | 不知哪些参数驱动结果 | 对关键参数做敏感度分析,重点关注敏感参数 |
|
|
107
|
-
| 混淆验证与模型选择 | 验证检验给定模型;选择在候选间比较 | 先用 AIC/BIC/CV 选模型,再用独立数据验证 |
|
|
108
|
-
| 模型过度复杂→不可算 | 参数化无法张量化/GEMM 化,$O(n^2)$ 显存爆炸 | 选可张量化、可融合、数值稳定的等价参数化,过 GPU 八维门 |
|
|
109
|
-
|
|
110
|
-
## 操作规程 / Operating Procedure
|
|
111
|
-
|
|
112
|
-
当本 skill 被触发时,输出必须包含:
|
|
113
|
-
|
|
114
|
-
1. **问题定义**:用一句话描述要解决的现实问题
|
|
115
|
-
2. **假设清单**:列出 `[假设N]: [内容](合理性:高/中/低)`
|
|
116
|
-
3. **量纲检查**:对关键物理量做量纲分析,构造无量纲 Pi 项
|
|
117
|
-
4. **模型选择**:`[框架]: [选择] 因为 [理由]`
|
|
118
|
-
5. **变量定义**:定义所有变量、参数及其物理意义
|
|
119
|
-
6. **求解方案**:说明求解方法(解析/数值/定性)
|
|
120
|
-
7. **敏感度分析**:识别敏感参数,评估其对输出的影响
|
|
121
|
-
8. **模型选择准则**:若有候选模型,用 AIC/BIC/CV 比较并选出最优
|
|
122
|
-
9. **验证计划**:如何检验模型的有效性?
|
|
123
|
-
10. **适用范围**:明确标注模型在什么条件下有效、什么条件下失效
|
|
124
|
-
11. **[GPU 可行性]**(若用于算法/算子/结构):模型参数化是否可张量化/GEMM 化、复杂度与显存是否可接受,过 `../../references/gpu-friendly-math.md` 八维门,标注友好/可改造/不友好 + 改造建议。
|
|
125
|
-
|
|
126
|
-
**输出不得只给分析而无结论。**
|
|
127
|
-
|
|
128
|
-
## 与其他 skill 的关系 / Relations to Other Skills
|
|
129
|
-
|
|
130
|
-
- **公理化思想**:模型的假设类似于公理,需要检验相容性。
|
|
131
|
-
- **抽象化思想**:建模是抽象化的应用——从现实抽象为数学结构。
|
|
132
|
-
- **优化思想**:很多模型的目标函数就是优化问题。
|
|
133
|
-
- **概率与统计**:不确定性建模需要概率论工具。
|
|
134
|
-
- **变换思想**:模型的求解常常需要变换到更容易处理的表示。
|
|
135
|
-
- **算法思想**:计算模型(agent-based、元胞自动机)将算法作为建模框架。
|
|
136
|
-
- **因果推断思想**:因果模型(DAG、结构因果模型)明确区分因果与相关。
|
|
137
|
-
- **现代数学激活**:`../../references/books/smooth-manifolds.md`(流形约束/隐空间几何)、`../../references/books/differential-geometry.md`(度量/曲率)、`../../references/books/optimization-ml.md`(参数化与训练)。
|
|
@@ -1,165 +0,0 @@
|
|
|
1
|
-
# 数学出处与经典文献 / Mathematical Sources and Classic Texts
|
|
2
|
-
|
|
3
|
-
## Newton《自然哲学的数学原理》/ *Principia Mathematica* (1687)
|
|
4
|
-
|
|
5
|
-
> "自然界中的同一效应必须尽可能归因于同一原因。"
|
|
6
|
-
> "The same effects of nature must always be assigned to the same causes."
|
|
7
|
-
|
|
8
|
-
**数学建模史上最重要的成就**:Newton 将天体运动与地面运动统一在同一数学框架之下——万有引力定律 F = GMm/r² 与三大运动定律。这是人类首次用系统的数学模型精确描述物理世界,标志着科学建模的诞生。《原理》确立了"数学模型→物理预测→实验验证"的方法论范式,至今仍是所有建模工作的根基。
|
|
9
|
-
|
|
10
|
-
---
|
|
11
|
-
|
|
12
|
-
## Fourier 热传导方程 / Fourier's Heat Equation (1822)
|
|
13
|
-
|
|
14
|
-
> ∂u/∂t = κ ∇²u
|
|
15
|
-
|
|
16
|
-
Fourier 在《热的解析理论》中提出了热扩散的数学模型,并为此发明了 Fourier 分析——将任意函数分解为三角级数的方法。这一建模成就具有双重意义:既给出了热传导的精确数学描述,又催生了整个调和分析领域。Fourier 变换至今是信号处理、量子力学、图像压缩等领域的核心工具。
|
|
17
|
-
|
|
18
|
-
**建模启示**:解决一个建模问题所发明的新数学,往往比原模型本身更具深远影响。
|
|
19
|
-
|
|
20
|
-
---
|
|
21
|
-
|
|
22
|
-
## Maxwell 方程组 / Maxwell's Equations (1865)
|
|
23
|
-
|
|
24
|
-
> ∇·E = ρ/ε₀, ∇×E = -∂B/∂t
|
|
25
|
-
> ∇·B = 0, ∇×B = μ₀J + μ₀ε₀∂E/∂t
|
|
26
|
-
|
|
27
|
-
Maxwell 将电学与磁学统一为四个偏微分方程,从数学模型中预言了电磁波的存在——此预言后被 Hertz 实验证实。这是建模史上最辉煌的范例之一:仅凭数学推演便发现了全新的物理现象。方程还隐含光速 c = 1/√(μ₀ε₀),将光学纳入电磁理论,堪称统一建模的巅峰。
|
|
28
|
-
|
|
29
|
-
---
|
|
30
|
-
|
|
31
|
-
## Lotka-Volterra 捕食者-猎物模型 (1925-1926)
|
|
32
|
-
|
|
33
|
-
经典的种群动力学模型:
|
|
34
|
-
|
|
35
|
-
> dx/dt = αx - βxy (猎物增长 - 被捕食)
|
|
36
|
-
> dy/dt = δxy - γy (捕食者增长 - 自然死亡)
|
|
37
|
-
|
|
38
|
-
**建模启示**:通过两个简单的微分方程,成功解释了自然界中捕食者和猎物种群的周期性振荡现象。这是"好模型"的典范——简单但有用。
|
|
39
|
-
|
|
40
|
-
---
|
|
41
|
-
|
|
42
|
-
## Kermack-McKendrick SIR 传染病模型 (1927)
|
|
43
|
-
|
|
44
|
-
> dS/dt = -βSI (易感者减少)
|
|
45
|
-
> dI/dt = βSI - γI (感染者变化)
|
|
46
|
-
> dR/dt = γI (康复者增加)
|
|
47
|
-
|
|
48
|
-
**建模启示**:基本再生数 R₀ = β/γ 决定了疫情是否会爆发。Kermack 与 McKendrick 于 1927 年在论文 "A Contribution to the Mathematical Theory of Epidemics" 中首次提出此模型,奠定了传染病数学建模的理论基础。这个简单的模型在新冠疫情期间被广泛使用,证明了经典模型的持久价值。
|
|
49
|
-
|
|
50
|
-
---
|
|
51
|
-
|
|
52
|
-
## Buckingham Pi 定理 / Buckingham Pi Theorem (1914)
|
|
53
|
-
|
|
54
|
-
> 若物理关系涉及 n 个变量、含 k 个独立量纲,则该关系可简化为 (n-k) 个无量纲 Π 组之间的关系。
|
|
55
|
-
|
|
56
|
-
**建模启示**:Buckingham Pi 定理将量纲分析形式化,是建模中极其重要的简化工具。它告诉我们:任何物理模型都可化为无量纲形式,从而减少参数个数、揭示本质结构。例如,流体力学中雷诺数 Re = ρvL/μ 就是一个 Π 量,它统一了无数看似不同的流动情形。
|
|
57
|
-
|
|
58
|
-
---
|
|
59
|
-
|
|
60
|
-
## Turing 反应-扩散模型 / Turing's Reaction-Diffusion Model (1952)
|
|
61
|
-
|
|
62
|
-
> ∂u/∂t = D_u ∇²u + f(u,v)
|
|
63
|
-
> ∂v/∂t = D_v ∇²v + g(u,v)
|
|
64
|
-
|
|
65
|
-
Turing 在论文 "The Chemical Basis of Morphogenesis" 中证明:两种扩散速率不同的化学物质相互作用,可在均匀状态下产生稳定的空间图案——斑纹、条纹、螺旋等。这是形态发生的数学模型,解释了从豹斑到海贝壳花纹的广泛现象。
|
|
66
|
-
|
|
67
|
-
**建模启示**:数学模型可以解释"有序如何从无序中涌现"——无需预设图案,纯由方程动力学自发产生。Turing 由此开创了模式形成理论。
|
|
68
|
-
|
|
69
|
-
---
|
|
70
|
-
|
|
71
|
-
## Lorenz 系统 / Lorenz System (1963)
|
|
72
|
-
|
|
73
|
-
> dx/dt = σ(y - x)
|
|
74
|
-
> dy/dt = x(ρ - y) - xz
|
|
75
|
-
> dz/dt = xy - βz
|
|
76
|
-
|
|
77
|
-
Lorenz 在数值模拟大气对流模型时发现:初始条件的微小差异会导致完全不同的长期行为——即"蝴蝶效应"。三个看似简单的方程揭示了混沌的本质特征:确定性系统的长期不可预测性。
|
|
78
|
-
|
|
79
|
-
**建模启示**:混沌理论深刻改变了建模哲学——即便模型完全正确,长期预测也可能本质不可能。建模者必须区分"可预测的时间尺度"与"不可预测的混沌区域"。
|
|
80
|
-
|
|
81
|
-
---
|
|
82
|
-
|
|
83
|
-
## Kalman 滤波 / Kalman Filtering (1960)
|
|
84
|
-
|
|
85
|
-
> x̂_{k|k} = x̂_{k|k-1} + K_k(z_k - H x̂_{k|k-1})
|
|
86
|
-
|
|
87
|
-
Kalman 滤波是基于状态空间模型的递推估计方法:利用系统动力学模型预测状态,再用观测数据修正预测。它将"模型预测"与"数据更新"统一在一个数学框架中,是现代控制论与信号处理的基石。
|
|
88
|
-
|
|
89
|
-
**建模启示**:好的建模不仅是"建立模型",还包括"基于模型做最优估计"。Kalman 滤波展示了模型与数据如何协同工作——模型提供先验,数据提供校正,二者缺一不可。
|
|
90
|
-
|
|
91
|
-
---
|
|
92
|
-
|
|
93
|
-
## Pólya《怎样解题》/ *How to Solve It* (1945)
|
|
94
|
-
|
|
95
|
-
> "数学建模的第一步是理解问题,第二步是制定计划,第三步是执行计划,第四步是回顾。"
|
|
96
|
-
> "The first step in mathematical modeling is understanding the problem, the second is devising a plan, the third is carrying out the plan, and the fourth is looking back."
|
|
97
|
-
|
|
98
|
-
Pólya 的解题框架是建模思想的前身:将未知问题转化为已知的数学问题。
|
|
99
|
-
|
|
100
|
-
---
|
|
101
|
-
|
|
102
|
-
## Akaike 信息准则 / Akaike Information Criterion (1974)
|
|
103
|
-
|
|
104
|
-
> AIC = -2 ln(L_max) + 2k
|
|
105
|
-
|
|
106
|
-
Akaike 在 1974 年提出 AIC,首次将模型选择问题形式化:在拟合优度 (-2 ln L) 与模型复杂度 (2k) 之间寻求最优平衡。k 为参数个数,L_max 为最大似然。
|
|
107
|
-
|
|
108
|
-
**建模启示**:AIC 确立了"简约性原则"的数学标准——不是越复杂越好,也不是越简单越好,而是在信息损失最小化与参数简约化之间取最优折中。这是 Box 名言"有些是有用的"的量化版本。
|
|
109
|
-
|
|
110
|
-
---
|
|
111
|
-
|
|
112
|
-
## Black-Scholes 模型 / Black-Scholes Model (1973)
|
|
113
|
-
|
|
114
|
-
> C = S N(d₁) - K e^{-rT} N(d₂)
|
|
115
|
-
> d₁ = [ln(S/K) + (r + σ²/2)T] / (σ√T)
|
|
116
|
-
> d₂ = d₁ - σ√T
|
|
117
|
-
|
|
118
|
-
Black、Scholes 与 Merton 建立了期权定价的数学模型,基于几何布朗运动 dS = μS dt + σS dW 与无套利原理推导出偏微分方程 ∂C/∂t + ½σ²S²∂²C/∂S² + rS∂C/∂S - rC = 0。此模型是金融数学最著名的成果,Scholes 与 Merton 因此获 1997 年诺贝尔经济学奖。
|
|
119
|
-
|
|
120
|
-
**建模启示**:Black-Scholes 是 Box 名言的最佳注脚——模型假设(常数波动率、连续交易、无摩擦市场)在现实中都是"错的",但它提供了定价框架与风险管理的核心工具,因而是"有用的"。
|
|
121
|
-
|
|
122
|
-
---
|
|
123
|
-
|
|
124
|
-
## George Box 的名言 / George Box's Famous Quote
|
|
125
|
-
|
|
126
|
-
> "All models are wrong, but some are useful."
|
|
127
|
-
> "所有模型都是错的,但有些是有用的。"
|
|
128
|
-
|
|
129
|
-
**建模哲学**:
|
|
130
|
-
- 模型不是现实——它必然是对现实的简化
|
|
131
|
-
- 模型的价值不在于"真实性",而在于其预测和解释能力
|
|
132
|
-
- 好模型的标准:简洁(parsimonious)、可检验(testable)、有预测力(predictive)
|
|
133
|
-
|
|
134
|
-
---
|
|
135
|
-
|
|
136
|
-
## 建模的一般原则
|
|
137
|
-
|
|
138
|
-
1. **从简单开始**:先用最简单的模型,然后逐步增加复杂度(Lorenz 用三方程揭示混沌,Lotka-Volterra 用两方程解释振荡)
|
|
139
|
-
2. **明确假设**:每个假设都要记录和检验(Black-Scholes 的假设虽错但明确,因此仍可使用)
|
|
140
|
-
3. **验证与证伪**:用独立数据检验模型,而不仅是拟合数据(AIC 量化了过拟合的风险)
|
|
141
|
-
4. **适用范围**:每个模型都有其适用范围,超出范围即失效(Newton 力学在高速下失效,需 Einstein 修正)
|
|
142
|
-
5. **迭代改进**:建模是一个循环过程,不是一次性的(Pólya 的"回顾"步骤)
|
|
143
|
-
6. **量纲统一**:用 Buckingham Pi 定理将模型化为无量纲形式,减少参数、揭示结构
|
|
144
|
-
7. **模型与数据协同**:Kalman 滤波展示了模型预测与数据校正如何循环工作
|
|
145
|
-
|
|
146
|
-
---
|
|
147
|
-
|
|
148
|
-
## 建模史的时间线 / Timeline of Mathematical Modeling
|
|
149
|
-
|
|
150
|
-
| 年份 | 成就 | 领域 |
|
|
151
|
-
|------|------|------|
|
|
152
|
-
| 1687 | Newton *Principia* | 力学 / Mechanics |
|
|
153
|
-
| 1822 | Fourier 热方程 | 热传导 / Heat diffusion |
|
|
154
|
-
| 1865 | Maxwell 方程组 | 电磁学 / Electromagnetism |
|
|
155
|
-
| 1914 | Buckingham Pi 定理 | 量纲分析 / Dimensional analysis |
|
|
156
|
-
| 1925-26 | Lotka-Volterra | 种群动力学 / Population dynamics |
|
|
157
|
-
| 1927 | Kermack-McKendrick SIR | 传染病 / Epidemiology |
|
|
158
|
-
| 1945 | Pólya *How to Solve It* | 方法论 / Methodology |
|
|
159
|
-
| 1952 | Turing 反应-扩散 | 形态发生 / Morphogenesis |
|
|
160
|
-
| 1960 | Kalman 滤波 | 估计与控制 / Estimation & control |
|
|
161
|
-
| 1963 | Lorenz 系统 | 混沌 / Chaos theory |
|
|
162
|
-
| 1973 | Black-Scholes | 金融 / Finance |
|
|
163
|
-
| 1974 | Akaike AIC | 模型选择 / Model selection |
|
|
164
|
-
|
|
165
|
-
这条时间线揭示了一个核心规律:伟大的建模成就往往跨越学科边界。Newton 统一了天与地,Maxwell 统一了电与磁,Turing 统一了化学与生物学——数学模型的力量恰恰在于它的跨领域普适性。
|
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: optimization
|
|
3
|
-
description: |
|
|
4
|
-
触发:问题涉及资源分配、取舍、最大化/最小化目标、约束下决策;或需判断凸性、使用拉格朗日/KKT、分析对偶结构;或为算法/算子/训练设计选择优化方法时调用。
|
|
5
|
-
English: Trigger when a problem involves resource allocation, trade-offs, maximizing/minimizing objectives, decisions under constraints; or needs convexity analysis, Lagrangian/KKT methods, duality structure; or choosing optimization methods for algorithm/operator/training design.
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# ⚖️ 优化思想 / Optimization
|
|
9
|
-
|
|
10
|
-
> "在最一般的约束条件下,寻找目标函数的极值——凸性决定难度,KKT 给出必要条件,对偶揭示结构。"
|
|
11
|
-
> "Under the most general constraints, find extrema of the objective — convexity determines difficulty, KKT gives necessity, duality reveals structure."
|
|
12
|
-
>
|
|
13
|
-
> —— 最优化理论与运筹学 / Optimization Theory & Operations Research
|
|
14
|
-
|
|
15
|
-
## 核心原则 / Core Principle
|
|
16
|
-
|
|
17
|
-
**任何决策问题都可以表述为优化问题:在约束条件下最大化(或最小化)某个目标。优化的本质不是追求'最好',而是在约束下追求'可行中的最好'。**
|
|
18
|
-
|
|
19
|
-
**Any decision problem can be formulated as optimization: maximizing (or minimizing) an objective subject to constraints. The essence is not 'the best' in the abstract, but 'the best among the feasible'.**
|
|
20
|
-
|
|
21
|
-
优化的三个核心要素:**目标(Objective)**、**约束(Constraints)**、**可行域(Feasible set)**。
|
|
22
|
-
|
|
23
|
-
> **数学形式化 / Mathematical Formalization**
|
|
24
|
-
>
|
|
25
|
-
> 一般优化问题:$\min_{x \in \mathbb{R}^n} f(x) \quad \text{s.t.} \quad g_i(x) \leq 0,\; i=1,\dots,m; \quad h_j(x) = 0,\; j=1,\dots,p$
|
|
26
|
-
>
|
|
27
|
-
> 拉格朗日函数:$L(x, \lambda, \mu) = f(x) + \sum_i \lambda_i g_i(x) + \sum_j \mu_j h_j(x)$
|
|
28
|
-
>
|
|
29
|
-
> KKT 条件(核心必要条件,Slater 等正则性下):① 驻点 $\nabla_x L = 0$;② 原始可行 $g_i \le 0, h_j = 0$;③ 对偶可行 $\lambda_i \ge 0$;④ 互补松弛 $\lambda_i g_i = 0$。
|
|
30
|
-
>
|
|
31
|
-
> 凸性:若 $f$ 与各 $g_i$ 凸、各 $h_j$ 线性,则问题凸;此时 **KKT 充分**,局部最优 = 全局最优。
|
|
32
|
-
|
|
33
|
-
## GPU 友好性 / GPU-Friendliness(横切检查)
|
|
34
|
-
|
|
35
|
-
当优化用于**算法/算子/训练设计**时,求解方法本身必须过 `../../references/gpu-friendly-math.md` 八维门:
|
|
36
|
-
|
|
37
|
-
- **一阶法(SGD/Adam)**:GEMM 友好、可并行、低精度可行;注意优化器状态精度与分布式通信开销。
|
|
38
|
-
- **二阶/牛顿法**:Hessian 求逆 $O(n^3)$、显存爆炸——典型"美但不可算"→ 改造为 **K-FAC / 低秩 / 对角近似**(见 `../../references/books/optimization-ml.md`、`matrix-analysis.md`)。
|
|
39
|
-
- **约束投影**:投影是否有闭式、可张量化?迭代投影警惕串行依赖。
|
|
40
|
-
- **分布式**:计算/通信能否 overlap;是否需要梯度压缩。
|
|
41
|
-
|
|
42
|
-
八维最低判定(正式术语):**张量化**看目标/约束/梯度能否批量;**GEMM 可映射**看主计算是否为矩阵乘、HVP、K-FAC 小矩阵;**复杂度**明确一阶/二阶/组合求解阶;**显存与 KV-Cache**检查优化器状态、Hessian、激活保存;**低精度稳定**检查条件数、阻尼、loss scaling;**并行与通信**检查梯度同步和通信 overlap;**稀疏结构**看预条件/约束是否块结构化;**算子融合**看更新、裁剪、正则能否融合。
|
|
43
|
-
|
|
44
|
-
> 配合 `../../references/books/optimization-ml.md`(Chong/Lu/Żak)与 `../../references/books/matrix-analysis.md`。
|
|
45
|
-
|
|
46
|
-
## 不适用场景 / When NOT to Use
|
|
47
|
-
|
|
48
|
-
- **没有明确评价标准**(不知道什么是"好")——先定义目标再优化。
|
|
49
|
-
- **纯执行性任务**(如格式化代码)——没有优化空间。
|
|
50
|
-
- **用户已确定方案**——优化已完成。
|
|
51
|
-
- **本质是定性判断而非定量极值**——应先建模再优化。
|
|
52
|
-
|
|
53
|
-
## 何时使用 / When to Use
|
|
54
|
-
|
|
55
|
-
- 需要判断问题是否为凸优化以决定求解难度。
|
|
56
|
-
- 为算法/算子/训练设计选择优化方法,并评估其 GPU 可行性。
|
|
57
|
-
- 在约束条件下做可量化目标的理性决策。
|
|
58
|
-
- 实验设计、资源分配、超参/结构搜索的系统优化。
|
|
59
|
-
- 不确定当前策略是否最优,想系统分析(凸性、对偶、灵敏度)。
|
|
60
|
-
|
|
61
|
-
## 方法流程 / Method
|
|
62
|
-
|
|
63
|
-
### 第一步:定义目标 / Define the Objective
|
|
64
|
-
明确最大化/最小化什么。关键:单目标还是多目标?是否可量化(否则找代理变量)?静态还是动态?**$f$ 是否凸**(凸则局部=全局,非凸需警惕局部极值)?方向错了,走得越远越偏。
|
|
65
|
-
|
|
66
|
-
### 第二步:列出约束 / List the Constraints
|
|
67
|
-
区分**硬约束**(物理/预算/deadline)与**软约束**(偏好/质量下限);数学上分类:不等式 $g_i(x)\le 0$(定义可行域边界)、等式 $h_j(x)=0$(降维)、线性(可行域为凸多面体)vs 非线性(可能非凸)。
|
|
68
|
-
|
|
69
|
-
### 第三步:类型分类 / Classify the Problem Type
|
|
70
|
-
|
|
71
|
-
| 类型 | 目标 | 约束 | 核心性质 | 典型方法 |
|
|
72
|
-
|------|------|------|----------|----------|
|
|
73
|
-
| LP 线性规划 | 线性 | 线性不等式 | 最优在顶点 | 单纯形法 |
|
|
74
|
-
| QP 二次规划 | 二次 | 线性 | 正定 QP 为凸 | 内点法 |
|
|
75
|
-
| 凸优化 | 凸 | 凸不等式+线性等式 | 局部=全局 | 梯度下降、内点法 |
|
|
76
|
-
| 非凸优化 | 非凸 | 任意 | 多局部极值 | 全局搜索、模拟退火 |
|
|
77
|
-
| 组合优化 | 离散域 | 任意 | NP-hard 常见 | 分支定界、启发式 |
|
|
78
|
-
| 随机优化 | 含随机项 | 可能含随机 | 期望最优 vs 随机可行 | SAA、鲁棒优化 |
|
|
79
|
-
|
|
80
|
-
### 第四步:寻找最优解 / Find the Optimal Solution
|
|
81
|
-
- **LP/QP/凸**:利用凸性,梯度类或内点法保证收敛到全局最优。
|
|
82
|
-
- **非凸**:多起点、全局搜索,或松弛为凸近似。
|
|
83
|
-
- **组合**:精确解常 NP-hard——小规模分支定界,大规模启发式/近似。
|
|
84
|
-
- **随机**:样本平均近似(SAA)转化为确定性近似。
|
|
85
|
-
- **信息不足**:满意解(satisficing)即可。
|
|
86
|
-
|
|
87
|
-
### 第五步:灵敏度分析 / Sensitivity Analysis
|
|
88
|
-
拉格朗日乘子 $\lambda_i^*$ 为第 $i$ 个约束的**影子价格**——约束放松一单位,目标改善约 $\lambda_i^*$。互补松弛:$\lambda_i^*=0$ 为非活跃约束(对最优解无影响);$\lambda_i^*>0$ 为活跃约束(最优解恰在其边界)。关注:约束/目标微小变化时最优解如何变、哪些约束活跃。
|
|
89
|
-
|
|
90
|
-
### 第六步:多目标与帕累托 / Multi-Objective & Pareto
|
|
91
|
-
多目标 $f_1,\dots,f_k$ 通常无单一最优解。帕累托最优:不存在使所有目标同时改善的可行解。方法:**加权求和** $\min\sum w_i f_i$(不同权重对应前沿不同点);**$\epsilon$-约束法** $\min f_1$ s.t. $f_i\le\epsilon_i$(遍历 $\epsilon_i$ 覆盖前沿)。
|
|
92
|
-
|
|
93
|
-
### 第七步:监控约束变化 / Monitor Constraint Changes
|
|
94
|
-
最优解依赖约束——约束变了就要重新优化。活跃约束的变化影响最大(影子价格高),非活跃约束的微小变化通常不影响最优解。
|
|
95
|
-
|
|
96
|
-
## 常见错误 / Common Errors
|
|
97
|
-
|
|
98
|
-
| 错误 / Error | 批评 / Critique | 正确做法 / Correct Approach |
|
|
99
|
-
|-------------|----------------|---------------------------|
|
|
100
|
-
| 没有明确目标就优化 | 方向不确定 | 先精确定义目标 |
|
|
101
|
-
| 忽略隐式约束 | "最优解"实则不可行 | 穷尽检查所有约束 |
|
|
102
|
-
| 陷入局部最优 | 非凸贪心不保证全局 | 验证凸性;非凸用多起点/全局法 |
|
|
103
|
-
| 把最优当唯一 | 最优解可能不唯一 | 检查是否存在多个等价最优解 |
|
|
104
|
-
| 多目标用单目标方法 | 不同目标需 trade-off | 使用帕累托分析 |
|
|
105
|
-
| 未验证凸性 | 非凸误用凸方法 | 先判断凸性再选方法 |
|
|
106
|
-
| 忽略对偶理论 | 对偶问题可能更易解 | 构造对偶,利用强对偶性 |
|
|
107
|
-
| 混淆可行与最优 | 可行不一定最优 | 先验证可行性再验证最优性 |
|
|
108
|
-
| 忽略计算/GPU 复杂度 | 二阶法/组合优化可能不可算 | 评估复杂度,过 GPU 八维门,必要时近似 |
|
|
109
|
-
| 忘记重新优化 | 约束变了未更新 | 定期检查约束变化 |
|
|
110
|
-
|
|
111
|
-
## 操作规程 / Operating Procedure
|
|
112
|
-
|
|
113
|
-
当本 skill 被触发时,输出必须包含:
|
|
114
|
-
|
|
115
|
-
1. **目标函数**:`[目标]: [描述]` + `[凸性]: [凸/非凸/未知]`
|
|
116
|
-
2. **约束清单**:每条标 `[硬/软]` 与 `[不等式/等式]` `[线性/非线性]`
|
|
117
|
-
3. **类型分类**:`[类型]: [LP/QP/凸/非凸/组合/随机]`
|
|
118
|
-
4. **可行域分析**:哪些选项可行?活跃约束是哪些?
|
|
119
|
-
5. **最优解/满意解**:`[策略]: [梯度法/内点法/全局搜索/satisficing/帕累托]`
|
|
120
|
-
6. **灵敏度分析**:关键约束影子价格?变化 X% 结论如何变?
|
|
121
|
-
7. **GPU 可行性**(若用于算法/算子/训练):求解方法过八维门,标注友好/可改造/不友好 + 改造建议。
|
|
122
|
-
8. **行动建议**:明确写出"接下来我将……"
|
|
123
|
-
|
|
124
|
-
**输出不得只给分析而无结论。**
|
|
125
|
-
|
|
126
|
-
## 与其他 skill 的关系 / Relations to Other Skills
|
|
127
|
-
|
|
128
|
-
- **建模思想**:优化前需先建模——定义目标与约束本身就是建模。
|
|
129
|
-
- **概率与统计**:不确定性下的优化需随机/鲁棒优化。
|
|
130
|
-
- **变换思想**:变换到对偶问题常更易求解;对偶是优化中最深刻的变换。
|
|
131
|
-
- **博弈思想**:多决策者同时优化即博弈,纳什均衡为多人优化的稳定点。
|
|
132
|
-
- **算法思想**:求解依赖算法设计——凸优化用梯度法,组合优化需分支定界/启发式。
|
|
133
|
-
- **现代数学激活**:`../../references/books/optimization-ml.md`(GPU 友好优化器、二阶法可行性)、`matrix-analysis.md`(条件数、低秩、预条件)。
|