博客
关于我
谷歌“公式制造机”登上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 客户端工具连接oracle 12504
查看>>
Oracle 客户端连接时报ORA-01019错误总结
查看>>
oracle 导出sql数据库表结构,使用sql developer 导出Oracle数据库中的表结构
查看>>
oracle 嵌套表 例子,Oracle之嵌套表(了解)
查看>>
Oracle 常用命令
查看>>
Oracle 常用的V$视图脚本(二)
查看>>
Oracle 并行原理与示例总结
查看>>
oracle 并集 时间_Oracle集合运算符 交集 并集 差集
查看>>
Oracle 序列sequence 开始于某个值(10)执行完nextval 发现查出的值比10还小的解释
查看>>
ORACLE 异常错误处理
查看>>
oracle 执行一条查询语句,把数据加载到页面或者前台发生的事情
查看>>
oracle 批量生成建同义词语句和付权语句
查看>>
oracle 抓包工具,shell 安装oracle和pfring(抓包) 及自动环境配置
查看>>
Oracle 拆分以逗号分隔的字符串为多行数据
查看>>
Oracle 排序中使用nulls first 或者nulls last 语法
查看>>
oracle 插入date日期类型的数据、插入从表中查出的数据,使用表中的默认数据
查看>>
Oracle 操作笔记
查看>>
oracle 数据库 安装 和优化
查看>>
oracle 数据库dg搭建规范1
查看>>
Oracle 数据库常用SQL语句(1)
查看>>