对于大多数人来说,记住一个7位数就相当不容易了。当复杂系统的组成部分和连接数量猛增时,即便是专家也会望而生畏。我们个人的知识储备,与理解复杂系统所需要的知识相比,存在着根本性的冲突。
这就是为什么我们越来越感觉到对某些显而易见的事情却所知不多、束手无策了。
为什么复杂系统越来越难以理解了当认知局限(包含生理上的局限与社会局限)遭遇不断增强的复杂性,失控便在所难免。
在计算机科学中,“递归”(recursion)这个术语本意为自我引用,它描述了一部分需要引用回自身的计算机代码。
递归,使事物变得无限丰富。以语言为例,假设有一个规模相对较小的语言系统,它仅包含1000个动词、10000个名词,以及这样一个规则:将单词组成句子的唯一方式是“名词+动词+名词”。这种语言看似简单,但应用功能却极其强大。你可以造出10000×1000×10000个句子,也就是1000亿个句子。就算你以每10秒钟说一句话的速度,时刻不停地说,也需要3万多年才能说完所有句子。
在一个如此简单的语言体量和规则下就可以构建出如此复杂的语言系统,更何况我们传承了几千年的汉语言体系呢?
每一年、每一天都会有新的语言出现,然后被添加进这个庞大的体系中去,与既有语言层层嵌套,我们最终将缔造一个怎样庞大的通天之塔?
然而,巴别塔是不可能建成的。尽管就语法规则而言这是可行的,但是实际上,我们的大脑根本无法解析那么多层的递归。人类在处理多重任务时的效率极差,甚至远远比不上最低配置的计算机。
我们不可能在固有的基础上无限累加,我们必然有所取舍,这是人类跟计算机的不同之处:人类作为生物,比小小的计算机程序复杂得多,但是在拆解问题,并确定其合理性方面,却无法像计算机程序那样信手拈来。
事实证明,许多机器能够轻松完成的任务,人类却无法胜任,当然,反之亦然。我们的大脑只能对少数几个对象进行有效的感知,却可以对这感知做出情感化、社会化的体验与诠释。在涉及数量与规模上我们无法与机器相比,然而我们有丰富的感情和充实的人类理性。
限于认知的这一局限,在面对多重非线性变化时,我们往往会陷入不知所措。在这一变化中,一个小变化在流经一个大型互联系统时,便会导致系统以不成比例的方式发生变化,以致大脑无法很好地做出应对。
在非线性系统中,行为会受到反馈和输入放大率调制的影响(或者也可能相反:一个很大的变化只能带来一个极小的影响),这令大脑很难将输入与输出关联起来。在这种情况下,我们无法继续以线性形式进行外推。所有变量之间的互动形成了错综复杂的不规则曲线,让我们的大脑一筹莫展。正是因为大脑本身具有这样的缺陷,所以我们很难把握复杂系统,包括我们自己所构建的复杂系统。
那么,对此有没有什么方法途径可以做出适当的补救呢?
比如说大数据,大数据分析就是用特定算法对海量数据进行处理,以增强预测能力;比如说人工智能,人工智能就是输入海量的数据信息与运行规则,从而让机器学习习惯于某种算法,进而对即时信息做出相应规则下的回应。
诚然,这可以让我们稍加应对诸多庞大的系统,可是,问题却并未得到解决,甚至因此变得愈演愈烈。
当前,在进化计算领域,软件已经可以自行“进化”出问题的解决方案了,但我们对最终方案的形式几乎一无所知。
我们或许可以从中得到启发,学习某些培育进化的实践之道。
如进化计算,我们也需要借鉴生物学中的进化思想。先在计算机程序中创建一个由潜在的解决方案组成的“种群”,然后让它们自行进化,也就是让它们重新组合、变异和复制,直到最适合的解决方案脱颖而出。进化算法可以很好地实现这一过程,即使你无法理解它给出的最终解决方案,也没什么关系。
同样的,当我们将这一原则应用于生活,我们也将进化出自我问题不那么简洁却有效的方案,和不那么完美却充满意义的人生。
网友评论