, V% ?7 f+ T- J P) p+ f 数学建模比赛是本科生和研究生阶段最重要的比赛之一,包括全国大学生数学建模竞赛(俗称“国赛”)和美国大学生数学建模竞赛(俗称“美赛”)。在这些比赛中取得好成绩,不仅有助于保研、有助于找工作,更重要的是形成科学的思维模式。下面列举了十大算法,在数学建模竞赛中有着无比广泛而重要的应用。" k4 A$ a! R% a6 \% Z
& t8 x3 o c. Z5 [- P) p
01
% _; X7 x/ ^. N$ `- [, U1 @* B$ h7 @
蒙特卡罗算法
) h( F3 g& K- t1946 年,美国拉斯阿莫斯国家实验室的三位科学家 JohnvonNeumann, Stan Ulam和 Nick Metropolis 共同发明了蒙特卡罗方法。4 }7 ?6 e2 l- H5 u- E [9 V
蒙特卡罗方法(Monte Carlo method),又称随机抽样或统计模拟方法,是一种以概率统计理论为指导的一类非常重要的数值计算方法。此方法使用随机数(或更常见的伪随机数)来解决很多计算问题的方法。/ {! h# s' e, E4 Z+ W& A) J
$ p- ?9 v6 d) b" h/ C假设我们要计算一个不规则图形的面积,那么图形的不规则程度和分析性计算(比如:积分)的复杂程度是成正比的。蒙特卡洛方法是怎么计算的呢?假想你有一袋豆子,把豆子均匀地朝这个图形上撒,然后数这个图形之中有多少颗豆子,这个豆子的数目就是图形的面积。当你的豆子越小,撒的越多的时候,结果就越精确。在这里我们要假定豆子都在一个平面上,相互之间没有重叠。+ y7 }' x! O' B( i
0 f% L; u. ]) d. Y# ~( n 3 g) P& e9 E' K蒙特卡罗方法通过抓住事物运动的几何数量和几何特征,利用数学方法来加以模拟,即进行一种数字模拟实验。它是以一个概率模型为基础,按照这个模型所描绘的过程,通过模拟实验的结果,作为问题的近似解。 H, o; m [0 F& j( s1 d( `; k P9 Z
蒙特卡罗方法与一般计算方法有很大区别,一般计算方法对于解决多维或因素复杂的问题非常困难,而蒙特卡罗方法对于解决这方面的问题却比较简单。其特点如下:9 S; v( i* ~* [1 K" M/ q0 O+ j% D
; T0 B9 Y; R L+ D# g9 Ra、直接追踪粒子,物理思路清晰,易于理解;5 Z9 @8 H0 O! |+ |8 p. o/ F
8 u# z4 S+ S5 n& a7 W9 X$ \: B, N
b、采用随机抽样的方法,较真切的模拟粒子输运的过程,反映了统计涨落的规律; . p* l a& S$ L: ^* ? ' M+ R l7 b; @: dc、不受系统多维、多因素等复杂性的限制,是解决复杂系统粒子输运问题的好方法等等 6 o* s6 x" r3 i0 [! U" c3 p5 d+ Y. b ! m7 ~6 x p' @& r9 p1 ]
1 N: q5 K3 v# D* h/ K$ p- t5 ?如果在比赛中采用高级语言进行编程的话,那一些数值分析中常用的算法比如方程组求解、矩阵运算、函数积分等算法就需要额外编写库函数进行调用。 , c" n* e4 Q X$ k0 m+ ], V& r/ V8 i; S9 T4 e L
这类算法是针对高级语言而专门设的,如果你用的是 MATLAB、Mathematica,大可不必准备,因为像数值分析中有很多函数一般的数学软件是具备的。& Q; V. y6 z5 q5 U* V% O) Y
8 U* ?) `, {& n3 Y
10
) H" H: j0 K4 |( X2 u
7 L2 t0 ]1 Y5 G) Z! G
图象处理算法
# X# R% p' `; v7 u* b! Q8 h; U, W7 F
在数学建模竞赛中:比如 01 年 A 题中需要你会读 BMP 图象、美国赛 98 年 A 题需要你知道三维插值计算,03 年 B 题要求更高,不但需要编程计算还要进行处理,而数模论文中也有很多图片需要展示,因此图象处理就是关键。做好这类问题,重要的是把 MATLAB 学好,特别是图象处理的部分。" w, e% B4 C5 `" z6 C
" g; A1 Z7 W# V0 T V9 R