基本思维篇--简化思维

基本思维篇--简化思维

简化思维相比与其他的五个基本思维元素而言,工具性更强。人的主观对客观世界的认知一定存在着片面的特点,对客观的认知一定是对部分客观现象的捕获与认知,从这个角度来看是被动的;如果可以把这个被动看成是一种主动,进而抽象为一种思维,则可以抽象为简化思维。这样对客观认知的局部性就映射成为是思维对客观的简化性。

在简化思维中有一个哲学术语叫“奥卡姆剃刀”,概括来讲就是:“如无必要,勿增实体”。如果把这句话从另一个角度理解就可以是:如有必要,可“删”实体。简化部分就是围绕着这点展开的。人的大脑善于处理单一的、比较简单的事物,因此善于使用简化思维,会使解决问题的能力大大增强

这里探讨的简化思维是探讨在客观事物已经确定,而主体人在对待这些事物或理解这些概念时采用的一种思维方式,而不是在探讨世界的本来面貌是复杂还是简单,更不是在探讨真理是复杂的还是简单的这样比较深层的话题。其实这里更关注的是通过什么样的手段可以把一些复杂的问题简单化,从而更容易让主体的人接受。

核心与方面

相比于其他的基本思维元素,简化思维带有很强的工具性,简化思维是对主观认知与客观现实间一种相互关系的认知。客观是无法改变的,但我们可以通过引入一些主观可控的认知来“改变”客观,进而实现主观对客观的简化认知。简化思维通过引入一定的假设来换取探讨对象的简化。简化思维的核心是减少对象

简化思维的核心是减少对象。这里的对象,可以是形象的实体,也可以是抽象的概念。简化思维就是思考如何通过减少要面对的对象来使主体更好地处理一下事务。如果把这个核心再从对象的形象和抽象两个方面来划分,还可以在分为:简单化和结构化。通过简化思维,可以在一定程度上减轻主观负担,使人更好地解决问题。

简单化

简单化很容易理解,就是直接减少要面对的对象,是直接的简化。对象减少了,人很容易就可以驾驭了,形象的表达就是“眼不见心不烦”。简单化是直接的简化,也是最容易理解和使用的简化思维。简单化可以选择忽略,可以选择单个,也可以选择放大和缩小。在上面提到的由于人的认知局限而造成的对客观世界的认知片面就可以转换对这里的简单化,即人认知的那部分仅仅是经过人简单化处理后的局部。

结构化

结构化是通过对原对象进行思维加工(抽象),使之在整体上简化,是间接的简化。如果仅仅从操作上讲,并没有简化而且是复杂了,但从结果上讲,是大大简化了。结构化就是把实体按特定的联系来划分,可以是分层,也可以是分块,还可以是归纳等其他的方法,最后使要面对的N个杂乱对象变成是M个有结构的类型,其中M要远小于N。这样面对的对象个数由原来的N就减小到M,从而实现了简化。结构化的过程就像是当面对一团乱麻时,你首先会把这团N根乱麻梳理成M个麻线球,然后再处理这些麻线球,这样是不是就简单了很多?

总的来讲,无论是简单化还是结构化,都是一个出发点:减少面对的对象,因此简化思维的核心是减少对象,两个不同的方面是简单化和结构化

本质

简化的本质其实就是引入一定的假设,然后根据这个假设来得出一些近似的结论。因此简化后的对象不再是原有的对象。简化思维本质上讲是一种变换,是一种基于思维的材料加工,这就是简化思维的实质。其实在工程中,可以形象地描述这一实质的例子就是非线性的线性化。线性化的过程就是简化的过程,就是通过引入曲线在一定范围中可以近似看成是直线这个假设,而使问题变得简单的。

无论是简单化还是结构化,其结果都是由最初的材料经过处理而得出的。对于简单化,引入的假设可以是一般由特殊归纳而成,因此可以用特殊来考察和理解一般(对于降维),也可以是主要矛盾对问题影响要远大于次要矛盾(对于突出与掩盖);对于结构化,引入的假设是这些“杂乱”的对象是按照自己提出的这个结构组织的。因此,总的来说,简化思维就是利用一些“合理”的假设来达到人为的简化,是对对象的思维加工过程

