2.2.1 抽象

“计算作为一门学科”报告认为:抽象、理论和设计是我们从事本领域工作的3种主要形态(Paradigm)或称文化方式,它提供了我们定义学科的条件。第一个学科形态就是抽象,抽象源于实验科学。在科学技术方法论中,科学抽象是指在思维中对同类事物去除其现象的次要方面,抽取其共同的、主要的方面,从而做到从个别中把握一般,从现象中把握本质的认知过程和思维方法。科学抽象研究方面包括两个:其一是对现实世界的问题建立抽象化概念模型的方法,其二是用统一的符号化、图形化语言对问题进行描述的方法。科学抽象的成果有:科学概念、科学符号、思想模型等内容。按客观现象的研究过程,抽象形态包括以下4个步骤的内容:形成假设;构造模型并做出预测;设计实验并收集数据;对结果进行分析。

抽象的根本目的在于发现并抓住问题的本质,达到简化问题解决过程的目的。现实世界问题包含的信息在广度上和深度上都是海量的,然而在不同的问题解决领域,这些信息并不都是相关的,如果在解决问题的过程中将与问题本身不相关的信息加以考虑,则必定会增加问题求解的难度。而抽象的过程就是:理解问题的领域,分析哪些信息是与问题领域相关的,哪些是无关的,进而将无关信息剥离出去,只留下与问题本身相关的有用信息,并用一种统一的文字、符号或图形化语言将结果表述出来,在抽象程度逐渐加深的过程中,问题的本质也会越来越清晰。

图2-2展示了对一辆汽车进行抽象的过程。左上的图片中是现实世界中的汽车,它包含了非常多的细节、海量的信息,从车身、底盘、悬架,到传动系统、电路、发动机每个部分都经过复杂的设计和组装才能使汽车从零散的零件变成人类最密切的交通工具。但我们在对汽车进行研究时,并不是全部的细节都需要考虑,例如我们只想研究汽车的外形结构,那内饰如何设计显然是与问题无关的,类似的无关信息都可以通过抽象一层层忽略掉,最终只留下右下图显示的那样,用几个简单的线条将汽车的车身勾勒出来,便达到了研究的目的。然而同样是汽车,如果要研究的是它的传动系统是如何工作的,则图2-2所示的抽象过程就不再适合了,因为它没有抓住问题的本质。

抽象既与现实相关,也与人的经验相关,是对现实原型的理想化建模。尽管理想化后问题模型与现实事物有了质的区别,但问题模型总是现实事物的概念化表示,具有现实背景,从严格意义上来说还是粗糙的、近似的,因此要实现对事物本质的认识,还必须通过经验与理性相结合。另外,根据解决问题层面的不同,抽象也分成不同层次,例如要理解问题,需要在逻辑层面上进行抽象,然而要在计算机中将问题表示出来,则还需要在机器层面进行抽象,往往在实际解决问题的过程当中,都要进行多层抽象。

图2-2 抽象化

总结来说,抽象是简化复杂的现实问题的途径,它可以为具体问题找到最恰当的类定义,并且可以在最恰当的继承级别解释问题,它可以忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中与解决问题相关的一部分,而忽略暂时不用部分细节。抽象包括两个方面:一是过程抽象,二是数据抽象。抽象作为识别基本行为和消除不相关的和烦琐的细节的过程,允许相关人员专注于解决一个问题考虑有关细节而不考虑不相关的较低级别的细节。