AI,你自个儿能搞出三角形面积的算法吗?
可以啊,但这里要区分两个层次:
“从数据中拟合出海伦公式”和“真正发现并证明海伦公式”不是一回事。
假设我们完全不给 AI 海伦公式,只给它大量这样的数据:
| 边 \(a\) | 边 \(b\) | 边 \(c\) | 面积 \(A\) |
| 3 | 4 | 5 | 6 |
| 5 | 5 | 6 | 12 |
| 4 | 7 | 8 | 13.997 |
| … | … | … | … |
AI 可以尝试寻找:
$$
A=f(a,b,c)
$$
它可能经历这样的过程
首先,它可能发现:
$$
A2
$$
比面积 \(A\) 本身更容易与三个边长建立简单关系。
然后经过大量数据分析,它可能发现某种结构:
$$
16A2
(a+b+c)(-a+b+c)(a-b+c)(a+b-c)
$$
再进一步把四个因子重新组织:
$$
16A2
(a+b+c)
(a+b-c)
(a-b+c)
(-a+b+c)
$$
令
$$
s=\frac{a+b+c}{2}
$$
就会得到:
$$
\boxed{A2=s(s-a)(s-b)(s-c)}
$$
于是:
genui{"learning_viz":{"type_id":"HERONS_FORMULA_AREA","content":"A=\sqrt{s(s-a)(s-b)(s-c)},\quad s=(a+b+c)/2","locale_override":"zh-CN"}}
$$
\boxed{A=\sqrt{s(s-a)(s-b)(s-c)}}
$$
这就是海伦公式。
但有一个非常重要的问题
如果只给 AI 大量数据,它甚至可能找到一个比海伦公式更复杂、但同样能预测这些数据的公式。
例如,它可能找到一个巨大的多项式:
$$
A=f(a,b,c)
$$
在训练数据上误差几乎为零。
这并不意味着它发现了真正的数学规律。
真正有意义的“发现”至少需要 AI 做三件事:
① 从数据中找到规律
而不是简单记住数据。
② 找到简洁、普适的表达式
能够预测没有见过的三角形。
③ 给出数学证明
证明这个公式对所有满足三角形不等式的三角形都成立。
这第三步非常关键。
更有意思的是:AI甚至不一定需要“面积数据”
如果我们给 AI 的不是:
而只是给它一些更基础的几何规则,例如:
- 两点之间的距离公式
- 平面几何的基本公理
- 三角形可以分割成直角三角形
- 毕达哥拉斯定理
然后让它自己寻找:
$$
A=f(a,b,c)
$$
那么它实际上可以从几何原理一步步推导出海伦公式。
例如选择边 \(c\) 作为底边:
$$
A=\frac12ch
$$
利用勾股关系,可以把高 \(h\) 用 \(a,b,c\) 表示,经过代数化简,最终得到海伦公式。
这已经不只是“机器学习拟合”,而更接近AI 进行数学发现。
所以,真正值得问的问题其实是:
如果我们不给 AI 任何现成的三角形面积公式,只给它基本数学公理和大量几何数据,它能不能自己发现、推导并证明海伦公式?
理论上可以。
而且这和“AI 能不能发现人类尚未发现的新数学定理”是同一个方向的问题,只是海伦公式已经有已知答案,所以我们可以拿它作为一个非常好的实验。
如果你愿意,我可以下一步直接设计一个“不给 AI 海伦公式,让 AI 自己发现海伦公式”的实验,包括给 AI 什么数据、它应该如何搜索公式,以及如何判断它是真的“发现”而不是“猜中”。