找回密码
 FreeOZ用户注册
查看: 3187|回复: 4
打印 上一主题 下一主题

[其他] 科学美文: 《计算思维》- 周以真

[复制链接]
跳转到指定楼层
1#
发表于 16-3-2009 16:24:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?FreeOZ用户注册

x
FROM:http://www.sciencetimes.com.cn/m/user_content.aspx?id=8104

      计算思维代表着一种普遍的认识和一类普适的技能,每一个人,而不仅仅是计算机科学家,都应热心于它的学习和运用。
计算思维建立在计算过程的能力和限制之上,由人由机器执行。计算方法和模型是我们敢于去处理那些原本无法由个人独自完成的问题求解和系统设计。计算思维直面机器智能的不解之谜:什么人类比计算机做的好?什么计算机比人类做的好?最基本的问题是:什么是可计算?迄今为止我们对这些问题仍一知半解。
计算思维可以做什么?计算思维是每个人的基本技能,不仅仅属于计算机科学家。我们应当是每个孩子在培养解析能力是不仅仅掌握阅读、写作和算术(Reading,Writing,and arithmetic——3R),还要学会计算思维。正如印刷出版促进了3R的普及,计算和计算机也已类似的反馈促进了计算思维的传播。


计算思维是运用计算机科学的基础概念去求解问题、设计系统和理解人类行为。它包括了涵盖计算机科学之广度的一系列思维活动。



当我们必须求解一个特定的问题时,首先会问:解决这个问题有多么困难?怎样才是最佳的解决方法?计算机科学根据坚实的理论基础来准确地回答这些问题。表述问题的难度就是工具的基本能力。必须考虑的因素包括机器的指令系统、资源约束和操作环境。



为了有效的求解一个问题,我们可能要进一步问:一个近似解是否就足够了,是否可以利用一下随机化,以及是否允许误报(false positive)和漏报(false negative)?计算思维就是通过约简、嵌入、转化和仿真等方法,把一个看来困难的问题重新阐述成一个我们知道怎样解决的问题。

计算思维是一种递归思维。它是并行处理。它是把代码译成数据又把数据译成代码。它是由广义量纲分析进行的类型检查。对于别名或赋予人与物多个名字的做法,它既知道其益处又了解其害处。对于间接寻址和程序调用的做法,它既知道其威力又了解其代价。它评价一个程序时,不仅仅根据其准确性和效率,还有美学的考量,而对于系统的设计,还要考虑简洁和优雅。
计算思维采用了抽象的分解来迎战庞杂的任务或者设计巨大的复杂系统。它是关注的分离(SOC方法)。它是选择合适的方式对一个问题的相关方面建模使其易于处理。它是利用不变简明扼要且表述性的刻画系统的行为。它是我们在不必理解每一个细节的情况下就能够安全的使用、调整和影响一个大型复杂系统(黑箱方法——译者注)的信心。他就是位预期的多个未来应用而进行的预取和缓存(预测执行——编者注)。
计算思维是按照预防、保护及通过冗余、容错、纠错的方式从最坏情形恢复的一种思维。它称堵塞为“死锁”,称约定为“界面”。计算思维就是学习在同步相互会合是如何避免“竞争条件”(亦称“竞态条件”)的情形。
计算思维利用启发式思维来寻求解答,就是在不确定情况下的规划、学习和调度。它就是搜索、搜索、再搜索,结果就是一系列的网页,一个赢得游戏的策略,或者一个范例。计算思维利用海量数据来加快计算,在时间和空间之间,在处理能力和存储容量之间进行权衡。
考虑下面日常生活中的事例:当你女儿早晨去学校是,她把当天学要的东西放进背包,这就是预置和缓存;当你儿子弄丢他的手套时,你建议他沿走过的路寻找,这就是回推;在什么时候停止租用滑雪板而为自己买一付呢?这就是在线算法;在超市付账时,你应当排那个队呢?这就是对服务器系统的性能模型;为什么停电时你的电话仍然可以使用:这就是失败的无关性和设计的冗余性;完全自动的大众图灵测试如何区分计算机和人类,及CAPT
CHA
程序是怎样鉴别人类的?这就是充分利用人工智能难题之艰难来挫败计算代理程序。

