你好,游客 登录
背景:
阅读新闻

一个数据挖掘大牛,用程序算法做人生选择

[日期:2014-09-18] 来源:应届生网  作者:转自陈皓博客 [字体: ]

动态规划

      但是我们知道,对于大部分的问题,贪婪法通常都不能找出最优解,因为他们一般没有测试所有可能的解。因为贪婪算法是一种短视的行为,只会跟据当前的形式做判断,也就是过早做决定,因而没法达到最佳解。

      动态规划和贪婪算法的最大不同是,贪婪算法做出选择,不能回退。动态规划则会保存以前的运算结果,并根据以前的结果对当前进行选择,有回退功能。

      动态规划算法至少告诉我们两个事:

      1)承前启后非常重要,当你准备去做遍历的时候,你的上次的经历不但能开启你以后的经历,而且还能为后面的经历所用。你的每一步都没有浪费。

      2)是否可以回退也很重要。这意思是——如果你面前有两个选择,一个是A公司一个是B公司,如果今天你错失了B公司,那到你明天还能不能找回来?

      比如说:你有两个 offer,一个是 Yahoo,一个是 Baidu,上述的第一点会让我们思考,Yahoo 和 Baidu 谁能给我们开启更大的平台?上述的第二点告诉我们,是进入 Yahoo 后如果没有选好,是否还能回退到 Baidu 公司?还是进入 Baidu 公司后能容易回退到 Yahoo 公司?

Dijkstra 最短路径

      最短路径是一个 Greedy + DP 的算法。相当经典。这个算法的大意如下:

      1)在初始化的时候,所有的结点都和我是无穷大,默认是达不到的。

      2)从离自己最近的结点开始贪婪。

      3)走过去,看看又能到达什么样的结点,计算并更新到所有目标点的距离。

      4)再贪婪与原点最短的结点,如此反复。

      这个算法给我们带来了一些这样的启示:

      有朋友和我说过他想成为一个架构师,或是某技术领域的专家,并会踏踏实实的向这个目标前进,永不放弃。我还是鼓励了他,但我也告诉他了这个著名的算法,我说,这个算法告诉你,架构师或某领域的专家对你来说目前的距离是无穷大,他们放在心中,先看看你能够得着的东西。所谓踏实,并不是踏踏实实追求你的目标,而是踏踏实实把你够得着看得见的就在身边的东西干好。我还记得我刚参加工作,从老家出来的时候,从来没有想过要成为一个技术牛人,也从来没有想过我的博客会那么的有影响力,在做自己力所能及,看得见摸得着的事情,我就看见什么技术就学什么,学着学着就知道怎么学更轻松,怎么学更扎实,这也许就是我的最短路径。

      有很多朋友问我要不要学C++,或是问我学 Python 还是学 Ruby,是不是不用学前端,等等。这些朋友告诉我,他们不可能学习多个语言,学了不用也就忘了,而且术业有专攻。这并没有什么不对的,只是我个人觉得, 学习一个东西没有必要只有两种状态,一种是不学,另一种是精通。了解一个技术其实花不了多少时间,我学 C++ 的目的其实是为了更懂 Java,学 TCP/IP 协议其实是为了更懂 Socket 编程,很多东西都是连通和相辅相成的,学好了C/C++/Unix/TCP 等这些基础技术后,我发现到达别的技术路径一下缩短了(这就是为什么我用两天时间就可以了解 Go 语言的原因)。这就好像这个算法一样,算法效率不高,也许达到你的目标,你在一开始花了很长时间,遍历了很多地方,但是,这也许这就是你的最短路径。

算法就是 Trade-Off

      你根本没有办法能得到所有你想得到的东西,任何的选择都意味着放弃——当你要去获得一个东西的时候,你总是需要放弃一些东西。人生本来就是一个跷跷板,一头上,另一头必然下。这和我们做软件设计或算法设计一样,用时间换空间,用空间换时间,还有 CAP 理论,总是有很多的 Trade-Off,正如这个短语的原意一样——你总是要用某种东西去交易某种东西。

      我们都在用某种东西在交易我们的未来,有的人用自己的努力,有的人用自己的思考,有的人用自己的年轻,有的人用自己的自由,有的人用自己的价值观, 有的人用自己的道德…… …… 有的人在交换金钱,有的人在交换眼界,有的人在交换经历,有的人在交换地位,有的人在交换能力,有的人在交换自由,有的人在交换兴趣,有的人在交换虚荣 心,在交换安逸享乐…… ……

      每个人有每个人的算法,每个算法都有每个算法的 purpose,就算大家在用同样的算法,但是每个人算法中的那些变量、开关和条件都不一样,得到的结果也不一样。我们就是生活在 Matrix 里的一段程序,我们每个人的算法决定着我们每个人的选择,我们的选择决定了我们的人生。





收藏 推荐 打印 | 录入: | 阅读:
相关新闻       数据挖掘大牛 
本文评论   查看全部评论 (1)
表情: 表情 姓名: 字数
点评:
       
评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款