Map of EECS



Anant's View of EECS


抽象:设计的艺术

此图来源 Anant 教授在 MIT 演讲课程「Circuits and Electronics」的第一节课。图中全面系统地梳理了 EECS 的逻辑框架,仔细品味,慢慢思考,一种「会当凌绝顶,一览众山小」的感慨油然而生。下面讲一个纯属虚构的故事:

从前,在英国有一位科学家 Maxwell,他从小对自然界的物理现象好奇,特别是与电有关的物理现象。为了探究现象背后的原因「What is?」,他在实验室里 DIY 大量实验,根据实验结果记录了大量的实验数据,但实验数据并不能让 Maxwell 成为伟大的科学家。比如,意大利的思想家布鲁诺长期观测天文现象,记录了行星运动的大量数据,但只有睿智的开普勒根据数据总结得出了行星运动的三大定律。Maxwell 从此发奋学习数学,最终成功地构建了物理模型,总结为著名的 Maxwell 方程。


凭此贡献使 Maxwell 跻身于世界伟大科学家之列。Maxwell 终于明白了物理现象背后的成因,跟大多数科学家一样丰富了「What is?」类知识。至此,科学家的任务告一段落,下面有请工程师登台。首先看看 Kalman 对工程的理解和 Steve Senturia 的回答。

Steve Senturia:「什么是工程?有目的地使用科学的艺术。」
跟科学家不同,工程师对如何创造性地使用知识更感兴趣。具体到 EE 工程领域,根据 Maxwell 方程和集总参数原则(LMD),将 Maxwell 方程创造性的应用在 EE 领域后,转化为简单的物理规律——基尔霍夫定律(KVL & KCL)。而想进入 EE 领域需要遵循两个约定:
\[\frac{\partial \phi}{\partial t}=0\]
\[\frac{\partial q}{\partial t}=0\]
此约定正好导出了「电路原理」课程最重要的定律——基尔霍夫定律。同时给出了电压和电流的定义。

基尔霍夫定律

工程师运用「抽象」,把复杂的数学公式简化为算术,为后面的工程系统设计提供有力而简单的「牛刀」。

抽象的是解决「复杂性」问题的利器。《The Art of Insight in Science and Engineering》和《SICP》分别把「抽象」作为解决工程问题和计算机程序设计主要工具。「抽象」、「模块化」、「分层」……这些思想的工具都是「巨人」在解决实际工程问题总结出来的宝贵经验。比如,前人把 UNIX 系统设计总结为 《The Art of Unix Programming》一书。

SICP

用「抽象」视角看问题给工程师、科学家和数学家带来便捷,忽略细枝末节,关注系统整体;但忽视细枝末节也是有代价的,导致一些现象的不可确定性。「Circuits and Electronics
中把电灯抽象为一个电阻模型 R,给定电压 U 后就可直接运用欧姆定律求解或预测电流 I,但求解之前我们必须清楚欧姆定律的假设前提。否则,如果因为电压太高或老化导致电灯损坏,这时如果还是套用欧姆定律就会给出错误的预测。《数学之美》的作者吴军说:「理论模型预测不符合实际数据时,只能说明理论模型出错了。」所以抽象的产物——欧姆定律——有自身的局限。为克服这种局限,工程师把抽象的产物局限在一个狭小的领域,保证结果在可控的的范围内。如果跳出这个领域,就会导致意外的结果——「黑天鹅」。具体到「Circuits and Electronics」课程中,工程师用集总参数原则(Lumped Matter Discipline)抽象得到:电阻、电容、电感、开关、电源等基本元件的模型。工程师用一个个基本元件创造计算机(微软著名工程师 Charles Petzold 的《Code: The Hidden Language of Computer Hardware and Software》详细介绍了如何从零开始构建一台计算机?强烈推荐!),爱好者用一块块 LEGO 积木搭建模型,建筑师用一块块砖瓦建设高楼,程序员用代码设计出会思考的机器,音乐家用一个个音符创造旋律……本质上,他们用了相同的方法创造艺术品。

数学把「抽象」发挥到极致,当人们企图用「数学」理解万物时,却忘记了使用工具带来的局限。又回归到了哲学的「认识论」。

未完待续……