计算思维将渗透到我们每个人的生活之中,到那时诸如算法和前提条件这些词汇将成为每个人日常语言的一部分,对“非确定论”和“垃圾收集”这些词的理解会和计算科学里的含义趋近,而树已常常被倒过来画了。
我们已见证了计算思维在其它科学中的影响。例如,机器学习已经改变了统计学。就数据尺度和维数而言,统计学习用于各类问题的规模仅在几年前还是不可想象的。各种组织的统计部门都聘请了计算机科学家。计算机学院(系)正在与已有或新开设的统计学系联姻。
近来,计算机学家们对生物科学越来越感兴趣,因为他们坚信生物学家能够从计算思维中获益。计算机科学家对生物学的贡献绝不限于其能够在海量序列数据中寻找模式规律的本领。最终希望是数据结构和算法(我们自身的计算抽象和方法)能够以其体现自身功能的方式来表示蛋白质的结构。计算生物学正在改变着生物学家的思考方式。类似地,计算博弈理论正在改变着经济学家的思考方式,纳米计算改变化学家的思考方式、量子计算改变着物理学家的思考方式。
这种思维将成为每一个人的技能组合成分,而不仅仅限于科学家。普适计算之于今天就如计算思维之于明天。普适计算是已成为今日现实的昨日之梦,而计算思维就是明日现实。
它是什么,又不是什么?计算机科学是计算的学问——什么是可计算的,怎么去计算。因此,计算思维具有如下特性:
概念化,不是程序化。计算机科学不是计算机编程。像计算机科学一家那样去思维意味着远不止能为计算机编程,还要求能够在抽象的多个层次上思维。
根本的、不是刻板的技能。根本技能是每一个人为了在现代社会中发挥职能所必需掌握的。刻板的技能意味着机械的重复。具有讽刺意味的是,当计算机科学真正解决了人工智能的大挑战——使计算机向人类一样思考之后,思维可就真的变成机械的了。
是人的,不是计算机的思维方式。计算思维是人类求解问题的一条途径,但绝非要是人类像计算机那样地思考。计算机枯燥且沉闷,人类聪颖且富有想象力。是人类赋予计算机激情。配置了计算设备,我们就能用自己的智慧去解决那些在计算机时代之前不敢尝试的问题,实现“只有想不到,没有做不到”的境界。
数学和工程思维的互补与融合。计算机科学本质上源自数学思维,因为像所有的科学一样,其形式化基础建筑与数学之上。计算机科学又从本质上源自工程思维,以为我们建造的是能够与实际世界互动的系统,基本计算设备的现实迫使计算机科学家必须计算性的思考,不能只是数学性的思考。构建虚拟世界的自由是我们能够设计超越物理世界的各种系统。
是思想,不是人造物。不只是我们生产的软硬件等人造物将以物理形式到处呈现并时时刻刻触及到我们的生活,更重要的是还将有我们用以接近和求解问题、管理日常生活、与他人交流和互动的计算概念;而且,
面向所有的人,所有的地方。当计算思维真正融入人类活动的整体以致不再表现为一种显式之哲学的时候,它就将成为一种现实。
许多人将计算机科学等同于计算机编程。有些家长为他们主修计算机科学的孩子看到的只是一个狭窄的就业范围。许多人认为计算机科学的基础已经研究完成,剩下的只是工程问题。当我们行动起来去改变这一领域的社会形象时,计算思维就是一个引导着计算机教育学家、研究者和实践者的宏大愿景。我们特别需要抓住尚未进入大学之前的听众,包括老师、父母和学生,向他们传送下面两个主要信息:
智力上的挑战和引人入胜的科学问题依旧亟待理解和解决。这些问题和解答仅仅受限于我们自己的好奇心和创造力,同时;
一个人可以主修计算机科学而从事任何行业。一个人可以主修英语或者数学,接着从事各种各样的职业。计算机科学也一样。一个人可以主修计算机科学,接着从事医学、法律、商业、政治、以及任何其他类型的科学和工程,甚至从事艺术工作。
计算机科学的教授应当为大学生开一门称为“怎么像计算机科学家一样思维”的课程,面向所有的专业,而不仅仅是计算机科学专业的学生。我们应当使入学之前的学生接触计算机领域科学探索的兴趣,而不是悲叹对其兴趣的衰落或者哀泣其研究经费的下降。所以,我们应当传播计算机科学的快乐、崇尚和力量,致力于使计算思维成为常识。



作者简介:

周以真
(Jeannettle M.Wing)曾任美国卡内基——梅隆大学(CMU)计算机科学系主任,现任美国基金会(NSF)计算机和信息科学与工程部(CISE)主任。于1983年在美国麻省理工学院(MIT)获得计算机科学博士学位。主要研究方向为并行分布式系统和规范和认证以及编程语言。目前主要研究提升软件系统安全性技术的设计和评价方法。周教师是ACM和IEEE会士。
回复  

使用道具 举报

2#
 楼主| 发表于 16-3-2009 16:28:45 | 只看该作者
刚才查了查这个周以真(Jeannette M.Wing), 原来还和今年的那个图灵奖获得者有过密切合作关系,那个著名LSP法则就是Liscov和她一起提出的。

这里是这篇论文的原文:

回复  

使用道具 举报

3#
发表于 17-3-2009 09:28:54 | 只看该作者
他为啥说计算思维是每个孩子都应该具有的,应该和读写计算一样加以训练的技能呢?

是不是和逻辑思考能力有点重叠?
回复  

使用道具 举报

4#
 楼主| 发表于 17-3-2009 12:04:03 | 只看该作者

回复 #3 someonehappy 的帖子

计算思维和逻辑思考能力的区别在于计算思维是一种方法性思维。
回复  

使用道具 举报

5#
发表于 17-3-2009 15:04:49 | 只看该作者
这种“计算思维”,或者叫可计算性思维,是从长期对算法的思考和编程实践中得来的。
很重要,但是其中精华的部分,属于创造性思维的范畴,不是简单学一门课,就能真正融汇贯通的。
当然了,解决一般的问题可能学点东西就够了。

就像我在学校一个场合,对人说的那样,计算复杂性理论,不是用来限制我们去尝试的,而是引导
我们如何解决问题的。

评分

参与人数 1威望 +30 收起 理由
coredump + 30 我很赞同!

查看全部评分

回复  

使用道具 举报

您需要登录后才可以回帖 登录 | FreeOZ用户注册

本版积分规则

小黑屋|手机版|Archiver|FreeOZ论坛

GMT+10, 2-8-2026 00:31 , Processed in 0.014639 second(s), 22 queries , Gzip On, Redis On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表