Tải bản đầy đủ (.doc) (17 trang)

BÀI TẬP LỚN MÔN LÝ THUYẾT NHẬN DẠNG Mạng nơron Hopfield và ứng dụng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (533.27 KB, 17 trang )


BỘ CÔNG THƯƠNG
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN

BÀI TẬP LỚN
MÔN: LÝ THUYẾT NHẬN DẠNG
Đề tài: Mạng nơron Hopfield và ứng dụng
Lớp : ĐH KHMT2 – K3
Gio viên hướng d"n: Trần Hùng Cường
Sinh viên thực hiện: Nhóm 6
Trần Văn Huy Phạm Hằng Nga
Nguyễn Thị Tân Nguyễn Khnh Linh
Hà Nội, tháng 6/2011
Mạng nơron Hopfield
MẠNG HOPFIELD
LỜI MỞ ĐẦU
Những năm gần đây trên thế giới đưa ra mô hình mạng nơ-ron nhân tạo là mô
hình tính toán được áp dụng rộng rãi trong lĩnh vực công nghệ thông tin, đặc biệt là
mạng Hopfield rất thích hợp cho các bài toán: Bài toán tìm đường đi ngắn nhất, bài
toán tô màu bản đồ, bài toán xếp hậu . Khi ứng dụng mạng nơ-ron Hopfield để
giải bài toán thì thu được kết quả khá khả quan về mặt chương trình gọn, đơn giản.
Nhận thức được vấn đề đó và có sự gợi ý định hướng của thầy Trần Hùng Cường
chúng em đã mạnh dạn nghiên cứu đề tài “Mạng nơ-ron Hopfield và ứng dụng”.
I. Giới thiệu
1. Giới thiệu về mạng nơ-ron
1. Lịch sử phát triển
Theo Wiener: trí não, thông tin và điều khiển là ba lĩnh vực dưới ngọn cờ
chung là điều khiển học (Cybernetics). Nghiên cứu và mô phỏng trí não, cụ thể là
mô tế bào thần kinh (nơ-ron) là một ước muốn từ lâu của nhân loại. Từ ước mơ đó
nhiều nhà khoa học đã không ngừng nghiên cứu, tìm hiểu về mạng nơ-ron. Với


khoảng 15 tỷ nơ-ron ở não người, mỗi nơ-ron có thể nhận hàng vạn tín hiệu từ các
khớp thần kinh và được coi là cơ chết sinh vật phức tạp nhất. Não người có khả
năng giải quyết các vấn đề: nghe, nhìn, nói, hồi ức thông tin, phân biệt các mẫu
mặc dù sự kiện bị méo mó, thiếu hụt. Não thực hiện các nhiệm vụ như vậy nhờ các
phần tử tính toán (nơ-ron). Não phân bố việc thực hiện cho hàng tỷ nơ-ron có liên
quan, điều khiển mối liên hệ giữa các nơ-ron đó. Nơ-ron không ngừng nhận và
truyền thông tin lẫn nhau. Quá trình nghiên cứu và phát triển mạng nơ-ron nhân tạo
có thể chia thành bốn giai đoạn như sau: + Giai đoạn một: Có thể tính từ nghiên
cứu của William (1980) về tâm lý học với sự liên kết các nơ-ron thần kinh. Năm
1940, Mc Culloch và Pitts đã cho biết: nơ-ron có thể được mô hình hóa như thiết bị
ngưỡng (giới hạn) để thực hiện các phép tính lôgic và mô hình mạng nơ-ron của
Mc Culloch-Pitts cùng với giảithuật huấn luyện mạng của Hebb ra đời năm 1943. +
Giai đoạn hai: Vào khoảng gần những năm 1960, một số mô hình nơ-ron hoàn
thiện hơn đã được đưa ra như: mô hình Perceptron của Rosenblatt (1958), Adaline
2
Mạng nơron Hopfield
của Widrow (1962). Trong đó mô hình Perceptron rất được quan tâm vì nguyên lý
đơn giản, nhưng nó cũng có hạn chế vì như Marvin Minsky và Seymour papert của
MIT (Massachurchs Insritute of Technology) đã chứng minh nó không dùng được
cho các hàm lôgic phức (1969). Còn Adaline là mô hình tuyến tính, tự chỉnh, được
dùng rộng rãi trong điều khiển thích nghi, tách nhiễu và vẫn phát triển cho đến nay.
+ Giai đoạn ba: Có thể tính vào đầu thập niên 80. Những đóng góp lớn cho mạng
nơ-ron giai đoạn này phải kể đến Grossberg, Kohonen, Rumelhart và Hopfield.
Trong đó đóng góp lớn của Hopfield gồm hai mạng phản hồi: mạng rời rạc năm
1992 và mạng liên tục năm 1984. Đặc biệt, ông đã dự kiến nhiều khả năng tính
toán lớn của mạng mà một nơ-ron không có khả năng đó. Cảm nhận của Hopfield
đã được Rumelhart, Hillton và William đề xuất thuật toán sai số truyền ngược nổi
tiếng để huấn luyện mạng nơ-ron nhiều lớp nhằm giải bài toán mà mạng khách
không thực hiện được. Nhiều ứng dụng mạnh mẽ của mạng nơ-ron ra đời cùng với
các mạng theo kiểu máy Boltzmann và mạng Neocognition của Fukushima. + Giai