通过前面对问题产生的探讨可以知道,人为增加前提是造成错误的根本来源,因此简化思维的隐患就来源于这些假设。对于这些假设,如果这些假设提出是明确的、与客观世界相符的,那么简化过程得到的简化结果就是可信的,就是真实简化的;如果这些假设并不是明确的,而是主体所不知道的,甚至是与客观事实相违背的,那么得出的简化结果就存在问题。人对客观世界的错误认识可以看成是由于主观不明确的假设且与客观相冲突而造成的。

应用的原则

简化思维在应用上应遵循一定的原则,否则就会造成一些问题。这些原则是围绕上面提到的简化思维的核心和本质展开的。

(1)必要性原则。简化思维的本质是利用假设来换取简单,因此简化思维的首要原则就是必要原则。简化是以假设的引入为代价的,过分地简化只会更多地引入假设,如果这些假设对于问题的解决没有必要性,或必要性很低,则这样的简化只会带来错误,不会有助于简化。就像“奥卡姆剃刀”里提出的如无必要,勿增实体一样,在简化中,如果简化对结果不是必要的,就不要进行“简化”。

如果把简化思维夸张点表达就好比是饮鸩止渴,如果不是渴到不行,就不要喝它。当然这个比喻有点夸张,但可以充分表现出简化思维的必要性原则。

(2)明确原则。明确原则也是针对假设而限定的。明确是指在简化过程中,假设明确,简化条理清晰,即简化过程对于主观来讲是明确的,这样简化后的结果就是是可控的。即使由于简化而出现了问题,这个问题也很快会被找到。就像电子工程师在观测信号时连示波器的使用都不明确,敢问他测出的信号的指标你会相信吗?简化思维是思维中的工具,同样也如此。

简化思维的手段

上面也提到简化思维可以分为两个大的方面:简单化和结构化。因此其手段也可以分为这两个方向。简化思维常用的几种手段:降维、突出与掩盖、极限、分层与分块、归类。其中,可以把降维、突出与掩盖、极限归纳为简单化;分层、分块、归类归纳为结构化。下面就对这些手段进行探讨。

突出与掩盖

突出与掩盖应该是最常用,也是最好理解的简单化手段了。突出与掩盖的另一个表达是放大与缩小,突出与掩盖其实就是把要关注的主要对象进行放大处理,而不关注的次要对象进行缩小处理。这一点在前面的文章中也做过一些介绍。突出与掩盖的极限就是只关注主要矛盾,无视次要矛盾。该手段在工程中应用广泛,工程师也对它非常熟知,如某位电子工程师会经常说:“先假设信号是无噪声的,那么该信号从这里进入系统,出来后应该是……的”。这里假设信号是无噪声的就是一种掩盖,把本来应该有的噪声,人为地视而不见。

在分解中会非常频繁地应用简化思维。分解的目的就是要逐个研究和解决,因此分解完后就不要老想着别的元素怎么地,重点要都放在感兴趣的部分,突出这些元素,其他关系不大的元素就先掩盖起来。这样眼不见心不烦,可以把精力集中在刀刃上。

在控制领域,比较常用的一种策略是状态机,把一个过程分解为不同的状态,明确状态转移的条件,这样在对状态进行操作时就只关心当前的状态的操作、状态转移条件是否满足,转换的下一状态是哪个就可以了。状态机的思想就是典型的分解简化思想,把当前状态相关的信息(当前状态、下一状态、转换条件)进行突出,而掩盖掉其他时候的状态,这样在构建系统时就相对比较简单。状态机的数学抽象是马尔科夫过程。这个模型非常有效,在后面的思维模型中会对状态机思维模型进行专门探讨。

