技术头条 - 一个快速在微博传播文章的方式     搜索本站
您现在的位置首页 --> 算法 --> 算法的意义

算法的意义

浏览:3330次  出处信息

    大学时候,学的最差的大概就是算法了。当时总是喜欢多想一步,问一下这个算法到底是为什么。结果老师也答不出。

    同一个学期,学的最高兴的,是操作系统。教课的是当时的系主任,国内的操作系统大牛。听他老人家讲课,总是能深入浅出的理解里面的设计理念。比如进程的调度,以CPU时钟资源的公平分配为原则;比如虚拟内存的大小,是方便和节约的折中;比如缓存的分配,是历史数据向未来的有效预测等等。

    那个时候就开始了解,其实算法,无非是人的决策,在计算机上面的表达。

    后来到了这边读书,导师发明的算法,是解决路由问题里面对稀缺资源的调控。那个算法的精妙,就是引进了经济学的原理,让各个信号去竞争这些资源,稀缺的资源“价格”提高,使得某些信号转而去使用相对“便宜”的资源,从而达到资源调配的目的。

    类似的,当我设计和他的算法相配合的算法的时候,也是把现实生活中的处理方法引进了算法里面,对于一个NP-hard问题,既然不能在多项式时间和空间找到最优解,那么就在处理的过程中,对某些“看似”最有希望的部分结果,进行拓展,最后得到一个相对优化的结果。

    在web领域,因为有人的参与,就有了更多算法改良的空间。pagerank是利用了人多年在web上面积累的url数据作为网页权重的投票;相应的协同过滤,也是利用人的行为数据来提取人的兴趣。

    但是在算法利用免费的人力进行优化的同时,基于这些算法建立的网络应用,也对人的行为产生了不可忽略的影响。在03年google的CEO Eric Schmidt 去系里讲座的时候,就有学生问他,如果将来大家都依赖google,不在网页上面添加链接了,google怎么办。Eric略一迟疑,说估计不会的。事实上,当google把AdWords引入以后,巨大的流量瞬间转变成了钱,人们不仅没有停止添加链接,反而变本加厉的建立起link farm以求在SRP上面占据首位。Google也不得不针对这些link spam进行算法的修改。

    同样的,协同过滤虽然为Amazon带来了无数的新销售,同时也使用户的行为趋同。

建议继续学习:

  1. 为什么算法这么难?    (阅读:10723)
  2. 15道使用频率极高的基础算法题    (阅读:5580)
  3. 一些有意思的算法代码    (阅读:3957)
  4. Fastbit中的bitmap索引算法    (阅读:3756)
  5. 基于漏桶(Leaky bucket)与令牌桶(Token bucket)算法的流量控制    (阅读:3083)
  6. 研发面试最常用的10大算法    (阅读:2959)
  7. 生成特定分布随机数的方法    (阅读:2674)
  8. 算法收集    (阅读:2480)
  9. 这样做有什么意义    (阅读:1448)
  10. 机器学习算法之LightGBM    (阅读:1542)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
© 2009 - 2024 by blogread.cn 微博:@IT技术博客大学习

京ICP备15002552号-1