博客
关于我
谷歌“公式制造机”登上Nature,你也能用它“变成”数学天才 | 开源
阅读量:300 次
发布时间:2019-03-01

本文共 1413 字,大约阅读时间需要 4 分钟。

金磊 发自 凹非寺 量子位 报道 | QbitAI

AI能够生成数学公式,还是迄今尚未解决的那种问题?例如π和e这样的常数,虽然在科学领域司空见惯,但计算其高精度近似值往往令人头大。谷歌打造的拉马努金机(Ramanujan Machine)便帮上了大忙——能算近似值,还能在数学计算中快速找出精准规律。

并且就在今天,还登上了顶刊Nature。论文当中提到了两种算法。第一种是中间相遇法(The Meet-In-The-Middle)。这个算法的思路非常简单:给定一个常数c(如c=π),根据公式先计算出公式右边一个精度较低的值,并将其存入哈希表,然后通过枚举的方法来使公式左右两边的值相匹配,匹配上的值称为“hits”。随后增加hits的精度并重新比较,重复这个过程直到hits达到指定精度。这个最终的结果就提供了一个新的连分数。

有些hits值会产生误报,针对这一点,研究人员提出通过计算任意精度的有理函数来减少误报。在这个算法当中,由于公式右边的计算成本更高,所以将它的值以哈希表来存储,以空间换时间。这个哈希表也可以保存下来重新服务于公式左边的枚举,从而大大减少未来的枚举时间。

MITM-RF算法不需要任何关于基本常数的先验信息,不过有许多基本常数的结构是可以推断出来的,以此作为MITM-RF的先验信息可以有效降低空间复杂度和计算复杂度。Descent&Repel方法结合了机器学习中的梯度下降方法,通过优化问题描述为:我们可以把优化问题描述成这个样子:这里的最小值不是零维度点,而是(d-1)维的流形,其中d是给定的单一约束所预期的优化变量的数量。

研究者还观察到所有的最小值都是全局的,并且它们的误差为0,也就是说所有的梯度下降过程最后都会得到L=0的解。这个优化问题起始于一个大的点的集合,在示例当中,所有初始条件被放置在一条线上。对每一个点迭代执行梯度下降,然后强制所有的点通过库仑排斥彼此排斥。通过梯度下降步骤保证算法朝向整数格并趋向最小曲线,最后仅返回位于整数格上的解。

自动生成猜想,并不是计算机帮助推动数学发展的唯一领域。虽然许多数学家仍旧喜欢用纸、笔来工作,但是利用数学软件,确实可以操作复杂的代数表达式。计算机辅助计算在几个引人注目的结果的证明中发挥了关键作用。最近,一些数学家在人工智能方面取得了进展,人工智能不仅能进行重复的计算,还能自己做出证明。

另一个正在发展的领域是软件,它可以检查人类写的数学证明,并检查它是否正确。正如证明自动化的先驱Zeilberger所述:最终,人类将会被淘汰。随着人工智能产生的数学的复杂性增加,数学家们将会失去计算机正在做什么的轨迹,并且只能粗略地理解计算。

但尽管计算机能够提出数学表示,甚至证明它们是正确的,但如果没有人类的干预,目前还不清楚它们是否仅仅是从技术角度来区分这些数学表示。因此也有人认为,类似于拉马努金机这样的AI,只是数学工作者的一个辅助工具。

拉马努金是印度最著名的数学家之一。在20世纪早期,拉马努金对数学做出了重要贡献。他没受过正规的高等数学教育,沉迷数论,尤爱牵涉π、质数等数学常数的求和公式,以及整数分拆。拉马努金习惯以直觉导出公式,不喜作证明(事后往往证明他是对的)。他留下的那些没有证明的公式,引发了后来的大量研究。

最后,与拉马努金机相关的项目,在GitHub上已开源,戳下方链接可以去试试哦~ 参考链接:相关项目地址:

转载地址:http://liot.baihongyu.com/

你可能感兴趣的文章
Oracle 创建 DBLink 的方法
查看>>
oracle 创建job
查看>>
oracle 创建一个用户,只能访问指定的对象
查看>>
oracle 创建双向备份,Materialized View 物化视图实现 Oracle 表双向同步
查看>>
oracle 创建字段自增长——两种实现方式汇总
查看>>
Oracle 升级10.2.0.5.4 OPatch 报错Patch 12419392 Optional component(s) missing 解决方法
查看>>
oracle 去重
查看>>
oracle 可传输的表空间:rman
查看>>
Oracle 启动监听命令
查看>>
Oracle 启动阶段 OPEN
查看>>
Oracle 在Drop表时的Cascade Constraints
查看>>
Oracle 在Sqlplus 执行sql脚本文件。
查看>>
Oracle 如何处理CLOB字段
查看>>
oracle 学习
查看>>
oracle 定义双重循环例子
查看>>
ORACLE 客户端工具连接oracle 12504
查看>>
Oracle 客户端连接时报ORA-01019错误总结
查看>>
oracle 导出sql数据库表结构,使用sql developer 导出Oracle数据库中的表结构
查看>>
oracle 嵌套表 例子,Oracle之嵌套表(了解)
查看>>
Oracle 常用命令
查看>>