突出与掩盖可以很好地简化要面对的问题,很快找到问题所在,但这样做也是有风险的,那就是你选取的主要对象和次要对象是对的。如果你假设这个对象是次要对象而进行了忽略,但实际上它并不是次要对象,那么这样的简化会带来复杂的提升,带来很多的错误。有时候在掩盖的时候会把一些本不应该掩盖的线索掩盖掉,而导致出现错误,这一点是要牢记的,毕竟掩盖只是一种分析手段,本质上被掩盖的元素是存在的。

二元化

二元化其实是对突出与掩盖的一种应用,但由于应用太广泛,而且比较容易使人忽略是简化思维,因此单独拿出来讲讲。二元不仅仅指分为两个方面,而是指把过渡与细节进行忽略,而选择极端出的特性。可以分为三个,或其他个,但通常会分两个

在生活中我们通常会下意识地进行突出与掩盖的使用。比如我们习惯使用“二元”来对众多主客观对象进行划分。比如好与坏、善于恶、真与假等。而且我们在应用是往往不会觉得的是在简化,以为真实的情况就是二元的。但这些不对的,无论是主观世界还是客观世界,其实在二元间是存在联系的、渐变的、交联的过渡的,并不是那样明显、明确的分界。我们对二元化太过于相信了,以至于很多人坚决在坚持自己的对一个方面的认知,比如认为一个好人就一定没有恶的方面的。

二元化的处理,把一些过渡的细节进行掩盖与忽略,而对两端的特性进行突出。因此当在整体上看这个对象时,往往就会存在很多矛盾的地方,把二元化放到一些思维中往往就会造成无解、死循环。二元化是一种简化手段,是一种可以使问题得以简化,也可以使问题得以“复杂”的手段,这一点要注意。

降维

降维也是比较常用的简化思维手段了。例如前面提到的举特例、化动为静、控制变量法、线性化等等都是降维的实例。降维其实就是把抽象性的一系列对象中的某一个拿出来来暂时取代这个抽象对象,进行分析。动态过程就是静态和时间维度组合,变动为静就是把动态过程中的时间轴去掉,以静止的视角来分析;取特例也是一样的,客体类的属性是一个维度,如果单独拿出 该类中的一个即特例,则相当于把属性维度抹去了。工程中,例如在理解信源的N次扩展时,可以先把N取1进行理解,理解好好再取2,然后在取N,这样面对的对象是比较少的,更具有特殊性,因此理解时就比较容易。再如,在理解现代控制论中的状态方程时,可以把复杂的矩阵降维成以一维的常数和变量来理解,把解矩阵形式的微分方程转换为一般形式的微分方程来理解,这样由特殊到一般就好理解了。再如把非线性问题的线性化等,这些都是降维的应用。这是因为一般是由特殊构成的,一般是对一系列的特殊进行抽象获得的,因此特殊的打通了,一般的就更容易打通了。化动为静其实就是把动态过程中时间变量t取一个定值tx进行分析。

降维手段在理解抽象性比较强的理论算法时非常有效,根据自身经历,在理解一个抽象表达尤其是一个数学表达时,我首先做的就是把表达中的能取特例的都取特例来进行理解。举例子也属于降维的一个具体手段。

这种思维在生活中经常用到,只是没注意而已。如在讲到一个比较难懂的概念时,会说举个例子;在研究一个表达式时,经常会把一些无关的变量取为一些定值,而只看关注的那些变量的变化;在设计一个放大电路时,先进行直流放大的验证;在验证通信中数据收发是否正常时,刚开始都是以固定的数据进行收发,方便观测。这些都是降维思维的应用。

降维的过程中可能会由于特例的特殊性而误导,因此在使用降维手段时要注意这一点。如前面在探讨形象思维时提到的在理解水果概念时,如果举苹果为特例进行理解,则很可能会把苹果的一些特殊性掺杂其中,比如会错误理解为水果必须是球形的。

极限思维

