28
蔡蔡蔡 蔡蔡 蔡蔡蔡 蔡蔡 1 2006-4-15 2006-4-15 HOPFIELD HOPFIELD 蔡蔡蔡蔡 蔡蔡蔡蔡 TSP TSP 蔡蔡 蔡蔡 蔡蔡蔡 蔡蔡 蔡蔡蔡 蔡蔡

HOPFIELD 网络解决 TSP 问题

  • Upload
    cisco

  • View
    282

  • Download
    2

Embed Size (px)

DESCRIPTION

HOPFIELD 网络解决 TSP 问题. 蔡佳佳 吴凡. TSP. 旅行商问题 (TSP): 有 N 个城市及它们的距离 d i j . 求最短的哈密尔顿回路。. Hopfield 网络. Hopfield Net. vs TSP 利用 Hopfield Net. 来解未必能得到最优解,但可以得到较优解。 Hopfield Net. 解题的六个方面 状态变量 ◎ 状态要求 ◎ 状态表现 ◎ 状态函数 ◎ 网络架构 ◎ 网络动态 ◎. TSP 问题建模(状态变量). - PowerPoint PPT Presentation

Citation preview

蔡佳佳 吴凡 蔡佳佳 吴凡 112006-4-152006-4-15

HOPFIELDHOPFIELD 网络解决网络解决 TSPTSP 问题问题蔡佳佳 吴凡蔡佳佳 吴凡

2006-4-152006-4-15 蔡佳佳 吴凡 蔡佳佳 吴凡 22

TSPTSP• 旅行商问题 旅行商问题 (TSP):(TSP):有 有 NN 个城市及它个城市及它们的距离 们的距离 ddiij j ..求最短的哈密尔顿求最短的哈密尔顿回路。回路。

2006-4-152006-4-15 蔡佳佳 吴凡 蔡佳佳 吴凡 33

HopfieldHopfield 网络网络• Hopfield Net. vs TSPHopfield Net. vs TSP

– 利用利用 Hopfield Net.Hopfield Net. 来解未必能得到最优解,但可以来解未必能得到最优解,但可以得到较优解。得到较优解。• Hopfield Net.Hopfield Net. 解题的六个方面解题的六个方面

– 状态变量状态变量◎◎– 状态要求状态要求◎◎– 状态表现状态表现◎◎– 状态函数状态函数◎◎– 网络架构网络架构◎◎– 网络动态网络动态◎◎

2006-4-152006-4-15 蔡佳佳 吴凡 蔡佳佳 吴凡 44

TSPTSP 问题建模(状态变量)问题建模(状态变量)• TSPTSP 问题可以描述为:设问题可以描述为:设 nn 个城市个城市 AA ,, BB ,, C……C…… 两两两城市间距离分别为两城市间距离分别为 SijSij ,从任一城市出发,访问每个,从任一城市出发,访问每个城市一次并返回起点。假如有城市一次并返回起点。假如有 44 个城市个城市 AA ,, BB ,, CC ,, DD ,,顺序为顺序为 B→A→D→C→BB→A→D→C→B 。那么路线排列应该是。那么路线排列应该是

• TSPTSP 问题的解是问题的解是 nn 个城市的有序排列,可以用换位矩阵个城市的有序排列,可以用换位矩阵来表示一条访问路径。矩阵每行决定一个城市的位置,来表示一条访问路径。矩阵每行决定一个城市的位置,如上面的路径可以表示为:如上面的路径可以表示为:

DBS

cbdcadba SSSSS

2006-4-152006-4-15 蔡佳佳 吴凡 蔡佳佳 吴凡 55

TSPTSP 问题建模(状态变量)问题建模(状态变量)• VVxixi

– 大大写写 VV ::状态变量状态变量– 小小写写 xx :城市:城市– ii :拜:拜访访的的顺顺序序

次序次序城市城市 11 22 33 44AA 00 11 00 00BB 11 00 00 00CC 00 00 00 11DD 00 00 11 00

