众所周知,计算机早期应用主要集中在 科学计算和日常事务性工作数据处理。 为使计算机实现一个确定范围的问题求 解,程序设计人员需要对问题进行深入 细致的研究,设计出一种逐步循进的求 解步骤,称为算法 2021/2/23 第1章总论 16
2021/2/23 第 1 章 总 论 16 众所周知,计算机早期应用主要集中在 科学计算和日常事务性工作数据处理。 为使计算机实现一个确定范围的问题求 解,程序设计人员需要对问题进行深入 细致的研究,设计出一种逐步循进的求 解步骤,称为算法
把算法的每一步骤用特定的程序设计语 言翻译成程序输入计算机。计算机再按 照程序所描述的步骤针对具体问题输入 数据进行操作、求解。这种完全基于确 定的算法的程序设计方法称之为通常方 式的程序设计。 2021/2/23 第1章总论 17
2021/2/23 第 1 章 总 论 17 把算法的每一步骤用特定的程序设计语 言翻译成程序输入计算机。计算机再按 照程序所描述的步骤针对具体问题输入 数据进行操作、求解。这种完全基于确 定的算法的程序设计方法称之为通常方 式的程序设计
算法具有三个重要性质 1.通用性,算法应能求解问范围内的全部 问题,而不是只能解决其中的某些特殊问题。 2.确定性,算法中的问题求解状态,求解步 骤应该是精确的、唯一的,并且可以被机械 执行。 3.有效性,问题范围内的任何具体问题代入 算法后,都可以经过有限步骤,达到所期望 的结果。 2021/2/23 第1章总论 18
2021/2/23 第 1 章 总 论 18 ⒈ 通用性,算法应能求解问范围内的全部 问题,而不是只能解决其中的某些特殊问题。 ⒉ 确定性,算法中的问题求解状态,求解步 骤应该是精确的、 唯一的,并且可以被机械 执行。 ⒊ 有效性,问题范围内的任何具体问题代入 算法后,都可以经过有限步骤,达到所期望 的结果。 算法具有三个重要性质
然而,由于现实世界的复杂性,一方面,还 存在大量的人类尚未充分认识的问题,科技人 员目前尚不可能找到有效的算法;另一方面, 有许多类型的问题,经过了严谨证明,不存 在求解这类问题的算法;还有,对某些类型 的问题,即使存在算法,也不可能付诸实现, 因为一个算法的执行要受到时间和空间复杂 性的限制,,有可能这类问题的解需要几百小 时、几千小时、甚至几千年以上。 2021/2/23 第1章总论
2021/2/23 第 1 章 总 论 19 然而,由于现实世界的复杂性,一方面,还 存在大量的人类尚未充分认识的问题,科技人 员目前尚不可能找到有效的算法;另一方面, 有许多类型的问题,经过了严谨证明,不存 在求解这类问题的算法;还有,对某些类型 的问题,即使存在算法,也不可能付诸实现, 因为一个算法的执行要受到时间和空间复杂 性的限制,,有可能这类问题的解需要几百小 时、几千小时、甚至几千年以上
与通常程序设计相比,智能程序不是 单纯的依靠算法,它结合了算法和启 发方式。什么是启发方式?笔者认为, 它是一些简化问题的法则,经验公式。 从某种角度看,它仍然可能是算法, 但却是特殊的算法 2021/2/23 第1章总论 20
2021/2/23 第 1 章 总 论 20 与通常程序设计相比,智能程序不是 单纯的依靠算法,它结合了算法和启 发方式。什么是启发方式? 笔者认为, 它是—些简化问题的法则,经验公式。 从某种角度看,它仍然可能是算法, 但却是特殊的算法