Hopfield-Tank Net. (續)

Download Report

Transcript Hopfield-Tank Net. (續)

Hopfield-Tank Net.
霍普菲爾-坦克網路
Hopfield-Tank Net.
使用最陡坡降(steepest descent)程序
(易收斂於一個鄰近的局部最小值)
與Hopfield Net.屬同一種模式,唯一的差
別在於使用不同的能量函數解決不同的
最適化問題
Hopfield-Tank Net. (續)
從TSP問題了解Hopfield-Tank
Travel Salesman Problem
• 一個旅行推銷員要到N個城市做生意,試找出一
條從某城市出發,連貫這些城市,又回到原出發
城市的最短路徑(每個城市只能走一次)
A
A
F
B
C
D
A
F
B
C
E
D
F
B
C
E
D
E
Hopfield-Tank Net. (續)
Hopfield-Tank Net. vs TSP
利用Hopfield-Tank Net.來解不見得能得到最佳解,
但可找出近似的最佳解
Hopfield-Tank Net.解一般最適化問題的六個基
本步驟
狀態變數◎
狀態的要求◎
狀態的表現◎
狀態函數◎
網路架構◎
網路動態◎
狀態變數
Xxi
大寫X:狀態變數
小寫x:城市
i:拜訪的順序
次序
城市
1
2
3
4
A
0
1
0
0
B
1
0
0
0
C
0
0
0
1
D
0
0
1
0
1 表示城市 x是推銷員所到的第 i站
X Xi  
0 表示城市 x不是推銷員所到的第 i站
狀態要求
設計限制
起始點
每個城市只去一次
每次只去一個城市
N個城市都要到
※找出一條從某城市出發,連貫
這些城市,又回到原出發點的
最短路徑
終點
A
F
B
C
D
E
狀態表現
對於N個城市的旅行推銷員的一個解答可
用N2個神經元的狀態變數來代表狀態變
數的排列矩陣元素
※假設有四個城市
(其神經元連結
方式,舉右上角
神經元為例)
0
1
0
0
1
0
0
0
0
0
0
1
0
0
1
0
狀態函數(限制函數)
每個城市只能經過一次,因此不會有第i
X xi  X xj
站等於第j站的情形 
x
i j i
每個城市只能經過一次,因此第i站的城
X xi  X yi
市不可能會重複

x
i y x

  N
每個城市都要到過一次
X
  

城市最短總距離設計
2
xi
x
dist xy  X xi X y ,i 1 (前一站為 y目前所到為 x)

dist xy  X xi X y ,i 1 (目前所到為 x後一站為 y)
i
因此,路徑的總距離  distxy  X xi  X y ,i 1  X y ,i 1 
x
i
y x
狀態函數(限制函數)
綜合上述四式,設計以下能量函數
A
B
E   X xi  X xj   X xi  X yi
2 x i y x
2 x i y x
2
C 

   X xi   N 
2  x i


D
  dist xy  X xi   X y ,i 1  X y ,i 1 
2 x i y x
A, B, C, D參數起始值可依下列建議來給定
A×(N-1)=B×(N-1)=C× (N-1)=D×N×avg_dist=常數
令D=1,N-1改以N代替則 A=B=C=avg_dist
網路架構
權重值矩陣
w xiyj  A  C
假如神經元 i, j在同一列 , y  x且j  i
 B  C
 Ddist xy  C
假如神經元 i, j在同一行 , y  x且j  i
假如神經元 i, j在相鄰的行 | j  i | 1, 卻不在同一列
 C
otherwise
Bias
Ii  C  n no matter what i is.
網路架構(續)
權重值矩陣為一四維矩陣,不易解讀,
因此,可以一二維矩陣來代替
w41
w31
w21
w11
w42
w32
w22
w12
w43
w44
w33 w34
w23 w24
w13 w14
網路架構(續)
例如:對一個四城市的TSP,x=2, i=2
-B
-A -B -A -A
-B
第2列連結 = -A
第2行連結 = -B
每個神經元的連結= -C
連結分別為各城市間距
離= -D·distxy
網路架構(續)
(續)對一個四城市的TSP,x=2, i=2
0
A
W22   
0

0
B
0
B
B
0  C
A A C

0 0  C
 
0 0  C
0
總權重值矩陣
C C C
d xw
d
C C C
  D   xx
 d xy
C C C


C C C
 d xz
W11
W
W   21
W31

W41
W12
W22
W32
W42
W13 W14 
W23 W24 

W33 W34 

W43 W44 
0 d xw 0
0 d xx 0

0 d xy 0

0 d xz 0
網路動態
設定初始狀態變數後,經由學習過程,
進行狀態值的改變,直到能量函數趨於
最低時,此時狀態變數值即為問題所求
得的解答或其近似解
net xin1  Wxiyj  X yjn  Bias
y
j
1 if net nxi1  0
 n
n 1
X xi   X xi if net nxi1  0
 0 if net n 1  0
xi

z
網路演算法
1km
y
1km
學習過程
w
A=B=C=D=1
w
1km
1km
x
0
A
w22   
0

0
設定網路參數
讀入權重值矩陣
輸入初始狀態變數向量
計算新的狀態變數向量
重複上一步直到收斂為止
• 能量函數不再有明顯變化
• 執行一定數目的學習循環
B
0
B
B
0 1
1 0
 
0 1

0 1
 2
 2
 
 2

1  2
0 0  C
A A C

0 0  C
 
0 0  C
0 0 1
1 1 1

0 0 1
 
0 0 1
2
2
1
2
y
z
0
1
1
0
1
1
0
2
1
1
0
0
0
C C C
d xw
d

C C C
  D   xx
 d xy
C C C


C C C
 d xz
1 1 1
1 0
0 0
1 1 1
  1 
1 0
1 1 1


1 1 1
 2 0
1
4
2

4
2
2
1

bias  
2 1  2 1
4
1

2
1

0 
2
2
0
1
假設初始輸入變數  
0

0
設定網路參數
設定權重值矩陣
回想過程
w

x
distance matrix 
y

z 
x
1
0
0

1

0
0
0
0
1
0 d xw 0
0 d xx 0

0 d xy 0

0 d xz 0
1 0
0 0

1 0

2 0
4
4
4

4 4
4
4
4
4
4
4

4

4
網路演算法(續)
 2
 2
net 22  
 2

1  2
1  0
1
2
2 1

2
2
1  0
 
2 1  2 1  0
2
2
 6  2  4  2  2
net 22  0
 x22  0
餘此類推……
1 0 0
0 0 0
4
0 0 1

0 1 0
最適化網路應用
TSP 旅行推銷員問題
TTL 課程定時問題
VRP 車輛路徑問題
VLSI 超大型積體電路設計
WCP 計算機程式設計
WT 武器系統配置
AL 工廠生產線規劃
FL 設備配置
JSS 工廠排程
PP 計畫規劃
PERT 無資源限制計畫排程
PS 計畫排成
RN 鐵路網路設計
TP 古典運輸問題