半面创新:创新的可计算学说
上QQ阅读APP看书,第一时间看更新

第1章 小元素架构大世界:最小原子构件的自由组合

半面创新思想:我相信,创新创造的多样性和复杂性是采用一组最小集合的原子构件通过组合操作拼装实现,并在环境中通过试错、反馈修改而修成正果。

半面创新思想用编程语言概述,即

不妨从IT学科的初始设计出发进行推演,即软件与计算机是如何定义并架构出了多元的现实世界?然后再由此推广到适合各行各业的一般的创新创造方法。

架构或仿真世界的过程,一般而言,是先由若干大师发明了编程语言,如尼古拉斯·沃思的Pascal语言,丹尼斯·里奇的C语言,比雅尼·斯特劳斯特鲁普的C++,詹姆斯·高斯林的Java等,而编程语言仅提供最小的原子构件,如赋值、条件判断、循环迭代等基础语句。工程师运用原子构件“编程”,即按一定的逻辑进行设计、架构、排列、组合,即可仿真或创造出多姿多彩的世界。这就是原子构件的最小性、简单性与大千世界的多样性、复杂性的对立统一。

编程语言一般有三十多条语句,最小原子构件是三句,即赋值、条件判断(if-then)和循环迭代(do-while),Java新增了反射(reflection),从而能动态地感知环境并自我调整。自序所引《组诗·青春赋值Debug World》之《七律·“Hello World”》,是将宇宙人生以上述四大原子构件进行仿真,将自由意志赋初值去修正这个尚未达到至真、至善、至美的世界。

操作系统与各类平台亦然。最初微软DOS通过int 21、视窗通过Win 32应用编程接口(Application Programming Interface,API),各类互联网平台如App Store、安卓系统、Facebook、微信小程序等公开自己的API/SD K[3]等原子构件或组合操作接口,工程师则在此之上架构自己的生态世界,创造出各式各样的新物种。

这个思想就是冯·诺依曼最初的设计理想[1]

●将操作分为“基本操作”和“复杂操作”两类,前者只有少量的、固定的几种,后者则灵活多样。

●将“基本操作”通过适当组合且与一定的反馈方法结合起来,就能构成“复杂操作”。

●用计算机求解一个复杂问题,需要先对这个问题编出“程序”,即为解决这个问题而构造“复杂操作”集合,而它必须用各个“基本操作”的组合来表示,而实现给定的“复杂操作”的“基本操作”的组合不一定唯一,效率也可能有别。

从系统论视角而言,世界就是“系统—子系统—要素”的三层架构,其中:“要素”为“基本操作”;“子系统”为“复杂操作”;“系统”则是待解问题域,通过架构或仿真来模拟逼近。

语言是世界的边界,计算机语言如此,人类语言也是如此。虽然汉字有八万多个,但拆解成“原子构件”只有六个:点、横、竖、撇、捺、折,这六个“原子构件”就是“基本操作”,而偏旁部首是由“基本操作”构造出来的“复杂操作”,于是整个汉语世界就通过“组合”偏旁部首被构造出来,“反馈”机制则是通过几千年读写实践筛选出了6000多个常用字。英文亦然,26个字母的“原子构件”为“基本操作”,通过字根的“复杂操作”,最后构造出了整个英语世界。

这种软件定义世界的思想,源于古希腊哲学家德谟克利特的原子论,即世界万物是由不可再分的原子组成的。近代道尔顿基于该理论率先创立了原子说。此后,门捷列夫总结出包含100多种化学元素的元素周期表,这些元素正是整个物质世界的原子构件,原子构件这些“基本操作”通过化合、混合、复合、综合、叠加、重组等“复杂操作”形成分子,再由分子构成缤纷万物。

同理,有机生命亦然。基因是生命的“原子构件”,它组合成器官、组织等“复杂操作”的子系统,最后多彩的生命系统得以在组合与反馈中涌现。反馈相当于进化论中环境的自然选择,即由基因组合而生成的生命这款“产品”通过现实环境的反馈机制实现优胜劣汰。

如同生命进化的“自然选择”,创新创造亦然。创新出的产品或产品属性之所以在市场上获得成功,是因为反馈机制即商业环境的“社会选择”。

总之,计算学科、人类语言、宇宙万物、智能生命,其底层逻辑是同源的,都是由一组最小集合的原子构件通过组合拼装以实现复杂性,如此方能达到最小性、简单性与多样性、复杂性的对立统一,见表1-1中的总结。

表1-1 大道至简:“半面创新”思想与宇宙人生

简言之,半面创新思想就是由最小原子构件的自由组合,并在环境中通过试错、反馈修改得以实现。

本章参考文献

[1]〔美〕冯·诺依曼.计算机与人脑[M].北京:北京大学出版社,2010:4-5.