《周国标师生交流讲席007》.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《周国标师生交流讲席007》

《周国标师生交流讲席007》 各位同学: 这一讲打算与大家介绍一个一般数值计算的教科书基本不涉及不讨论的问题,即选主元Gauss消元法的计算复杂度问题。 我们知道,选主元分为全主元和列主元两种。全主元Gauss消元法在每一步需要对右下角的子矩阵,的个元素进行搜索,找出绝对值最大的主元,然后通过换行与换列,将此主元换到子矩阵,的左上角的位置(西北角);列主元Gauss消元法则简单很多,只在,的第一列的个元素进行搜索,找到主元素后,只要换行就可以了。因此,两种方法的计算复杂度有较大的差别。 由于矩阵元素的分布是随机的,所以,需要分别计算最好情况,最坏情况和平均情况复杂度。这些概念在第一章中都作了介绍,认真读过第一章的同学应该不会感到太突然。 我们形象地把找主元,并把它换到的位置,称为“冒泡”。下面只讨论向量的“冒泡”。相信读了下面的介绍,你大致会对选主元Gauss消元法的计算复杂度问题有个清楚的了解。 周国标 2007.10.14 冒泡问题的计算复杂性 问题:给定n维向量,求各元素中绝对值最大的元素(找出绝对值最大的元素的位置和相应的最大绝对值,并将放在向量的第一元素位置。 计算方法:先设最大值,记的第一个元素,相继与后面的种元素做比较,与,与 ,,如果发现,则与交换位置,记为最大值,直到全部数据比完。 算法流程: 初始值: 初始值: 判断? 停机 是 比较? 否 置:    否 是 算法步骤:Step1. 置 Step2. 若,则计算终止。输出和;否则转Step3  Step3. 比较与,若,则转Step5,否则转Step4  Step4. 置  Step5. 置转Step2 为了估计问题的计算复杂性,能计算每一步上基本操作执行的次数 Step1是初始化,只执行一次,包括3种赋值操作;   1 Step2是判断,整个计算过程要作n次;   n Step3是比较,整个计算过程要作(n-1)次;    n-1 Step4执行交换与重新置值,即当时,是不用作任何操作,但时,则需要交换与,重新置的值。因为给定向量的任意性,因此,改变最大值的次数(也是交换次数)是一个随机变量,记比正整数随机变量为A   A Step5对循环计算器重新置值,整个计算过程要作次。  n-1 所以,本算法的计算复杂性为 次,其中为随机变量,由问题实例的规模确定,而取决于输入数据的“结构”,所以算法的计算复杂度最终由输入数据的各元素的大小确定。而各元素是任意的,它们的大小排列是任意的。这就带来所谓最好情况,最坏情况和平均情况下的计算复杂性分析(也就是说,算法在不同情况下计算所需操作次数不一样!)。 由以上分析知,如果能求出的最大值,最小值,平均值及其方差,那么,算法的计算复杂性就完全清楚了。 先看最好情况,如果向量的第一个元素就是绝对值最大的,那么,算法的第4步就不需要变换,故,问题就很简单。 再看最坏情况,如果向量的元素这样排列,那么,算法就要执行次变换,所以。 因此: 由此知,的平均值必在敬意内,作为随机变量,故它的平均值可用A的数学期望来表示,而且可用其方差来表示它的散布特性。 如何计算的基本数学特征呢? 计算一个随机变量的数学特征前提是知道的分布规律。变量的随机性是由于向量的各元素的不同排列造成的,所以从诸的排列方式来讨论起。 设诸元素的值各异,而且这些元素排列成一列时,大小排列是任意的。故个元素共有种排列。不失一般性,假设出现一种排列的可能是等概率的。因此,每一种排列出来的可能并不比其他任一种排列出现的可能性大,这种排列为均匀分布的。 记取)的概率为,即由概率的初等定义知, 个元素的种排列中满足的排列数/           (1) 如果记为的数学期望,为的方差,那么          (2) (其中)         (3) 所以计算的数学特征的关键在于求出概率。 由初等排列组合公式来求个元素的种排列中满足的排列数是不容易的。记此排列数为,则。 当很小时,当时,,,其中为2种排列中只交换一次的排列数。 当时,,,其中为6种排列中只交换一次的排列数。依此类推。 下面用递推方法来求 先推导一个重要的递推关系,即与和的关系。 因为 (4) 所以   个排列中满足的排列数/ +个排列中满足的排

文档评论(0)

zhuliyan1314 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档