大百科科普 | “人工智能”在发烧,你我需要冷思考 系列二:计算机界的原创产自哪里?

2757
大百科科普 | “人工智能”在发烧,你我需要冷思考 系列二:计算机界的原创产自哪里?
上海交通大学安泰经济与管理学院管理信息系统系信息管理与信息系统专业教授,博士生导师。毕业于天津大学系统工程研究所获工学博士学位。上海交通大学管理学院管理科学与工程博士后。明尼苏达大学管理学院信息与决策科学系访问教授。

沈惠璋

上海交通大学安泰经济与管理学院管理信息系统系教授

计算机界的原创产自哪里?中国为什么做不出原创

图灵奖获得者们在干什么?咱们中国人里,有一个人应该说达到了"科学家"的这个水平,吴文俊先生,是咱们交大的校友,他把中国古代的数学思想和现代计算机科学结合起来发明了一套特殊的定理机械化证明,就像屠呦呦把古代葛洪的提炼方式与现代的仪器和设备相结合提炼出青蒿素一样,在全世界是首创的。

吴文俊先生


吴文俊先生的这个方法全世界都承认,并且称之为吴方法,我认为他是达到了图灵奖获得者这个水平。但是他没有获得图灵奖,为什么呢?我和朋友也讨论过这件事,有人说是因为外国人歧视中国人。从自然科学的客观角度分析这件事,我觉得也不完全是外国人歧视中国人的原因,凡是获图灵奖的人都是解决了两类问题之一的:


一类是这个问题已经持续了很多年,例如,希尔伯特的23个数学问题,全世界的数学家搞了一百多年,只要谁解决了其中一个问题就获菲尔兹奖或图灵奖。包括图灵自己,他们这些人里面很多也在设法解决希尔伯特问题,有的获了菲尔兹奖、有的获了图灵奖。换句话说,这个问题是个著名问题,大家都解决不了,很多人都研究了十几年了,你忽然解决了,给出了一个很漂亮的最终的解决方法,大家就把图灵奖给你。


 



还有一类,这类问题或者是一个难点,只要一突破了,后面一系列问题跟着解决了;或者别人没有想到,你提出来了,立刻成为这个领域的标准!我认为图灵奖也考虑应用,但是应用面要广、要很有代表性。历届图灵奖获得者,这些人做的东西基本都是属于这两类。


咱们中国科学家吴文俊先生做的东西从科学上讲是创新、是别人所没有的,而且他自成一派,外国人是承认的。但是这个东西的可推广性如何、是不是能解决一系列实际问题等,还不知道,所以没有获得图灵奖。但是,也许再过十年、二十年,甚至一百年之后,吴方法才被实践证明确实很厉害。到那时,世界上就会出现一个和图灵奖齐名的吴文俊奖,有可能!很多数学发现就是这样,像数论、群论,开始没人认为有用。但过了几十年、上百年以后,突然它就行了、就有意义了。


丹尼斯?里奇


现在咱们看看历届图灵奖得主及研究领域,例如1983年图灵奖得主,Unix操作系统和C语言的发明人。为什么他获奖了呢?如果没有C语言,就不会有苹果、微软的软件,也不会C++、Java。Unix成了小型计算机的操作系统标准,我们现在用的所有的操作系统都是脱胎于它,都是它的简化版,没有超过它,所以他的贡献是很大的。


彼得?诺尔


彼得?诺尔(Peter Naur)他完善了BNF范式(Bcakus-Naur-Form),中文叫做巴斯克语言公式。实际上他著名的成果就是Algol 60报告,Algol 60是一个算法语言编译器。在他之前,计算机语言是通过说明性的使用手册和编译代码本身而非正式的定义。他通过使用BNF来定义语法,并用精心选择的说明文字定义语义,简洁而准确。现在全世界所有的、各种算法语言都是基于这个巴斯克语言公式的,所以他的贡献是很大的,这个东西是原创。


我们用的算法语言编译器都是外国人开发的,中国人原创的到现在一个也没有。为什么?就是这些基础的东西不好做,三年、五年你肯定做不出来。但是现在全国的各种科研人员都要接受考核,考核方式为一年一考核,最多三年一考核,三年能做出一个原创的算法语言编译器吗?肯定不行。


计算机技术突飞猛进,计算机科学发展并不快

