算法概念、正确性证明与图灵机模型解析
1. 算法的基本概念
算法是一种精确的规定,它决定了从不同的源数据到所求结果的计算过程,数据是字符的有序集合。简单来说,算法描述了特定的计算程序,用于解决某一类问题,而非单个特定问题。“算法”一词源于中世纪数学家花拉子米(al - Khwarizmi)的名字。
算法具有以下基本属性:
1. 离散性 :算法应将解题过程表示为一系列独立步骤的连续执行。每个步骤的执行需要一定时间,且每个操作必须完整执行,不能部分执行。
2. 步骤的基本性 :每个命令的执行方法应已知且足够简单。
3. 确定性 :算法操作的每个后续步骤都是唯一确定的。对于相同的源数据,结果应相同。
4. 方向性 :应明确什么被视为算法操作的结果。
5. 通用性 :应能够将算法应用于某个预定集合中的所有源数据集合。
2. 算法正确性的证明
在使用算法解决计算问题时,需要证明算法对于所有输入数据都能正确解决问题,即证明算法的正确性。从数学角度看,这涉及确定描述变量值的某些谓词的真值。
设 (P) 是对于算法 (A) 的输入数据为真的谓词,(Q) 是在算法 (A) 操作完成后取真值的谓词。(P) 和 (Q) 分别称为前置条件和后置条件。命题 ({P}A{Q}) 表示:“如果算法 (A) 的操作从谓词 (P) 的真值开始,那么它将以 (Q) 的真值结束”。算法 (A) 的正确性证明等价于证明 ({P}A{Q})
超级会员免费看
订阅专栏 解锁全文
1149

被折叠的 条评论
为什么被折叠?