这里的极限思维并不单纯指极端,而且也包括各种放大的思维,包含的范围更广。远超与正常的都可以称之为“极限”。例如,经常讲的的“退一万步讲”,这也可以算是极限思维。极限思维我感觉在思维方式上和突出与掩盖有点相似,但为了突出这个思维手段,就暂时把它单独拿出来说明。利用极限思维可以把要研究的对象通过无限放大而突出某些特性,从而更容易把握。

其实极限思维中有一个隐形的假设,即假设在从一般到极限的过程中是连续的,没有发生突变和间断。因此对于从一般到极限的过程中不是连续的在使用极限思维会有一些问题,这一点要明白。毕竟现实中的很多问题在一般推向极限的过程中并不是像假设的那样连续,因此就会出错。

归类

归类应该是结构化中比较常用的方法,在生活中经常用到。通过归类把一系列的对象划分为一类,这样在面对他们时就可以按相同的方式来处理,从而间接地实现了对象的减少。归类归地好,可以很大程度地降低主体的负担,从而降低复杂度

但归类也是有假设的,就是假设你进行归类产生的类是正确的。如果归类不正确,则在处理时就会产生问题。因此归类这个手段在使用中一定要保证类的正确,否则复杂度反而会增加。

分层与分块

分块和分层是结构化中最基本的部分。“一团乱麻”应该是和结构化相反的的词。“一团乱麻”的结果就是把事情搞复杂,而结构化就是要把这堆乱麻整理清楚。在把系统进行结构化后,主体面对的对象就减少了,也就简单了。通过把看似无序、杂乱的系统或客体,通过各个要素间的联系,把这些要素进行归纳,归纳为以结构存在的对象,这样在主体进行认识时就会简化不少。就像在面对一些比较复杂的程序时,如果你不对程序进行分层和分块的结构化处理,而是直接面对这个“乱麻”似的程序,想想你最先蹦出的想法是什么,应该是“这也太复杂了吧”之类的话。而在分完层次和关系后,再看看这个程序,你也许会说“也就那样吧”。

无论是归类还是分块与分层,从前期来讲并不能看出很大的简化性,反而是更复杂一些,但如果从长期来讲,结构化是简化的必经之路。其实在软件的设计中,结构化非常重要。一个有着清晰结构的大型程序好像是一个精美绝伦的艺术品,而一个杂乱无章,结构不清晰的代码,我都不想称它为程序。在软件结构方面国外有一位比较厉害的一代程序员Robert Martin,他写的《架构整洁之道》,推荐大家可以看看。

简化思维的副作用

思维是主观世界的产物,因此会有一些和客观向背的地方;简化思维作为思维的一种,也会有这样一些副作用。其实在上面的简化思维手段中,对各个手段的局限性就提出了一些探讨。下面对简化思维的副作用进行一些说明。

(1)隐含假设,潜在错误。简化的过程其实就是根据事先确定的一些假设来减少客体中对象的数量,因此如果假设选取不是很恰当,那么得出的简化结果就会有问题。其实根据守恒定律,由于简化中一定会引入假设,所以得出的结论一定会有问题,只不过是这个问题的大小是否会影响结论。如上面提到的突出与掩盖,如果刚开始对对象的主次性有错误的认识的话,误将非次要对象掩盖,这样得到结论的可信度会很低,错误性会很大。结构化其实也存在假设,就是假设你的归类是合理的,或你对“乱麻”整理的过程是对的,如果出错,那么结构化后的结构就是不可信的。因此在使用简化思维的过程中一定要明确引入的假设是什么,这样即使在出错后也可以快速发现错误的地方。

(2)存在“失真”。毕竟简化是对客观实体的思维加工,因此不可避免地会引入一些失真。举个最直观的例子就是把非线性问题线性化后,虽然简化了,但结果是不准确的。因此在简化的过程中一定要注意这个失真是否会大到影响结果,而且一定要秉承这个结果和未简化的一定存在着差别的理念。因此虽然简化可以减轻人的思维负担,但一定要对简化后的结果进行审视,不可轻信。其实现代的工程技术大部分都是基于一定的应用范围而进行假设的,因此在工程技术方面一定存在应用范围的问题,一个技术通常仅仅会解决一部分问题,并不会“通用”,往往一个技术在这个领域非常有效,到了其他领域就是一个错误,这一点,工程师要时刻注意。

