计划是我们为了达成某个目标而设定的特定工作程序,一方面它使我们在达成这个目标上有明确的方法,另一方面也是驱动我们达成目标的重要动力源泉。
我们在日常的计划制定中,往往容易将计划与目标和方法等同。譬如,对于“戒烟”这个目标,很多人把”戒烟”或“减少吸烟法戒烟”当成计划。这样做一方面不利于计划的可执行性,更为重要的是,由于计划的随意性和模糊性,是的驱动计划的力量逐步受到人感性思维的阻碍,进而导致目标的破产。
如何制定一个好的计划?考虑到计划的一大功用是对抗我们感性大脑中的懒惰,制定计划一定是理性的过程,我们可以参考程序执行来考量计划的制定,这就是我们想讨论的事:
一、计算机如何执行一个计划
我们假设计算机是这样执行一个Plan的:
Plan()
{
do{output=work(t);
case1: output copewith1();
case2:output copewith2();
......
t=t+1;
}while(goal is finished)
}
从上面的程序我们可以总结计划应该具备的几个特点或功能。
二、计划应该包含的要素
(一)计划有明确的目标
一个明确的、可量化的目标是评价一个计划好坏的重要因素,列如“我要戒烟”和“我今天一根烟不吸”这两个目标,后一种明确量化目标给人一种确定性的判据,而不是留有一定的弹性空间来为挑战自制力提供借口,就像程序没有一个明确的终止条件(goal is finished),程序永远不会停止一样。
(二)计划要有具体产生输出的方法
这是显而易见的,就像程序里的work()函数一样,它是你完成计划的主要策略,也是整个计划的核心内容,你所指定的计划只是为了维持这个策略不断运行,直到目标达成。在这里值得强调的是:计划本身不会达成目标。影响目标实现的只有work(t),即策略本身以及时间。因此在提升效率方面,要么选择好的策略,要么投入足够的时间,这些显然只是充分条件。但是计划的好与坏对抵抗感性大脑从而维持策略运行具有重大意义。
(三)计划要有输出与目标值的对比反馈
就像程序一样,计划在每次执行完策略之后,要给一个明确的反馈值来让我们判断我们朝着目标前进还是背离目标,正向的反馈有利于我们调整策略从而达到更快收敛的条件,反向的反馈也有利于我们及时调整策略来止损。
(四)计划要求应对风险的具体措施
就像程序会出现特殊情况一样,有时候输出值不在我们正常考虑范围内,我们就要有专门的处理方式,否则我们的感性大脑很可能借此机会终止整个计划进行,这就要求我们对计划中每一个可能出现的情况都有确切的处理方式,才能保证计划顺畅执行。
(五)计划要考虑终止条件
一方面计划已经完成,但此时要考虑一点,按时序收敛的目标值可能不是最值而是极值,所以当你用两次策略后的差值作为目标终止条件时,最好在进行几个循环,以达到寻找最值得目标。另一方面,就像程序出现异常输出或是无限循环,我们要及时的保证计划能够退出。
三、结束语
无三不成篇,该表达的许多内容没有表达出来,在这里我希望小伙伴们在制定计划的时候能像编程序一样简单的走一遍,你就能体验到一个“完整程序”带来计划的完美。Try一下!!