|
自动推理及其在数学教育中的应用
张景中 ,彭翕成
摘要:本文介绍了自动推理的研究历史以及研究意义,并分别从几何作图、符号运算、几何证明、动画设计和机器学习等5个方面论述了自动推理在数学教育中的应用。最后,对智能软件的开发提出了一些建议。
关键词:人工智能;自动推理;智能软件
一、自动推理是人工智能中最成功的部分
人工智能的研究内容,包括人类智能的机理和如何用机器模拟人的智能。人的智能包括感知与反应(人和动物都有的智能)以及运用符号计算与进行推理(人类独有的智能)。能看、能听,并对看到、听到的事情做出反应,这些智能不光是人有,很多动物都有。植物有没有呢?植物能不能感受到外界呢?从表面现象看植物好像有,比如说,暖了,它慢慢就要发芽;冷了,它就要赶快结籽。北方有句俗话说“立秋十八天,寸草结籽”。植物能感知世界,但它没有神经系统,不像动物反应那么快。动物的智能是很明显的,它能看见、听见周围的东西,有什么危险,有什么机遇,它都能够感觉到,它能区别开来。譬如说我们在电视上经常看到,一个猎豹看见羚羊,它知道是个机遇,就会去追;如果看到比它凶、比它大的动物,比方说狮子,它就会躲。这表现出来一种智能。但是有些智能是人才有的,会使用符号,会去推理;而动物对外界的反应都比较直接。比方说养猪,饲养员去喂它,它对饲养员就有好感,饲养员来了之后它就要叫,知道是来喂它的,但它不会推理出来:喂肥之后,将来是要杀我的,他不会无缘无故地喂我。猪没有这个逻辑思维能力,而且一代一代地也不会传递这个信息。
实际上,动物是没有思维能力的,而人可以用符号,用语言推理。动物的符号是生理符号,通过发出各种不同的声音,像鲸鱼有鲸鱼的声音,海豚有海豚的声音,以此来互相传递信息,但是现在还没有发现动物使用符号,利用文字。在这一点上,人是独特的,人可以进行很复杂的推理,这种智能是人独有的智能。
人通过推理,可以由此及彼,由表及里,去粗取精,去伪存真,所以自动推理在人工智能中是个非常重要的部分[1]。如果去掉了推理,就等同于一般动物的智能了。让机器怎么看,机器怎么听,这是不够的,很多复杂的事情,机器还是做不了。计算机到现在有六十多年的历史了,现在看来,自动推理是人工智能中最为成功的部分,用得也最多。人工智能的其他很多部分,虽然下了很大功夫研究,但进展比较慢。
二、自动推理研究的历史
追本溯源,中国古代有一部书,叫做《九章算术》,它就把当时人们关心的数学问题分成九类,比方说计算体积,计算面积等等共九类,并对这九类分别给出解答。它给出的解答是机械化的,无论是数学水平高的或是低的,只要学了这个方法,按照方法操作就一定能够找到问题的答案;而自动推理的基本思想就是希望对一类一类问题分别给出一个一个确定的,能够机械地执行的解决方案,所以吴文俊院士认为,“算法思想是中国古代数学中产生的。”西方的数学,基本上源于古希腊的几何,它提一些公理,提一些假设,根据这些假设,看能证明什么,一个一个定理的做。中国古代没有提出一般的假设,没有提出公理系统,只提出很多问题,针对每个问题,找出解答的方法。当然,这两种方法在学术上讲,对科学的发展各有长处。从一段时间看,中国没有公理系统,在科学的发展上是受到影响了的,吃了亏的。现在有了计算机,中国古代的算法思想,自动推理的思想,机械化的思想,又重新发扬光大起来。[2]
西方古代虽然没有算法思想,但到了十六、十七世纪,法国的笛卡尔提出一个设想: “一切问题化为数学问题,一切数学问题要化为方程组,化为代数方程组,代数方程组化为一个方程,这一个方程我们就能解决。”笛卡尔这个宏伟的计划实现起来是比较困难的。
比笛卡尔又晚了差不多一百多年,德国的莱布尼茨提出过用机器推理的思想。他很明确地提出要建立一门通用的语言,用符号来代表逻辑关系,这样的话,就能做一个机器进行推理。如果在人们争论不休的时候,让机器推一推,看看到底谁对,但是他的通用语言没有设计成功。
后来,建立一门通用的语言用符号来代表逻辑关系是布尔。他提出我们大家知道的布尔代数,又叫逻辑代数。计算机的逻辑运算就基于这个逻辑代数。再后来,希尔伯特提出用机械的方法证明一类的几何问题。哪一类的呢?就是只涉及到关联性几何命题。什么叫关联性?就是点在直线上,直线通过点,两个直线相交或平行这类性质。如果一个命题只涉及到这些性质的话,他就有办法能够手到擒来。大家不要以为只涉及到关联性质就很简单。其实涉及到关联性质的几何定理有时比较麻烦,例如有名的帕普斯定理,巴斯卡定理。这样的定理,很多人不知道怎么下手。希尔伯特这个设想就具有机械化的思想,但一直没人注意到这一点,直到吴文俊院士将其指出。到希尔伯特为止,都还是在设想,是纸上谈兵,因为自动推理是要用机器来推理的,但那时并没有机器。
上个世纪30年代,图灵提出了自动机和理想的计算机的模型以及怎样评判机器的智能的问题。40年代以后,计算机研制成功,大家对自动推理的研究就更加热闹了。1950年左右,塔斯基给出了初等数学的判定定理,认为是一切初等数学的问题都是可判定的。研究了几千年的初等数学,塔斯基一个方法就能彻底解决,让大家都很震惊。但该方法在计算机上实现起来需要的时间,远远超过了人们所能够接受的范围。
到了1960年,美籍华人王浩设计了程序,几分钟之内就证明了三百多条定理,但都是些比较简单的逻辑定理,其中没有几何定理。证明几何定理始终是比较难的问题,要证明几何定理,要做推理,就得有计算机推理的软件。推理涉及到符号运算,而一般的计算器都只能进行数值计算。为了用符号的演算来进行推理,就要研发能对符号进行演算的数学软件。符号运算软件在六十年代研发成功,是计算机科学领域里具有里程碑意义的进展。
我国数学机械化研究的成果,首先是1976年,吴文俊院士在《中国科学》上发表了证明几何定理的吴方法。本来几何定理的证明在国外是非常难的,研究了二十五年,进展很慢,被称为人工智能中最不成功的领域。有了吴法之后,最不成功的领域就变成了最成功的领域。吴先生的方法,它的特点是非常快,一个几何命题,常常是几秒钟就可以回答对还是不对。但为什么对?它不能给出一个简单的、人能够学习的、能够判断的、能够检验的、能够理解的过程。所以,人们就希望进一步有可读的证明,就是说,计算机能不能像人一样的写出个证明,人能够理解。这个问题,笔者与几位合作者在1992年把它突破了。我们提出了几何定理可读证明的生成方法,开始是面积方法,后来还可以推广到其它的几何不变量。[1]
另外,吴文俊院士的方法是证明等式型命题的。垂直、平行、线段相等、角度等于多少度,都叫等式型的几何命题,可以用代数的等式来表示。那么不等式的怎么办?不等式在实践上的用处,在现代科技中的运用是非常广的。1980年,吴文俊院士在上海的一个会上说,不等式的机器证明是一大难题。这一大难题后来被杨路教授突破了,他提出的方法,可以很快地证明不等式。有人用他的方法证明了一千多个不等式,其中五百多个都是其它杂志上、书上提出来没有解决的。
自动推理有关的历史性事件中还有两件是比较出名的。1976年,两个青年数学家哈肯和阿佩尔在计算机上算了1200个小时,解决了一个著名的数学难题四色定理,这成为计算机帮助人们推理,解决重大数学问题一个突出的例子。后来1997年,IBM的“深蓝”战胜了世界象棋冠军,更是哄动一时,产生巨大的广告效应。这充分说明计算机能够自动推理,在某些特定的领域可以超过人脑[3]。
三、自动推理在数学教育中的应用
自动推理有哪些应用呢,可以说,凡是用到计算机的地方,或多或少都要用到自动推理。但用得比较多的,还是在数学方面[4,5]。数学活动,大体上就是作图、计算、证明,而这三者通常是联系在一起的。以证明一个几何题为例,首先需要让计算机理解题意,最好是绘制一个计算机能够理解的图形;推理过程中需要用到符号运算,最后才能得到证明。
3.1自动推理与几何作图
计算机作图问题,从计算机研发成功开始,就一直受人关注。数学教育中最受欢迎的是动态几何作图。所谓的动态几何:在拖动图中某些点或某些线时,图形在变动中能保持当初作图时被赋予的几何属性不变。中点仍是中点,垂线仍是垂线,等等。通过几何图形的动态变化,可体现以前在纸上无法观测到的几何原理,使人能更直观地深刻理解图形中的几何规律,从而达到真正理解几何原理的目的。这种动态几何,是上个世纪八十年代发展起来的计算机几何作图。动态几何用到了自动推理,但不同的动态几何软件智能性是不同的。
我们选取5个最基本的需求:画点、线、圆、垂线段以及圆的切线,来对比传统教学、一般动态几何软件和智能动态几何软件的优劣性。
传统教学中,老师们用圆规画圆,用三角板(或直尺)画线(包括线段、直线、射线三种),还要用到粉笔;至于作垂线段和圆的切线,一般是拿三角板大致摆放,直接画就。这样的作图操作简单,缺陷是画好之后,图形静止,不易观察出图形之中隐藏的几何性质。
一般的动态几何软件都有3个最基本的工具,分别用来作点、线、圆,而且作线工具一般还分为线段、直线、射线三种分支工具。若要过直线外的一点向该直线作垂线段,操作上比较麻烦,以几何画板为例,需要16个动作,分别是(1)单击“直尺工具”图标;(2)作线段AB;(3)单击“点工具”图标;(4)作点C;(5)单击“选择工具”图标;(6)选择线段AB;(7)执行菜单命令“构造|垂线”,作出垂线;(8)单击“点工具”图标;(9)作垂线与AB的交点,即垂足;(10)单击“选择工具”图标;(11)选择垂线;(12)执行菜单命令“显示|隐藏垂线”;(13)单击“直尺工具”图标;(14)从点C到垂足连线段。其中每次执行菜单命令都是两个动作,总共16个动作。至于过圆外一点作该圆的切线则更麻烦,不单是操作上的麻烦,而且还需要一定的数学功底。与黑板作图相比,最大优点是,所作图形能够在拖动之后保持几何性质不变,有利于师生学习理解;缺点是操作较为麻烦;需要指出的是,也不是绝对的操作麻烦,譬如画圆,黑板作图需要转个圈,这一操作在黑板上不是很容易进行,而用动态几何软件作圆,则只要用作圆工具,一点击一拖动一松手就成,图形相当标准。
用智能动态几何软件作图,除了身兼二者之长之外,还会给人带来更多的方便。传统教学中,有个别老师图省事,把圆规的那根杆子当尺片用,这就不需要三角板了。这反映了人的一种心态,希望用较少的工具完成较多的任务。把作点、线、圆的工具合为一个工具,明显能够减少工具之间的切换,提高工作效率。至于作垂线段和切线,则可根据软件的智能提示轻松完成,因为一般动态几何软件作图,很多动作都是人与计算机在沟通,不是必须的动作,是可以省略的。选中智能画笔之后,进入智能作图状态,计算机就时时刻刻估计揣摩人的意愿,通过鼠标的位置和状态猜测人要作什么,及时显示出提示向人请示。在智能作图状态,单击左键作点,按下左键拖动画线,单击左键再按下左键拖动作圆;还可以作线段中点、平行线、垂直线、等长线段、圆的切线、圆和直线的交点、平行四边形、等腰三角形等20多种基本几何图形。讲课时直接画就是,不必使用菜单,显得更为流畅。这也就是智能化软件的优越性,工具的高度精简,功能反而增强。真正的智能化软件,其智能性是可以选择的,适当限制其智能化程度,让用户用最基础的工具进行搭建。也就是说,智能动态几何软件是涵盖了一般的动态几何软件的。
再举个作图有关的小例子:标注角。人去标注,会按照是不是直角来标注;一般的动态几何软件则分不清楚;而智能动态几何软件则会自动判断是不是直角,并给予不同标注(图1)。基本的作图,智能软件就体现出极大的优越性;复杂作图,可看作基本作图的多次组合,那么优越性就越发显著了。
图1
除了绘制平面几何图形之外,函数图象也是是中学课程中一个重要内容,而不少同学也感觉学起来有困难。智能化软件不但能够迅速快速作出函数图象,还可以对函数的一些基本要素进行分析;而且不单针对确定的函数,带有参数的函数也同样能够分析。以新课程改革增加的三次函数 为例,利用智能教育平台进行函数单调性和极值的分析,画好函数图象之后,设置一个变量尺用来控制参数a,图2显示当 的时候,函数为增函数,没有极值点;当改变参数a,当 的时候,情况变得比较复杂,如图3所示。
图2
图3
3.2自动推理与符号运算
推理的基础实际上是数学计算,因为逻辑推理可以化为布尔代数中的计算。在50年代,王浩就指出,用量的复杂来克服质的困难,用大量的计算来代替推理。所以说符号运算在自动推理中有着相当重要的作用。
我们举个例子来说明符号计算。用符号计算软件展开 ,它不但能很快展出来,而且能排好版。如果说是在课堂上代替老师作计算,就能给老师们带来很大的方便。算 ,可以慢慢算,用杨辉三角也是算得出来的。但有时候,慢慢算也为难,譬如说做因式分解。你不知道一个多项式能不能分解。比方说 ,这个因式到底能不能分解,人就很难判断。但是计算机马上就能分解出来,分解成 。像这样分解,就要动很多脑筋。对因式分解的研究,是自动推理中很难的一块,很多数学家,发表论文上千篇,才能作到现在这个程度。对计算机来说,手到擒来,马上就可以知道,而且还可以告诉你不能再分解了。
符号运算还包括计算不定积分、微分、排列组合、大数运算等诸多方面(图4),这给我们工作学习带来很大方便,现在理工科的很多项目离开符号运算软件,根本完成不了。
图4
3.3自动推理与几何证明
经过30多年的努力,我国科研工作者取得了举世瞩目的成绩。现在,用自动推理软件来证明几何问题,已经不仅仅简单地判断命题的对错,而且可以自动生成人能够看懂的证明过程[6,7]。
下面这个题目是《数学通报》2007年第7期《数学问题解答》栏目的问题1683。原证法用到三角形相似和托勒密定理,而托勒密定理是现在的初中生不太熟悉的,而智能软件自动生成的证明只用到了三角形相似,证明过程也比原证法简单。这说明计算机自动生成的证明完全可以和人工证明相媲美。
如图5,在 中,过A、B、C三点作圆交BD于E,过B、C、D三点作圆交CA延长线于F。求证: 。
图5
证明:
[0]: 点B, C, D, F共圆
[1]: ∠BFC = ∠BDC (0)
[2]: ABCD是平行四边形
[3]: AB∥CD (2)
[4]: ∠DBA = ∠BDC (3)
[5]: ∠DBA = ∠BFC (1 4)
[6]: 点A, B, C, E共圆
[7]: ∠AEB = ∠FCB (6)
[8]: △ABE∽△BFC (5 7)
[9]: AB/BE=BF/CF (8)
[10]: ∠DBF = ∠DCF (0)
[11]: ∠BAC = ∠DCF (3)
[12]: ∠BAC = ∠DBF (10 11)
[13]: ∠FCB = ∠FDB (0)
[14]: △ABC∽△BFD (12 13)
[15]: AB/AC=BF/BD (14)
[16]: AC/BD=BE/CF (9 15)
又比如,最近十来年流行开放性题型。如果要问一个三角形和它的三条高线以及垂心(图6),这个极为简单的几何图形中有多少组成比例的线段。如果让人去找,花费大量时间不说,而且未必能够找全,而采用自动推理,不到3秒钟,就能全部找出来。不单找出总共105组成比例的线段,而且找到了有42对相似三角形,相等的角有111组等信息。
图6
3.4自动推理与动画设计
现在网络越来越发达,远程教育发展很快。这中间也要用到自动推理,譬如图像的传输问题。图像文件较大,图像组成的动画文件则更大,占的带宽也大。用自动推理的方法来设计动画,可以让动画变得非常小。举个例子,如图7所示,这个动画是一个三角形的车轮在走,为了保证车子的平稳,路就要修成曲线的。路修成弯曲时,车子就可以走得平稳。这个动画如果用普通的工具来做就要占较大的空间。现在这个动画不但包括三角形车轮,如果拖动下面这个尺子上的滑钮,它可以变成四边形的车轮。变成四边形之后,下边整个曲线就变了。那么再拖动一下,它就变成五边形的了,还是这样子地滚。六边形、七边形、八边形,都可以让它变出来,变得越多,下面的地就越平。那么这个很复杂的动画,如果用普通做动画的方式来做,它只做一个车轮的滚动就要占比较大的空间。如果用自动推理的方法,用数学机械化的思想,在智能教育平台上构造这样一个动画,这个文件有多大呢?如果把这个动画做成网页,只有8K。它实际上传输的是一系列命令组成的模型,模型的内容包括这个动画的制作原理,生成曲线的方程以及控制方程的参数等,这些都是文本数据,所以文件非常小。接收方根据模型,自动生成动画即可。
图7
讲到网络传输,不能不提到网络上数学公式的书写问题。平时大家写公式,大多采用公式编辑器。使用公式编辑器,需要在键盘和鼠标之间作较多的切换,极大地影响输入速度,而且也不能直接在网络上使用。而采用智能软件,我们可以直接输入文本,然后自动转化为数学中所需要的形式。如图8所示,左边部分为输入内容,右边部分为显示内容,其中xl表示向量,yh表示圆弧,jf表示积分,这也是为了国人的使用方便。
图8
3.5 交互推理与机器学习
另外很多数学问题,光用计算机很难做出来,就要用交互推理。就是计算机做一做,人出点主意,人告诉它下一步怎么做,叫交互推理。举个例子,三角公式化简很麻烦,我们可以做交互推理。譬如要化简 , 要化成 ,那就要下命令, 让机器用关系 。那么对 如何办呢,让机器用降幂公式 ,然后再推理。推了一步,还有平方没有化简,那再推一次,接着再做恒等变形,约去分子分母的公因式,就差不多了。这个例子说明人在操纵着机器,人出主意,用机器做计算推理,这是交互推理的基本思想。
此外,还有机器学习的研究。机器在推理时,开始第一遍它不会,第二遍它自己就会做了。机器学习实现起来困难较大,虽有所进展,但不是很理想。
四、智能软件的开发需要长期努力
数学活动离不开推理,所以探讨数学机械化和自动推理,就很难区分。国家曾经有个973项目,叫做数学机械化与自动推理平台。就是说,研究的是数学机械化,最后落实要做个计算机自动推理平台[8]。目前,我们在数学机械化的应用上,比方说证明几何定理,计算机视觉,图像压缩等方面,有一些先进成果,但是在软件方面,在自动推理平台方面,我们国家还远远落后于世界的先进水平。目前最流行的数学机械化的软件,一个是美国的Mathematica,一个是加拿大的Maple。在这方面,尽管973代表了我们国家最高级的科研项目,但目前我们做出来的数学软件,在效率上还赶不上Mathematica和Maple。关键问题是,一要有坚实的经济实力作支撑,另外要持之以恒。靠一代人做几年,或者一个小组做几年是不行的,要一代一代的升级。自动推理也好,数学机械化也好,最基本的工具是数学软件。凡是数学家会做的事情,编成程序,人人都能用计算机做了。这样一来,用起来就非常方便。这样重要的东西,如果我们长期用国外的,对我们国家科技发展是很不利的。
本文提到的自动推理的一些功能,在我们研发的《Z+Z智能教育平台——超级画板》中已经基本实现了,有兴趣的读者可参看文[9,10],也可以在http://www.zplusz.org/下载试用。另外,国际上比较有影响力的符号运算软件还有Maxima和scilab,动态几何软件还有Geogebra,这些都是开源软件,不存在盗版问题,大家可以放心使用。
参考文献
[1]张景中.计算机怎样解几何题——谈谈自动推理[M].北京:清华大学出版社;广州:暨南大学出版社.2000
[2]吴文俊主编.王者之路 机器证明及其应用[M].长沙:湖南科学技术出版社,1999.
[3]李传中,张景中.智能知识平台的构想及其实现[J].世界科技研究与发展.2001.6
[4]王晓波,张景中,王鹏远.“Z+Z智能教育平台”与数学课程整合[J].信息技术教育.2006.6
[5]张景中.数学机械化与现代教育技术.信息技术教育[J].2003.01
[6] Shang-Ching. Chou, Xiao-shan Gao,Jing-zhong Zhang. Machine Proofs in Geometry: Automated Production of Readable Proofs for Geometry Theorems[M].World Scientific,1994
[7]孙熙椿.平面几何定理的机器证明[M].南宁:广西教育出版社,1999.
[8]张景中,李传中.自动推理与教育软件智能平台[J].广州大学学报(社会科学版).2001.2
[9]李传中,左传波.超级画板范例教程[M].北京:科学出版社,2004.
[10]张景中,彭翕成.动态几何教程[M].北京:科学出版社.2007.9
Automated reasoning and its applications in mathematics education
ZHANG Jingzhong1,2,3, PENG Xicheng1
(1.Engineering Center for Education Information Technology, Central China Normal University, Wuhan 430079;
2. Institute for Educational Software, Guangzhou University, Guangzhou 510006;
3. Chengdu Institute for Computer Applications, Chinese Academy of Sciences, Chengdu 610041;)
Abstract: The history and significance of automated reasoning research is expatiated in this paper, and the applications of automated reasoning in mathematics education are reviewed from several different aspects such as geometry drawing, symbols computing, geometric proof, animation designing and machine learning. Lastly, some advises are proposed for the development of intelligent software.
Keywords: Artificial intelligence; Automated reasoning; Intelligent software
作者简介:张景中(1936-),男,河南汝南人,中国科学院院士,教授,博导,主要从事计算机推理、数学和教育技术的研究。
基金项目:教育部科技创新工程重大项目培育资金项目资助(705038)。 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?注册
×
|