đoạn bốn: Tính từ năm 1987 đến nay, hàng năm thế giới đều mở hội nghị toàn cầu
chuyên ngành nơ-ron IJCNN (International Joint Conference on Neural Networks).
Rất nhiều công trình được nghiên cứu để ứng dụng mạng nơ-ron vào các lĩnh vực,
ví dụ như: kỹ thuật tính, tối ưu, sinh học, y học, thống kê, giao thông, hóa học…
cho đến nay, mạng nơ-ron đã tìm được và khẳng định được vị trí của mình trong
rất nhiều ứng dụng khách nhau.
II. Mạng Hopfield
2. Sơ lược về mạng Hopfield
Mạng Hopfield là một mạng nơ-ron nhân tạo học định k• do John Hopfield
sáng chế. Mạng Hopfield đóng vai trò như các hệ thống bộ nhớ có thể đánh địa chỉ
nội dung với các nút ngưỡng dạng nhị phân. Chúng được đảm bảo sẽ hội tụ về một
trong các mẫu được lưu trữ.
Mạng hồi quy tín hiệu ra của một nơ-ron có thể được truyền ngược lại làm tín
hiệu đầu vào cho các nơ-ron ở các lớp trước, hoặc các nơ-ron trong cùng một lớp.
Mạng Hopfield là một mô hình mạng tiêu biểu thuộc lớp mạng hồi qui. Mạng
Hopfield là mạng một lớp với thông tin và quá trình xử lý có nối ngược. Trong
công trình nghiên cứu về mạng Hopfield người ta đã tìm ra được rất nhiều ứng
dụng, đặc biệt là bộ nhớ liên kết và trong các bài toán tối ưu.
3
Mạng nơron Hopfield
3. Cấu trúc mạng Hopfield
Về mặt cấu trúc thì mạng Hopfield là mạng chỉ có một lớp nơron, trong đó mỗi
nơron đều nối với tất cả các nơron còn lại. Mạng Hopfield được xây dựng dưới
dạng mạng một lớp, mỗi nơ-ron được truyền ngược lại làm tín hiệu đầu vào cho
các nơ-ron khác nhưng bản thân các nơ-ron không tự liên kết với chính nó.
Hình 1: Cấu trúc mạng Hopfield
Chắc các bạn cũng nhận xét ngay là mạng trên không có lớp input và output
như các mạng đã tìm hiểu trước đây. Lớp nơron duy nhất của mạng cũng chính là
nơi nhận input và và phát output. Như vậy số nơron trong mạng phải bằng số thành
phần input cũng như số thành phần output.

Ngoài ra mạng Hopfield chỉ nhận các inputs là -1 hay 1. Hàm truyền vào của
mạng là hàm satlins:
4
Mạng nơron Hopfield
Hình 2: Đồ thị hàm satlins

1 nÕu 1
nÕu 1 1
1 nÕu 1
i
n
n n
n
a
ì
>
ï
ï
ï
ï
= - < <
í
ï
ï
- <-
ï
ï
î
với n = (w
ij

x
i +
b)
Tín hiệu ra của nơ-ron thứ j nào đó được truyền ngược lại làm tín hiệu vào cho
các nơ-ron khác trong mạng một các đầy đủ thông qua các trọng số tương ứng:
1
1
sgn + - ,
n
k
k
i
i
i
j
j
ij
w y
y
x
θ
+
=
 
=
 ÷
 

