1704813960
我们要成长,就要做好心理准备:在解一类很难的问题时,是要消耗大量资源的。
1704813961
1704813962
计算机理论里面有一个概念叫“NP完全问题”,是指一类很难的问题。为了便于大家理解,我不打算用特别专业的术语介绍,而用一些简单的概念,这或许会影响准确性。所以专业人士暂且容忍部分失真,我也是计算机专业人士,为了表达效果,我也要忍着。
1704813963
1704813964
生活中有一些很明确简单的问题,比如我要去买瓶水,出家门找个商店,就可以搞定。这些是可以用明确步骤、在确定时间内完成的问题,计算机理论里叫“P问题”。
1704813965
1704813966
还有一些问题,一旦解开,再回头看会感觉很容易,一目了然。这类问题“求解困难”,但验证却很容易,叫“验证容易”。“求解困难”的意思是,我们往前走的时候,往往不知道哪条路径可行,于是不停地尝试;“验证容易”可以理解为,一旦有人拿出一个“解”,你很容易就验证这个“解”是否靠谱。
1704813967
1704813968
举几个例子:现在很多“成功人士”,倾向于说当时的选择很对,这叫“验证容易”,但是在选择的时候有多大把握,其实自己未必清楚,这叫“求解困难”。阿里巴巴现在是个大企业,于是你想加入,这叫“验证容易”,但是十年前创业时让你选择是否加入,未必所有人能想明白,这叫“求解困难”;中学的时候你可能会觉得解方程需要各种演算,很费劲,这叫“求解困难”,而验证方程的根是否正确,只要代入验算即可,这叫“验证容易”。
1704813969
1704813970
计算机理论里也有这一类问题,叫“NP问题”。
1704813971
1704813972
还有一类难度很高的问题,就是前文提到的“NP完全问题”。这一类问题有一个特点,就是问题之间是可以相互转换的。相互转换的意思是,如果你能解出其中一个问题,那你就能解出其中的所有问题。注意这里的“解出”是指“有效率”地解出,不是一个一个地去尝试。
1704813973
1704813974
比如旅行商问题(TSP问题,Travelling Salesman Problem),就是一个NP完全问题。假设有一个旅行商人拜访N个城市,要选择一条最短的线路,每个城市只能拜访一次,而且最后要回到原来出发的城市。
1704813975
1704813976
如果我说要去三个城市,那你口算就能得到结果。但是在许多问题抽象成模式后,会出现上亿个“城市”,那计算机就没有一个有效的解法。当然一条一条试,可能会试出来,但是这个代价太大,计算量爆炸。
1704813977
1704813978
科学家已经证明,这个问题和其他一些同样很难的问题是可以相互转换的。如果你能解这个TSP问题,那你就能同时解背包问题,3SAT问题(名词暂不解释了,有兴趣可阅读文末参考链接),等等。
1704813979
1704813980
针对NP完全问题,目前尚无有效的最优解法。虽然无法找到最佳的答案,但是有方法不断接近最佳答案。比如有一种“启发式算法”,就是在寻找答案的时候,每一步都尽量选择一个较优的答案。
1704813981
1704813982
其实我们的成长问题也是如此。在面对未来的时候,我们未必知道最优解。同时时间是不可逆的,选择不可回溯,但是我们可以根据一定的原则,尽量选择一个较优的解法。假使我们能解出一个这样的难题,我相信,成长中的其他难题,也可以迎刃而解。
1704813983
1704813984
那成长中会出现什么样的NP完全问题呢?我在这里列举几个,如果你能解其中的一个,相信其他的问题也会破解。
1704813985
1704813986
三阶以上(1000天以上)持续行动的问题
1704813987
1704813988
提前行动,重要事情不拖延的问题
1704813989
1704813990
理性对待金钱和时间的态度问题
1704813991
1704813992
遇到事情主动承担责任的问题
1704813993
1704813994
不管自己是否喜欢,把手头的事情做好的问题
1704813995
1704813996
……
1704813997
1704813998
以我个人持续行动的经验来总结,如果你能在解决以上任意一个问题的过程中,下足够的功夫,做得足够好,那你会很容易把其他问题也一并解决了。
1704813999
1704814000
当然如果你对计算机理论感兴趣的话,可以了解一下下方的链接。用姚期智先生的话来说,“这才是真正的计算机科学”。
1704814001
1704814002
https://en.wikipedia.org/wiki/NP-completeness
1704814003
1704814004
https://en.wikipedia.org/wiki/Theoretical_computer_science
1704814005
1704814006
(本文文章编号880,首发于2016年6月15日,修订于2016年11月18日)
1704814007
1704814008
1704814009
[
上一页 ]
[ :1.70481396e+09 ]
[
下一页 ]