人生算法:解决人生难题的三种思路
李亮
讲述:丁婵大小:2.17M时长:04:46
本文授权转载自微信公众号“开智学堂”(ID:openmindclub)。
人生算法,解决着三种人生难题,一是问题明确,如何解决?二是有大概方向,如何前进?三是目标不明确,当下如何做?本文从算法视角谈了谈如何解决人生的种种难题,并给出了三种解决方案。
在计算机科学领域,算法是用来描述一种有限、确定、有效的并适合用计算机程序来实现的解决问题的方法。泛化一些来说,算法其实指的是在一定情况下可以实际解决问题的方法。比如说,你以交通和住宿的费用来确定旅行的行程,那么价格的排序就是旅行的算法。又比如,你用任务的重要和紧急程度来安排一天的时间,那么对于任务重要和紧急程度的排序,就是当天处理事务的算法。
这些“最小价格”“最重要”“最紧急”“最快速度“等等,无论是哪种算法,其本质都是在限定范围内寻求“最”。
同样,用算法来思考人生,本质上就是寻找在有限的时间内哪种方法可以最快且行之有效地解决当下问题。而这一点,在计算机领域有一些公认的经典算法,它们可以很有效地解决一些问题,如下。
1. 最能解决确定问题的算法——分治法
分治,顾名思义,分而治之。就是把无法着手解决的大问题首先拆分成一系列规模较小的相同或相似的问题,然后逐个解决小问题。通过解决完每个小问题来解决整体的大问题。分治法产生的子问题与原始问题相同,只是规模减小,反复使用分治的方法,可以使子问题的规模不断减小,直到大问题得到最终解决为止。
应用分治法,一般出于两个目的:一是通过分解问题,使无法着手解决的大问题变成容易解决的小问题;二是通过减小问题的规模,降低解决问题的复杂度(或计算量)。
当然,应用分治法的前提是问题明确,你知道如何拆解它能够解决问题。
2. 探寻最短解决路径的算法——动态规划
动态规划用于研究多阶段决策过程的优化问题。简单说就是在当前状态下,想要进入下一阶段,什么样的选择是最优的,而且随着状态的变化,路径也会随之发生改变。比如当你处在没有积蓄的状态时,通过业绩的增长来获得收入的增长是一个不错的选择;而当你有了一定的积蓄,职业发展也随之稳定的时候,如何使用积蓄和业余时间将决定你下一个阶段的状态。
可见,在动态规划中,每个阶段之间都有一定的递推关系,前一个阶段的结果影响着现阶段的决定。因此,运用动态规划来解决问题,你的决策需要实时调整,从当下出发,求得每个阶段的最优解。
3. 最能解决目标不清晰的算法——贪婪选择
动态规划划分了阶段,在每个阶段根据可选项进行最优化的选择。然而它是基于一个三有前提——有目标,有阶段,有路径。
但是现实生活中还有很多问题,并非这么理想。比如某个阶段的选择过多,又比如整体的目标不够清晰。这时就可以运用贪婪法(greedy algorithm),这种方法一般将求解过程分成若干个步骤,在每个步骤都应用贪心原则,选取当前状态下最好的选择(局部最有利的选择),并以此希望最后堆叠出的结果也最好。贪婪法的每次决策都只关注当下某个最优选择,不从整体上考虑其他各种可能的情况。
采用贪婪选择的优点是不用去计算每一种可能性,能够节省大量计算资源,专注于当下,也就是俗称的“摸着石头过河”。而缺点在于这无疑是一种短视行为,在大多数情况下,贪婪选择导致整体的路线看起来是一个曲折的过程,而最终的目标,可能也和我们真正想要的目标相去甚远,但是在没有更好的解决办法时,贪婪选择可以得到近似最优解。毕竟,还是过河了不是吗?

公开
同步至部落
取消
完成
0/2000
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(5)
- 最新
- 精选
- 庞小胖人生毕竟太复杂,不能简单的用算法类比吧?😳2
- 李沛欣贪心算法,短时成功,后患无穷1
- LEO很有道理,写得真好
- 风中有个肉做的人弯弯曲曲的人生路
- 加菲猫人生到处都是算法,问题、方向、如何做,分治法、动态规划、贪婪选择
收起评论