思考与感悟|人生快乐法则:贪心算法
算法就是解决问题的方法。
计算机算法里两个非常著名的算法,分别是”动态规划算法”和”贪心算法”,它们的思想都都是通过分治法,求一个大问题的最优解。主要过程就是,将一个大问题的最优解。主要过程就是,将一个大问题分解成许多小问题,分别求每个子问题的局部最优解,分而治之,最终合成大问题的最优解。
“动态规划”的理念是反复回头,也就是说,我们分解的小问题之间存在关联性,在一个子问题上得到最优解,也许会在下一个子问题上得到的最优解,也许会在下一个子问题上被证伪,那么这个算法就会返回去,修改上一个子问题的选择。在这种理念下,获得的将是”全局的绝对最优解”
而”贪心算法”则恰恰相反,它的理念是”有便宜就占,绝不回头”,也就是在每个子问题上取最优解,直到所有子问题被处理完,再合成大问题的最优解,过程中不会回头修改任何已经计算过子问题的解。这些理念下,获得的将是”局部的相对最优解”。
我不知道我形容的够不够清楚,我个人是非常喜欢贪心算法的,首先是因为用它写程序很简单(是真的!),其次是,贪心算法也是我的生活中实用的快乐法则。
在我看来,每个人的人生是由无数个子问题构成的,我们需要在无数个小的路口做出我们认为对的选择,但是生活无法回头,即使人生中的某个选择、某段时间在将来被证伪,我们也无法从头来过,所以人生不会是”动态规划”,没有人可以穿越回去修改过去的选择,从而获得”全局的绝对最优解”
事实是,生活其实就是在每个当下已知的条件下做当下的最优选择,也就是我们每天都在做”贪心算法”。想明白这一点对我的改变在于,我不再抱怨”要是之前好好学就好了”,”要是选另一个专业就好了”,”要是…就好了”,也不再害怕,”如果我考研,我会后悔吗?”
因为我知道我永远只能基于[当下的认知水平]做我认为最利于当下的选择,而且我相信,人们所谓的那些成功的人生,都不过是无数个当下最优解的总和,而不是所有全局理想解的和。不完美是人生的常态,我能做到的,只有不埋怨现状,不害怕未来,尽量不断做出我认为对的选择。
由此产生的,我为了防止自己焦虑、不断预演产生的无意义的内耗,我树立了一个观念,那就是:”我只能让一个小时后的我自己不后悔”。也就是,我只需要需要未来的一个小时,让自己在接下来的一个小时里做我认为我应该做的事,那就够了,我清楚地认识到我没有能力改变过去,也没有能力预见未来,我只能把握这一个小时,我的人生就是由这样的无数个一小时组成的,我在每个一小时里选择局部最优解,就够了。
如果你累了,你就闭上眼睛思考你不”贪心”的结果,你哭嚷着不能接受,于是你请求得到另一个机会,此时你睁开眼,这就是你的另一个机会,你的算法就此开始。不要将自己困囿于过去的错误中,也不要惧怕未来,抓住每一个小时做贪心算法吧。
Comments NOTHING