只有对简化思维的副作用有所了解,才会更高效地使用该思维。在使用简化思维的时候,多提醒自己简化思维在两个方面的副作用,即明确前提,明确失真。这样才能使简化真正地简化,否则简化的后果是灾难性的

简化思维的锻炼

其实简化思维的锻炼要比前面提到的其他思维要相对容易一些。为什么这么说了,是因为复杂使人负担增加,因此人会天然地倾向于简单,因此会不自觉地应用简化思维,因此锻炼中会相对容易一些。但如果仅仅靠这点天然的倾向是远远不够的,还需要主体进行有意地引导性锻炼,要有简化的意识。

其实简化思维的锻炼过程可以看做是熟悉使用“引入假设换取简单”手法的过程,在不断地锻炼过程中,对该引入什么样的假设,引入多少假设就有了比较深的理解,这时在使用起简化思维来就比较得心应手了

(1)多整理,多归纳。这里是针对“结构化”提出的。遇到无论复杂还是简单的客体,多学会进行整理,这样会逐步养成结构化的思维体系,这样在进行结构化时就不会出现过多的错误,也不会由于整理不得当反而使问题复杂。磨刀不误砍柴工,千万不要忽视结构化带来的简单,对于一个复杂问题,结构化往往是必须要做的一步。

(2)多举例。举例是降维中最常用的方法。通过举例的锻炼,不但可以增强形象思维能力,而且也可以增强简化思维能力。当可以把举例这个方法当成家常便饭的时候,你遇到复杂的问题第一想到的方法就是举个特例看看,而不是纠结着那个复杂概念不放。举例进行简单化往往是解决复杂问题的一个突破口。

(3)多放缩。这里的放缩其实就是对应于手段中的突出与掩盖和极限思维。突出与掩盖中比较难掌握的是突出的尺度问题。如果突出太强了会过多影响到次要对象,而使结果失真严重,如果突出太弱则作用很小。因此在平时的锻炼中需要把握这个尺度,就需要锻炼放缩尺度。在不断使用放大和缩小的过程中,就逐渐学会尺度的把握了。

简化思维的举例

在学习和工作中,人们会大量地应用简化思维,只不过是没有注意,没有总结成体系罢了。这里就以学习中的一些例子来说明简化思维的应用。

“黑盒思维模式”这个思维模式就是很典型的简化思维。在黑盒思维模式中,主体并不过分关注盒子内部具体进行了什么操作,只关注盒子输入什么和输出什么。在这个思维模式中,便对盒子内部细节进行了掩盖,而对输出和输入进行了突出。这样当这个黑盒内部比较复杂,或内部就干脆无法已知时,主体就可以把关注点放在输入和输出上。例如在分析一个大型的电路图时,有一块电路比较复杂,但我知道输入是什么信号,输出是什么信号,也知道这块电路的功能是功率放大,那么这时就可以对该电路进行简化,把这块电路看成是一个黑盒,黑盒的功能就是功率放大,这样可以暂时不关注电路的具体实现,而把重点放在研究电路的其他地方。其实系统框图就是黑盒思维模的一种图形化表达。黑盒思维模式同样可以用于软件程序的分析。

再如在刚开始理解一阶电容低通和高通滤波器时,可以使用极限的方法来简化理解过程。对于低通滤波器,可以想象当信号频率非常大时,电容对于信号来说就是“导线”(阻抗非常小)这时信号就全部通过这个“导线”流到地去了,也就是信号衰减没了,从而实现了低频信号的正常通过,高频信号的衰减,从而实现了低通;对于高通滤波器,可以想象当信号频率非常低时就为直流,而电容可以阻断直流,这样来讲频率低的衰减就大,于是频率高的信号就过去了,从而实现了高通。

发布于 2020-11-01 13:12