算法基础 计算机数学课件,课件算法基础.ppt

算法基础

第八章 算法基础 西北工业大学 应用数学系 聂玉峰 算法概念 数学建模竞赛的过程 算法的概念 算法的分类 算法的评价 1.1 建模竞赛的过程 实际上是命题人(某个领域的专家)提出实际问题 参赛人首先读题,分析问题,依照自己的理解准确阐述问题; 辨析问题中的主要矛盾和次要矛盾,并在合理假设的条件下,运用各种数学理论、工具和方法,建立起问题中不同量之间的约束关系,进而得到完备的数学模型; 在研究模型解的存在性与惟一性 如何求其解 利用解对模型的正确性进行评价。 1.2 算法的概念 当数学模型的分析解得不到时,使用计算机进行求解。我们不会做的计算机肯定不会做,只有当我们会做,但因为数据计算量太大时,把自己的求解过程(算法)编写成程序,计算机将其编译、运行得到计算结果。 所谓(串行)算法就是求解一个问题类的无二义性的有穷过程,这里过程明确无歧义的描述由有限操作(算术运算、逻辑运算、字符运算、读写操作等)及有限操作对象合成的按一定顺序执行的有限序列。 原始的可以变化的有限操作对象就是有限输入数据,它所有可能允许的变化构成求解的问题类。 1.3 算法的分类 对给定的输入数据,算法运行后得到的数据结果也是有限的,这样可以把算法看成有限输入数据和有限输出结果之间的对应关系。 将以浮点算术运算为主的算法称为数值型算法,如线性方程组的求解,数值积分的计算,微分方程初边值问题的求解等。其它算法称为非数值型算法,如排序问题,匹配查找问题等。 1.4 算法的评价 算法在保证可靠的大前提下再评价其优劣才是有价值的。 数值型算法的可靠性 算法的收敛性、稳定性、误差估计等 算法必须在有限的时间内得到计算结果,如果某问题类的一个求解过程是无限长,需要将其截断得到求解算法,并产生截断误差。 算法的收敛性就是研究当运行时间趋于无限长时,算法的解是否趋于真实解,即截断误差是否趋于零。 非数值型算法的可靠性更为强调对于整体问题类算法计算结果的正确性。 算法的评价(2) 评价一个可靠算法的优劣,应该考虑其时间复杂度(计算机运行时间)、空间复杂度(占据计算机存储空间的多少)以及逻辑复杂度(影响程序开发的周期以及维护)。 2.数值型算法的收敛阶 迭代是构造数值问题算法的基本思想之一,迭代的结果是得到问题解的一个近似序列. 如果对于问题类中任一问题,迭代次数k趋于无穷大时序列极限存在,并且就是该问题的准确解,则称该迭代算法收敛到问题的解。 2.1 数列收敛阶的定义 2.2 举例 2.3 2阶收敛举例 2.4 算法的收敛阶 类似地,如果收敛的数列是由迭代算法产生的,定义数列的收敛阶为算法的收敛阶。不过需要注意,算法是对问题类的算法,不是针对一个特定问题的,这样算法的收敛阶应该是由该算法生成的序列都具有的共同特征。 2.5 时间花费与收敛速度 对于不同的算法,若每一迭代步的时间花费相当,从收敛阶的定义可以知道,收敛阶高的算法花费较少的时间;对于同阶的算法,渐近常数小者花费较少的时间。 2.6 向量序列的极限 2.7 范数概念 2.8 常用向量范数 2.9 等价性定理、收敛速度 2.10 常用的矩阵范数 3 误差及数值算法的稳定性 误差的产生 模型建立时因舍去次要矛盾会产生模型误差; 模型中包含一些参数是通过仪表观测得到的,产生观测误差; 算法必须在有限步内执行结束,这样需要将无穷过程截断为有限过程,产生截断误差; 在用计算机实现数值算法的过程中,由于计算机表示浮点数采用的是固定有限字长,因而仅能够区分有限个信息,准确表示在某个有限范围内的某些有理数,不能准确表示数学中的所有实数,这样在计算机中表示的原始输入数据、中间计算数据、以及最终输出结果必然产生误差,称此类误差为舍入误差。 得到的计算结果是这些误差综合影响下的数据。 3.2 浮点数系 浮点数系是计算机常用的实数表示系统,一个浮点数的表示由正负号、有限小数形式的尾数、以及确定小数点位置的阶码三部分组成. 设在某一浮点系统中, 尾数占t位二进制数(未计算尾数的符号位), 阶数占s位二进制数(未计算阶数的符号位), 实数的浮点表示共需要t+s+2位的二进制数位. 3.3 溢出 3.4 单精度数 单精度实数用32位的二进制数据表示浮点数的这三个信息, 其中数值符号和阶码符号各占1位, 尾数占t=23位, 阶码数值占s=7位. 这样,除零外, 单精度实数的量级不大于1038不小于10-38. 当输入、输出或中间计算过程中出现量级大于1038的数据时, 因单精度实数无法正确表示该数据, 将导致程序的非正常停止, 称此现象为上溢(Overflow). 而当出现量级小于10-38的非零数据时, 一般计算机将该数置为零, 精度损失, 称此现象为下溢(Unde

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值