i = 1, 2, , n (2.1)
Trong đó:

•W
ij
là độ lớn trọng số kết nối từ nút j đến nút i (trọng số của liên kết).
•x
i
là tín hiệu vào tại nơ-ron i.
• y
j
là trạng thái của nút j.
• θ
i
là ngưỡng của nút i.
• b là độ lệch.
5
Mạng nơron Hopfield
Các liên kết trong mạng Hopfield thường có các ràng buộc sau:
• W
ii
= 0, ∀i (không có nút nào liên kết với chính nó)
• W
ij
= W
ji
∀i, j (các liên kết là đối xứng)
Ràng buộc rằng các trọng số phải đối xứng thường được sử dụng, vì nó đảm
bảo rằng hàm năng lượng sẽ giảm một cách đơn điệu trong khi làm theo các luật
kích hoạt, và mạng có thể xuất hiện hành vi tuần hoàn hoặc hỗn loạn nếu dùng các
trọng số không đối xứng. Tuy nhiên, Hopfield nhận thấy rằng hành vi hỗn loạn này
chỉ hạn chế ở những phần tương đối nhỏ của không gian pha, và không làm giảm
đi khả năng thực hiện vai trò làm hệ thống bộ nhớ có thể đánh địa chỉ nội dung của

mạng.
Ta định nghĩa hàm năng lượng của mạng là:
( )
1 1 1 1
1
, , y = - - +
2
n n n n
i n ij i j i i i i
i j i i
E E y w y y x y y
θ
= = = =
=
∑ ∑ ∑ ∑
(2.2)
Tùy theo phương thức hoạt động của mạng mà người ta phân mạng Hopfield ra
thành mạng Hopfield rời rạc và mạng Hopfield liên tục.
3.1.1. Mạng Hopfield rời rạc
Mạng Hopfield rời rạc là mạng được tính rời rạc (đầu ra rời rạc) làm việc ở chế
độ không đồng bộ.
Trường hợp mạng nhận các giá trị nhị phân {0,1}:
Hàm kích hoạt được xác định như sau:
( )
1 net > 0
=
0 net 0
f net







(2.3)
Việc cho hàm kích hoạt (2.3) tương đương với qui tắc chuyển trạng thái của
mạng:
y
i
(t + 1)= y
i
(t) +∆y
i
(2.4)
6
Mạng nơron Hopfield
Trong đó:
∆y
i
= y
i
k+1
– y
i
k
(2.5)
Định lý: Giả sử với w
ii
= 0. Khi đó với qui tắc chuyển trạng thái như trên và cập
nhật không đồng bộ thì năng lượng của mạng không tăng (tức là giảm hoặc giữ

nguyên).
Chứng minh:
Giả sử nơ-ron k thay đổi trạng thái từ thời điểm t đến t+1. Khi đó mạng sẽ thay
đổi năng lượng và:
∆E = E(t+1) – E(t)
1
+ - - =- + -
1 1
n n
k k
k k
ij ij
i i i i
i i k
j j
j j
w y w y
y y y
x x
θ θ
   
+
 
 ÷  ÷
= −
 ÷
 ÷  ÷
 
= =
   


∑ ∑
Với:
∆y
i
= 1 nếu
( )
+ -
1
0
n
t
ij
i i
j
j
w y
x
θ

=

và y
i
(t) = 0
∆y
i
= -1 nếu
( )
+ -

1
0
n
t
ij
i i
j
j
w y
x
θ

=

và y
i
(t) = 1
∆y
i
= -1 trong các trường hợp khác.
Vì thế ta luôn có ∆E ≤ 0, tức là năng lượng của mạng không tăng, Vì thế hàm năng
lượng sẽ đạt tới giá trị cực tiểu. Do hàm giới nội.
3.1.2. Mạng Hopfield liên tục
7
Mạng nơron Hopfield
Một mạng Hopfield riêng biệt có thể bổ biến đối với một mô hình liên tục
trong đó thời gian giả thiết là một biến liên tục và những nút có đầu ra liên tục, bị
chia độ ( phân bậc) hơn là hai đầu ra nhị phân trạng thái. Từ đây, năng lượng của
mạng bị giảm bớt liên tục. Hơn nữa, có một mạch điện tử để thực thi mạng
Hopfield liên tục nó sử dụng những máy khuyếch đại và những điện trở phi

