多项选择题
系统科学方法针对的是复杂性问题,而复杂性又是相对于人的能力而言的。要理解软件开发的复杂性和困难,就有必要先了解“人固有能力的局限性,以及使用工具后产生的力量“。下列哪些选项支撑这个观点?()
A.就体力而言,例如,目前跳高的世界纪录是2.45m(1993年,古巴人哈维尔·索托马约尔创造),而对一个普通的成年人来说,要想跳过1m的高度并不困难。现在,如果我们借鉴在算法复杂性分析中的“大O”表示,那么,显然,世界冠军与我们一般的成年人相比,其体力处在同一个数量级。
B.就脑力而言,要说人的能力处在同一个数量级更是让人难以接受。然而,如果能像体育运动那样明确比赛规则的话,就不得不接受人固有的脑力也处在同一个数量级的事实。比如,1加2加3一直加到N,规定必须一步一步相加,当N确定时,人们所花费的时间不会相差太多,更一般的,当用同一个算法解决同一个问题时,不同的人所花费的时间大致在一个数量级之中。换言之,在这种意义上,人的脑力处于同一个数量级。
C.既然人的体力和脑力极其有限,人固有的体力和脑力又处在同一个数量级上,那又如何解释人类在认知和改造客观世界中所产生的巨大力量?答案在于,依靠工具,人既能够创造工具又能够使用工具。
D.尽管人还未能跳过2.45m的高度,计算的速度也不快(智力本质上可以看作是一个认知过程,就时间而言,所有的智力过程都是不可逆的、确定的计算过程,也就是一种计算)。然而,若使用有形的工具,如飞机,人就可以飞得很高;使用无形的工具,如数学理论,就可以在较短的时间内解决一些复杂的计算问题。