: ?9 [& U$ i- u, Z0 h , v6 m% [" E# `8 S2 {五、动态规划、回溯搜索、分治算法、分支定界等计算机算法8 Z1 Z b: ~; p# E' p& ]
在数学建模竞赛中,如:92 年B题用分枝定界法, 97年B题是典型的动态规划问题, $ N4 ~3 q% B: @- r此外 98 年 B 题体现了分治算法。 9 U3 o" J& s3 L0 g6 `1 a# f9 R8 U# @8 B4 S/ m% F
这方面问题和 ACM 程序设计竞赛中的问题类似, $ p; J) {4 P; s/ \推荐看一下算法导论,与《计算机算法设计与分析》(电子工业出版社)等与计算机算法有关的书。 5 D6 b2 {, O p ) O0 C# [1 f: p% D. S
* V1 |3 m& p" S e9 }) w: S六、最优化理论的三大经典算法:模拟退火法、神经网络、遗传算法 , a/ |3 z# X# ?. I2 m这十几年来最优化理论有了飞速发展,模拟退火法、神经网络、遗传算法这三类算法发展很快。$ _+ j. [6 z0 I( e% [
在数学建模竞赛中:比如97年A题的模拟退火算法,00年B题的神经网络分类算法,01年B题这种难题也可 4 ^3 N- s$ ~/ r+ P以使用神经网络,还有美国竞赛89年A题也和 BP 算法有关系,当时是86年刚提出BP算法,89年就考了, % i2 z' o; R( @! \- x, m& t/ z! [7 A说明赛题可能是当今前沿科技的抽象体现。 " |. ~- P3 Y; K03 年 B 题伽马刀问题也是目前研究的课题,目前算法最佳的是遗传算法。 # E( b6 _* D7 Q( d# H) m1 E, m% m 6 f) a0 g0 K5 W/ }9 [# T
另,本人对人工智能非常感兴趣,遗传算法已在本BLOG内有所阐述,敬请参见。" @' g4 u- U* z2 l; @
---------- ( v! c$ T {' q$ N: |0 m( o0 b) A经典算法研究系列:七、深入浅出遗传算法,透析GA本质* f4 A. x Q. H1 ~, Y: B* A. t http://blog.csdn.net/v_JULY_v/archive/2011/01/12/6132775.aspx J- M4 W1 F4 B2 R! O- a " j# t2 _# L$ r1 f& ?0 A8 o其它俩大算法,模拟退火法,与神经网络,也定会在本BLOG内日后的博文更新中,详细阐述。* {' h3 F+ O7 v6 q! }& K
' ?# ~' u% e& X1 _; d : G p1 Y5 D1 `" q七、网格算法和穷举法: B+ d! D6 V" W2 y/ Q$ w
网格算法和穷举法一样,只是网格法是连续问题的穷举。5 d+ F1 |, i4 ]; X' U' p( n' b% s+ ?
比如要求在 N 个变量情况下的最优化问题,那么对这些变量可取的空间进行采点,: h! J; j) l* k
比如在 [ a; b ] 区间内取 M +1 个点,就是 a; a +( b ? a ) =M; a +2 ¢ ( b ? a ) =M ; …;b1 M( S+ {. a( R3 O
那么这样循环就需要进行 ( M + 1) N 次运算,所以计算量很大。$ s+ i V5 J: A$ y! x; j7 f9 B
7 r5 z1 V- Y' N' `在数学建模竞赛中:比如 97 年 A 题、 99 年 B 题都可以用网格法搜索,这种方法最好在运算速度较& J! z7 I1 q. j m- O
快的计算机中进行,还有要用高级语言来做,最好不要用 MATLAB 做网格,否则会算很久。 # Q. n. b/ H# U y& X' q, k! G穷举法大家都熟悉,自不用多说了。 2 a B: u* P% k3 o' [1 ? 2 C0 Y) S" |( R! H