写点什么

算法人生(3):从“贪心算法”看“战胜拖延”(完美主义版)

作者:养心进行时
  • 2024-05-09
    江苏
  • 本文字数:2679 字

    阅读完需:约 9 分钟

现代人拖延产生的原因有很多,比如因为害怕失败而拖延,觉得要做的事情没有意思而拖延,不想走出“舒适区”而拖延等等, 今天我们要针对一个常见的原因 完美主义倾向” 而产生的拖延来看,如何从“贪心算法”的思路中找到些启发。


贪心算法简介


贪心算法是一种在解决问题时采用的一种“局部最优”的策略,它是基于“假设每一次决策都是最优的,那么所有的局部最优解能够叠加组合成全局最优解” 的思想。它的基本特征是 “每一步都做出在当前状态下看似最优的选择”, 不考虑未来的决策会对当前的决策产生什么样的影响,也就是说贪心算法在解决问题时只着眼于当前决策所能见到的最优效果, 不用考虑其他的因素。

贪心算法的步骤大致如下:

  • 定义问题的最优子结构: 问题的最优解是通过一系列子问题的最优解组合而成的,而每个子问题相对于原问题来说是规模更小的版本。

  • 确定贪心选择准则: 设计一个贪心策略,即在每一步决策时选择最优的候选解,即在当前状态下,无论后续决策如何,当前决策都是最优的。

  • 构造贪心算法:

  • 初始化问题的初始状态或数据结构。

  • 根据贪心选择准则,从当前状态出发,做出第一个贪心决策。

  • 更新状态,进入下一个决策阶段。

  • 重复第二步和第三步,直至达到问题的终结条件或满足解决方案的要求。

  • 输出解: 通过贪心选择过程得到的最终状态即为贪心算法给出的解。

  • 验证解的有效性: 验证所得的解确实是原问题的全局最优解。

  • 在上述步骤中,贪心算法的思想中还有两个特点值得我们关注:

  • 设定合理目标: 在使用贪心算法时,它会定义一个明确且可度量的目标函数,并确保这个目标函数能够在每一步骤中通过局部最优决策来逼近全局最优。这个过程就类似于是在解决问题时,它会制定一套规则或准则,该规则能在每个阶段独立地确定最佳决策,这些决策累加起来期望能构成全局上的有效解决方案。贪心算法在设定目标时有着明确性、合理性、​量化性的特点。

  • 追求良好而非全局最优: 贪心算法并不保证一定能找到全局最优解,尤其当问题不满足贪心选择性质或者最优子结构条件时。在这种情况下,贪心策略倾向于寻找一种可以快速计算得出的“满意解”或“近似最优解”。它强调的是在有限的计算资源和时间约束下,通过步步为营的方式尽可能接近最优状态,而不是穷尽所有可能性去探索绝对的最佳结果。 举例来说,在霍夫曼编码中,虽然每次合并最小频率节点构建新的字符编码,这个策略无法保证生成的编码一定是最优的,但它确实能快速生成非常有效的前缀编码,从而极大地压缩了数据。即使最终编码方案不是严格意义上的全局最优,但也在实际应用中也有非常出色的表现。

  • 总的来说,贪心算法的精神实质上就是基于现实条件下的实用主义,它体现了在复杂问题面前如何通过步步优选,逐步逼近理想状态的智慧,同时也提醒我们在处理一些复杂的优化问题时,有时也需要适当地调整对目标的设定,可以从追求理论上的全局最优转向寻找实际可行的良好解。这种思想也体现了对“时间价值”和“机会稍纵即逝”的深刻理解。


对“完美主义”产生的拖延启发