说到这里想起一个我的亲身经历,我1979年上本科,1980年的时候学习Algol 60语言,讲课的那位老师他不讲语言,就是不像现在的老师一样讲语句的用法,他讲的就是巴斯克语言公式,很抽象。当时大家学得也很费劲儿、很麻烦、很糊涂!老师您讲的都是什么?都是这种定义,那种定义。



然后他说编程序吧,我们开始真是无从下手。我们试着编了几条程序,然后问老师:“您给看看这个程序编得对吗?”那会儿的计算机和现在不一样,现在人手一个,那会儿你只能去机房,而且操作系统不是现在这种交互式的、而是批处理,你不能随便自己做,你根本不能摸,你最多打打纸带给人家专职操作员,人家给你一个计算结果。我请老师给看看程序。 那位老师怎么说?“我不是教过你吗?”我说:“没教过,不会啊。”老师说:“我教你那个巴斯克语言公式就是干这个用的!”然后他就开始一条条推导,推导到这里推不下去,这个错了。推导到那里推不下去,那个错了。有同学问为什么?他说:“计算机本来就是这么推导的,你给它,它就是这么推导的。我现在教过你了,你自己推导,你也可以知道对错。”如果我现在这样教学生,学生几天就会把我赶下讲台。


但是后来,又过了十年,我自己做项目,我自己写一个小编译器的时候,编译器不是很好写的,我才发现这个巴斯克语言公式真的太有用了、太美妙了!当时我在上本科的时候就学两个算法语言,其中一个就是用巴斯克语言公式描述的Algol 60,另一个是汇编语言。老师当时就讲,你把这两个学好了,你这一辈子不管计算机怎么变化,任何计算机算法语言你都会!到现在将近四十年了,确实是这么回事,任何的语言拿过来我一看就会,马上就能用。


所以有人说计算机变化太快了,算法语言变化太快了,都跟不上学!我说实际上本质是没有变的。计算机飞速发展、什么总在变?我说计算机技术总在变,应用在不断发展,花样翻新,很多名词在不断发展,花样翻新。但是,计算机科学没有变,尽管这些图灵奖获得者们做了很多工作,但是计算机科学发展并不快。




Donald E. Knuth


比如这个人Donald E. Knuth是1974年获得了图灵奖,写了一套书叫《程序设计艺术》,他把自己的计算机编程思想、方法、艺术和技巧都包括在里面,程序多数都是汇编语言实现的,这套书被全世界公认是好书。所以当有学生问我应该学哪一种算法语言的时候,我说:一个是学汇编语言,一个是巴克斯语言公式,足够了。


我这些年一直坚持给CS、MIS专业的学生讲计算机原理和汇编语言,很多人,包括我们很多的同事和朋友也在说:“你干嘛还讲这个计算机原理和汇编语言,这个很老了,讲点新的。”实际上不是因为我只熟悉老的、所以我讲老的、新的根本就不会。实际上我讲计算机原理和汇编语言是为了两个目的:一个是计算机原理,它就是冯?诺伊曼体系结构,属于上图中的Scientist科学家这个层次;另一个汇编语言就是图灵计算,属于上图中的Thinker思想家这个层次。如果没有这两个基础,永远都会在End-user这个层次里翻跟头,连升入User这个层次都不可能!


但是现在我担心的是什么?我前几天接到一个《机器学习与R语言应用实战培训班,》通知,培训三天。然后说:“用户不需要掌握任何分析过程背后数学模型的细节就能很简单地通过R语言在数据集上执行机器学习算法,快捷地完成数据分析任务。”包括算法的R的数据可视化、常用统计量计算、数据质量分析、朴素贝叶斯分类器 、决策树算法、随机森林、支持向量机算法 、神经网络、层次聚类算法、离群点检测方法……什么都有。




三天学这么多东西根本就是不可能的。实际上你去了以后,他给你摆好了软件,让你操作一下。也可以拷贝给你,你按这个键,结果出来了,就像用傻瓜相机拍照一样。不同的是,用傻瓜相机肯定可以拍出照片;用傻瓜软件肯定挖不出有用的东西!但是确实有很多大学老师去参加这个班,然后再回去给大学生教学,这就很麻烦。这种教法和学法就完全是在End-user这个层次打转,你永远提高不了。


写点评
1已赞
相关活动
    相关文章