/ g& ?* U5 J- i P4 n+ ` (2)为了降低计算量,禁忌长度和禁忌表的集合不宜太大,但是禁忌长度太小容易循环搜索,禁忌表太小容易陷入“局部极优解”。 & l2 A, [3 {1 O7 F e1 J7 l9 _# I) l
, G w; E& h0 v* t
(3)上述程序段中对best_to_far的操作是直接赋值为最优的“解禁候选解”,但是有时候会出现没有大于best_to_far的,候选解也全部被禁的“死锁”状态,这个时候,就应该对候选解中最佳的进行解禁,以能够继续下去。 ' T$ m. j+ E N0 b0 m/ ~/ \( ?! ^( @$ T( r- Z% J
* b' @% Y( d+ l$ y) w$ o8 {! K (4)终止准则:和模拟退火,遗传算法差不多,常用的有:给定一个迭代步数;设定与估计的最优解的距离小于某个范围时,就终止搜索;当与最优解的距离连续若干步保持不变时,终止搜索; 8 Z+ g7 H1 w ]& W % l7 e! v) l: b4 Z9 l8 n! M 2 ]% @* V) M0 u# T% N8 O1 }& a 禁忌搜索是对人类思维过程本身的一种模拟,它通过对一些局部最优解的禁忌(也可以说是记忆)达到接纳一部分较差解,从而跳出局部搜索的目的。8 ?3 v, n% w9 L$ g$ ^5 P q
% q* f: X. _/ Z7 y& W7 r, w: ?) K. P2 B& j/ R
# Q; k5 a* f5 d G: u; N
% q* o2 n8 _" U% {
人工神经网络 # E2 u9 {9 P. _1 z+ R , V$ B4 m" W7 `& J7 \& q# d; B, @9 t( o5 Y
# }0 R# r$ D2 [' e4 E& \; u) T! M
人工神经网络(Artificial Neural Network,ANN)9 l7 r6 O6 N9 p
; O6 z% m# `6 F+ }/ }' U
7 m# v% b2 u- I 神经网络从名字就知道是对人脑的模拟。它的神经元结构,它的构成与作用方式都是在模仿人脑,但是也仅仅是粗糙的模仿,远没有达到完美的地步。和冯·诺依曼机不同,神经网络计算非数字,非精确,高度并行,并且有自学习功能。 ) g: v/ \+ D; @+ M( t8 [! u # x+ T2 q9 [0 ? 3 r/ R" A+ J' ?7 n 生命科学中,神经细胞一般称作神经元,它是整个神经结构的最基本单位。每个神经细胞就像一条胳膊,其中像手掌的地方含有细胞核,称作细胞体,像手指的称作树突,是信息的输入通路,像手臂的称作轴突,是信息的输出通路;神经元之间错综复杂地连在一起,互相之间传递信号,而传递的信号可以导致神经元电位的变化,一旦电位高出一定值,就会引起神经元的激发,此神经元就会通过轴突传出电信号。+ P& A, k/ J6 @; W
6 |. k$ z/ b+ w3 o
9 P9 Z1 z& K8 k( q% v; l) | 而如果要用计算机模仿生物神经,就需要人工的神经网络有三个要素:(1)形式定义人工神经元;(2)给出人工神经元的连接方式,或者说给出网络结构;(3)给出人工神经元之间信号强度的定义。& U9 m8 M- f' F1 X
$ D: E1 }" e: A, |0 |" m. d. W
8 A" K" z0 ~7 o$ ?9 C v6 f
历史上第一个人工神经网络模型称作M-P模型,非常简单: + p1 n& t. T, [+ }* `3 { ; v% j( O: o# Q" U) G9 | & n5 l, h$ J2 i0 U/ @ 其中,表示神经元i在t时刻的状态,为1表示激发态,为0表示抑制态;是神经元i和j之间的连接强度;表示神经元i的阈值,超过这个值神经元才能激发。; i* H3 h+ y. w/ _# r0 T0 S: ~
7 |* ]* n) u, j: ?2 o! o- k* W" G5 f0 n
这个模型是最简单的神经元模型。但是功能已经非常强大:此模型的发明人McCulloch和Pitts已经证明,不考虑速度和实现的复杂性,它可以完成当前数字计算机的任何工作。 4 ~% |2 y. i1 x/ b $ B+ O$ ?6 `7 \: c 4 l8 T. U, n. Z) p2 x* { 以上这个M-P模型仅仅是一层的网络,如果从对一个平面进行分割的方面来考虑的话,M-P网络只能把一个平面分成个半平面,却不能够选取特定的一部分。而解决的办法就是“多层前向网路”。 7 B) q3 e# I, A& L' G6 ^3 M% H. L% Y- a1 n# M
9 F! E* ~4 E6 ^8 x/ r
为了让这种网络有合适的权值,必须给网络一定的激励,让它自己学习,调整。一种方法称作“向后传播算法(Back Propagation,BP)”,其基本思想是考察最后输出解和理想解的差异,调整权值,并把这种调整从输出层开始向后推演,经过中间层,达到输入层。# B# Z5 ~+ W8 D& [* C: j9 l- N