) }! S) g& k7 E: k. T5 |: n ; ? v8 |; Q" u蒙特卡罗方法通过抓住事物运动的几何数量和几何特征,利用数学方法来加以模拟,即进行一种数字模拟实验。它是以一个概率模型为基础,按照这个模型所描绘的过程,通过模拟实验的结果,作为问题的近似解。 3 Z Q: V+ H" Q0 v( t2 l4 ^ % W( N4 g1 O+ y9 l x 8 H9 u: e" c4 g4 b2 @蒙特卡罗方法与一般计算方法有很大区别,一般计算方法对于解决多维或因素复杂的问题非常困难,而蒙特卡罗方法对于解决这方面的问题却比较简单。其特点如下:# H' ]" _! ]0 U9 X& p* L8 v
* K2 R0 H' g4 D3 J" p4 K2 ?1 O' _ I7 E' D+ N9 k5 X" A( }
a、直接追踪粒子,物理思路清晰,易于理解; ( A: a1 }( n8 r9 H6 l9 s& Z" `" I, r5 d
4 J% P+ \0 @) R" |$ J7 p ]
b、采用随机抽样的方法,较真切的模拟粒子输运的过程,反映了统计涨落的规律;' d( u9 y. G9 g6 A& R1 y6 P% h
, O; ?: @, C% T) V8 ~% z
, p W8 h/ U2 X$ F. U+ N- [
c、不受系统多维、多因素等复杂性的限制,是解决复杂系统粒子输运问题的好方法; _3 Z( N r/ e1 N6 H5 o% f
2 I* S( Z; i8 n& a) `
" q. U% Z4 Q4 j! s6 Q
等等+ E0 t1 z) `. ~/ N
( l) s3 c; ]- P5 A ) I. d5 C. w* X* a1 U 02 数据拟合、参数估计、插值等数据处理算法- @4 @; z) G4 A
我们通常会遇到大量的数据需要处理,而处理数据的关键就在于这些算法,通常使用 Matlab 作为工具。9 h7 t3 I p+ ^9 [5 Z `
" J2 }3 z- ]4 E9 s4 v8 Z6 E2 E& O+ g* x) A; E1 {8 W& N
数据拟合在数学建模比赛中中有应用,与图形处理有关的问题很多与拟合有关系,一个例子就是 98 年数学建模美国赛 A 题,生物组织切片的三维插值处理,94 年 A 题逢山开路,山体海拔高度的插值计算,还有吵的沸沸扬扬可能会考的“非典”问题也要用到数据拟合算法,观察数据的走向进行处理。 8 N! A4 [ e3 q* b' z4 V' }: G* i4 n& f1 C9 R2 T+ o" c- [7 [+ f
5 [/ L+ K* _& U. H1 M* g 03 线性规划、整数规划、多元规划、二次规划等规划类问题9 L. F- X; y& D6 P
数学建模竞赛中很多问题都和数学规划有关,可以说不少的模型都可以归结为一组不等式作为约束条件、几个函数表达式作为目标函数的问题。6 W Q# k7 i3 T
' U" k" Z! Y# z
0 H6 `+ `1 N( d- f' F! ?) ~; L
遇到这类问题,求解就是关键了,比如 98 年 B 题,用很多不等式完全可以把问题刻画清楚,因此列举出规划后用 Lindo、Lingo 等软件来进行解决比较方便,所以还需要熟悉这两个软件。 3 ?2 B8 [* j4 a$ Z7 g7 h $ x6 u( s; s) m ' t" w6 p4 h/ n/ ^3 @# C 04 图论算法3 _" A( H+ D0 I6 ^6 B3 g# O) `
这类问题算法有很多,包括:Dijkstra、Floyd、Prim、Bellman-Ford,最大流,二分匹配等问题。 # g- T' q7 p- E3 D3 [ t3 q% U: j n. Q E8 I E
7 f8 E! o2 w* F' \, r
关于此类图论算法,可参考 IntroductiontoAlgorithms--算法导论,关于图算法的第22章-第26章。 " o8 V8 O/ w# r* p ~! I. C/ e3 U, C) N/ C* [
9 h, r6 Y9 _1 k" [2 f4 i( o8 C
. V" r( [: }9 g7 ]* z8 A
" @4 H9 P/ I" E4 {, P- p" m 4 I/ t, V3 Z5 G3 _! h' G/ L1 P, C+ `. r5 b, \ C
05 动态规划、回溯搜索、分治算法、分支定界等计算机算法 8 j; f- V J$ s% A6 `在数学建模竞赛中,如:92 年 B 题用分枝定界法,97年 B 题是典型的动态规划问题,此外 98 年 B 题体现了分治算法。4 ~3 O; R9 U* i" c y# z
3 ?0 a. g$ \; o( c$ m0 e4 R 3 v& B; b4 C8 i- _5 a 0 t. b! q4 C- F/ u1 K% a& N9 \# s' j# Y4 r& R
' y$ o y0 ~. D. m, \ ?2 y
8 b7 K1 \ l6 W
这方面问题和 ACM 程序设计竞赛中的问题类似,推荐看一下算法导论,与《计算机算法设计与分析》(电子工业出版社)等与计算机算法有关的书。 & U- b: m: E" s( x& X, x2 S! Y j$ N' y5 P
( s% I a9 \' L* [ 06 最优化理论的三大经典算法:模拟退火法、神经网络、遗传算法 4 U, T1 i: `" ~ V5 B4 A8 w( F这十几年来最优化理论有了飞速发展,模拟退火法、神经网络、遗传算法这三类算法发展很快。6 h' ~- T3 p5 {1 K* B9 x
" }2 l7 B/ F3 }. t6 ?6 s: F1 d - U* _3 g2 M/ t }+ T9 [在数学建模竞赛中:比如 97 年 A 题的模拟退火算法,00 年 B 题的神经网络分类算法,01 年 B 题这种难题也可以使用神经网络。! g/ }9 L" D4 K. u7 Q
0 {8 E% V5 |) T) P7 ?1 l. K
7 t5 R) E1 E6 Q* r4 y" g
还有美国竞赛 89 年 A 题也和 BP 算法有关系,当时是 86 年刚提出 BP 算法,89 年就考了,说明赛题可能是当今前沿科技的抽象体现。& ?9 a# v: A: j% P3 x4 U
$ I$ }: Z- m; a