tuyến( hình vẽ 2.0). Nó gợi ý khả năng của việc xây dựng một mạng bước nhảy
ngắn xử dụng công nghệ tương tự VLSI.
Hình 3: Mạng Hopfield liên tục sử dụng mạch điện tử.
Mạng Hopfield liên tục là mạng mà trạng thái của nó được mô tả theo phương
trình.
( )
1 1
n n
i
i ij i i i i i ij i i i i
j j
du
C w y u g u x w y G u x
dt
= =
= − − + = − +
∑ ∑
(2.5)
Với:
1
n
i ij i
j
G w g
=
= +

(2.6)
Trong đó:
8

Mạng nơron Hopfield
a(u
i
): đầu ra kích hoạt.
w
ij
: độ dẫn điện của đầu ra thứ i với đầu vào thứ j (trong số giữa 2
nơron i và j).
C
j
: điện trở phi tuyến.
u
i:
điện áp vào.
g
i
: độ dẫn điện.
Định lý: Cho một mạng nơ-ron liên kết với n nút có đầu ra tín hiệu ui và một qui
tắc được phát triển theo dạng:
( ) ( ) ( )
1
n
i i i i i ij j i
j
u a u b u w f u
=
 
= −
 
 


Sao cho:
W
ij
: ma trận cân với w
ij
≥ 0 và w
ij
= w
ij
.
a
i
(u): hàm liên tục với u ≥ 0, và a
i
(u) > 0 với u > 0.
b
i
(u): hàm liên tục và không ngang bằng mức ngoài với u > 0.
f
i
(u): hàm khả vi và f’
i
(u) > 0 với u ≥ 0.
[b
i
(u)-w
ij
f
j

(u)] < 0 như u→∞.
( )
0
lim
i
u
b u
+

= ∞
hoặc
( )
0
lim
i
u
b u
+

< ∞

( )
0
1/
u
i
a s ds = ∞ 
 

với u > 0.

4. Mạng Hopfield với bài toán tối ưu
Như đã biết, mạng Hopfield sẽ đạt tới trạng thái cân bằng khi hàm năng lượng
của nó đạt tới giá trị cực tiểu. Vì vậy, từ bài toán cho trước ta xây dựng một hàm
mục tiêu F nào đó (đã được xử lý các rằng buộc). và đặt F = E (E là hàm năng
lượng), sau đó tìm mối liên hệ giữa các biến của chúng. Chính vì vậy mà mạng
Hopfield rất phù hợp với các bài toán tối ưu tổ hợp, đặc biệt là đối với một số bài
9
Mạng nơron Hopfield
toán thuộc lớp bài toán NP – đầy đủ như bài toán người bán hàng, bài toán sánh
cặp có trọng ….
Tuy nhiên, khi sử dụng mạng Hopfield vào việc giải các bài toán tối ưu trong
thực tế còn gặp một số hạn chế sau:
• Mạng Hopfield không đảm bảo cho hội tụ toàn cục. Để khắc phục ,
người ta đã kết hợp mạng Hopfield với một số giải thuật khác, ví dụ như giải
thuật di truyền …, hoặc đưa vào phương trình động học một số hạng đặc biệt
gọi là số hạng leo đồi. Từ đó hàm năng lượng của mạng có thể thay đổi đến
một trạng thái cao hơn, tránh được hội tụ địa phương và tiến tới hội tụ toàn
cục.
• Việc chọn hệ số của hàm mục tiêu và hệ số của hàm rằng buộc để nhận
một lời giải tố là hết sức khó khăn. Cho đến nay, việc chọn nó vẫn chủ yếu
dựa vào kinh nghiệm.
Một các tổng quát, có thể xây dựng một số bước cần phai thực hiện khi sử dụng
mạng Hopfield vào việc giải bài toán tối ưu như sau (ánh xạ bài toán tối ưu lên
mạng nơ-ron).
1. Lập sơ đồ biểu diễn các đầu ra của mạng sao cho nó có thể giải mã thành
nghiệm của bài toán tối ưu.
2. Tạo hàm năng lượng sao cho giá trị cực tiểu của nó ứng với nghiệm tốt
nhất của bài toán cần ánh xạ.
3. Gán giá trị cho các tham số của hàm năng luợng, điều này xác định các
trọng số tương đối gán cho các thành phần khác nhau của hàm năng