站不是推销员所到的第表示城市站是推销员所到的第表示城市ix 0ix 1

VXi

2006-4-152006-4-15 蔡佳佳 吴凡 蔡佳佳 吴凡 66

TSPTSP 问题建模(状态要求)问题建模(状态要求)• 设计设计限制限制

– 每每个个城市只去一次城市只去一次– 每次只去一每次只去一个个城市城市– NN 个个城市都要到城市都要到

•找出一条从某城市出发,连贯这些城市,又回到原出发点的最短路径。

2006-4-152006-4-15 蔡佳佳 吴凡 蔡佳佳 吴凡 77

TSPTSP 问题建模(状态表现)问题建模(状态表现)• 对于对于 NN 个个城市的旅行城市的旅行推销员推销员的一的一个个解答可解答可用用 NN22 个神经个神经元的元的状态变量来状态变量来代表代表状态变量状态变量的排列矩的排列矩阵阵元素元素

•假设有四个城市 ( 其神经元连接 方式,以右上角 神经元为例 )0 1 0 0

1 0 0 0

0 0 0 1

0 0 1 0

2006-4-152006-4-15 蔡佳佳 吴凡 蔡佳佳 吴凡 88

TSPTSP 问题建模(状态函数)问题建模(状态函数)• 每每个个城市只能城市只能经过经过一次,因此不一次,因此不会会有第有第 ii 站等站等于于第第 jj 站的情形站的情形• 每每个个城市只能城市只能经过经过一次,因此第一次,因此第 ii 站的城市不站的城市不可能重可能重复复• 每每个个城市都要到城市都要到过过一次一次• 这实际上就是这实际上就是 TSPTSP 问题用问题用 HOPFIELDHOPFIELD 网络建模网络建模的的 33 个限制。即换位矩阵每行只有一个个限制。即换位矩阵每行只有一个 11 ,每,每列只有一个列只有一个 11 ,整个矩阵有,整个矩阵有 NN 个个 11 。。

2006-4-152006-4-15 蔡佳佳 吴凡 蔡佳佳 吴凡 99

TSPTSP 问题建模(状态函数)问题建模(状态函数)• 前面理论已经讲过了前面理论已经讲过了 HOPFIELDHOPFIELD 模型要有一个模型要有一个能量函数,它和前馈的误差函数很接近。利用能量函数,它和前馈的误差函数很接近。利用 LiLiyapunovyapunov 函数来构造这里的能量函数。函数来构造这里的能量函数。• 这里能量的一个重要部分是和路径有关的信息,这里能量的一个重要部分是和路径有关的信息,那么可以设定一个式子那么可以设定一个式子• 这个式子要达到一个极小值才可能满足要求。下这个式子要达到一个极小值才可能满足要求。下标要对标要对 NN 取模运算。否则下标就出现无意义值。取模运算。否则下标就出现无意义值。

x xy i

