Leroy Z. Emkin
Founder and Co-Director,
Computer Aided Structural Engineering Center Professor,
School of Civil and Environmental Engineering
Georgia Institute of Technology Atlanta,
Georgia 30332-0355, USA
北京大学王海兰、孙树立摘译,陈璞校
摘要:计算机的滥用日益威胁着公众的安全,有意改变这种现状的人只是极少数,有能力改变这种现状的人也只是极少数. 在工程界不少人迷信:计算机是知识的源泉,计算机是解决工程问题的源泉,计算机具有令人信赖的“智慧”。这些迷信都大大背离了事实,不可以简单地信赖计算机。有些人自称是结构工程师,但他们把计算机作为知识、经验、思维的替代品,而把自己对结构工程的无知隐藏在计算机的黑匣子里。有责任感的工程师必须保护公众免受这些人滥用计算机所带来后果的影响。他们必须认真地想一想,有没有什么办法,使人们免受这些迷信的影响。
关键词:计算力学,结构工程,人工智能
计算机是知识、经验和思维的替代品。纵观当今世界,这种非常令人不安的观点正在结构工程师中逐渐蔓延。人们似乎越来越愿意相信计算机使他们能对工程作出正确的判断,而根本不去想一想,如果没有计算机同样的工作需要哪些必要的知识和经验。按百分比计迅速增加的工程师相信,解决工程问题的专业知识就是怎样使用计算机以及计算机本身的专业知识。在结构工程界,把使用计算机的能力当成能胜任工作的证明,作为一种观点正在象传染病一样到处蔓延。大量的结构工程师确实相信,他们仅仅简单地依靠计算机就可以“解决”工程问题了,而没有认识到高质量的工程只能是渊博的工程理论知识,大量的经验,以及艰辛的脑力劳动相结合的产物。
问题是过分强调自动化技术是以削弱实际知识为代价的,过分强调也演变成了不学习实际知识的借口。从教育和实践两方面来看,如此过分强调计算机带给朝气蓬勃的年轻工程师们一个错误的信息,工程学习和工程实践就是轻松地使用菜单和用计算机生成五颜六色的图画。
在工程设计环境中利用信息自动化技术有很严重的负面影响,信息自动化技术象毒品一样能轻易地诱使大脑相信其虚幻的安全性,知识性和能力。在这些自动化技术实现其真正的价值以前,设计工程师必须不依赖计算机,而用学识和经验去解决工程问题。非常不幸,我们变得如此依赖于计算机,以至于正在迅速丧失不依赖计算机进行计算工作的技能。
与那些只有依赖计算机才能“解决”工程问题的人讨论问题时,一个称职的结构工程师什么样的痛苦和挫折没有经历过?这些人(不要把他们跟真正的工程师混为一谈)已不再有能力,或者从来没学过,不依赖计算机解决工程问题。从根上他们不懂得,计算机不可能记录有关模型、分析和设计的一些技巧。可以这样认为,除了具有快捷的计算速度以外,计算机程序只是一些离散的知识。这些人没有认识到,知识已经远远超过了有限的计算机指令所能编程的界限。真正的工程知识是经验,直觉,灵感,领悟力,创造力,想象力和“认知”的巨大综合体,它超越了任何计算机程序和程序员对结构工程的“理解”。恰恰相反,这些人认定世界是一个巨大的有限元模型,而计算机能够并且也应该自动地建立模型,进行分析,完成设计,打印出最终结果。“工程师”能做的,仅仅是区分规格和需求,给顾客开发票,牟取利润,并且迅速找到新项目。
今后,只有越来越少的工程师能独立地(即不依赖计算机)找出结构工程问题的正确解答,这种对计算机的依赖性将会带来巨大的麻烦。随着对计算机的依赖程度的不断上升,谁来解决工程问题?是那些没有或只有很少的结构工程知识和实践经验的程序员,或是有其他专业学位而不是结构工程学位的程序员来做?计算机现在不是,也永远不会是解决工程问题的源泉。只有合格的工程师才能正确地解决工程问题。如果结构工程师们继续制造这样的氛围,在结构工程实践中,首先靠计算机,而不是靠有学识、有创新和有丰富经验的结构工程师本身,就能够解决大部分结构工程问题,那他们就是自欺欺人,也欺骗了他们的服务对象。
在今天的现实生活中,结构工程师发现了一种既非常有效又方便的方式去为顾客服务,它不需要花费大量的时间和金钱去学习或理解结构工程模型,分析和设计的细节。这种“方式”就是计算机。工程师们现在的行为方式符合宇宙的自然规律,即用最低的能量消耗前进。现在,越来越多的结构工程师对自动化技术的响应就是让计算机工作,同时让自己不再去操心细节了。
现代工程具有复杂的理论细节,依靠计算机的工程不能,根本不能,让人们学习有意义的经验。现代计算机的运算范围和速度,太容易使工程设计变得毫无生气。试问,有谁能抵抗激动和解脱的感觉——不用太多的艰辛就能求解成千上万个方程?又有谁能抵抗诱惑——让自动化技术来“解决”工程问题?真正的结构工程师,不用计算机就能工作的真正的结构工程师就有这样的抵抗力。这些真正的工程师看到了实质,计算机是一种很不完善的工具,它只能处理大量信息。以光速执行的指令大多是没有经验的程序员编制的,它们的可靠性值得怀疑。在计算中,对于受动力载荷的作用的曲壳结构发生非弹性变形时,不正确的结果一样可以在屏幕显示,它们的等应力图看上去也是如此这般地赏心悦目。这样下去,只要手上有计算机软件的使用说明,就可以用计算机得到结果了。或者更方便,只需在图形用户界面上选择合适的菜单,就得到结果了。事实上,如果“靠相互交谈来探讨怎样分析梁和柱,靠双手找出闭合解”会更有利。
也许有人推测,以上论调只能证明本文作者从根本上是反计算机的,或是他没有认识到现代信息技术美好的未来,或是他对那些在神奇的创意中利用这种技术的专家不屑一顾。然而,并不仅仅是这样。即使认识到计算机的潜力,工程师也对危险熟视无睹。结构工程是对安全性吹毛求疵的职业。在世界各地,结构的特性是由结构工程设计的质量决定的。由于在实践中采用了计算机,越来越多的结构工程师正在制造以幻想为基础的信仰系统,正在发展难以置信的危险期望。随着这一趋势的延续,工程失效的威胁也会按指数形式增长。
一个简单的例子就是世界各地越来越多的工程公司都期盼CAE/CAD软件能将结构工程设计程序完全自动化。现在,越来越多的结构工程师希望在解决问题时他们只需区分类型和条件,让CAE/CAD程序自动生成必要的数学模型,完成复杂而重复的分析和设计过程。最后,由制图工具完成生产图和施工图。在这种环境中,结构工程师唯一的责任就是明确所要解决的问题,然后评价最后的设计“结果”。这种设计方式注定是灾难性的。数不清的软件开发商为满足市场的需求,不断开发和推销注明有各种用途的软件。于是,不那么称职的工程师就相信了广告,即使用这种软件只要投入很少的人力就能进行工程设计。
软件开发商经常被要求改进结构分析和设计软件,以使用户在不详细了解技术细节的情况下就能够使用软件。例如,这些用户要求开发商创造出不用阅读使用手册的环境。因为高质量的结构工程软件的用户参考手册包括软件的技术细节,限制范围,以及计算所依据的理论和假设,结构工程师们不愿意使用这样的高质量软件。现实是,结构工程师们不希望了解细节。他们所希望又愿意购买的是窗口界面,这种界面能让他们处理信息见得到,然后把结果以彩色图表形式展示。最好还有动画功能,还可以用漂亮的图表打印数值结果。而对于是否能可靠地检测重特征值;或在用反映谱进行分析时是否用了足够的模态;或非线性索单元的理论是否正确;或分析结果对网格的形状和单元的选择是否敏感;或部分固定端刚度是否确切等等方面,如今使用计算机的工程师表示,他们几乎不考虑这些细节问题。
不少人认为他们没有时间,或没人付给他们费用去关心细节。越来越多的结构工程师都持这样的看法。但是,他们确实相信,依靠计算机他们的设计能够达到顾客要求。为什么不能如此简单地相信输入数据,然后击键,就有了结果。而且,这种方式几乎没有人力消耗。
当然,计算机技术本身并不坏。然而,问题的核心是结构工程计算中计算机的使用方法,以及滥用计算机不断增加的趋势。在道义上资深工程师和工程管理人员有义务特别强调工程实践中知识,专业技能,以及经验的重要性,而非计算机使用者的“性别”。在结构工程实践中,仅仅关心“怎样”使用计算机是不够的,了解“为什么”这样设计才是关键。专业的结构工程师必须重视手工求解的原理,基本原则和提炼模型,识别计算结果中的错误,解决问题的其他方法,判断计算结果的有效性。对计算机要又敬又畏,对计算结果应持批评态度,尊重工程实践经验,通过工程实践(而不是通过“世界的有限元分析”,或是靠过分的简化去满足那些不合格的结构工程软件的限制条件)学习工程。强调从那些资深的或更有经验的结构工程师(即数量急剧减少,但仍记得不依赖计算机,怎样解决工程问题的真正的工程师)那里学习结构工程。只有通过训练专业工程师,而不是通过训练技术员(即计算机操作员),结构工程界将完全能担负起服务大众的责任和义务。
到底该不该如此担心计算机的不当使用?担心那种怠惰?担心工程界默许这种危险作法?虽然计算机对人类有很大的应用价值,但如果结构工程师们继续象现在这样破坏性地使用计算机,这些价值就得不到实现。
有什么办法才能使结构工程界改变过分依赖计算机的情况?不再滥用计算机?这些都没有简单的答案。然而,所有称职的,经验丰富的资深工程师都有机会用危险的计算机这一思想去影响年轻人。一个真正的工程师所需要的是不依赖计算机解决工程问题的能力。经常怀疑计算机;在没有深入的论证以前决不使用计算机的结果。在被工程师证实正确之前,假设计算机提供的结果是错误的。在用计算机求解之前,必须先“知道”答案。不崇拜计算机,而崇尚知识和经验;提倡全面了解工程理论和实践中的所有细节;避免为那样的雇主工作,他们仅有的学习机会是通过计算机学,而不是通过有实践经验的真正工程师的深入训练。
计算机不可能,而且永远不可能,成为人类知识,经验,远见,灵感,创造力,独立思维,以及自古以来的勤奋的替代品。虽然在结构工程实践中计算机是非常有价值的工具,但是结构工程师必须认识到对工程学的细节(即原理,方法,标准,道德等等)的全面了解,比懂得怎样在计算机屏幕上游逛不知道要重要多少。警告实际工程师,如果没有计算机他们的结构工程知识不足以胜任工作,他们也没有资格使用计算机(如若不然,那不仅是不道德,而是犯罪)。
所有称职的,经验丰富的工程师都意识到,好的计算机程序造就不出称职的结构工程师,而只有称职的工程师才能使用好的计算机程序。可悲的是,虽然上面的结论似乎是不言而喻的,但它并不是今天计算机应用的现实。因此需要让危险曝光,并实现和完善保护措施。
不幸的是,计算机时代的现实是,所有(即无一例外)商业应用的计算机和计算机软件都受制于许多因素,这些因素在不同程度上影响了工程软件作出结构工程问题的正确解答的能力。更值得注意的是,当不正确的结果产生时,它们通常并没有“错”到立即被识别出来的地步。更进一步,有时结果有重大错误,但如果工程师对“正确”的结果是什么直觉也没有(无论是因为无知,还是缺乏经验),也就不可能意识到结果的错误。计算机的危险在于,很多工程师假设(并且几乎所有的工程师确实希望)计算机总是产生“正确”的结果。这样的假设和希望常常会使工程师对潜在的和经常的错误放松警惕性和敏感性!
虽然对软件的质量和可靠性存在着严重的忧虑,但你会吃惊地发现很多结构工程师对这些忧虑表现得多么天真、无知或不负责任。这些天真、无知或不负责任在许多结构工程师购买和使用软件时表现得最突出。例如,选择结构工程软件的最基本标准包括:软件广告出现的频率;肆意宣扬超凡技术能力的大幅精美广告;低售价;用引人注目的可视性窗口菜单和生动的界面形式来衡量的易用性;用结构系统自动建模的简单性来衡量的易用性;只需很少或根本不用学习;简单的使用说明和手册(一两本使用说明就够了,而9本10本使用说明简直是糟糕透顶!);五彩缤纷的包装。而下面的标准却鲜见。例如,软件开发者和其技术支持者的技术资质证明;软件质量的保证;软件开发商的质量保证(QA),质量控制(QC)QA/QC过程的严格评价;软件中所用技术的理论依据的严格评价;简单和复杂例题测试结果的严格评价及其与其他独立求解结果的比较;通过专职技术核查员和经验丰富的结构工程师的一系列独立和规范性核查制订工程软件国际标准,并按一个或多个工程软件国际标准定期地对软件进行校核。
在软件的实际应用方面,那些只有极少经验,极少学识,最年轻的结构工程师被赋予依靠计算机软件来解决极度复杂的结构分析和设计问题的主要责任。而那些经验丰富的资深工程师正忙于经营和管理自己的公司。经常可以看到,缺乏经验的年轻工程师在使用计算机时对所用的结构力学基本原理和设计规范的背景知识了解甚少。这些工程师最困难的地方在于判断程序的算法所蕴含的假设和步骤;接下来判断计算机运算结果的质量和其他方方面面。他们的困难还在于怀疑计算机作出的所有结果,以及用独立的例题校验结果。由于受到挫折或一知半解,缺乏经验的的工程师宁愿相信计算机程序产生的任何结果都是正确的。我们令人难堪地观察到,结构工程师多么频繁多么容易,有意识或下意识地把自己的无知藏进计算机的黑匣子里。