林家翘先生提醒青年学者:千万不要Garbage in,garbage out

来源:互联网 发布:中国癌症发病率 数据 编辑:程序博客网 时间:2024/05/17 07:40

仅以此文向林院士学习,以此自勉

我第一次听见“Garbage in, garbage out”这个说法是在1983年10月,那时美国科学院院士林家翘先生正在清华大学讲学,李家春和我(当时在中科院力学所)应邀参加了接待工作。林先生在一次演讲中提及这一语汇。我当时查《牛津高阶现代英语词典》第三版(1974),没查到该语汇;十几年后,在该词典第四版(1989)上查到了,此语汇的英文注释是:“(in computing) if you input wrong data, the output will also be wrong”;在以它为蓝本的《牛津高阶英汉双解词典》(第四版,1994)中的汉译是:“(计算机运算中)错进,错出(若输入错误数据,则输出亦为错误数据)”。

林家翘先生是在何种情况下提到这个语汇的?对我们科研工作者有何启示?这里作一些概略描述。

林先生在那次为时一个月的讲学中,系统地讲授了渐近分析及其在流动稳定性和星系密度波研究中的应用。在一次关于星系结构的演讲中,他首先简述了问题的背景。原来,在宇宙中,许多星系呈螺旋结构,譬如,我们太阳系所在的星系——银河系,其星系盘就有一种双臂螺旋结构。这种结构是怎样形成和维持的?在天文学中是一个多年悬而未决的难题。然后,他阐述了从流体力学和应用数学的角度对这个问题进行数学建模的过程,说明了用渐近方法求解问题出现的难点。最后,他介绍了相应的数值模拟过程,并演示了模拟结果。

最令人叹为观止的是他的现场演示。只见他在屏幕上,随机地放上一万颗“恒星”(小圆点),调出程序,轻轻地一按键盘上的一键,经过一两分钟,那些原本杂乱无章的“恒星”,乖乖地听从“指挥”,走向有序,最后形成一种双臂螺旋结构,与实际拍摄的星系盘的(俯视)天文照片一模一样。这个结果一出来,立即赢得了满堂喝彩!难怪林先生在哥本哈根的天文学界一次重要会议上报告这个结果时,引起了石破天惊般的震撼。
在报告后的提问时间里,有一位青年学者提问:“你的结果是否表明,现在我们有了先进的计算技术,凭它就可以轻而易举地解决一切难题。”林先生立即回答:“你的看法是片面的,甚至是要不得的!单凭先进的高速计算机而没有足够的科学分析,不可能解决任何问题。如果你对问题不进行科学的预处理,那么必然的结果是Garbage in, garbage out!也就是说,你往计算机输入一堆垃圾,输出的一定是一堆垃圾数据!”他接着说,“进行理论研究的正确做法是,首先对所研究的物理或工程问题进行深入细致的考察,通过观察、实验和通读文献,掌握足够的原始资料,洞察问题的内在本质和症结所在;然后,抓住主要因素,建立正确的、能反映事物本质的数学模型,并对其中出现的参数进行标定;接着对简化的数学问题进行初步的解析处理,了解其中的关键难点;最后进行数值模拟,归纳整理所得的结果,加以分析和演示,并与观察结果或实验结果进行比照验证。一般来说,这样的过程要循环往复多次。只有这样做,才可以在数值模拟中不至于Garbage in, garbage out。”(由于当时的笔记未能保存下来,以上的记叙仅为大意;也请参看:袁旂,我认识的林家翘先生,《力学进展》2006年第30卷第六期,见2009-1-28的乐乎博文)。
因为1979年我聆听过林先生前一次讲学,当时他阐释过理论研究的“应用数学过程”,所以马上体会到,他给大家讲述的实际上是“应用数学过程”的绝妙实例,感到茅塞顿开!

在这个实例中,林家翘先生先建立了星系密度波的流体力学模型。大家知道,在星系中有大量的恒星,数量级达十万亿(太阳就是银河系的十万亿颗恒星之一)。他搜集了大量观测数据后发现,尽管恒星际距离要以光年来度量,但这种距离与这些恒星所占据的空间的尺度比,还是小量,可以在连续介质假设的框架下考虑问题,流体力学就有了用武之地;接着,为了解决困扰天文界已久的“旋紧疑难”,他大胆地假设在恒星向星系中心运移过程中,有不同的物质参与,实际上是一种波动过程,从而建立了星系密度波理论;随后,他又根据实际观测对其中的一些关键性参数进行了辨识(标定);在具体求解所建立的方程时,遇到了数学困难,林先生采用他1940年代做流动稳定性的博士论文用过的WKB方法,成功地求得了合理的解,数值模拟的结果与实测结果吻合!因此就有了前面描述的令世界天文学界瞠目结舌的演示。

实际上,钱伟长先生在指导我校我所的科研工作过程中,也反复强调了这一“应用数学过程”。有鉴于此,我后来在给研究生讲课时总是努力阐释“应用数学过程”,而且用上述实例作为佐证。(详见2009-1-8的乐乎博文)。

从以上叙述,我们可以得到如下启发:
1. 在对一切物理或工程问题进行理论研究时,必须进行充分的科学预处理:通过观察、实验、调研,透彻了解问题的本质和症结;
2. 在进行数值模拟之前,必须经历如下过程:建模、解析分析、参数辨识、试算,事先预估可能的计算结果;
3. 在认定结果、下结论之前,必须反复验证,比照可资利用的实验、观测数据,充分保证它的基本上无懈可击的正确性。

只有这样,年青学子在理论研究中才可避免“Garbage in, garbage out”,取得令人信服的科学结果,才会逐步走上正确的科研之路,把自己培育成有所作为的科技英才。

0 0
原创粉丝点击