数学建模十大算法部分带有源代码_精品文档PPT资料.ppt

上传人:b****2 文档编号:15480979 上传时间:2022-11-01 格式:PPT 页数:34 大小:94.50KB
下载 相关 举报
数学建模十大算法部分带有源代码_精品文档PPT资料.ppt_第1页
第1页 / 共34页
数学建模十大算法部分带有源代码_精品文档PPT资料.ppt_第2页
第2页 / 共34页
数学建模十大算法部分带有源代码_精品文档PPT资料.ppt_第3页
第3页 / 共34页
数学建模十大算法部分带有源代码_精品文档PPT资料.ppt_第4页
第4页 / 共34页
数学建模十大算法部分带有源代码_精品文档PPT资料.ppt_第5页
第5页 / 共34页
点击查看更多>>
下载资源
资源描述

数学建模十大算法部分带有源代码_精品文档PPT资料.ppt

《数学建模十大算法部分带有源代码_精品文档PPT资料.ppt》由会员分享,可在线阅读,更多相关《数学建模十大算法部分带有源代码_精品文档PPT资料.ppt(34页珍藏版)》请在冰豆网上搜索。

数学建模十大算法部分带有源代码_精品文档PPT资料.ppt

我国数学家华罗庚、王元提出迅速发展。

我国数学家华罗庚、王元提出的的“华华王王”方法即是其中的一例。

这种方法即是其中的一例。

这种方法的基本思想是方法的基本思想是“用确定性的超均匀分用确定性的超均匀分布序列布序列(数学上称为数学上称为LowDiscrepancySequences)代替代替MonteCarlo方法中的随方法中的随机数序列。

对某些问题该方法的实际速度机数序列。

对某些问题该方法的实际速度一般可比一般可比MonteCarlo方法提出高数百倍,方法提出高数百倍,并可计算精确度。

并可计算精确度。

具体实现的matlab代码:

-functionval=ballvol(n,m)%BALLVOLComputevolumeofunitballinRn%Computesthevolumeofthen-dimensionalunitball%usingmonte-carlomethod.%usage:

val=BallVol(n,m)%where:

n=dimension%m=numberofrealisations%Ifthesecondargumentisomitted,1e4istakenasdefaultform.%(c)1998,RolfKrause,krausemath.fu-berlin.deM=1e4;

error=0;

if(nargin2),error(wrongnumberofarguments);

endifnargin=2,M=m;

endR=rand(n,M);

in=0;

fori=1:

Mif(norm(R(:

i),2)=1.0),in=in+1;

endendval=2n*in/M;

22、数据拟合、参数估计、插值、数据拟合、参数估计、插值等数据处理算法等数据处理算法数据拟和数据拟和:

从给出的一大堆数据中找出规从给出的一大堆数据中找出规律,即设法构造一条曲线律,即设法构造一条曲线(拟和曲线拟和曲线)反映数反映数据点总的趋势,以消除其局部波动。

据点总的趋势,以消除其局部波动。

参数估计:

对给定的统计问题,在建立了统参数估计:

对给定的统计问题,在建立了统计模型以后,我们的任务就是依据样本对未计模型以后,我们的任务就是依据样本对未知总体进行各种推断,参数估计是统计推断知总体进行各种推断,参数估计是统计推断的重要内容之一。

包括点估计方法、频率替的重要内容之一。

包括点估计方法、频率替换法、矩法、极大似然估计法换法、矩法、极大似然估计法插值法是函数逼近的一种重要方法,包括多插值法是函数逼近的一种重要方法,包括多项式插值、分段插值和三角插值项式插值、分段插值和三角插值33、数学规划算法、数学规划算法线性规划、整数规划、多元规划、二次规线性规划、整数规划、多元规划、二次规划等规划类问题(建模竞赛大多数问题属划等规划类问题(建模竞赛大多数问题属于最优化问题,很多时候这些问题可以用于最优化问题,很多时候这些问题可以用数学规划算法来描述,通常使用数学规划算法来描述,通常使用LindoLindo、LingoLingo软件实现)软件实现)44、图论算法、图论算法这类算法可以分为很多种,包括最短路、这类算法可以分为很多种,包括最短路、网络流、二分图等算法,涉及到图论的问网络流、二分图等算法,涉及到图论的问题可以用这些方法解决,需要认真准备题可以用这些方法解决,需要认真准备5、动态规划、回溯搜索、分治算法、分支定界这些算法是算法设计中比较常用的方法,这些算法是算法设计中比较常用的方法,很多场合可以用到竞赛中很多场合可以用到竞赛中动态规划动态规划它建立在最优原则的基础上。

采用动态规它建立在最优原则的基础上。

采用动态规划方法,可以优雅而高效地解决许多用贪划方法,可以优雅而高效地解决许多用贪婪算法或分而治之算法无法解决的问题。

婪算法或分而治之算法无法解决的问题。

动态规划方法在解决背包问题、图象压缩、动态规划方法在解决背包问题、图象压缩、矩阵乘法链、最短路径、无交叉子集和元矩阵乘法链、最短路径、无交叉子集和元件折叠等方面的有很大作用。

件折叠等方面的有很大作用。

算法思想算法思想和贪婪算法一样,在动态规划中,可将一个和贪婪算法一样,在动态规划中,可将一个问题的解决方案视为一系列决策的结果。

不同问题的解决方案视为一系列决策的结果。

不同的是,在贪婪算法中,每采用一次贪婪准则便的是,在贪婪算法中,每采用一次贪婪准则便做出一个不可撤回的决策,而在动态规划中,做出一个不可撤回的决策,而在动态规划中,还要考察每个最优决策序列中是否包含一个最还要考察每个最优决策序列中是否包含一个最优子序列。

