将编程和搜索作为学科融合的有效工具
2016-06-24李想
李想
【摘 要】本文主要介绍了史蒂芬·沃尔夫勒姆本人以及由他领导的Wolfram公司开发的Mathematica、Wolfam|Alpha知识搜索引擎和Wolfram Language编程语言。旨在通过介绍优秀的软件产品,能帮助老师更好地激发学生探索知识的兴趣,提高学习能力并促进新课程的研发。
【关键词】Mathematica;知识搜索引擎;Wolfram Language;Wolfram|Alpha
【中图分类号】G434 【文献标识码】A
【论文编号】1671-7384(2016)06-0049-04、
关于史蒂芬·沃尔夫勒姆
史蒂芬·沃尔夫勒姆(Stephen Wolfram),是至今为止最年轻的麦克阿瑟“天才人物奖”得主。因为在科研中利用电脑计算来解释各种复杂现象时被各种科学计算软件出现的诸多问题困扰,于是他创立了Wolfram Research公司,并下决心自己动手创造一种最好、最有效的工具,而不必用各种各样的软件去完成不同的研究。
1988年6月23日,他领导的团队发布Mathematica第一版,引起轰动。《纽约时代报》写道:“这个软件的重要性不可忽视”;《商业周刊》将Mathematica评比为当年十大最重要产品之一。在科技界,Mathematica被形容为智能和实践的革命。
史蒂芬·沃尔夫勒姆认为,复杂的世界可能有着简单的模型,解决现实世界的问题需要建模与计算解决问题的办法。人需要从机械的具体计算中解放出来,把人脑用在对问题的建模与对世界的作用上。为此,史蒂芬·沃尔夫勒姆和他的开发团队对Mathematica每一个版本不仅仅是一般的软件更新,而是在新方向上对计算模式的一次次重大发展,并且引入了重要的新思路。他们还将Wolfram|Alpha知识搜索引擎和Wolfram Language与Mathematica深度完美地融合为一体。
Mathematica——表现卓著的科学计算软件
最初,Mathematica的影响主要限于数学、物理、工程领域。但通过软件本身的不断拓展,在许多其他重要领域得到了广泛应用,许多世界顶尖的科学家都是它的忠实粉丝。在工程中,Mathematica已经成为开发和制造的标准。世界上许多重要的新产品在它们的设计某一阶段或其他阶段都依靠了Mathematica的帮助。
在商业上,Mathematica在复杂的金融模型中扮演了重要的角色,广泛地应用于规划和分析;通过与微软合作,Wolfram|Alpha中各类数据将出现在Bing搜索结果中;与苹果公司联手,作为其语音助手Siri背后数据搜索支持。说起来 ,“Mathematica” 软件名字就是由苹果创办人乔布斯向史蒂芬·沃尔夫勒姆提议的,并且沿用至今。
Mathematica 凭借它的算法功能以及简练的语法设计,往往利用很少的代码就能构建出一个动态交互的模型,如图1所示,用户通过拖动滑块改变参数,探索海螺软体外壳随之而来的三维改变。这样的易用性是目前其他软件无法实现的。
同时为了让全世界的用户更好地交流和分享各自领域的成果,Wolfram公司还推出Wolfram演示项目(Wolfram Demonstrations Project,链接:http://demonstrations.wolfram.com)的网站,它包含许多小型开源Mathematica程序代码,这些代码从视觉上以互动方式为用户介绍来自各个领域的创意和思想。在创立初期,它包含1300多个演示项目,至今已经拥有超过10000个演示项目。该网站在2008年获得美国专门为各年龄层的孩童选出的最优质产品的“父母最佳选择奖”。
演示项目网站按照各个不同的主题排列,涵盖主题包括科学、数学、计算机科学、艺术、生物和金融。涉及的内容有浅显简单的,也有高阶深奥的,从小学数学到更高深的主题,如量子力学和生物遗传模型等等。任何用户都可以下载一个Mathematica免费版本,查看并运行所有的模型。如图2所示的模型演示了在曲面任何一点的切平面三维展示,帮助学生理解曲面、切平面、法向量等数学概念。
Wolfram|Alpha——极客必备的工具
Wolfram|Alpha实际上是一个智能的知识搜索引擎,其中集成了Mathematica的功能,可以看成是一个免费在线的Mathematica。用户可以在一个文本框中提交查询命令和计算要求。Wolfram|Alpha 根据内置的由精选结构数据组成的知识库计算并提供答案,并返回相关的可视化图形。史蒂芬·沃尔夫勒姆在 2009 年宣布了 Wolfram|Alpha 的计划,它的第一版是用约五百万行的 Mathematica 代码编写的,并且在10000个中央处理器上并行计算。在接受 VentureBeat 的采访时,史蒂芬·沃尔夫勒姆说:“目前Google 的知识图谱与 Wolfram|Alpha 相比,它所覆盖的还是小的,知识图谱只是维基百科以及其他的数据。”
Google 的搜索引擎希望能够了解不同对象以及事物的关系,然后给出答案。而史蒂芬·沃尔夫勒姆的企图是,让电脑能够直接回答我们的问题,比如“现在国际太空站的位置在哪”这样的问题。因此计算机必须理解国际太空站是什么,还要理解太空是什么、速度如何等等。这些已经上升到人工智能的层面了。
Wolfram|Alpha还可以根据用户输入的数学题目直接给出答案,甚至给出中间求解的步骤,如图4所示。它从初中数学的因式分解到高中的解多元高次方程组,再到大学高数的各种微积分方程、变换,可以说是无所不能。
任何能够在Mathematica下绘制的图形,用户利用简单的英文在Wolfram|Alpha下都可以轻松完成。如图5所绘制的多元表达式结果中,还可以对图形进行旋转、缩放、平移等操作。
Wolfram Language —— 一种颠覆性的编程语言
史蒂芬·沃尔夫勒姆没有因为自己的产品 Mathematica、Wolfram|Alpha而感到自满,而是继续奋勇向前,于2013年推出了一种全新颠覆型的编程语言“Wolfram 语言”。它与Wolfram|Alpha深度融合为一个整体,以知识为中心,借助统一的方式来描述图像、数学公式、时间序列、地理位置、程序开发等等。
Wolfram语言高度灵活,计算与知识直接没有任何鸿沟,任何人都可以利用这个工具高效创造好玩的新事物。它可以免费运行在树莓派(Raspberry Pi)上,Intel Edison 也集成了该语言,并且也将集成在Unity (游戏引擎)中。当然,作为Wolfram的旗舰产品,Mathematica是该语言最佳的选择运行平台。
Wolfram语言已经被广泛地用于教学当中,为各个阶段的课堂引入了计算性思维学习方式,通过Wolfram语言强大的交互性功能,以及有趣的课堂项目,提高了学生们对编程以及科学研究的兴趣(如图6)。
下面我们来看一节应用Wolfram语言的课堂示例。
老师首先抛出一个需要探索解决的问题:“游遍亚洲每个国家的首都,但要使我们整个旅行的距离最短!”
解决该问题需要分几个步骤来完成。第一步需要获得亚洲国家或地区的首都城市信息(如图7)。当然,利用Wolfram语言也可以很轻松得到其他地理区域的信息, 如北欧(Northern Europe)或加勒比海地区(the Caribbean)等。
下一步就要将那些暂时没有相应信息的城市清理干净,方便下一步的计算(如图8)。
接下来,根据城市,查询到地理上相应的经纬度坐标(如图9)。
然后根据地理坐标,计算出穿过这些点(城市)的最短距离,拿到旅行相应的顺序(如图10)。
最后在地图上将旅行顺序用红色线条绘制出来(如图11)。
不但如此,更有趣的是,学生还可以将自己编写好的程序部署到云端,软件会返回一个网页链接,将链接通过邮箱、QQ、微信等方式发给朋友,其他人通过这个链接就能调用相应的功能。比如,在手机上打开相应的网页,输入一系列任意的城市,点击提交按钮,就能计算当前自己计划中经过的一系列城市,找出旅行的最短距离。
相应的类似探索小项目还有很多,比如“按照恐龙的体重进行排序” “演奏π之歌” “你的火星年龄”等等。这些项目都会引起学生们的兴趣,让他们在兴奋的尖叫和笑声中,感受到编程的魅力。从Mathematica到Wolfram|Alpha,再到Wolfram语言,史蒂芬·沃尔夫勒姆创造了世界一流的数学工具软件,再用这些逐步建构出一个具备人工智能的系统。如何利用这些优秀的产品为我们的教育服务,是我们每一位教育者应该好好思考的问题。