数学建模竞赛中应当掌握的十类算法课件.ppt
《数学建模竞赛中应当掌握的十类算法课件.ppt》由会员分享,可在线阅读,更多相关《数学建模竞赛中应当掌握的十类算法课件.ppt(34页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数学建模竞赛中应当掌握的十类算法第1页,此课件共34页哦蒙特卡蒙特卡罗算法算法 数据数据处理算法理算法 数学数学规划算法划算法 图论算法算法 动态规划、回溯搜索、分治算法、分支定划、回溯搜索、分治算法、分支定界界 三大非三大非经典算法典算法 网格算法和网格算法和穷举法法 连续离散化方法离散化方法 数数值分析算法分析算法 图象象处理算法理算法 第2页,此课件共34页哦1、蒙特卡、蒙特卡罗算法算法 该算法又称随机性模算法又称随机性模拟算法,是通算法,是通过计算机算机仿真来解决仿真来解决问题的算法,同的算法,同时可以通可以通过模模拟可以来可以来检验自己模型的正确性,是比自己模型的正确性,是比赛时必必
2、用的方法用的方法第3页,此课件共34页哦 蒙特卡蒙特卡罗(Monte Carlo)方法,或称方法,或称计算机算机随机模随机模拟方法,是一种基于方法,是一种基于“随机数随机数”的的计算方法。算方法。这一方法源于美国在第一次世一方法源于美国在第一次世界大界大战进研制原子研制原子弹的的“曼哈曼哈顿计划划”。该计划的主持人之一、数学家划的主持人之一、数学家冯诺伊曼用伊曼用驰名世界的名世界的赌城城摩摩纳哥的哥的Monte Carlo来命名来命名这种方法,种方法,为它蒙上了一它蒙上了一层神秘色神秘色彩。彩。第4页,此课件共34页哦 考考虑平面上的一个平面上的一个边长为1的正方形及其内的正方形及其内部的一个
3、形状不部的一个形状不规则的的“图形形”,如何求,如何求出出这个个“图形形”的面的面积呢?呢?Monte Carlo方方法是法是这样一种一种“随机化随机化”的方法:向的方法:向该正正方形方形“随机地随机地”投投掷N个点落于个点落于“图形形”内,内,则该“图形形”的面的面积近似近似为M/N。第5页,此课件共34页哦 另一另一类形式与形式与Monte Carlo方法相似,但理方法相似,但理论基基础不同的方法不同的方法“拟蒙特卡蒙特卡罗方法方法”(Quasi-Monte Carlo方法方法)近年来也近年来也获得得迅速迅速发展。我国数学家展。我国数学家华罗庚、王元提出庚、王元提出的的“华王王”方法即是其
4、中的一例。方法即是其中的一例。这种方种方法的基本思想是法的基本思想是“用确定性的超均匀分布用确定性的超均匀分布序列序列(数学上称数学上称为Low Discrepancy Sequences)代替代替Monte Carlo方法中的随方法中的随机数序列。机数序列。对某些某些问题该方法的方法的实际速度速度一般可比一般可比Monte Carlo方法提出高数百倍,方法提出高数百倍,并可并可计算精确度。算精确度。第6页,此课件共34页哦具体实现的matlab代码:-function val=ballvol(n,m)%BALLVOL Compute volume of unit ball in Rn%Com
5、putes the volume of the n-dimensional unit ball%using monte-carlo method.%usage:val=BallVol(n,m)%where:n=dimension%m=number of realisations%If the second argument is omitted,1e4 is taken as default for m.%(c)1998,Rolf Krause,krausemath.fu-berlin.deM=1e4;error=0;if(nargin 2),error(wrong number of arg
6、uments);endif nargin=2,M=m;end R=rand(n,M);in=0;for i=1:Mif(norm(R(:,i),2)=1.0),in=in+1;endendval=2n*in/M;第7页,此课件共34页哦2、数据、数据拟合、参数估合、参数估计、插、插值等数据等数据处理算法理算法 数据数据拟和和:从从给出的一大堆数据中找出出的一大堆数据中找出规律,即律,即设法构造一条曲法构造一条曲线(拟和曲和曲线)反映数据点反映数据点总的的趋势,以消除其局部波,以消除其局部波动。参数估参数估计:对给定的定的统计问题,在建立了,在建立了统计模型以后,我模型以后,我们的任的任务就是依
7、据就是依据样本本对未知未知总体体进行各种推断,参数估行各种推断,参数估计是是统计推断的重要推断的重要内容之一。包括点估内容之一。包括点估计方法、方法、频率替率替换法、矩法、矩法、极大似然估法、极大似然估计法法 插插值法是函数逼近的一种重要方法,包括多法是函数逼近的一种重要方法,包括多项式插式插值、分段插、分段插值和三角插和三角插值第8页,此课件共34页哦3、数学、数学规划算法划算法 线性性规划、整数划、整数规划、多元划、多元规划、二次划、二次规划等划等规划划类问题(建模(建模竞赛大多数大多数问题属属于最于最优化化问题,很多,很多时候候这些些问题可以用可以用数学数学规划算法来描述,通常使用划算法
8、来描述,通常使用Lindo、Lingo软件件实现)第9页,此课件共34页哦4、图论算法算法 这类算法可以分算法可以分为很多种,包括最短路、很多种,包括最短路、网网络流、二分流、二分图等算法,涉及到等算法,涉及到图论的的问题可以用可以用这些方法解决,需要些方法解决,需要认真准真准备 第10页,此课件共34页哦5、动态规划、回溯搜索、分治算法、分支定界 这些算法是算法些算法是算法设计中比中比较常用的方法,常用的方法,很多很多场合可以用到合可以用到竞赛中中 第11页,此课件共34页哦动态规划划 它建立在最它建立在最优原原则的基的基础上。采用上。采用动态规划方法,可以划方法,可以优雅而高效地解决雅而高
9、效地解决许多用多用贪婪算法或分而治之算法无法解决的婪算法或分而治之算法无法解决的问题。动态规划方法在解决背包划方法在解决背包问题、图象象压缩、矩矩阵乘法乘法链、最短路径、无交叉子集和元、最短路径、无交叉子集和元件折叠等方面的有很大作用。件折叠等方面的有很大作用。第12页,此课件共34页哦算法思想算法思想 和和贪婪算法一婪算法一样,在,在动态规划中,可将一个划中,可将一个问题的解决方案的解决方案视为一系列决策的一系列决策的结果。不同果。不同的是,在的是,在贪婪算法中,每采用一次婪算法中,每采用一次贪婪准婪准则便便做出一个不可撤回的决策,而在做出一个不可撤回的决策,而在动态规划中,划中,还要考察每
10、个最要考察每个最优决策序列中是否包含一个最决策序列中是否包含一个最优子序列。子序列。第13页,此课件共34页哦寻找找问题的解的一种可靠的方法是首先列出所有候的解的一种可靠的方法是首先列出所有候选解,然后依次解,然后依次检查每一个,在每一个,在检查完所有或部分候完所有或部分候选解后,即可找到所需要的解。理解后,即可找到所需要的解。理论上,当候上,当候选解数量解数量有限并且通有限并且通过检查所有或部分候所有或部分候选解能解能够得到所需解得到所需解时,上述方法是可行的。不,上述方法是可行的。不过,在,在实际应用中,很少用中,很少使用使用这种方法,因种方法,因为候候选解的数量通常都非常大(比解的数量通
11、常都非常大(比如指数如指数级,甚至是大数,甚至是大数阶乘),即便采用最快的乘),即便采用最快的计算算机也只能解决机也只能解决规模很小的模很小的问题。对候候选解解进行系行系统检查的方法有多种,其中回溯和分枝定界法是比的方法有多种,其中回溯和分枝定界法是比较常用常用的两种方法。按照的两种方法。按照这两种方法两种方法对候候选解解进行系行系统检查通常会使通常会使问题的求解的求解时间大大减少(无大大减少(无论对于最坏情于最坏情形形还是是对于一般情形)。事于一般情形)。事实上,上,这些方法可以使我些方法可以使我们避免避免对很大的候很大的候选解集合解集合进行行检查,同,同时能能够保保证算法运行算法运行结束束
12、时可以找到所需要的解。因此,可以找到所需要的解。因此,这些方些方法通常能法通常能够用来求解用来求解规模很大的模很大的问题。第14页,此课件共34页哦 回溯方法回溯方法 这种方法被用来种方法被用来设计货箱装船、背包、最箱装船、背包、最大完大完备子子图、旅行商和、旅行商和电路板排列路板排列问题的的求解算法。求解算法。第15页,此课件共34页哦算法思想算法思想 回溯(回溯(backtracking)是一种系)是一种系统地搜索地搜索问题解答的方法。解答的方法。为了了实现回溯,首先需要回溯,首先需要为问题定定义一个解空一个解空间(solution space),),这个空个空间必必须至少包含至少包含问题
13、的一个解(可能的一个解(可能是最是最优的)。的)。下一步是下一步是组织解空解空间以便它能被容易地搜索。以便它能被容易地搜索。典型的典型的组织方法是方法是图或或树。第16页,此课件共34页哦分治算法分治算法 君主和殖民者君主和殖民者们所成功运用的分而治之策略也所成功运用的分而治之策略也可以运用到高效率的可以运用到高效率的计算机算法的算机算法的设计过程中。程中。利用利用这一策略可以解决如下一策略可以解决如下问题:最小最大:最小最大问题、矩、矩阵乘法、残缺棋乘法、残缺棋盘、排序、排序、选择和和计算算一个几何一个几何问题找出二找出二维空空间中距离最近的中距离最近的两个点。两个点。第17页,此课件共34
14、页哦算法思想算法思想 分而治之方法与分而治之方法与软件件设计的模的模块化方法非常相化方法非常相似。似。为了解决一个大的了解决一个大的问题,可以:,可以:1)把它把它分成两个或多个更小的分成两个或多个更小的问题;2)分分别解决每解决每个小个小问题;3)把各小把各小问题的解答的解答组合起来,合起来,即可得到原即可得到原问题的解答。小的解答。小问题通常与原通常与原问题相似,可以相似,可以递归地使用分而治之策略来解决。地使用分而治之策略来解决。第18页,此课件共34页哦 例例2-1 找出找出伪币 给你一个装有你一个装有1 6个硬个硬币的的袋子。袋子。1 6个硬个硬币中有一个是中有一个是伪造的,并且造的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数学 建模 竞赛 应当 掌握 算法 课件
限制150内