iyiyxixy VVVdJ 1,1,)4(

2006-4-152006-4-15 蔡佳佳 吴凡 蔡佳佳 吴凡 1010

TSPTSP 问题建模(状态函数)问题建模(状态函数)• 还要考虑路径的合法还要考虑路径的合法性,这样就再加上性,这样就再加上 33个约束条件:个约束条件:• 第一个是每行不多于第一个是每行不多于一个一个 11 ,第,第 22 个是每个是每列不多于一个列不多于一个 11 ,第,第33 个是矩阵中个是矩阵中 11 的个的个数是数是 nn 个个

x i ij

xjxi VVJ )1(

i x xy

yixi VVJ )2(

2

)3(

NVJ

x ixi

2006-4-152006-4-15 蔡佳佳 吴凡 蔡佳佳 吴凡 1111

TSPTSP 问题建模(状态函数)问题建模(状态函数)• 采用采用 LagrangLagrangee 乘子法,将乘子法,将这个有约束优这个有约束优化问题转化为化问题转化为无约束的优化无约束的优化问题。问题。 AA ,, BB ,,CC ,, DD 都是相都是相应的加权系数。应的加权系数。

x xy iiyiyxixy

x ixi

i x xyyixi

x i ijxjxi

VVVd

NV

VVBVVAE

1,1,

2

2D

2C

22

2006-4-152006-4-15 蔡佳佳 吴凡 蔡佳佳 吴凡 1212

TSPTSP 问题建模(状态函数)问题建模(状态函数)• 其中前三项是所有其中前三项是所有 TSPTSP 问题都必须有的约束,第问题都必须有的约束,第四项因问题不同而不同。这里给出的第四项只能四项因问题不同而不同。这里给出的第四项只能解决小规模的解决小规模的 TSPTSP 问题。问题。 HOPFIELDHOPFIELD 给了一组给了一组 1100 城市均匀分布的坐标并用这个公式实现。他声城市均匀分布的坐标并用这个公式实现。他声称称 2020 次模拟实验中有次模拟实验中有 1616次收敛到最优解或较优次收敛到最优解或较优解。不过解。不过 WilsonWilson 用同样的方法,并不能达到这个用同样的方法,并不能达到这个效果。总体结果很差。效果。总体结果很差。 AiyerAiyer通过分析网络特征通过分析网络特征值,从超空间角度解释了值,从超空间角度解释了 HOPFIELDHOPFIELD 网络求解网络求解 TSTSPP常陷入无效解的原因,并修改能量公式如后:常陷入无效解的原因,并修改能量公式如后:

2006-4-152006-4-15 蔡佳佳 吴凡 蔡佳佳 吴凡 1313

TSPTSP 问题建模(状态函数)问题建模(状态函数)

•显然这个公式保证网络收敛到有效解是以显然这个公式保证网络收敛到有效解是以复杂的能量函数为代价。现在的复杂的能量函数为代价。现在的 HOPFIELHOPFIELDD 网络改进关键都在这个含路径信息的计算网络改进关键都在这个含路径信息的计算块上面。块上面。

2006-4-152006-4-15 蔡佳佳 吴凡 蔡佳佳 吴凡 1414

TSPTSP 问题建模(状态函数)问题建模(状态函数)• 孙守宇,郑君里 ,孙守宇,郑君里 , HOPFIELDHOPFIELD 网络求解网络求解 TSPTSP 的一种改进的一种改进算法和理论证明, 电子学报,算法和理论证明, 电子学报, ,1995 ,23 (1) :73,1995 ,23 (1) :73~~ 7878• 该论文提出一种改进的方案,首先,能量函数第该论文提出一种改进的方案,首先,能量函数第 33 项只项只在网络输出全为在网络输出全为 00时才起作用,否则前两项已经保证了时才起作用,否则前两项已经保证了第第 33 项成立,因此对前两项做修改:项成立,因此对前两项做修改:

• 这样第这样第 33 项完全可以省去。那么,项完全可以省去。那么, TSPTSP 能量函数可以简能量函数可以简化为下页所示:化为下页所示:

n

1i

2n

1xxi

n

1x

2n

1ixi )1V(

2B)1V(

2A

2006-4-152006-4-15 蔡佳佳 吴凡 蔡佳佳 吴凡 1515

TSPTSP 问题建模(状态函数)问题建模(状态函数)

n

x

n

y

n

iiyxixyxi VVdVD

E

1 1 11,

n

1i

2n

1xxi

n

1x

2n

1ixi

2

)1V(2B)1V(

2A

2006-4-152006-4-15 蔡佳佳 吴凡 蔡佳佳 吴凡 1616

TSPTSP 问题建模(状态函数)问题建模(状态函数)•由于行列对称性,由于行列对称性, B=AB=A 。且第四项比。且第四项比 AiyerAiyer的简化了很多,式子仍然满足优化目标约的简化了很多,式子仍然满足优化目标约束的要求。束的要求。• 这些参数的设置需要大量测试,前人的论这些参数的设置需要大量测试,前人的论文仅供参考。论文上设计的参数变化幅度文仅供参考。论文上设计的参数变化幅度很大,从不足很大,从不足 11 到数百甚至上千都有。具到数百甚至上千都有。具体情况需要自己测试来确定。体情况需要自己测试来确定。

2006-4-152006-4-15 蔡佳佳 吴凡 蔡佳佳 吴凡 1717

TSPTSP 问题建模(网络架构)问题建模(网络架构)• 权值矩阵(对应权值矩阵(对应 1111页的原始能量公式,那个公式隐页的原始能量公式,那个公式隐含的定义了这个矩阵):当含的定义了这个矩阵):当 i=ji=j时, 时, 为为 11 ,否则为,否则为 00 。。右边是外部激励电流右边是外部激励电流

其它情况

却不在同一列在相邻的行假如神经元在同一行假如神经元

在同一列假如神经元,

C

,1||ji, CDd ij且xy,ji, CB

ij且xy,ji, CAT

xy

yjxi

ij

)(

)1()1(

1,1,

,

ijijxy

xyijijxyyjxi

DdC

BAT

ij

CnI xi

2006-4-152006-4-15 蔡佳佳 吴凡 蔡佳佳 吴凡 1818

TSPTSP 问题建模(网络架构)问题建模(网络架构)• 同样,改进的那篇论文中的连接权值矩阵也可同样,改进的那篇论文中的连接权值矩阵也可以写出:以写出: 外部激励电流为外部激励电流为

1,, ijxyijxyyjxi DdAAT

AI xi 2

2006-4-152006-4-15 蔡佳佳 吴凡 蔡佳佳 吴凡 1919

TSPTSP 问题建模(网络架构)问题建模(网络架构)• 权值矩阵是个四维矩阵,不易明白,可以权值矩阵是个四维矩阵,不易明白,可以把它转化为一个二维矩阵。把它转化为一个二维矩阵。

w11

w21

w31

w41

w12

w22

w32

w42

w13

w23

w33

w43

w14

w24

w34

w44

2006-4-152006-4-15 蔡佳佳 吴凡 蔡佳佳 吴凡 2020

TSPTSP 问题建模(网络动态)问题建模(网络动态)• 设设定初始定初始状态数后状态数后,,经经由由学习过程学习过程,,进进行行状态状态值的值的改改变变,直到能量函數,直到能量函數趋于最趋于最低低时时,此,此时状态值时状态值即即为为问题问题所求得的解答或所求得的解答或近近似解似解。。• 神经元的作用函数一般取双曲正切函数,这里取神经元的作用函数一般取双曲正切函数,这里取 SiSigmoidgmoid 函数也可以。改变量与神经元输入对时间函数也可以。改变量与神经元输入对时间的偏导成正比。这和的偏导成正比。这和 BPBP 网络中权值的修改相似。网络中权值的修改相似。BPBP 网修改如下:网修改如下:

2006-4-152006-4-15 蔡佳佳 吴凡 蔡佳佳 吴凡 2121

TSPTSP 问题建模(网络动态)问题建模(网络动态)• HOPFIELDHOPFIELD 网络权值修改如下:网络权值修改如下:

• 有些源码上用有些源码上用 hh 代替代替 ΔΔtt。现在的问题就是式子。现在的问题就是式子最后这个偏导数怎么求。改进算法公式如下:最后这个偏导数怎么求。改进算法公式如下:

dtdutuu xil

xilxi 1

n

yiyxy

n

yyi

n

jxj

xi VdDVAVAdtdu

11,

11

)1()1(

2006-4-152006-4-15 蔡佳佳 吴凡 蔡佳佳 吴凡 2222

HOPFIELDHOPFIELD 网络算法步骤:网络算法步骤:• 学习过程学习过程

– 设定网络参数设定网络参数• 回想过程回想过程

– 设定网络参数设定网络参数– 输入初始状态向量输入初始状态向量– 计算新的状态向量计算新的状态向量– 重复上一步直到满足要求重复上一步直到满足要求

• 能量函数不再有明显变化能量函数不再有明显变化•执行一定数目的学习次数执行一定数目的学习次数

2006-4-152006-4-15 蔡佳佳 吴凡 蔡佳佳 吴凡 2323

HOPFIELDHOPFIELD 网络算法流程图网络算法流程图

2006-4-152006-4-15 蔡佳佳 吴凡 蔡佳佳 吴凡 2424

HOPFIELDHOPFIELD 网络算法细节网络算法细节• 一一 . . 初始化输入向量初始化输入向量• 网络初始状态 可以采用两种方法:网络初始状态 可以采用两种方法:• 1 1 简单的随机数法,不过这个随机数有一定范简单的随机数法,不过这个随机数有一定范围,太小太大都不合适,需要进行测试才能确围,太小太大都不合适,需要进行测试才能确定较优情况。定较优情况。• 2 2 随机扰动方法设置初始值。开始先设置一个随机扰动方法设置初始值。开始先设置一个初始值 初始值 u00,u00, 然后对该值进行扰动,增加一个微然后对该值进行扰动,增加一个微小值小值 δδ ,即,即

xiu

000000 1.01.0, uuuuxi 其中

2006-4-152006-4-15 蔡佳佳 吴凡 蔡佳佳 吴凡 2525

HOPFIELDHOPFIELD 网络算法细节网络算法细节• 采用随机扰动设置初值可以获得解,但随机扰动采用随机扰动设置初值可以获得解,但随机扰动缺乏整体特性,往往不易得到较好解,且无法保缺乏整体特性,往往不易得到较好解,且无法保证收敛性。一种改进的方法是给初始值增加一个证收敛性。一种改进的方法是给初始值增加一个偏置。该偏置由偏置。该偏置由 Wilson-PawleyWilson-Pawley 公式给出:公式给出:

])5.0()5.0()1(2)5.05.0(cos[arctan),( 22

iii

i yxNj

xyjibias

2006-4-152006-4-15 蔡佳佳 吴凡 蔡佳佳 吴凡 2626

HOPFIELDHOPFIELD 网络算法细节网络算法细节•二 神经元值的计算和应用二 神经元值的计算和应用 由于每次神经元的值都在由于每次神经元的值都在 SigmoidSigmoid 函数曲函数曲线上,并且每次都要进行转换,该函数包线上,并且每次都要进行转换,该函数包括两次指数运算,两次除法运算,三次加括两次指数运算,两次除法运算,三次加法运算,运算量很大,因此采用预先计算法运算,运算量很大,因此采用预先计算并保存,用时查找的方法。这方法可以大并保存,用时查找的方法。这方法可以大大提高速度,把运算减少到只有一次乘法大提高速度,把运算减少到只有一次乘法和一次加法。和一次加法。

2006-4-152006-4-15 蔡佳佳 吴凡 蔡佳佳 吴凡 2727

HOPFIELDHOPFIELD 网络算法细节网络算法细节• 三 判断路径的合法性三 判断路径的合法性 输出的数没有恰好的输出的数没有恰好的 00 和和 11 ,所以神经元,所以神经元的输出接近的输出接近 00 和和 11 就可以,比方说大于 就可以,比方说大于 0.90.999 就看作就看作 11 ,小于,小于 0.010.01 就看作就看作 00 。。 检查每行或每列检查每行或每列 11 的个数时就把每行或每的个数时就把每行或每列的数相加求和后与列的数相加求和后与 11比较,在一个误差比较,在一个误差范围内就可以了,例如范围内就可以了,例如 1±0.11±0.1 。。

2006-4-152006-4-15 蔡佳佳 吴凡 蔡佳佳 吴凡 2828