lượng.
4. Đưa ra phương trình động học cho các nơ-ron.
5. Khởi tạo các giá trị đầu vào.
Chú ý:
Không có phương pháp ánh xạ trực tiếp các bài toán tối ưu có rằng buộc lên
mạng nơ-ron. Cho nên phải thêm vào hàm mục tiêu các thành phần phạt khi các
10
Mạng nơron Hopfield
rằng buộc bị phá vỡ. Khi đó hàm năng lượng được biểu diễn như tổng của hàm
mục tiêu và các thành phần phạt.
Ví dụ: Xét bài toán sánh cặp có trọng.
Pht triển bài ton: cho n điểm i = 1, 2, …, n. khoảng cách giữa hai điểm i và j là
d
ij
. Phải nối các điểm thành từng cặp, mỗi điểm chỉ nối với đúng một điểm khác
sao cho tổng độ dài của đường nối là nhỏ nhất.
Hình vẽ dưới đây chỉ là một ví dụ khi số lượng điểm n = 6.
(a) Lời giải tốt (b) Lời giải không tốt
Hình 1.8.
Ánh xạ bài toán lên mạng nơ-ron:
Ta gán cho mỗi cặp điểm (i,j ) với i < j một nơ-ron ij với đầu ra là X
ij
. Như vậy cần
tất cả
( )
1
2
n n −
nơron. Mỗi phương án của bài toán ứng dụng với một trạng thái của
mạng với:




=



1 nÕu i nèi víi j
0 nÕu kh¸c
X
ij
Ta cần phải giải bài toán:
11
Mạng nơron Hopfield

<
= →

min
n
ij ij
i j
f d X
Trong đó: d
ij
là khoảng cách từ điểm i tới điểm j.
Với các rằng buộc:
=

1

n
ij
j
X
= 1,
1,i n∀ =
Các rằng buộc trên chỉ ra rằng mỗi điểm chỉ được nối với đúng một điểm khác. Ta
định nghĩa X
ij
= X
ij
khi j < i và X
ii
= 0. Đưa ra thành phần phạt vào hàm cần cực
tiểu hóa ta đi đến hàm năng lượng:
γ
 
= + −
 ÷
 
∑ ∑ ∑
2
,
1
1
2 2
ij ij ij
i j i j
E d X X
Trong đó:

γ
là tham số.
Từ đây lấy đạo hàm riêng


ij
E
X
ta xác định được phương trình động học của các
nơron.
γ

= − = − +


ij
ik ij
k
ij
dU
E
X X Y
dt X
Có thể chọn hàm kích hoạt là hàm McCulloch – Pitts hay hàm Sigmoid. Và như
vậy ta đã ánh xạ được bài toán sánh cặp có trọng lên mạng nơ-ron nhân tạo.
Nhận xét:
Mạng truyền thẳng một lớp dễ phân tích nhưng không mô tả được mọi hàm.
Mạng nhiều lớp khắc phục được điều này, nhưng lại rất khó phân tích và gặp khó
khăn trong quá trình xây dựng mạng (số lớp ẩn và số phần tử trong lớp). Hơn nữa,
mạng truyền thẳng nhiều lớp có thể gây sai số tích lũy qua các lớp.

