计划一次旅行时,你是不是常为订机票、安排行程而头疼?在工作中面对一个复杂项目,是否也常不知从何下手?其实,有一套名为“计算思维”(Computational Thinking, CT)的科学思考方法,能帮我们理清头绪、化繁为简。它起源于计算机科学,却远非程序员的专利,是一种能融入生活、科学研究,甚至艺术创作的底层智慧。
计算思维的四大“秘籍”
计算思维听起来高深,但它的核心理念非常生活化,可以归纳为四大“秘籍”:
1. 分解(decomposition):这是化繁为简的第一步。就像规划旅行时,我们会自然地把“去旅行”这个大任务,拆解成订机票、安排每日行程、打包行李等一系列可管理的小任务。
2. 模式识别(pattern recognition):在看似杂乱的信息中寻找规律。例如,在安排上班路径时,会发现每天的早晚高峰时段交通都会拥堵,于是便会避开这些时段出行。
3. 抽象化(abstraction):抓住问题的核心,忽略不必要的细节。MRT路线图就是抽象化的绝佳范例。它隐去了地面上复杂的建筑、街道和公园,只保留了站点、线路和换乘关系这些关键信息,让大家能一眼看清如何从A点到B点。
4. 算法(algorithm):为解决问题设计一套清晰、可行的步骤。一份好的菜谱就是一种算法,它告诉你需要什么材料(输入),以及按照什么顺序、火候和时间进行烹饪(处理步骤),最终得到一道美味的菜肴(输出)。
精妙的解题策略
除了上述四大基本原则,计算思维还包含一系列更精妙的解题策略。例如“贪心算法(greedy algorithm)”。
“贪心”听起来带点贬义,它其实是一种直观且高效的策略。核心思想是:在每一步决策时,都采取当前看起来最优的选择,而不去考虑这个选择对未来的长远影响。它追求的是每一步的“局部最优解”。然而,“局部最优”并不总是通向“全局最优”。
想象你去吃一顿丰盛的自助餐,目标是在有限的胃容量里,吃到总价值最高的食物。如果采用贪心策略,你可能会在进门第一眼看到龙虾时,就立刻装满一整个盘子。当你吃完,肚子已经半饱时,才发现餐馆的另一头还有价值更高的美味食物。因为你一开始的“贪心”选择,导致你没有足够的“胃容量”去容纳其他更多样的高价值食物。一个更优的策略(非贪心)可能是:先花几分钟巡视全场(收集信息),在脑中规划好吃什么,按什么顺序吃(制定全局策略),而不是只盯着眼前的第一个诱惑。
在计算机科学里有一个经典模型——“背包问题”(knapsack problem)。一名探险家,背包最多只能装10公斤的物品。在一个山洞里发现了三件宝物:宝物A(重6公斤,价值$20)。宝物B(重5公斤,价值$18)。宝物C(重5公斤,价值$18)。
若采用贪心策略,以“单件价值最高”为标准,这名探险家毫不犹豫地选择宝物A。但把它放进背包后,背包只剩4公斤容量,再也装不下别的东西。最终得到的总价值是$20。
然而,若放弃那个当下最诱人的宝物A,而选择宝物B和宝物C的组合。它们的总重量是5 + 5 = 10公斤,刚好装满背包,而总价值是$18 + $18 =$36!
这个例子揭示了贪心算法的局限性:目光短浅的局部最优决策,反而错失了全局最优的组合。科学家在面对这类问题时,会采用动态规划(dynamic programming)或回溯法(backtracking)等更复杂的算法来系统地寻找真正的最优解。
计算思维的历史
计算思维并非凭空出现,它的思想萌芽可以追溯到几百年前。而将计算思维推广为一种普世素养,则要归功于近年来教育家们的努力。1980年麻省理工学院的派普特(Seymour Papert)利用简易编程语言和mindstorms积木,让孩子们能在动手实践中自然地理解抽象的计算概念。2006年,卡内基梅隆大学的周以真(Jeannette Wing)教授发表了影响深远的文章,明确提出“计算思维是每个人都应具备的基本技能”,极大地推动了其在全球教育领域的普及。
许多国家都已将计算思维纳入教育体系。例如新加坡很早便在中小学课程中贯穿编程、数据分析和解决问题的训练,并关注新技术带来的法律、伦理与社会影响,培养具备逻辑思维与创新能力的下一代。在这个高度数字化的时代,计算思维不再是少数人的专利,而是一种人人可学、处处适用的思维方式。它帮助我们更高效地解决生活中的复杂问题,也让我们能更深刻地理解人工智能、大数据、气候模拟和基因科学背后的核心逻辑。
(作者为台湾中央大学天文物理学博士,芝加哥大学费米研究所博士后研究。曾任中国科学院理论物理研究所副研究员、南洋理工大学高等研究所研究员。目前是英国物理学会经典与量子引力Classical and Quantum Gravity学术期刊顾问。)
