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