算法 算法英語algorithm在数学算学和计算机科学之中指一个被定义好的计算机可施行其指示的有限步骤或次序常用于计算数据处理和自动推理算法可以使用条件语句通过各种途径转移代码执行称为自动决策并推导出有效的推论称为自动推理最终实现自动化 相反启发式是一种解决问题的方法可能没有完全指定也可能不能保证正确或最优的结果尤其是在没有明确定义的正确或最优结果的问题领域例如社交媒体推荐系统依赖于启发式尽管在世纪的流行媒体中被广泛称为算法但由于问题的性质它无法提供正确的结果 早在尝试解决希尔伯特提出的判定问题时算法的不完整概念已经初步定型在其后的正式化阶段中人們尝试去定义有效可计算性英语Effective calculability或者有效方法英语Effective method这些尝试包括库尔特哥德尔雅克埃尔布朗和斯蒂芬科尔克莱尼分别于年年和年提出的递归函数阿隆佐邱奇于年提出的λ演算年埃米尔莱昂珀斯特英语Emil Leon Post的波斯特图灵机和艾伦图灵年提出的图灵机即使在当下依然常有符合直觉的想法难以定义为形式化算法的情况 算法是有效方法英语Effective method包含一系列定义清晰的指令并可于有限的时间及空间内清楚的表述出来算法中的指令描述的是一个计算它执行英语Execution computing時从一个初始状态和初始输入可能为空开始经过一系列有限而清晰定义的状态最终产生输出并停止于一个终态 一个状态到另一个状态的转移不一定是确定的 包括随机化算法在内的一些算法都包含了一些随机输入