← 返回首页

结构思维

用树形、图式、节点与索引去理解世界,一种计算机式的结构思维习惯

结构思维树结构图结构计算思维

思考的时候,我会先把线性推理走在前面,这个做法像深度优先遍历。觉得无聊了,就会跳到平行的事情上去,这就变成广度优先了。在离散数学中,树是无环连通图,而图可以包含跨引用,和共享子表达式的非树依赖,如果放松单亲约束树就变成了有向无环图。专注力够的时候深度优先能发挥,资源有限的时候就广度优先。两种都会用上,用哪个取决于当时情境的第一反应。没有哪种更安心的说法。

结构会有一个起点,这个起点是根节点的位置。起点会指向动作。动作在编程语言里面,就叫函数或者方法。索引会指向动作,各种索引都列出来,放在入口里面。这个入口像建筑立面一样,设计模式中的外观模式描述了同样的结构,将内部复杂性封装在一个受控的接口后面。索引全部列举好之后,组织行动的工作就开始了。沿着这个思路来看,文章和代码在结构上是同构的。

目标明确的时候,把规划走在前头,高效地实现路径,这是很有效率的做法,而且只在目标明确的场景里好用。但目标不明确的场景里,只能把行动走在前头,不预设目标,进入探索状态。这种非目标行动在生活中比较少见。我对这种规划前置的思维也不完全满意。更自由的方式我想要的,把非目标行动的比例提高一下挺好的。计划的时间消耗可以脱离计划的束缚,成果能迫切地被看到,价值也能侧面地被创造出来。

先把前提定义清楚,再把动作执行出去,这种结构化方式逻辑上很顺。逻辑学中的实质条件式,将这一模式形式化为,如果前提满足则结论可以推进,霍尔逻辑则用前置条件、函数体、后置条件的三元组来刻画。和程序运行一样,前提准备妥当之后,函数调度出去。和写文章一样,背景铺垫足够之后,结论导出。和建建筑一样,基础打牢固之后,立面展示。这种结构思维,是认知框架的底层。

画布就像一个资源池,画画就是分配和修改资源。需要很多步,不断地添加、修改、删除,慢慢地接近完美的状态。这个迭代过程里,结构和内容会一起进化。结构变了,内容会跟着变。内容充实了,结构也可能会因此调整。双方互动的,不是单方向决定的。

参考文献