最近在看 三体 , 大概是 三体 的 微积分方程 不好解, 目前还没有 完全 解出来 的 方法,
另外, 即使加了一些条件限制 来 解, 也发现 三体 没有 周期性解 。
这些内容 见 百度百科 的 “三体” 词条 。
才 3 个 质点 就这样了, 那 根据 宇宙 某个时刻 的 状态 计算 未来 某一个时刻 的 状态 这要怎么办 ?
我想了一下, 要 解决 三体 这样的方程, 可以考虑 用 机器学习逼近求解 的 方法 。
我在 标题 里 提到了 “高阶方程” , 高阶方程 是个 什么 鬼 ?
高阶方程 是 我 发明 的 一个 词, 指 具有 以下 特点 的 方程:
1 多元, 比如 10 元 、 20 元 、 100 元 、 1000 元 …… , 1000 元 方程 就是有 1000 个 未知数, 用 程序员 的 话 说, 就是有 1000 个 参数,嘿嘿嘿
2 高次, 次 就是 比如 2 次 方程 、 3 次 方程 …… , 高次 嘛, 就是 很高 的 次 , 具体多高 算 高, 我也不知道 。
3 抽象, 极限 微积分 就是 抽象
所以, 机器学习逼近求解 这个 方法 就是用来 求解 这些 具有 强烈 的 非线性(高次) 和 强烈 的 抽象性(极限 微积分) 的 方程 。
所以, 高阶方程 就是 这些 具有 强烈 的 非线性(高次) 和 强烈 的 抽象性(极限 微积分) 的 方程 。
高阶方程 因为 强烈 的 非线性(高次) 和 强烈 的 抽象性(极限 微积分) , 所以 通常 用 代数 方法 求解 困难 。
那 什么 是 机器学习逼近求解 ?
很简单, 比如 有一个 方程 x + 2 = 100 , 计算机 先 尝试 给 x 一个 值 , 比如 10 ,
结果 10 + 2 等于 12 , 小于 等式右边 的 100 , 那 计算机 就 尝试 给 一个 比较大 的 值 , 比如 100,
结果 100 + 2 等于 102 , 大于 等式右边 的 100 , 但是 102 与 100 的 差距 比 12 和 100 的 差距 小 很多,
所以 x = 100 是 比较 接近 解 的 值,
所以 接下来 取一个 和 100 比较接近 的 值 作为 x 的 值, 比如 98,
结果 98 + 2 等于 100 , 呀 , 刚好 和 等式右边 的 100 相等, 于是 就 求得 x = 98 是 方程 的 解 。
当然 , 这样 求 得 的 解 多数情况 可能是 近似解, 但 对于 三体 这样 的 问题, 近似解 是 有意义的 。
我们 上面 提到 , 三体 是 没有 周期性解 的, 所以 微小 的 误差 经过 一段时间后可能会 放大 到 面目全非 。
但 即使 如此, 我们也需要 寻找 求解 三体方程 的 方法, 这是一个 物理学 的 要求 。
如果 能 求解 三体方程, 我们 至少 可以 对 三体 在 未来 不太长 的 一段时间内 的 运动状态(三个 质点 的 位置 速度) 作出 预测 。 这是一个 物理学 的 要求 。
如何 取 用于 尝试 的 “样本解” , 并 总结 之前 尝试 的 经验规律 来 取 更加接近 理论解 的 样本 ,
总之 就是 如何 快速 有效 高概率 的 尝试 和 逼近 理论解 , 这 就是 机器学习 的 事情 。
我想 机器学习 , 或者广义的说 , AI , 很适合来做这件事情 。
为了 实现 这个 机器学习逼近求解 算法, 我发起了 一个 开源项目, 称为 “AI Math” 。
机器学习逼近求解 算法 可以 推广为 计算 混沌系统 的 一种 方法 ,
也可能 成为 未来 科学计算 的 一种 重要手段 。
大规模并行计算 非常适合用于 机器学习逼近求解 。
n 台 工作主机 尝试样本求解 并将 尝试求解 的 结果 放入 队列 或者 数据库 , 1 台 控制主机 查看 尝试求解 结果 和 决策 。
这里说的 主机 是一个 逻辑上的 概念 , 它 可能是一个线程, 或者一个 CPU 核 , 或者一台主机 。
也许可以 把 非线性方程 近似 转换 为 n 个 线性方程, 这也是 一种 方法 。
我在 《从 三江方士 的 中华级数 想到 数学的界限》 https://www.cnblogs.com/KSongKing/p/11160645.html 文中提到 线性方法 解 非线性方程 的 想法 。