12
Mạng nơron Hopfield
Mạng phản hồi một lớp (nổi bật là mạng Hopfield) có cấu trúc đơn giản vì thế
dễ phân tích, không chứa sai số tích lũy. Mạng được nghiên cứu và thực hiện với
phần động học tuyến tính vì vậy nó rất thích hợp với các loại mô hình bài toán tói
ưu tổ hợp, điều khiển, vv…
Mạng nơ-ron truyền thẳng chỉ đơn thuần tính toán các tín hiệu ra dựa trên các
tín hiệu vào và trọng số liên kết nơ-ron đã xác định sẵn ở trong mạng. Do đó chúng
không có trạng thái bên trong nào khác ngoài vectơ trọng số W. Đối với mạng hồi
quy, trạng thai bên trong của mạng được lưu trữ tại các ngưỡng của nơ-ron. Nói
chung các mạng hồi quy không ổn định, thậm chí còn rối loạn, mạng cần phải tính
toán rất lâu, thậm chí có thể lặp vô hạn trước khi đưa ra kết quả mong muốn. Quá
trình họccủa mạng hồi quy cũng phức tạp hơn mạng truyền thẳng rất nhiều. Tuy
vậy, các mạng hồi quy có thể cho phép mô phỏng các hệ thống tương đối phức tạp
trong thực tế.
5. Huấn luyện
Huấn luyện một mạng Hopfield là làm giảm năng lượng của các trạng thái mà
mạng cần phải "ghi nhớ". Điều này cho phép mạng có thể đóng vai trò một hệ
thống bộ nhớ có thể đánh địa chỉ nội dung, hay nói cách khác, mạng sẽ hội tụ về
một trạng thái "được ghi nhớ" nếu nó chỉ được cung cấp một phần của trạng thái.
Mạng có thể dùng để phục hồi từ một dữ liệu vào bị bóp méo thành một trạng thái
đã được huấn luyện giống với dữ liệu vào nhất. Cái này gọi là bộ nhớ kết hợp vì nó
phục hồi bộ nhớ dựa vào nền tảng tương tự. Ví dụ, nếu chúng ta huấn luyện một
mạng Hopfield với năm nút sao cho trạng thái (1, 0, 1, 0, 1) là một cực tiểu năng
lượng, và chúng ta đưa vào mạng trạng thái (1, 0, 0, 0, 1) nó sẽ hội tụ về (1, 0, 1, 0,
1). Do đó, một mạng sẽ được huấn luyện đúng đắn khi năng lượng của các trạng
thái mà mạng sẽ ghi nhớ là các giá trị cực tiểu cục bộ.
Thay lời kết
Để kết thúc phần này, chúng tôi lưu ý là mạng Hopfield chỉ có thể khôi phục
thành công các ảnh nếu số ví dụ mà bạn lưu trữ trong mạng không vượt quá 0.15N,

với N là số nơron.
Ngoài ra nên nhớ rằng N cũng chính là số thành phần của một input. Chẳng
hạn, nếu bạn lưu trữ ảnh của 10 con số từ 0 tới 9 trong phần trước, thì việc khôi
13
Mạng nơron Hopfield
phục ảnh bị nhiễu của chúng sẽ không thành công lắm, vì mạng sẽ chỉ có N = 35
nơron thôi (ứng với 35 pixels của một ảnh). Với kích thước của mạng như vậy, chỉ
nên lưu trữ khoảng 0.15x35, tức là 5 ảnh mà thôi.
Mặt khác chúng ta cũng có thể tăng số nơron lên bằng cách tăng kích thước của
các ảnh lên. Nếu ảnh có 10x10 pixels thay vì 7x5 pixels thì số nơron sẽ tăng từ 35
lên 100, do đó mạng có thể lưu trữ được 15 ảnh và khôi phục ảnh bị nhiễu của
chúng.
III. Ứng dụng mạng Hopfield
TRONG BÀI TOÁN 4 MÀU
Mạng Hopfield có thể sử dụng để giải bài toán thỏa mãn các ràng buộc. Chương này
trình bày ứng dụng của mạng Hopfield giải bài toán bốn màu, và được áp dụng để tô màu
bản cho một bản đồ bất k•.
1. Giới thiệu bài toán bốn màu
Chúng ta đã biết rằng một đồ thị phẳng bất k• có thể tô bởi bốn màu sao cho hai đỉnh
kề nhau có hai màu khác nhau. Áp dụng vào mạng Hopfield để thực hiện bài toán này.
Bài toán đặt ra là: Cho một bản đồ trong đó có N vùng ( các tỉnh thành hoặc các
nước gần nhau ). Cần tô màu cho các vùng sao cho hai nước kề nhau được tô bởi hai màu
khác nhau, nhờ đó có thể phân biệt được các vùng dễ dàng.
Thực hiện:
Trước hết ta sẽ mô hình hóa bài toán này như một bài toán thỏa mãn rằng buộc.
Ký hiệu:
x : là chỉ số miền cần tô màu (x = 1, 2, …, n).
i :là chỉ số mầu (i;1, 2, 3, 4).
d
xy

: là biến đặc trưng cho sự cận kề của hai miền x và y.
14
Mạng nơron Hopfield
Ta đưa vào các biến như sau:
Bài toán tô màu được đặt ra là tìm V
xi
( x = 1, 2, ,; i = 1, 2, 3, 4;) thỏa mãn các rằng
buộc.
* Mỗi miền phải được tô một màu
nyxV
i
xi
1,,1
4
1
=∀=

=
(1.3)
* Hai miền kề nhau phải tô hai màu khác nhau:
,0
11
4
1
=
∑∑∑
===
yixi
n
y