完美主义者对于结果有着高标准要求和对于细节的极度关注,虽然完美主义在某些情况下能够带来卓越的成就,但在很多时候,这种追求完美的心态也会成为前进道路上的绊脚石,是造成我们拖延的重要原因,它对个人生活的影响主要表现在:


  • 高标准与严格要求:他们对自己设定了极高的标准,任何不符合这些标准的部分都可能被认为是失败的,从而增加了拖延的可能性;

  • 过分关注细节:他们对细节的过度关注让他们花费了大量的时间进行过度的修改和完善,从而忽略了任务的整体目标和重要性,导致任务的延迟完成,影响效率;

  • 压力与焦虑:对完美的追求和对细节的过分关注会给个人带来巨大的压力和焦虑,常常对自己进行严厉的自我批评,这可能导致情绪低落和动力下降,进一步加重拖延;

  • 时间管理困难:由于对细节的过分关注,他们可能在时间管理上遇到困难,无法合理分配时间来完成任务。


解决思路


  • 接受不完美: 首先要认识到完美是不存在的,每个人都有自己的优点和不足。接受自己的不完美是战胜拖延症的第一步。尝试将注意力从追求完美转移到完成任务本身,把每一个小步骤都视为一个学习和成长的机会。

  • 设定合理的目标和预期: 合理的目标设置是战胜完美主义拖延的关键。我们应该设定一些既有挑战性,又在自己能力范围内的目标,这样既能保持动力,又不会因为目标过高而感到沮丧。 我们常在游戏设计里听到“心流”这个词,心流产生的条件之一就是​:目标有一定的挑战性,但又不是太过于脱离实际的目标,是那种“垫一垫脚”就可以达到的目标,这样的目标才能让人进入心流,而做事时是否能产生心流又是能否发挥人类潜能的关键因素。同时,明确的目标也是进入心流的关键,就像贪心算法中会设定一个明确且​可量化的目标函数一样。

  • 追求良好,效果优先: 我们所拥有的时间,精力甚至热情都是有限的,我们需要接受让步,思考我们真正想要的东西和目前的限制条件是什么, 我们只有在某些事情上接受一般甚至是糟糕的结果,才有足够的精力和资源在更重要的事情上追求更好的结果。

  • 培养时间管理技巧: 制定一个合理的时间表,为每项任务分配固定的时间,设置截止时间。既要避免在时间压力下匆忙赶工,也要防止因过分追求完美而陷入无休止的修改中。



举个例子


马丽,一名互联网分析师,每次老板让他调研分析报告的时候,她总是会比预期的时间晚几天交,因为她总觉得自己还需要多找点资料,多补充点论据,论点,这样分析报告才更有价值。 多找资料来为调研报告提供论据自然无可厚非,但是如果已经过了大家要讨论报告的时间,大家已经做了决策,这时候才提上来调研报告给大家看已经晚了。在没有她这份报告的情况下,各部门的工作已经都被分配好并开始执行了,即便再好的调研报告这时候也没有起到它应有的作用了。有时即便她的报告及时赶上了要讨论的时间点,但也因为部分内容没有来得及收集数据,而部分内容又做了非常细致的分析,导致她的报告中的内容质量参差不齐。


在认识到这是自己的“完美主义”作祟时,马丽开始调整自己的心态,对调研时的效率重视起来。在后来的调研中,她先给自己要调研的内容大概能分析到什么程度做了合乎现实的预估。 然后,她将要调研的内容进行了分类,哪些内容要多花时间去收集材料,哪些可以少分配些时间,她还为每个部分的内容设定了最晚完成的时间。 经过一段时间的努力,玛丽逐渐克服了拖延症,调研报告的产出效率和质量也都有了提升。


完美主义和细节控虽然让我们在追求卓越的道路上能产出高质量的结果,但在如果因此而产生了拖延,那我们也需要学会适度放松,接受不完美,设定合理的目标,这样我们才能更有效率地完成每个当下应该完成的任务。

发布于: 刚刚阅读数: 4
用户头像

还未添加个人签名 2020-08-24 加入

15年+互联网产品人,To B 和 To C,大厂 和 创业,国内 和 海外 爱好东方儒释道 & 西方哲思研究,专注在IT人的个人成长,公众号【养心进行时】,全网同名!

评论

发布
暂无评论
算法人生(3):从“贪心算法”看“战胜拖延”(完美主义版)_算法_养心进行时_InfoQ写作社区