算法
algorithm
定义:解决给定问题的确定的计算机指令序列,用以系统地描述解决问题的步骤。
学科:计算机科学技术_理论计算机科学_算法设计与分析
相关名词:指令 程序 软件开发
图片来源:视觉中国
【延伸阅读】
算法是解题方案准确而完整的描述,是一系列解决问题的清晰指令,代表着用系统的方法描述解决问题的策略机制。也就是说,对于有着一定规范的输入,算法能使得我们在有限时间内获得所要求的输出。如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题。
算法应该具有以下五个重要的特征:
1.有穷性:指算法必须能在执行有限个步骤之后终止。
2.确切性:算法的每一步骤必须有确切的定义。
3.输入项:一个算法有0个或多个输入,以刻画运算对象的初始情况。所谓0个输入是指算法本身预设了初始条件。
4.输出项:一个算法有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是毫无意义的。
5.可行性:算法中执行的任何计算步骤都可以被分解为基本的可执行的操作步骤,即每个计算步骤都可以在有限时间内完成(也称之为有效性)。
同一问题可以用不同算法解决,不同算法的质量优劣将影响解决问题的效率。算法的优劣有众多不同的衡量指标,对于实际问题还有单独的衡量标准。但通用的衡量标准有以下5个:
1.正确性:对给定的问题可以得出正确的结果,是评价一个算法优劣的最重要的标准。当今的一些算法基于大数据和统计学的理论,也更注重算法得出正确结果的概率。
2.可读性:指一个算法可供人们阅读的容易程度。
3.鲁棒性:指一个算法对不合理数据输入的反应能力和处理能力,也称为容错性。
4.时间复杂度:指执行算法所需要的时间代价。一般来说,计算机算法是问题规模的函数。
5.空间复杂度:指算法需要消耗的内存空间。
我国创立的算法有很多,其思想被世人广泛沿用至今。例如魏晋时期的数学家刘徽首创割圆术,为计算圆周率建立了严密的理论和完善的算法;中国南宋时期的数学家秦九韶提出一种多项式简化算法,即秦九韶算法等等。
其实算法的初衷,是实现更高效、更公平的信息分发,但是伴随着算法对移动互联网的统治,算法滥用现象越来越严重。为加强互联网信息服务算法综合治理,有效推动《互联网信息服务算法推荐管理规定》落地见效,2022年4月8日,中央网信办牵头开展“清朗·2022年算法综合治理”专项行动,剑指大数据杀熟、算法歧视、信息茧房等行业现象。
(延伸阅读作者:大连理工大学计算机学院教授 杨鑫)
责任编辑:张鹏辉