优子序列。

寻找问题的解的一种可靠的方法是首先列出所有寻找问题的解的一种可靠的方法是首先列出所有候选解,然后依次检查每一个,在检查完所有或候选解,然后依次检查每一个,在检查完所有或部分候选解后,即可找到所需要的解。

理论上,部分候选解后,即可找到所需要的解。

理论上,当候选解数量有限并且通过检查所有或部分候选当候选解数量有限并且通过检查所有或部分候选解能够得到所需解时,上述方法是可行的。

不过,解能够得到所需解时,上述方法是可行的。

不过,在实际应用中,很少使用这种方法,因为候选解在实际应用中,很少使用这种方法,因为候选解的数量通常都非常大(比如指数级,甚至是大数的数量通常都非常大(比如指数级,甚至是大数阶乘),即便采用最快的计算机也只能解决规模阶乘),即便采用最快的计算机也只能解决规模很小的问题。

对候选解进行系统检查的方法有多很小的问题。

对候选解进行系统检查的方法有多种,其中回溯和分枝定界法是比较常用的两种方种,其中回溯和分枝定界法是比较常用的两种方法。

按照这两种方法对候选解进行系统检查通常法。

按照这两种方法对候选解进行系统检查通常会使问题的求解时间大大减少(无论对于最坏情会使问题的求解时间大大减少(无论对于最坏情形还是对于一般情形)。

事实上,这些方法可以形还是对于一般情形)。

事实上,这些方法可以使我们避免对很大的候选解集合进行检查,同时使我们避免对很大的候选解集合进行检查,同时能够保证算法运行结束时可以找到所需要的解。

能够保证算法运行结束时可以找到所需要的解。

因此,这些方法通常能够用来求解规模很大的问因此,这些方法通常能够用来求解规模很大的问题。

题。

回溯方法回溯方法这种方法被用来设计货箱装船、背包、最这种方法被用来设计货箱装船、背包、最大完备子图、旅行商和电路板排列问题的大完备子图、旅行商和电路板排列问题的求解算法。

求解算法。

算法思想算法思想回溯(回溯(backtrackingbacktracking)是一种系统地搜索问)是一种系统地搜索问题解答的方法。

为了实现回溯,首先需要为题解答的方法。

为了实现回溯,首先需要为问题定义一个解空间(问题定义一个解空间(solutionspacesolutionspace),),这个空间必须至少包含问题的一个解(可能这个空间必须至少包含问题的一个解(可能是最优的)。

是最优的)。

下一步是组织解空间以便它能被容易地搜索。

典型的组织方法是图或树。

分治算法分治算法君主和殖民者们所成功运用的分而治之策略也君主和殖民者们所成功运用的分而治之策略也可以运用到高效率的计算机算法的设计过程中。

可以运用到高效率的计算机算法的设计过程中。

利用这一策略可以解决如下问题:

最小最大问利用这一策略可以解决如下问题:

最小最大问题、矩阵乘法、残缺棋盘、排序、选择和计算题、矩阵乘法、残缺棋盘、排序、选择和计算一个几何问题一个几何问题找出二维空间中距离最近的找出二维空间中距离最近的两个点。

两个点。

算法思想算法思想分而治之方法与软件设计的模块化方法非常相分而治之方法与软件设计的模块化方法非常相似。

为了解决一个大的问题,可以:

似。

1)1)把它把它分成两个或多个更小的问题;

分成两个或多个更小的问题;

2)2)分别解决每分别解决每个小问题;

个小问题;

3)3)把各小问题的解答组合起来,把各小问题的解答组合起来,即可得到原问题的解答。

小问题通常与原问题即可得到原问题的解答。

小问题通常与原问题相似,可以递归地使用分而治之策略来解决。

相似,可以递归地使用分而治之策略来解决。

例例2-12-1找出伪币找出伪币给你一个装有给你一个装有1616个硬币个硬币的袋子。

的袋子。

1616个硬币中有一个是伪造的,并个硬币中有一个是伪造的,并且那个伪造的硬币比真的硬币要轻一些。

你且那个伪造的硬币比真的硬币要轻一些。

你的任务是找出这个伪造的硬币。

为了帮助你的任务是找出这个伪造的硬币。

为了帮助你完成这一任务,将提供一台可用来比较两组完成这一任务,将提供一台可用来比较两组硬币重量的仪器,利用这台仪器,可以知道硬币重量的仪器,利用这台仪器,可以知道两组硬币的重量是否相同。

两组硬币的重量是否相同。

比较硬币比较硬币11与硬币与硬币22的重量。

假如硬币的重量。

假如硬币11比硬币比硬币22轻,则硬币轻,则硬币11是伪造的;

假如硬币是伪造的;

假如硬币22比硬币比硬币11轻,则硬币轻,则硬币22是伪造的。

这样就完成了任务。

是伪造的。

假如两硬币重量相等,则比较硬币假如两硬币重量相等,则比较硬币33和硬币和硬币44。

同样,假如有一个硬币轻一些,则寻找伪币同样,假如有一个硬币轻一些,则寻找伪币的任务完成。

假如两硬币重量相等,则继续的任务完成。

假如两硬币重量相等,则继续比较硬币比较硬币55和硬币和硬币66。

按照这种方式,可以最。

按照这种方式,可以最多通过多通过88次比较来判断伪币的存在并找出这一次比较来判断伪币的存在并找出这一伪币。

伪币。

假如把假如把1616硬币的例子看成一个大的问题。

第一步,硬币的例子看成一个大的问题。

第一步,把这一问题

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1