xy
n
xi
VVd
- Bổ đề 1
Giả sử { gi(x) = 0 , x

S, i=1…k } là bài toán thảo mãn rằng buộc, trong đó gi(x)
>= 0 và tồn tại các điểm x

S sao cho gi(x) = 0. S là không gian nghiệm tìm kiếm.
Khi đó bài toán thỏa mãn rằng buộc trên tương đương với bài toán tối ưu có rằng
buộc: { min gi(x), x

D = { gi(x ) = 0, x

S, i=1…k }}.
- Bổ đề 2
Nếu Vmin là nghiệm của bài toán tối ưu có rằng buộc
{ min f(V),v

D}
Trong đó D là tập được xác định bởi
D={f
i
(V),v

D}
V=(v
1

, v
2
,… ,v
n
)
Thì với giả thiết f
i
(V) = 0 với mọi V thuộc không gian tìm kiếm, Vmin sẽ là
nghiệm của bài toán không rằng buộc.
Trong đó C
i
là các hệ số dương.
15
1.1
1.2
Mạng nơron Hopfield
Trở lại bài toán ta thấy vế trái của rằng buộc (1.3) không âm do Vxi, Vyi, d
xy
>=
0 và giá trị nhỏ nhất của nó là 0 nên theo bổ đề 1 bài toán thỏa mãn rằng buộc
trên có thể phát biểu dưới dạng bài toán tối ưu hóa.
,0
11
4
1
=
∑∑∑
===
yixi
n

y
xy
n
xi
VVd
=> min
Theo bổ đề 2 bài toán tối ưu có thỏa mãn ràng buộc trên được dẫn đến bài toán
không có ràng buộc sau:
min1
2
4
1 1 11
4
1
→+






−=
∑∑∑∑ ∑
= = == = i
n
x
n
y
yixixy
n

x i
xi
vvdBv
A
E
(2.14)
Với 6
2
A
là hệ số phạt khi ràng buộc bị phá vỡ.
Ta xem hàm E là hàm năng lượng của mạng. Khi đó phương trình động học của
nơron là:
xi
xi
v
E
dt
dU


−=
œ đây U
xi
là đầu vào của nơron x
i.
Lấy đạo hàm của hàm E cho bởi (2.14) ta được:
Khi giải bài toán tối ưu tổ hợp với mạng
Hopfield, đầu tiên ta thiết kế hàm năng lượng để đưa ra nghiệm của bài toán khi
năng lượng đạt tới trạng thái thấp nhất. Tuy nhiên không thu được nghiệm tối ưu
toàn cục.

Để khắc phục tình trạng này, người ta kết hợp mạng Hopfield với một số giải thuật
khác, ví dụ như giải thuật di truyền,…Để đưa hệ thống thoát khỏi cực tiểu địa
phương, nhưng thời gian tính toán rất lớn để tới được cực tiểu toàn phần.
Phương trình động học cuối cùng của mạng nowrron x
i
có dạng như sau:
16
∑∑
==







−−


−=
n
y
yixy
i
xi
xi
xi
vdBvA
v
E

dt
dU
1
4
1
1
Mạng nơron Hopfield








+−








−−=
∑∑∑
===
4
11
4

1
1
j
xj
n
y
yixy
j
xi
xi
vChvdBvA
dt
dU
(2.16)
Trong đó C là hằng số và hàm h(x) được định nghĩa như sau:
3.2. Thử nghiệm và đánh giá
Phương trình động học chính là phương trình vi phân. Để giải nó, ta phải sử
dụng phương pháp số. Dựa vào phương pháp này, giá trị U(t+1) được xác định bởi
U(t) và ∆U(t) như sau:
U
xi
(t+1) = U
xi
(t) + ∆U
xi
(t).∆t (2.17)
ở đây ∆U(t) được xác định tử phương trình (2.15). Với ∆t=1, phương trình (2.17)
được viết lại như sau:
U
xi

(t+1) = U
xi
(t) + ∆U
xi
(t).∆t, với x=1,2,…,n i=1,…,n (2.18)
Để giải bài toán này giá trị U
xi
(0) được khởi tạo một cách ngẫu nhiên và phương
trình (2.17) được lặp cho tới khi trạng thái cân bằng với điều kiện dừng là:
∆U
xi
(t) = 0, x=1,2, ,n i=1,…,4 (2.19)
17

×