我们在社会生活和生产中,常常会遇到各种问题。若遇到简单问题,也许“想都不用想”直接就能解决。像是遇到下雨,我们会自然地撑开雨伞,以避免衣服被淋湿。但日常遇到的很多问题可能都比“下雨撑伞”更加复杂。有意无意间,我们都在尝试把这些问题先抽象为一种物理模型或数学模型,然后通过分析计算以获得解答。
现实生活中存在许多复杂的问题或现象等待我们去解答,或是从中寻找模式(pattern)。瓦伦·韦弗(Warren Weaver)于1948年在《科学与复杂性》(Science and Complexity)一书中将我们日常可能面对的种种复杂问题和相应的学科梳理成三类:
第一类:简单的问题(少变量);
第二类:无秩序且复杂的问题(无穷变量);
第三类:有秩序的复杂问题。
第一类科学(如19世纪前的传统物理学)中遇到的问题通常涉及很少的变量,通常2—4个,因此可以很容易地通过数学函数进行描述和求解,例如预测某个球体的运动结果。然而当需要计算好几百万个球体共同的运动结果,如原子的相互作用,也就是当问题存在更多的、无法预知或无穷的变量时, 第二类科学将会发挥作用。复杂问题的无秩序性可以使用统计学或概率论来解释,例如在量子力学中通过概率来解释亚原子粒子的动力学。
而第三类科学需要处理的变量个数,则介于第一和第二类之间。既不是少数变量,也不是大规模的变量,而是变量本身具有一定的数量,且互相关联,以形成一个有机的整体。如果通过传统的还原论,即将这些变量之间隔离开来进行分析,内在的关联性就会丢失。同时,统计学这种工具本身也有局限性,对于非量化、异质性的数据会显得束手无策。
第三类问题(如基因的复制模式中有哪些变量起到关键作用、该如何有效地操控经济系统中的变量来预防经济萧条、如何阐述某个建筑设计环节中的变量关系等)尽管复杂,但是韦弗认为它们其实具有一定的秩序或规律。因此第三类问题涉及了“系统”的概念。这些问题的内在系统具有一定数量的可知或不可知的变量(既不像几百万个原子那样不能控制,也不仅仅只有一两个变量)。另外这些变量之间看似相互独立,但在某些时刻它们各自的单独行为可能会累积起来造成不可预测的结果,即1+1<2或1+1>2。这类问题涉及的对象被视为一种复杂系统(Complex System)。
而在设计中的某些阶段也存在复杂系统的概念。例如在建筑设计中的形态设计问题,其中涉及的变量可能包括日照、道路、建筑类型、面积需求、绿化等,其中单是日照的计算又可能需要考虑所在地区、周围建筑之间的距离、底层窗台高度等,甚至有可能还出现其他个别的特殊因素。除了变量数量多且不确定外,这些变量之间的相互作用也不是简单的线性关系,难以通过人为的方式把它们之间的关系清晰地进行描述。
而上述也仅仅是建筑设计中常见的内部问题,来自外界的复杂性也会介入现有已知的设计架构中。肯·弗里德曼(Ken Friedman)等人为麻省理工学院出版社撰写的有关设计方法的系列丛书——《设计思维,设计理论》 (Design Thinking,Design Theory)中就提到了目前设计专业所面临的三大类挑战:
**性能挑战**(Performance Challenges):设计解决方案需要应用到现实的世界中,因此除了体现人类的需求外,设计也会对建成环境有着直接的作用。
**实质挑战**(Substantive Challenges):各领域所涉及的规模(社会、经济和工业框架)日趋庞大,导致需求、条规和约束也日趋复杂,因此在产品、结构和过程之间的界限也逐渐模糊。这些不确定性都突显了设计实践中方案收敛(优化)的重要性。
**场境挑战**(Contextual Challenges):对于上述实质挑战在设计实践中所呈现的不确定性,需要我们探索有别于以往的设计理论和研究框架。更多跨领域的人员需要介入其中来共同解决问题。因此,在解决某个问题的场景中人们将会发现其中涉及多个组织和利益关系者,同时还必须满足多个利益关系者的期望或目标,这些期望体现在各个层面,如生产、分配
和控制等。
另外,研究设计方法论的学者凯斯·多斯特(Kees Dorst)也试图概括设计中所遇到的问题性质,包括复杂、开放、动态和复杂等联系。其中设计问题的复杂度体现在问题的变量上。这些变量及其彼此之间产生复杂的关系网络可引起连锁效应,开放性导致该设计问题所涉及的领域、利益关系者的边界不明确,而问题的动态性则体现在由变量所构成的关系网络会随着时间的推移发生不可测的变化。
这些挑战意味着设计师在提出解决方案前需要考虑的不确定性越来越多,如动态的环境变化、难以预测的社会和政治难题、用户体验、商业模式和前沿技术等。不管是来自系统内部还是外界的变量,它们之间绝不是简单的线性关系。由于这些关联性难以通过人为的方式进行梳理或描述,因此可能的解决方法就是让计算机介入设计过程中。
但是计算机的介入也带来了新的问题,如对计算机性能的依赖、设计系统的合理性以及设计师的编程能力等都会影响处理设计问题的效能。例如20世纪80年代曾被寄予厚望的专家系统¹{4.1.2},这类系统大部分是基于规则(rule-based)实现的,规则的设计可以依靠人的知识,也可以通过机器学习方法从数据中推理得到。如果数据足够多、足够优质,并且计算机性能足以支撑运行大型的机器学习算法,那么通过后者得到的规则往往比前者更有效。然而,当时数据是缺失的,计算机的存储、计算能力也存在较大的局限,因而专家系统在棋类竞技、医学等少数几个领域风靡一时之后,很快就在其他领域以及更复杂的问题上凸显其局限性。基于案例的(case-based)专家系统确实可能可以协助人类将问题进行收敛,不过当它遇到矛盾、需要人类重新评估设计目标时,也不得不将问题抛回给人类专家。
此外,追求科学且严谨的设计过程看似前程似锦,然而当时就有人质疑这种方式,甚至是原来的拥护者也对此提出疑虑。有人认为理性的设计流程容易让设计师服从于教条式的设计规则,如机器般地进行设计;有人怀疑规划和设计这类棘手问题不能简单地通过“计算”来有效地解决;有人认为需要考虑更多人性的直觉因素。可是单就编程实现“计算”过程解决问题就已经非常考验计算机专业人员的编程能力,更何况是“直觉因素”如此高度抽象的概念。
随着时间的推移,针对这些问题的疑虑可能逐渐弱化。例如早期对计算机能力局限的疑虑,随着计算机硬件的性能提升和软件算法的优化得以逐渐消减。另外,虽然早期系统性的设计方法遇到瓶颈,但后继者不断优化前人的设计理论,使得设计方法的相关理论得以不断迭代。学者们尝试使用更为抽象的词汇来描述设计方法,或采用更贴近人类直觉的设计要素,以避免设计师陷入如机器般的设计套路。而至于这些抽象的直觉因素,或是难以被人为编码的问题,有可能在本世纪因人工智能的发展而得到解决。