改变未来的九大算法
- 一种伟大的算法由什么构成?
- 三条标准
- 伟大的算法要被普通计算机用户每天用到。
- 排除了主要由计算机专业人士使用的算法,如编译器和程序验证技术。
- 伟大的算法应该能处理具体的现实问题,如压缩一个特定文件或通过一个噪链精确地传输文件。
- 排除了许多作为计算机科学本科课程核心内容的伟大算法,如排序算法(快速排序等)、图形算法(迪杰斯特拉最短路径算法等)、数据结构(哈希表等)
- 但这些算法太通用了:它们能被用来解决众多问题。
- 算法主要和计算机科学理论相关。
- 这排除了主要和计算机硬件——如CPU(中央处理器)、监视器,以及网络——有关的技术。
- 也减轻了对基础设施——如互联网——设计的重视。
- 让更多人将计算机科学作为一门知识学科来理解。
- 伟大的算法要被普通计算机用户每天用到。
- 三条标准
- 九个算法
- 描述了搜索引擎如何使用索引寻找与请求匹配的文件
- 解释了网页排名(PageRank)算法
- ——谷歌公司为保证匹配度最高的文件出现在搜索结果列表顶部的原始算法。
- 解释密钥交换过程的实现原理。
- 用户每次访问一个安全网站(地址以https而非http开头),都会用到公钥加密的一个方面——众所周知的密钥交换(key exchange)——来展开一段安全对话。
- 纠错码(Error Correcting Codes)
- 它们被用于所有硬盘驱动器、众多网络传输、CD(数字光盘)和DVD(高密度数字视频光盘),甚至还存在于一些计算机的内存中。
- 图形识别算法(PatternRecognition Algorithm)
- 最近邻分类器(Nearest-neighborClassifier)、
- “决策树”(Decision Tree),
- 神经网络(Neural Network)。
- 压缩算法。
- 数据库中运用的一些基础算法。
- 没有这些精巧的技术,我们的绝大部分在线生活[包括网络购物以及通过Facebook(“脸书”)之类的社交网站进行互动]就会消亡于众多计算机错误中。
- 数字签名。
- ,用数字形式“签署”一份电子文档似乎不可能。你也许会想,这种签名必须由数字信息组成,而任何想要伪造签名的人都可以毫不费力地拷贝这些信息。这一悖论的解决方案,就是计算机科学取得的最令人瞩目的成就之一。
- 了解一种假如存在则必然会伟大的算法。
- 这种特别伟大的算法不可能存在。这表明计算机解决问题的能力存在绝对极限,而我们将简单地从哲学和生物学角度探讨这一结果的应用。
参考文献
- 《改变未来的九大算法》
欢迎留个评论,相互交流~