AI又对奥数下手,刷题刷出「模考」最好成绩

2022-02-15 13:38:07 浏览数 (1)

AI在最不擅长的数学方面,这次大幅刷新了最好成绩。

其中关键角色是OpenAI给Lean做的一个定理证明器

听起来有点耳熟?没错,就是去年参加国际数学奥林匹克竞赛(IMO)的“非人”选手Lean~

自从2013年微软研究院推出Lean以来,就一直尝试让AI在数学命题证明这方面取得进展。

而这次也确实得到了回报,OpenAI新做的这个定理证明器让它学会了解决一部分有难度的高中奥数题,包括美国的数学竞赛AMC12、AIME甚至是国际奥数竞赛中的题。

它首先会用语言模型将数学问题转化为另一种形式,列出隐藏的条件和已知信息,然后来推理求证。

虽然在刚开始效果并不明显,只能证明几个命题。但是在不断地搜索新的证明,经过八次迭代之后,在miniF2F测试中,成功地把分数从29.3%刷到了41.2%。

我们来看看这AI是怎么在奥数题上施展拳脚的。

AI如何做奥数题

先来看一个简单的问题热热身:

对于所有大于等于9的整数n,证明下图中的式子是一个完全平方数。

按照普通人的思考方式,可以先把式中分子提出一个n的阶乘,与分母约去。

然后分子化简为(n 1)2。这在形式上就是一个完全平方数,问题得证。

那AI是怎么做的呢?

它首先从文本中提取了条件和已知信息,例如n是整数、n大于等于9。

接下来,它把需要证明的问题换了一种说法,改为:

存在一个整数x,使x2和原式相等。

然后在解题的过程中,完全由模型直接生成了一个数学项“n 1”作为一个解:use n 1。接下来再去验证这个解是否成立。

如果没有语言模型,这是不可能做到的。

这么看来这模型能耐了,还有了一些数学想法,再拿一道国际奥赛的改编题来考考它:

设a、b、c是一个三角形的三条边,证明a2(b c-a) b2(c a-b) c2(a b-c)≤3abc。

同样地,AI还是先把条件都列出来。不过这次还列出了与三角形有关的隐藏条件:

a、b、c都是大于0的实数,并且有任意两边之和大于第三边。

然后模型还自创了一个方法,列出了(b-a)、(c-b)、(c-a),看起来好像不明所以。

但是如果把目标式子展开,你就会发现这三项正是舒尔不等式的几个对称项:

根据舒尔不等式,对所有非负实数x、y、z和正数t,都有:

当t=1时,这和奥数题中的形式完全一样,命题得证。

这么看来,AI这水平着实不简单啊,要构造出这种效果可绝非易事。

对奥数下手的难点

让AI来做奥数,确实比学生自己磕高数题难多了。

这第一个难点就是,模型不是从有限的选项中做选择。要是像下围棋那样,格点就那么多,选择空间有限,还好说一点。

但是做奥数,模型要从一组复杂的无限策略中做选择,期间还要生成一些数学中的术语,例如“存在”、“任意”等。

针对这个难点,OpenAI通过在搜索证明方法时从语言模型中采样来解决。

而第二点就是模型缺乏自我对抗和博弈。做奥数题和双人游戏不同,它不是和另一个玩家比赛,而是要证明一个数学命题。

这样一来在双人游戏上成功的算法就不能迁移过来。

为了解决这个问题,研究人员提供了一套不同难度“教辅资料”,用来辅助描述问题而不需要证明。

当这些辅助的描述难度越来越大时,模型就能解决越来越难的问题。

不过这两个难点,反倒可以成为它的优势。

一方面,因为这类数学命题的证明就是需要推理,需要无限的创造力和洞察力。

另一方面,这种辅助描述式的方法也有助于AI自动推理的发展。

说不好,将来深度学习模型还能征服奥数这座高山。

0 人点赞