You are on page 1of 44

MỤC LỤC

PHẦN 1: GIẢI THUẬT DI TRUYỀN ...................................................................3


I. Giới thiệu .........................................................................................................3
II. Nội dung .......................................................................................................4
2.1. Giải thuật di truyền ..................................................................................4
2.2. Các tính chất của giải thuật di truyền ....................................................4
2.3. Các bước cơ bản của giải thuật di truyền ..............................................5
2.4. Nguyên lý hoạt động.................................................................................8
2.5. Các công thức của giải thuật di truyền ................................................10
2.6. So sánh GAs với kỹ thuật tối ưu khác ..................................................11
2.7. Ứng dụng của Gas ..................................................................................11
2.8. Một số công trình nghiên cứu ...............................................................14
2.9. Kết luận ...................................................................................................16
III. Áp dụng giải thuật di truyền vào bài toán với hàm 1 biến: ..................16
PHẦN 2: BÀI TOÁN NGƯỜI BÁN HÀNG DU LỊCH SỬ DỤNG MẠNG
NEURAL HOPFIELD (TRAVELLING SALESMAN PROBLEM USING
NEURAL HOPFIELD NETWORK) ...................................................................19
I. Giới thiệu .......................................................................................................19
1.1. Bài toán người bán hàng du lịch (Travelling salesman problem-TSP)
19
1.2. Mạng Nơ ron Hopfield .............................................................................29
II . Sử dụng mạng nơ ron Hopfield để giái bài toán người bán hàng du
lịch(TSP) ..............................................................................................................37
2.1. Khả năng ứng dụng giải quyết bài toán ...............................................37
2.2. Bài toán....................................................................................................38
2.3. Giải quyết bài toán với mạng nơ ron Hopfield....................................38
TÀI LIỆU THAM KHẢO .....................................................................................44

1
Danh Sách Thành Viên Và Phân Công Nhiệm Vụ
• Danh sách thành viên :
1. Nguyễn Hùng Mạnh -B14DCCN428
2. Trần Cao Minh-B14DCCN688
3. Hà Văn Luận- B14DCCN472
4. Lê Xuân Hai- B14DCCN028
• Phân công nhiệm vụ
STT Họ & Tên Công việc Thời
gian
1 Trần Cao Minh Tìm hiểu về giải thuật di truyền và Từ 25/11
giải bài toán giải thuật di truyền đến 5/12
với hàm 1 biến
2 Lê Xuân Hai Từ 25/11
đến 5/12
3 Nguyễn Hùng Tìm hiểu về bài Dùng mạng nơ Từ 25/11
Mạnh toán Traveling ron hopfield đến 5/12
Saleman giải bài toán
4 Hà Văn Luận Tìm hiểu phân Traveling Từ 25/11
tích “Mạng nơ Saleman đến 5/12
ron hopfield”

Đề bài số 2
Câu 1: Cho hàm hợp lý f(x) = 60x – x2 xác định trong khoảng [0,32]. Tìm giá trị cực
đại sử dụng giải thuật di truyền hệ nhị phân.
Câu 2: Cho mạng nơ ron Hopfield để tìm đường đi ngắn nhất trong bài toán người
bán hàng du lịch (Travelling Salesman Problem) với 5 thành phố
a. Thiết kế mạng
b. Xác định hàm tối ưu
c. Giải bài toán.

2
PHẦN 1: GIẢI THUẬT DI TRUYỀN
I. Giới thiệu
Nhà bác học Charles Darwin đã nêu ra lý thuyết về sự tiến hóa tự nhiên của các
loài vật, qua nhiều thế hệ sinh vật phát triển dựa trên nguyên lý của sự chọn lọc tự
nhiên “loài nào thích nghi thì sẽ tồn tại”, như ta thấy trong tự nhiên các loài vật sẽ
cạnh tranh nhau về nơi trú ẩn, thực phẩm,…các cá thể cùng loài còn cạnh tranh
nhau để thu hút bạn tình trong mùa sinh sản do đó những cá thể nào ít thích nghi
thì ít có cơ hội tồn tại hơn và những cá thể thích nghi được thì sẽ phát triển và cho
ra nhiều con cái. Trong quá trình sinh sản sẽ tổ hợp các đặc tính tốt từ tổ tiên, sau
một vài thế hệ những loài tiến hóa tự nhiên sẽ thích nghi hơn trong môi trường phát
triển. Dựa trên nền tảng lý thuyết tiến hóa tự nhiên này, đến năm 1975 Holland đã
phát triển ý tưởng này vào hệ thống nhân tạo, ông áp dụng nguyên tắc này để tối
ưu hóa các vấn đề và xây dựng thuật toán di truyền (GAs). Hiện nay GAs được
xem như một công cụ mạnh mẽ để giải quyết các vấn đề về tìm kiếm và tối ưu hóa
phức tạp như thời gian biểu, lập kế hoạch mua sắm, …Trong bài viết này, chúng
tôi nêu ra cách thức hoạt động và các ứng dụng của GAs để giải quyết các bài toán
cụ thể.
Thuật toán di truyền là thuật toán tối ưu ngẫu nhiên dựa trên cơ chế chọn lọc tự
nhiên và tiến hóa di truyền. Nguyên lý cơ bản của thuật toán di truyền đã được
Holland giới thiệu vào năm 1962. Cơ sở toán học đã được phát triển từ cuối những
năm 1960 và đã được giới thiệu trong quyển sách đầu tiên của Holland, Adaptive
in Natural and Artificial Systems. Thuật toán di truyền được ứng dụng đầu tiên
trong hai lĩnh vực chính: tối ưu hóa và học tập của máy. Trong lĩnh vực tối ưu hóa
thuật toán di truyền được phát triển nhanh chóng và ứng dụng trong nhiều lĩnh vực
khác nhau như tối ưu hàm, xử lý ảnh, bài toán hành trình người bán hàng, nhận
dạng hệ thống và điều khiển. Thuật toán di truyền cũng như các thuật toán tiến hóa
nói chung, hình thành dựa trên quan niệm cho rằng, quá trình tiến hóa tự nhiên là

3
quá trình hoàn hảo nhất, hợp lý nhất và tự nó đã mang tính tối ưu. Quan niệm này
có thể xem như một tiên dề dúng, không chứng minh được, nhưng phù hợp với
thực tế khách quan. Quá trình tiến hóa thể hiện tính tối ưu ở chỗ, thế hệ sau bao giờ
cũng tốt hơn (phát triển hơn, hoàn thiện hơn) thế hệ trước bởi tính kế thừa và dấu
tranh sinh tồn.
II. Nội dung
2.1. Giải thuật di truyền
GAs là một kỹ thuật của khoa học máy tính nhằm tìm kiếm giải pháp thích hợp
cho các bài toán tối ưu tổ hợp (combinatorial optimization), là một phân ngành của
giải thuật tiến hóa, vận dụng các nguyên lý của tiến hóa như: di truyền, đột biến,
chọn lọc tự nhiên, và trao đổi chéo. Nó sử dụng ngôn ngữ máy tính để mô phỏng
quá trình tiến hoá của một tập hợp những đại diện trừu tượng (gọi là những nhiễm
sắc thể), của các giải pháp có thể (gọi là những cá thể) cho bài toán tối ưu hóa vấn
đề. Tập hợp này sẽ tiến triển theo hướng chọn lọc những giải pháp tốt hơn. GAs
cũng như các thuật toán tiến hoá, đều được hình thành dựa trên một quan niệm
được coi là một tiên đề phù hợp với thực tế khách quan. Đó là quan niệm "Quá
trình tiến hoá tự nhiên là quá trình hoàn hảo nhất, hợp lý nhất và tự nó đã mang
tính tối ưu". Quá trình tiến hoá thể hiện tính tối ưu ở chỗ thế hệ sau bao giờ cũng
tốt hơn thế hệ trước.

Ngày nay, GAs càng trở nên quan trọng, đặc biệt là trong lĩnh vực tối ưu hoá,
một lĩnh vực có nhiều bài toán thú vị, được ứng dụng nhiều trong thực tiễn nhưng
thường khó và chưa có phương pháp hiệu quả để giải quyết.

2.2. Các tính chất của giải thuật di truyền


GAs là kỹ thuật chung, giúp giải quyết vấn đề bằng cách mô phỏng sự tiến hóa
của con người hay của sinh vật nói chung (dựa trên thuyết tiến hóa muôn loài của
Darwin), trong điều kiện qui định sẵn của môi trường. Mục tiêu của GAs không

4
nhằm đưa ra lời giải chính xác tối ưu mà là đưa ra lời giải tương đối tối ưu. Một cá
thể trong GAs sẽ biểu diễn một giải pháp của bài toán. Tuy nhiên, không giống với
trong tự nhiên là một cá thể có nhiều nhiễm sắc thể (NST) mà để giới hạn trong
GAs, ta quan niệm một cá thể có một NST. Do đó, khái niệm cá thể và NST trong
GAs coi như là tương đương. Một NST được tạo thành từ nhiều gen, mỗi gen có
thể có các giá trị khác nhau để quy định một tình trạng nào đó. Trong GAs, một
gen được coi như một phần tử trong chuỗi NST. Một tập hợp các cá thể có cùng
một số đặc điểm nào đấy được gọi là quần thể. Trong thuật giải di truyền, ta quan
niệm quần thể là một tập các lời giải của một bài toán.

2.3. Các bước cơ bản của giải thuật di truyền


Thuật toán di truyền gồm có bốn quy luật cơ bản là lai ghép, đột biến, sinh sản
và chọn lọc tự nhiên như sau:
2.3.1. Quá trình lai ghép(Phép lai)
Quá trình này diễn ra bằng cách ghép một hay nhiều đoạn gen từ hai nhiễm sắc
thể cha-mẹ để hình thành nhiễm sắc thể mới mang đặc tính của cả cha lẫn mẹ.
Phép lai này có thể mô tả như sau: Chọn ngẫu nhiên hai hay nhiều cá thể trong
quần thể. Giả sử chuỗi nhiễm sắc thể của cha và mẹ đều có chiều dài là m. Tìm
điểm lai bằng cách tạo ngẫu nhiên một con số từ 1 đến m-1. Như vậy, điểm lai này
sẽ chia hai chuỗi nhiễm sắc thể cha-mẹ thành hai nhóm nhiễm sắc thể con là m1 và
m2. Hai chuỗi nhiễm sắc thể con lúc này sẽ là m11+m22 và m21+m12. Đưa hai
chuỗi nhiễm sắc thể con vào quần thể để tiếp tục tham gia quá trình tiến hóa.

2.3.2. Quá trình đột biến(Phép đột biến)


Quá trình tiến hóa được gọi là quá trình đột biến khi một hoặc một số tính
trạng của con không được thừa hưởng từ hai chuỗi nhiễm sắc thể cha-mẹ. Phép đột
biến xảy ra với xác suất thấp hơn rất nhiều lần so với xác suất xảy ra phép lai. Phép

5
đột biến có thể mô tả như sau: Chọn ngẫu nhiên một số k từ khoảng 1 ≥ k ≥ m
Thay đổi giá trị của gen thứ k Đưa nhiễm sắc thể con vào quần thể để tham gia quá
trình tiến hóa tiếp theo.
2.3.3. Quá trình sinh sản và chọn lọc(Phép tái sinh và phép chọn lọc)
Phép tái sinh: là quá trình các cá thể được sao chép dựa tren độ thích nghi của
nó. Độ thích nghi là một hàm được gán các giá trị thực cho các cá thể trong quần
thể của nó. Phép tái sinh có thể mô phỏng như sau: Tính độ thích nghi của từng cá
thể trong quần thể, lập bảng cộng dồn các giá trị thích nghi đó (theo thứ tự gán cho
từng cá thể) ta được tổng độ thích nghi. Giả sử quần thể có n cá thể. Gọi độ thích
nghi của cá thể thứ i là Fi, tổng dồn thứ i là Ft.Tổng độ thích nghi là Fm Tạo số
ngẫu nhiên F có giá trị trong đoạn từ 0 đến Fm Chọn cá thể k đầu tiên thỏa mãn F
≥ Ft đưa vào quần thể của thế hệ mới.

Phép chọn lọc: là quá trình loại bỏ các cá thể xấu và để lại những cá thể tốt.
Phép chọn được mô tả như sau: Sắp xếp quần thể theo thứ tự độ thích nghi giảm
dần Loại bỏ các cá thể cuối dãy, chỉ để lại n cá thể tốt nhất.

2.3.4. Cấu trúc thuật toán di truyền tổng quát


Thuật toán di truyền bao gồm các bước sau:
• Bước 1: Khởi tạo quần thể các nhiễm sắc thể.
• Bước 2: Xác định giá trị thích nghi của từng nhiễm sắc thể.
• Bước 3: Sao chép lại các nhiễm sắc thể dựa vào giá trị thích nghi của chúng
và tạo ra những nhiễm sắc thể mới bằng các phép toán di truyền.
• Bước 4: Loại bỏ những thành viên không thích nghi trong quần thể.
• Bước 5: Chèn những nhiễm sắc thể mới vào quần thể để hình thành một
quần thể mới.
• Bước 6: Nếu mục tiêu tìm kiếm đạt được thì dừng lại, nếu không trở lại
bước 3.
6
Sơ đồ thuật toán:

Hình 1: Sơ đồ thực hiện giải thuật di truyền đơn giản

7
GAs có hai loại điều kiện dừng cơ bản:

• Dựa trên cấu trúc nhiễm sắc thể, kiểm soát số gen được hội tụ, nếu số gen
hội tụ vượt quá số phần trăm nào đó của tổng số gen, việc tìm kiếm sẽ kết
thúc
• Dựa trên ý nghĩa đặc biệt của một nhiễm sắc thể, đo tiến bộ của giải thuật
trong một số thế hệ cho trước, nếu tiến bộ này nhỏ hơn một hằng số ε xác
định, kết thúc tìm kiếm.
2.4. Nguyên lý hoạt động

Nền tảng lý thuyết của GAs dựa trên biểu diễn chuỗi nhị phân và lý thuyết sơ
đồ. Một sơ đồ là một chuỗi, dài bằng chuỗi nhiễm sắc thể, các thành phần của nó
có thể nhận một trong các giá trị của tập ký tự biểu diễn gen hoặc một ký tự đại
diện “*”. Sơ đồ biểu diễn một không gian con của không gian tìm kiếm. Không
gian con này là tập tất cả các chuỗi trong không gian lời giải mà với mọi vị trí
trong chuỗi giá trị của gen trùng với giá trị của sơ đồ.

Ví dụ: các chuỗi và sơ đồ có chiều dài 10.

Sơ đồ (*111100100) sẽ khớp với hai chuỗi:

{(0111100100), (1111100100)}

Và sơ đồ (*1*1100100) sẽ khớp với 4 chuỗi:

{(0101100100), (0111100100), (1101100100), (1111100100)}

Đương nhiên, sơ đồ (1001110001) chỉ khớp với chính nó, và sơ đồ


(**********) khớp với tất cả các chuỗi có chiều dài 10. Rõ ràng là mỗi sơ đồ cụ
thể có tương ứng 2ʳ chuỗi, với r là số ký tự đại diện ‘*’ có trong sơ đồ. Mặc khác,
mỗi chuỗi chiều dài m sẽ khớp với 2 ͫ sơ đồ.

8
Một chuỗi chiều dài m, sẽ có tối đa 2 ͫ sơ đồ. Trong một quần thể kích thước n,
có thể có tương ứng từ 2 ͫ đến nx2 ͫ sơ đồ khác nhau.

Các sơ đồ khác nhau có những đặc trưng khác nhau. Các đặc trưng này thể hiện
qua hai thuộc tính quan trọng bậc và chiều dài xác định.

Bậc của sơ đồ S (ký hiệu σ(S)) là chiều dài của chuỗi trừ đi số ký tự đại diện.
Bậc xác định đặc trưng của sơ đồ.

Ví dụ: ba sơ đồ chiều dài 10

S1=(***001*110)

S2=(****00**0*)

S3=(11101**001)

Có bậc tương ứng: σ(S1)=6; σ(S2)=3; σ(S3)=8

Khái niệm bậc của sơ đồ giúp cho việc tính xác suất sống còn của sơ đồ do ảnh
hưởng của đột biến.

Chiều dài xác định của sơ đồ S (ký hiệu là δ(S)) là khoảng cách giữa hai vị trí
cố định ở đầu và cuối. Nó định nghĩa “độ nén” của thông tin chứa trong một sơ đồ.

Ví dụ:

δ(S1)=10-4=6; δ(S2)=9-5=4; δ(S3)=10-1=9

Như vậy, một sơ đồ chỉ có một vị trí cố định duy nhất thì sẽ có chiều dài xác
định là 0.

Khái niệm chiều dài xác định của sơ đồ giúp tính xác suất sống còn của sơ đồ
do ảnh hưởng của phép lai.

9
GAs sử dụng một quần thể của các lời giải có thể. Mỗi lời giải được đại diện
bởi một NST, nó chỉ là một đại diện trừu tượng. Các NST được mã hóa thành các
chuỗi nhị phân, mỗi vị trí trên chuỗi tồn tại hai giá trị là “1” hoặc “0”. Chẳng hạn
như: 1 0 0 1 0 1 0 1 1 0.

Độ tốt của một cá thể được đánh giá bằng hàm mục tiêu g(x) với x là một NST.
Hàm mục tiêu g(x) sau khi được tính toán sẽ là cơ sở để đánh giá độ thích nghi của
cá thể. Hàm thích nghi f(x) là sẽ quyết định khả năng một cá thể được chọn lọc vào
thế hệ sau, việc ánh xạ g(x)→ f(x) có nhiều phương pháp ánh xạ khác nhau phụ
thuộc vào mục đích của bài toán.

2.5. Các công thức của giải thuật di truyền

Tính độ thích nghi eval(vi)của mỗi nhiễm sắc thể vi(i =1..kích thước quần thể):

Tìm tổng giá trị thích nghi quần thể:

Tính xác suất chọn pi cho mỗi nhiễm sắc thể vi:

Tính xác suất tích lũy qi cho mỗi nhiễm sắc thể:

10
Tiến trình chọn lọc được thực hiện bằng cách quay bánh xe rulet kích thước
quần thể lần. Mỗi lần chọn ra một nhiễm sắc thể từ quần thể hiện hành vào quần
thể mới theo cách sau: Phát sinh một số ngẫu nhiên r trong khoảng [0, 1] Nếu r <
q1thì chọn nhiễm sắc thể v1, ngược lại chọn nhiễm sắc thể vi (2 ≤ i ≤ kích thước
quần thể) sao cho qi-1 < r ≤ qi.
2.6. So sánh GAs với kỹ thuật tối ưu khác
Hoạt động của GAs đơn giản là việc mô phỏng sự tiến hóa và chọn lọc tự nhiên
bằng máy tính bắt đầu từ một quần thể ngẫu nhiên. Bên cạnh đó để tối ưu ta cần
hàm lượng giá hoặc hàm thích nghi để chọn cá thể tốt và loại bỏ cá thể xấu. Thuật
toán di truyền (GAs) khác với kĩ thuật tối ưu khác ở chỗ:
• GAs làm việc với bộ mã của biến chứ không phải làm việc trực tiếp trên
biến.
• Hầu hết các kĩ thuật tối ưu thông thường tìm kiếm từ một đỉnh, trong khi đó
GAs luôn hoạt động trên tập hợp đỉnh (điểm tối ưu), điều này là một ưu
điểm của GAs giúp tăng cơ hội tiếp cận tối ưu toàn cục và tránh hội tụ sớm
tại điểm cục bộ địa phương.
• GAs đánh giá hàm mục tiêu để phục vụ quá trình tìm kiếm, vì vậy có thể
ứng dụng cho bất kì bài toán tối ưu nào (liên tục hay rời rạc).
• GAs thuộc lớp các thuật toán xác suất, các thao tác cơ bản của GAs dựa trên
khả năng tích hợp ngẫu nhiên trong quá trình xử lý
2.7. Ứng dụng của Gas
GAs được sử dụng cho những bài toán khó, và đã được ứng dụng thành công
cho một số bài toán như: lập kế hoạch, điều khiển tương thích, chương trình trò
chơi, các bài toán vận tải, bài toán người đi du lịch,…Sau đây là một vài ứng dụng
tiêu biểu của GAs.
2.7.1. Bài toán người du lịch(TSP)

11
TSP được mô tả như sau: Một du khách muốn thăm những thành phố anh quan
tâm; mỗi thành phố thăm qua đúng một lần; rồi trở về điểm khởi hành. Biết trước
chi phí di chuyển giữa hai thành phố bất kỳ. Yêu cầu của bài toán là xây dựng một
lộ trình thỏa các điều kiện trên với tổng chi phí nhỏ nhất.
TSP là bài toán tối ưu tổ hợp, không gian tìm kiếm là tập các hoán vị của n
thành phố. Bất cứ hoán vị nào của n thành phố cũng là một lời giải chấp nhận
được. Lời giải tối ưu là một hoán vị với chi phí tối thiểu của hành trình. Không
gian tìm kiếm là n!. Có thể giải bài toán này bằng nhiều phương pháp: phương
pháp nhánh cận, phương pháp gần đúng hay những phương pháp tìm kiếm
heuristic. Phương pháp nhánh cận đã được chứng minh đạt sự tối ưu về lời giải, tuy
nhiên phương pháp này lại mất khá nhiều thời gian khi số đỉnh của đồ thị lớn.
Trong những năm gần đây, đã xuất hiện nhiều thuật toán đạt gần đến lời giải tối
ưu của bài toán TSP: láng giềng gần nhất, đảo gần nhất, đảo xa nhất…và TSP cũng
trở thành một đích ngắm của cộng đồng GAs.
Với bài toán này chúng ta sẽ đánh số các thành phố và dùng một vector nguyên
để biểu diễn một NST lộ trình v=<i₁,i₂,…,iₙ> biểu diễn một lộ trình: từ i₁ đến i₂…,
từ iₙ₋₁ đến iₙ và trở về i₁ (v là một hoán vị của vector ), hàm lượng giá chính là chi
phí của lộ trình.
2.7.2. Bài toán lập lịch
Lập lịch là bài toán tổ chức sản xuất. Một công ty cần sản xuất nhiều loại hàng
hóa; những hàng hóa này có thể được sản xuất theo những kế hoạch khác nhau.
Mỗi kế hoạch xử lý gồm một chuỗi thao tác; những thao tác này sử dụng một số tài
nguyên và cần thời gian chạy máy. Một lịch sản xuất là một kế hoạch thực hiện các
đơn đặt hàng. Trong đó, một số đơn đặt hàng có thể được thực hiện với cùng
những thao tác tương đương. Nhiệm vụ là lên kế hoạch, lập lịch sản xuất, để thực
hiện các đơn đặt hàng này nhanh nhất có thể.

12
Bài toán lập lịch là chọn một chuỗi các thao tác đồng thời chỉ định về thời gian
bắt đầu/ kết thúc và các tài nguyên cần thiết cho mỗi thao tác. Điều cần quan tâm
chính yếu là chi phí thời gian máy rỗi, năng lực lao động và các đơn đặt hàng cần
hoàn thành đúng hạn.Ý tưởng chính trong phương pháp là mã hóa biểu diễn của
lịch phân công là các toán tử di truyền phải thực hiện theo cách có ý nghĩa, và một
bộ giải mã phải luôn tạo ra một lời giải hợp lệ cho bài toán. Thủ tục giải mã mô
phỏng các thao tác của công việc theo cách mà khi một máy tính sẵn sàng chọn
lựa, thì thao tác cho phép đầu tiên từ danh sách ưu tiên được lấy ra. Ví dụ nếu danh
sách ưu tiên của máy m₁ là: m₁(40 o₃ o₁ o₁ ‘chờ’ ‘nhàn rỗi’), thì thủ tục giải mã vào
thời điểm 40 có thể thực hiện đơn đặt hàng o₃ trên máy m₁. Nếu không được, thủ
tục giải mã sẽ thực hiện đơn đặt hàng o₁ và o₂ (nghĩa là, tìm ở o1 trước; nếu không
được mới tìm ở o₂). Biểu diễn này bảo đảm tạo một lịch phân công hợp lệ.
2.7.3. Bài toán lập thời khóa biểu cho trường học
Bài toán thời khóa biểu là một bài toán kết hợp nhiều ràng buộc không tầm
thường thuộc nhiều loại. Có nhiều phiên bản của bài toán thời khóa biểu, một trong
những bài toán này có thể được mô tả như sau: Có một danh sách các giáo viên,
một danh sách các khoảng thời gian, một danh sách các lớp. Bài toán cần tìm thời
khóa biểu tối ưu (giáo viên – thời gian – lớp); hàm mục tiêu phải thỏa những mục
tiêu này (các ràng buộc mềm) gồm: Có một số giờ được xác định trước cho mỗi
giáo viên và mỗi lớp; Chỉ một giáo viên trong một lớp vào một giờ nhất định; Một
giáo viên không thể dạy hai lớp cùng lúc; Đối với mỗi lớp được xếp thời khóa biểu
vào một khoảng thời gian, phải có một giáo viên…Ngoài ra còn có các mục tiêu sư
phạm như trải một số lớp ra nguyên tuần, những mục tiêu thuộc cá nhân như
những giáo viên hợp đồng không phải dạy buổi chiều, và các mục tiêu về tổ chức
như mỗi giờ có một giáo viên bổ sung sẵn sàng chỗ dạy tạm thời.
Biểu diễn nhiễm sắc thể tự nhiên nhất cho bài toán này là biểu diễn ma trận:
một ma trận (R)ij(1≤ i ≤ m và 1≤ j ≤ n) , ở đây mỗi hàng tương ứng với một giáo
13
viên, mỗi cột tương ứng với một giờ, các phần tử của ma trận R là các lớp
. Các ràng buộc chủ yếu được xử lý bởi các toán tử di truyền
và thuật giải sửa chữa được sử dụng để loại bỏ những trường hợp mà có nhiều hơn
một giáo viên xuất hiện trong cùng một lớp vào cùng một giờ.
2.7.4. Phân hoạch đối tượng và đồ thị
Bài toán phân hoạch là cần chia n đối tượng thành k loại. Lớp bài toán này gồm
nhiều bài toán nổi tiếng như bài toán đóng thùng (gán các mặt hàng vào các thùng),
bài toán tô màu đồ thị (gán các nút của đồ thị vào các màu cụ thể…).
Bài toán đóng thùng (Bin Packing – BP) được phát biểu như sau: Cho danh
sách gồm n đồ vật L=a₁,a₂,a₃,…,aₙ và các thùng giống nhau với cùng sức chứa B.
Kích thước của đồ vật aᵢ là sᵢ thỏa mãn 0< sᵢ ≤ B với mọi i=1,2,…,n. Vấn đề đặt ra
là tìm cách xếp các đồ vật vào các thùng sao cho số lượng thùng cần phải sử dụng
là ít nhất.
2.7.5. Vạch đường cho robot di chuyển
Tìm đường là hướng dẫn robot di chuyển đến đích mà không bị lạc hay va vào
những đối tượng khác. Trong bài toán này, một lộ trình được lập trước để robot đi
theo, lộ trình này có thể dẫn dắt robot đi tới đích một cách hoàn hảo. Tuy nhiên,
các nhà khoa học muốn cải tiến hơn bằng cách vạch lộ trình nội tại, phụ thuộc vào
tri thức thu được từ việc cảm nhận môi trường cục bộ để xử lý các chướng ngại
chưa biết.
Bộ tìm đường tiến hóa (EN) được đề xuất. Phần đầu của thuật giải là tìm lộ
trình toàn cục tối ưu từ điểm khởi đầu đến đến đích, phần thứ hai có trách nhiệm
xử lý những va chạm có thể xảy ra hay những vật cản chưa được biết trước bằng
cách thay một phần của lộ trình toàn cục gốc bằng một lộ trình con tối ưu.
2.8. Một số công trình nghiên cứu
Về mặt tổng quát, GAs là một thuật toán tốt, tuy nhiên nó không phải là thuật
toán thành công nhất đối với một số miền đặc biệt. Do đó, người ta mong muốn
14
tìm ra lời giải tốt nhất có thể bằng cách kết hợp GAs với một số thuật toán hoặc kĩ
thuật khác.
Bài báo về TSP: “Meta-Heuristic-Kết hợp thuật giải di truyền với thông tin
thống kê xác suất giải quyết bài toán người du lịch” 1 . Phương pháp gồm hai
bước: Bước 1, sử dụng GAs để tìm thông tin thống kê xác suất các cung sẽ xuất
hiện trong chu trình tối ưu từ các cá thể chu trình tốt nhất chọn lọc qua các thế hệ.
Bước 2, từ các thông tin tìm được, thực hiện lại thuật toán GAs để được chu trình
kết quả tối ưu, trong đó các phép lai ghép sẽ dựa vào thông tin xác suất tìm được ở
Bước 1.
Bài báo về bài toán lập lịch: “Một thuật toán di truyền hiệu quả cho bài toán lập
lịch job shop” 2 . Bài báo này trình bày một thuật toán di truyền mới cho bài toán
lập lịch job shop (Jobshop Scheduling Problem - JSP). Thuật toán này có một số
đổi mới sau đây: Một lịch biểu được mã hóa bởi các số tự nhiện; các luật ưu tiên
của Giffler và Thompson được dùng để tạo ra các lịch biểu tích cực; phép đột biến
được thực hiện trên các cá thể tiềm năng và kết hợp với kĩ thuật tìm kiếm lân cận;
phép trao đổi chéo mới kết hợp trao đổi chéo đồng nhất với thuật toán GAs và
được thực hiện trên 3 cá thể cha.
Bài báo nghiên cứu về bài toán thời khóa biểu: “Một giải pháp tiến hóa cho bài
toán thời khóa biểu” 3 . Bài báo giới thiệu một phương án tiến hóa cho bài toán lập
thời khóa biểu tại các trường phổ thông.
Bài viết về bài toán đóng thùng: “Về thuật toán di truyền lai giải bài toán đóng
thùng” 4 , trình bày một số kết quả liên quan đến việc xây dựng, cài đặt và thử
nghiệm thuật toán di truyền kết hợp với các thuật toán tìm kiếm trực tuyến oristic.
Bài viết khác về bài toán phân hoạch: “Hướng tiếp cận mới trong việc tách từ
để phân loại văn bản tiếng Việt sử dụng giải thuật di truyền và thống kê trên
Internet”⁵ . Giải thuật di truyền áp dụng cho bài toán tách từ tiếng Việt được tóm
tắt như sau: Xét văn bản t gồm n tiếng t=s1s2…sn. Mục tiêu của GAs là xác định
15
những cách tách hợp lý nhất văn bản t thành m đọan t=w1w2…wm với wk=si…sj
(1 ≤ k≤ m, 1≤ i, j≤ n) có thể là từ đơn hay từ phức.
Ứng dụng của GAs trong học tham số cho mạng noron: “Điều khiển Robot với
mạng Noron RBF có hệ số học được tối ưu bằng giải thuật di truyền” 6 . Đối với
các hệ thống điều khiển có tính phi tuyến cao và độ bất định lớn, các tham số của
hệ thống như độ ma sát, sự thay đổi của tải trọng ... luôn thay đổi trong trong quá
trình điều khiển do đó yêu cầu rất quan trọng trong quá trình học của các bộ điều
khiển nơrơn là phải đảm bảo quá trình học online. Trong các nghiên cứu gần đây
về quá trình học của mạng nơron dù bằng phương pháp hàm bán kính cơ sở hay
bằng phương pháp EBP thì hệ số học h của mạng nơron vẫn được chọn theo kinh
nghiệm của người lập trình. Trong bài báo này tác giả đề cập đến việc sử dụng
công cụ GAs để tối ưu hệ số học của mạng nơron RBF thay vì lựa chọn bằng kinh
nghiệm.
2.9. Kết luận
Bài toán tối ưu là bài toán tìm kiếm giải pháp (tốt nhất) trong không gian (vô
cùng lớn) các giải pháp. Khi không gian tìm kiếm nhỏ, các phương pháp cổ điển
cũng đủ thích hợp; nhưng khi không gian lớn hơn thì cần phải dùng đến những kĩ
thuật đặc biệt, GAs là một trong những kĩ thuật đó.
GAs là hệ thống đầu tiên dựa trên mô phỏng sự sống. Thông qua chọn lọc, lai
ghép, đột biến, GAs sẽ hội tụ qua nhiều thế hệ theo hướng tối ưu toàn cục. GAs hi
vọng hướng tới một giải pháp tối ưu hơn bằng cách kết hợp thông tin tốt ẩn trong
tập hợp các giải pháp, để tạo ra giải pháp mới với những thông tin tốt thừa hưởng
từ cả cha và mẹ. Khả năng của thuật toán vẫn đang còn được khám phá và khai
thác, một số lượng lớn những nghiên cứu thành công về lí thuyết cũng như ứng
dụng trong nhiều lĩnh vực thế giới thực đã chứng minh rằng GAs là một kĩ thuật tối
ưu mạnh mẽ và thiết thực.
III. Áp dụng giải thuật di truyền vào bài toán với hàm 1 biến:
16
Cho bài toán: Cho hàm số f(x)= 60x-x² với x ϵ [0;32]. Tìm giá trị cực đại dùng
giải thuật di truyền hệ nhị phân.

Giải bài toán:

f(x) = 60x – x2 ∀x ∈ [0,31]


Sử dụng mã hóa nhị phân [0,1]
Hàm hợp lý xác định trong [0,32] nên có 33 ~ 25 NST => Độ lớn NST m=5
Bộ đầy đủ quần thể 00000,00001,…,11111.
Ta có công thức xác định độ thích nghi
𝑓(𝑥𝑖 )
g(xi) = ∑5
𝑗=1 𝑓(𝑥𝑗 )

𝑛𝑥 = 0 𝑘ℎ𝑖 𝑔(𝑥𝑖 ) 𝑙à 𝑔𝑖á 𝑡𝑟ị 𝑛ℎỏ 𝑛ℎấ𝑡.


và quy định { 𝑛𝑥 = 2 𝑘ℎ𝑖 𝑔(𝑥𝑖 ) 𝑙à 𝑔𝑖á 𝑡𝑟ị 𝑙ớ𝑛 𝑛ℎấ𝑡.
𝑛𝑥 = 1 𝑐ℎ𝑜 𝑐á𝑐 𝑡𝑟ườ𝑛𝑔 ℎợ𝑝 𝑐ò𝑛 𝑙ạ𝑖.

❖ Chọn lọc

STT NST xi f(xi) g(xi) nx


1 00010 2 116 0.038 0
2 01010 10 500 0.164 1
3 01110 14 644 0.212 1
4 11010 26 884 0.290 1
5 11110 30 900 0.296 2

Loại NST 00010(2) ra khỏi quần thể, thêm NST 11110(30) vào quần thể lai ghép.

❖ Phép lai thế hệ 1(t=1)

STT NST xi gm(x) xi Điểm lai Kết quả


1 11110 30 01010 10 1 11010
2 01010 10 11110 30 1 01110
3 01110 14 11010 26 1 01010
17
4 11010 26 11110 30 2 11110
5 11110 30 01110 14 1 11110

❖ Chọn lọc

STT NST xi f(xi) g(xi) nx


1 11010 26 884 0.234 1
2 01110 14 600 0.159 1
3 01010 10 500 0.132 0
4 11110 30 900 0.238 2
5 11110 30 900 0.238 2

Loại NST 01010(10) ra khỏi quần thể, thêm NST 11110(30) vào quần thể lai ghép.
❖ Phép lai thế hệ 2(t=2)

STT NST xi gm(x) xi Điểm lai Kết quả


1 11010 26 11110 30 2 11110
2 01110 14 11110 30 1 01110
3 11110 30 11010 26 2 11110
4 11110 30 01110 14 1 11110
5 11110 30 11110 30 2 11110

❖ Chọn lọc

STT NST xi f(xi) g(xi) nx


1 11110 30 900 0.212 2
2 01110 14 644 0.152 1’
3 11110 30 900 0.212 2
4 11110 30 900 0.212 2
5 11110 30 900 0.212 2

Ta thấy kết quả của phép lai cho các g(xi) gần bằng nhau nên phép lai dừng lại tại
t=2.
 Giá trị cực đại của hàm hợp lý f(x) = 60x – x2 trong [0,32] là 900 tại x=30.
18
PHẦN 2: BÀI TOÁN NGƯỜI BÁN HÀNG DU LỊCH SỬ DỤNG MẠNG
NEURAL HOPFIELD (TRAVELLING SALESMAN PROBLEM USING
NEURAL HOPFIELD NETWORK)
I. Giới thiệu
1.1. Bài toán người bán hàng du lịch (Travelling salesman problem-TSP)

Bài toán người bán hàng (tiếng Anh: travelling salesman problem - TSP) là
một bài toán NP-khó thuộc thể loại tối ưu rời rạc hay tổ hợpđược nghiên cứu
trong vận trù học hoặc lý thuyết khoa học máy tính. Bài toán được phát biểu như
sau. Cho trước một danh sách các thành phố và khoảng cách giữa chúng, tìm chu
trình ngắn nhất thăm mỗi thành phố đúng một lần.

Bài toán được nêu ra lần đầu tiên năm 1930 và là một trong những bài toán
được nghiên cứu sâu nhất trong tối ưu hóa. Nó thường được dùng làm thước đo
cho nhiều phương pháp tối ưu hóa. Mặc dù bài toán rất khó giải trong trường hợp
tổng quát, có nhiều phương pháp giải chính xác cũng như heuristic đã được tìm ra
để giải quyết một số trường hợp có tới hàng chục nghìn thành phố.

Ngay trong hình thức phát biểu đơn giản nhất, bài toán TSP đã có nhiều ứng
dụng trong lập kế hoạch, hậu cần, cũng như thiết kế vi mạch.

Trong lý thuyết độ phức tạp tính toán, phiên bản quyết định của TSP (cho trước
độ dài L, xác định xem có tồn tại hay không một chu trình đi qua mỗi đỉnh đúng
một lần và có độ dài nhỏ hơn L) thuộc lớp NP-đầy đủ. Do đó, có nhiều khả năng là
thời gian xấu nhất của bất kì thuật toán nào cho TSP đều tăng theo cấp số nhân với
số thành phố.

TSP có một vài ứng dụng thậm chí trong dạng thức nguyên thuỷ của nó như lập
kế hoạch, logistic, và sản xuất các microchip. Thay đổi đi chút ít nó xuất hiện như
một bài toán con trong rất nhiều lĩnh vực như việc phân tích gen trong sinh học.
Trong những ứng dụng này, khái niệm thành phố có thể thay đổi thành khách hàng,

19
các điểm hàn trên bảng mạch, các mảnh DNA trong gen, và khái niệm khoảng cách
có thể biểu diễn bởi thời gian du lịch hay giá thành, hay giống như sự so sánh giữa
các mảnh DNA với nhau. Trong nhiều ứng dụng, các hạn chế truyền thống như
giới hạn tài nguyên hay giới hạn thời gian thậm chí còn làm cho bài toán trở nên
khó hơn.

Trong lý thuyết của độ phức tạp tính toán, phiên bản quyết định của bài toán
TSP thuộc lớp NP-đầy đủ. Vì vậy không có giải thuật hiệu quả nào cho việc giải
bài toán TSP. Hay nói cách khác, giống như thời gian chạy xấu nhất cho bất ký giải
thuật nào cho bài toán TSP tăng theo hàm mũ với số lượng thành phố, vì vậy thậm
chí nhiều trường hợp với vài trăm thành phố cũng đã mất vài năm CPU để giải một
cách chính xác.

1.1.1. Lịch sử của TSP

Nguồn gốc của bài toán người bán hàng vẫn chưa được biết rõ. Một cuốn sổ tay
dành cho người bán hàng xuất bản năm 1832 có đề cập đến bài toán này và có ví
dụ cho chu trình trong nước Đức và Thụy Sĩ, nhưng không chứa bất kì nội dung
toán học nào.

Bài toán người bán hàng được định nghĩa trong thế kỉ 19 bởi nhà toán học
Ireland William Rowan Hamilton và nhà toán học Anh Thomas Kirkman. Trò chơi
Icosa của Hamilton là một trò chơi giải trí dựa trên việc tìm kiếm chu trình
Hamilton. Trường hợp tổng quát của TSP có thể được nghiên cứu lần đầu tiên bởi
các nhà toán học ở Vienna và Harvard trong những năm 1930, đặc biệt là Karl
Menger, người đã định nghĩa bài toán, xem xét thuật toán hiển nhiên nhất cho bài
toán, và phát hiện ra thuật toán láng giềng gần nhất là không tối ưu.

Hassler Whitney ở đại học Princeton đưa ra tên bài toán người bán hàng ngay
sau đó.

20
Trong những năm 1950 và 1960, bài toán trở nên phổ biến trong giới nghiên
cứu khoa học ở châu Âu và Mỹ. George Dantzig, Delbert Ray Fulkerson và Selmer
M. Johnson ở công ty RAND tại Santa Monica đã có đóng góp quan trọng cho bài
toán này, biểu diễn bài toán dưới dạng quy hoạch nguyên và đưa ra phương
pháp mặt phẳng cắt để tìm ra lời giải. Với phương pháp mới này, họ đã giải được
tối ưu một trường hợp có 49 thành phố bằng cách xây dựng một chu trình và chứng
minh rằng không có chu trình nào ngắn hơn. Trong những thập niên tiếp theo, bài
toán được nghiên cứu bởi nhiều nhà nghiên cứu trong các lĩnh vực toán học, khoa
học máy tính, hóa học, vật lý, và các ngành khác.

Năm 1972, Richard M. Karp chứng minh rằng bài toán chu trình
Hamilton là NP-đầy đủ, kéo theo bài toán TSP cũng là NP-đầy đủ. Đây là một lý
giải toán học cho sự khó khăn trong việc tìm kiếm chu trình ngắn nhất.

Một bước tiến lớn được thực hiện cuối thập niên 1970 và 1980 khi Grötschel,
Padberg, Rinaldi và cộng sự đã giải được những trường hợp lên tới 2392 thành
phố, sử dụng phương pháp mặt phẳng cắt và nhánh cận.

Trong thập niên 1990, Applegate, Bixby, Chvátal, và Cook phát triển một
chương trình mang tên Concorde giải được nhiều trường hợp có độ lớn kỉ lục hiện
nay. Gerhard Reinelt xuất bản một bộ dữ liệu các trường hợp có độ khó khác nhau
mang tên TSPLIB năm 1991, và nó đã được sử dụng bởi nhiều nhóm nghiên cứu
để so sánh kết quả. Năm 2005, Cook và cộng sự đã giải được một trường hợp có
33810 thành phố, xuất phát từ một bài toán thiết kế vi mạch. Đây là trường hợp lớn
nhất đã được giải trong TSPLIB. Trong nhiều trường hợp khác với hàng triệu
thành phố, người ta đã tìm được lời giải với sai số không quá 1% so với lời giải tối
ưu.

1.1.2. Phát biểu bài toán

21
Có một người giao hàng cần đi giao hàng tại n thành phố. Anh ta xuất phát từ
một thành phố nào đó, đi qua các thành phố khác để giao hàng và trở về thành phố
ban đầu. Mỗi thành phố chỉ đến một lần, và khoảng cách từ một thành phố đến các
thành phố khác đã được biết trước. Hãy tìm một chu trình (một đường đi khép kín
thỏa mãn điều kiện trên) sao cho tổng độ dài các cạnh là nhỏ nhất.

Dưới dạng đồ thị: Bài toán người bán hàng có thể được mô hình hoá như một đồ
thị vô hướng có trọng số, trong đó mỗi thành phố là một đỉnh của đồ thị còn đường
đi giữa các thành phố là mỗi cách. Khoảng cách giữa hai thành phố là độ dài cạnh.
Đây là vấn đề cực tiểu hoá với điểm đầu và điểm cuối là cùng một đỉnh sau khi
thăm hết các đỉnh còn lại đúng một lần. Mô hình này thường là một đồ thị đầy
đủ (giữa mỗi cặp đỉnh đều có cạnh). Nếu không có đường giữa hai thành phố thì có
thể thêm một cạnh với độ dài đủ lớn vào đồ thị mà không ảnh hưởng đến kết quả
tối ưu sau cùng.

Đối xứng và bất đối xứng: Trong bài toán TSP đối xứng, khoảng cách giữa hai
thành phố là không đổi dù đi theo chiều nào. Như vậy đồ thị trong bài toán này
là đồ thị vô hướng. Việc đối xứng này làm giảm đi một nửa số lời giải có thể.
Trong khi đó, với bài toán TSP bất đối xứng thì đường đi giữa hai thành phố có thể
chỉ một chiều hoặc có độ dài khác nhau giữa mỗi chiều, tạo nên đồ thị có hướng.
Các tai nạn giao thông, đường một chiều hay phí hàng không giữa các thành phố
với phí điểm xuất phát và điểm đến khác nhau là những ví dụ về sự bất đối xứng.

1.1.3. Ví dụ minh họa về bài toán

Sử dụng thuật toán láng giềng gần nhất (tiếng Anh: nearest neighbour algorithm)

22
Hình 2: Đường đi giữa 5 thành phố

Các bước của thuật toán:

• Bước 1: Chọn một đỉnh bắt đầu V.


• Bước 2: Từ đỉnh hiện hành chọn cạnh nối có chiều dài nhỏ nhất đến các
đỉnh chưa đến. Đánh dấu đã đến đỉnh vừa chọn.
• Bước 3: Nếu còn đỉnh chưa đến thì quay lại bước 2.
• Bước 4: Quay lại đỉnh V.

Bài toán có năm thành phố với khoảng cách giữa các thành phố được tính bằng
km. Sử dụng thuật toán láng giềng gần nhất, bắt đầu lần lượt từ mỗi đỉnh, tìm
đường đi thích hợp cho người bán hàng, cửa hàng đặt tại A và cần đi qua tất cả
thành phố còn lại.

Bắt đầu với đỉnh A


23
• Từ A, đỉnh gần nhất là C, chiều dài AC = 8
• Từ C, đỉnh chưa viếng thăm gần nhất là E, CE = 4
• Từ E, đỉnh chưa viếng thăm gần nhất là B, EB = 15
• Từ B, đỉnh chưa viếng thăm gần nhất là D, BD = 10
• Không còn đỉnh chưa viếng thăm, vì vậy quay về A, DA = 14

Tổng chi phí ACEBDA là 8 + 4 + 15 + 10 + 14 = 51

Lặp lại bắt đầu với những đỉnh khác:

Đỉnh bắt đầu Đường đi Tổng chiều dài


A ACEBDA 51
B BACEDB 50
C CEABDC 45
D DCEABD 45
E ECABDE 50
E ECDBAE 45
Có ba đường đi có chiều dài 45 km là giống nhau. Một nhân viên bán hàng
có cửa hàng tại A, đường đi tốt nhất tìm ra bởi thuật toán láng giềng gần
nhất là ABDCEA = 45 km

1.1.4. Công thức

Công thức: Bước đầu tiên để giải quyết trường hợp của TSPs lớn phải để tìm
một công thức toán học tốt của vấn đề. Trong trường hợp của các vấn đề nhân viên
bán hàng đi du lịch, các cấu trúc toán học là một đồ thị, ở mỗi thành phố được biểu
thị bằng một điểm (hoặc nút) và dòng được rút ra kết nối hai nút (gọi là vòng cung
hoặc cạnh). Liên kết với mỗi dòng là một khoảng cách (hoặc chi phí). Khi nhân
viên bán hàng có thể nhận được từ mỗi thành phố để mọi thành phố khác trực tiếp,
sau đó đồ thị được cho là hoàn chỉnh. Một chuyến đi vòng quanh những thành phố
tương ứng với một số tập hợp con của các dòng, và được gọi là một tour du lịch

24
hoặc một chu trình Hamilton (Đường đi Hamilton) trong lý thuyết đồ thị. Chiều dài
của một tour du lịch là tổng độ dài của các đường trong chuyến đi vòng quanh.

Tùy thuộc vào có hay không sự chỉ đạo, trong đó một cạnh của đồ thị là đi qua
các vấn đề, một trong những phân biệt đối xứng từ đối xứng đi vấn đề nhân viên
bán hàng. Xây dựng các bất đối xứng TSP trên m thành phố, một trong những giới
thiệu không-một biến

II.

và do thực tế là tất cả các nút của đồ thị phải có đúng một cạnh chỉ tay về phía nó
và một trong những chỉ đi từ nó, có được một vấn đề chuyển nhượng cổ điển.
Những khó khăn này một mình là không đủ vì công thức này sẽ cho phép
"subtours", có nghĩa là, nó sẽ cho phép các vòng phân chia xảy ra. Vì lý do này,
một mô hình thích hợp của các vấn đề đi du lịch nhân viên bán hàng không đối
xứng phải loại bỏ những subtours từ xem xét việc bổ sung "subtour loại bỏ" hạn
chế. Vấn đề sau đó trở thành

25
nơi mà K là bất kỳ tập hợp con thích hợp khác rỗng trong những thành phố 1,..., m.
Chi phí c ij được phép khác với chi phí c ji. Lưu ý rằng có m (m-1) không-một biến
trong công thức này.

Xây dựng các đối xứng đi vấn đề nhân viên bán hàng, người ta ghi nhận
rằng hướng đi qua là không đáng kể, do đó c ij = c ji. Từ hướng không quan trọng
bây giờ, người ta có thể xem xét các đồ thị, nơi chỉ có một vòng cung (vô hướng)
giữa hai nút. Vì vậy, chúng tôi cho x j e { 0,1 } là biến quyết định nơi j chạy qua
tất cả các cạnh E của đồ thị vô hướng và c j là chi phí đi cạnh đó. Để tìm một tour
du lịch trong biểu đồ này, người ta phải chọn một tập hợp con của các cạnh như
vậy mà tất cả các nút được chứa trong hai chính xác của các cạnh được lựa chọn.
Như vậy, vấn đề có thể được xây dựng như một vấn đề 2 khớp trong đồ thị G v có
m (m-1) / 2 không-một biến, tức là một nửa số lượng các công tác xây dựng trước
đó. Như trong trường hợp bất đối xứng, subtours phải được loại bỏ thông qua hạn
chế loại bỏ subtour. Vấn đề do đó có thể được xây dựng như:

26
1.1.5. Ứng dụng
Người ta có thể hỏi, tuy nhiên, cho dù vấn đề để nhận được tất cả sự chú ý
của nó có. Ngoài việc là một "polytope" của một vấn đề tối ưu hóa tổ hợp khó khăn
từ một phức tạp điểm lý thuyết của xem, có những trường hợp quan trọng của các
vấn đề thực tế có thể được xây dựng như các vấn đề TSP và nhiều vấn đề khác là
những khái quát của vấn đề này. Bên cạnh việc khoan mạch in bảng mô tả ở trên,
vấn đề có cấu trúc TSP xảy ra trong phân tích cấu trúc của các tinh thể, (Bland và
Shallcross, 1987)[13], các đại tu động cơ tuốc bin khí (Pante, Lowe và
Chandrasekaran, 1987)[14], trong xử lý vật liệu trong một nhà kho (Ratliff và
Rosenthal, 1981)[15], trong việc cắt giảm các vấn đề chứng khoán, (Garfinkel,
1977), các phân nhóm của các mảng dữ liệu, (Lenstra và Rinooy Kạn, 1975), trình
tự các công việc trên một máy tính duy nhất (và Gilmore Gomory, 1964) và phân
công các tuyến đường cho máy bay của một hạm đội quy định (Boland, Jones, và
Nemhauser, 1994). Biến thể có liên quan về vấn đề nhân viên bán hàng đi du lịch
bao gồm các nguồn tài nguyên hạn chế đi du lịch vấn đề nhân viên bán hàng trong
đó có các ứng dụng trong lập kế hoạch với thời hạn tổng hợp (Pekny và Miller,

27
1990). Nghiên cứu này cũng cho thấy giải thưởng thu thập đi vấn đề nhân viên bán
hàng (Balas, 1989)[16] và các vấn đề Orienteering (Golden, Levy và Vohra,
1987)[14] là trường hợp đặc biệt của tài nguyên hạn chế TSP. Quan trọng nhất là
vấn đề nhân viên bán hàng đi du lịch thường thể hiện như một bài toán con trong
nhiều vấn đề tổ hợp phức tạp, là nổi tiếng và quan trọng nhất trong số đó là vấn đề
định tuyến xe, có nghĩa là, vấn đề xác định cho một đội xe mà khách hàng sẽ được
phục vụ bởi mỗi chiếc xe và theo thứ tự mỗi chiếc xe nên đến các khách hàng được
giao. Đối với các cuộc điều tra có liên quan, xem Christofides (1985) và Fisher
(1987).

Thuật toán tối ưu hóa đã được áp dụng cho nhiều vấn đề tối ưu hóa tổ hợp
khác nhau, từ phân bậc hai với Proteingấp hoặc định tuyến xe (Vehicle routing
problem) và rất nhiều phương pháp có nguồn gốc đã được thích nghi với các vấn
đề năng động trong thực tế các biến ngẫu nhiên, các vấn đề ngẫu nhiên, đa mục
tiêu và triển khai song song. Nó cũng đã được sử dụng để sản xuất các giải pháp
gần tối ưu cho vấn đề nhân viên bán hàng đi du lịch. Họ có lợi thế hơn mô phỏng
luyện kim (Simulated annealing) và thuật toán di truyền (Genetic algorithm) của
phương pháp tiếp cận vấn đề tương tự khi đồ thị có thể thay đổi tự động; thuật toán
đàn kiến có thể chạy liên tục và thích ứng với những thay đổi trong thời gian thực.
Đây là quan tâm trong mạng định tuyến (Network routing) và các hệ thống giao
thông đô thị.

Các thuật toán ACO đầu tiên được gọi là hệ thống Ant [17] và nó nhằm mục
đích để giải quyết vấn đề nhân viên bán hàng đi du lịch, trong đó mục đích là để
tìm ngắn chuyến đi vòng quanh để liên kết một loạt các thành phố. Các thuật toán
chung là tương đối đơn giản và dựa trên một tập hợp các kiến, mỗi người làm của
vòng các chuyến đi có thể cùng các thành phố. Ở mỗi giai đoạn, các kiến lựa chọn
để di chuyển từ một thành phố khác theo một số quy tắc:

28
• Nó phải đến mỗi thành phố đúng một lần.
• Một thành phố xa xôi có ít cơ hội được lựa chọn (khả năng hiển thị.
• Cường độ cao hơn đường mòn pheromone đặt ra trên một cạnh giữa hai
thành phố, lớn hơn xác suất mà cạnh đó sẽ được chọn.
• Đã hoàn thành cuộc hành trình của nó, là kiến gia gửi pheromone hơn trên
tất cả các cạnh nó đi qua, nếu cuộc hành trình ngắn.
• Sau mỗi lần lặp, những con đường mòn các kích thích tố bay hơi.

1.2. Mạng Nơ ron Hopfield

Một mạng Hopfield rời rạc có thể được khái quát hóa thành một mô hình liên
tục, trong đó thời gian được giả định là một biến liên tục và các nút có đầu ra liên
tục, được phân loại thay vì đầu ra nhị phân hai trạng thái. Do đó, năng lượng của
mạng giảm liên tục trong thời gian. Hopfield cho thấy rằng các mạng Hopfield liên
tục có cùng các tính chất hữu ích của một mô hình rời rạc. Hơn nữa, có một mạch
điện tử tương tự sử dụng các bộ khuếch đại phi tuyến và điện trở để thực hiện các
mạng Hopfield liên tục. Điều này cho thấy khả năng xây dựng mạng Hopfield sử
dụng công nghệ VLSI tương tự [Mead, 1989].

Mô hình của mạng Hopfield liên tục sử dụng các thành phần điện được thể hiện
trong Hình 1 (a). Nó bao gồm n bộ khuếch đại (nút), mỗi ánh xạ điện áp đầu vào
của nó ui vào một điện áp đầu ra y, thông qua hàm kích hoạt a (ui), có thể được
xem xét, ví dụ, như một hàm sigmoid [Eq. (9.10)] 𝑎(𝜆𝑢𝑖 ) = 1/(1 + 𝑒 −𝜆𝑢𝑖 ) , trong
đó λ được gọi là tham số tăng. Khi λ → ∞, một mô hình liên tục trở thành một mô
hình rời rạc. Mỗi bộ khuếch đại có độ dẫn đầu vào gi và điện dung đầu vào Ci, như
được hiển thị. Cũng được hiển thị là tín hiệu đầu vào bên ngoài xi. Đối với một
mạch thực tế, các tín hiệu đầu vào bên ngoài cung cấp dòng không đổi cho mỗi bộ
khuếch đại. Độ dẫn Wij kết nối đầu ra của nút thứ j với đầu vào của nút thứ i. Vì tất

29
cả các giá trị điện trở thực là dương, đầu ra nút đảo ngược 𝑦̅, được sử dụng để mô
phỏng tín hiệu ức chế. Nếu đầu ra của một nút cụ thể kích thích một số nút khác,
thì kết nối được thực hiện với tín hiệu từ đầu ra không được đảo ngược. Nếu kết
nối bị ức chế, nó được tạo ra từ đầu ra đảo ngược. Một lần nữa, yêu cầu trọng số
đối xứng quan trọng đối với mạng Hopfield được áp dụng, nghĩa là wij = wji và wii
= 0.

Hình 1: Mạng Hopfield liên tục sử dụng các thành phần điện, (a) Toàn bộ cấu trúc
mạng, (b) Các đầu vào của một nút trong (a).

30
Quy tắc phát triển của mỗi nút trong một mạng Hopfield liên tục có thể được
bắt nguồn như sau. Xem xét đầu vào của một nút như trong hình 1 (b). Sử dụng
định luật Kirchhoff hiện tại cho biết tổng dòng điện đi vào một đường giao nhau
bằng với đường rời nhau, chúng ta có được

(1)

trong đó

(2)

Phương trình (1) hoàn toàn mô tả sự tiến hóa thời gian của hệ thống. Nếu mỗi
nút được gán giá trị ban đầu ui(0), thì giá trị ui(t) và do đó đầu ra bộ khuếch đại yi(t)
= a (ui(t)) tại thời điểm t có thể được biết bằng cách giải phương trình vi phân trong
(1). Để đánh giá tính ổn định của các mạng Hopfield liên tục, chúng tôi sẽ xác định
chức năng năng lượng liên tục sao cho sự tiến hóa của hệ thống theo hướng chung
của gradient âm của hàm năng lượng và cuối cùng hội tụ tới một trong minima ổn
định trong không gian trạng thái. Một chức năng năng lượng Lyapunov thích hợp
cho mạng trong hình 1 là:

(3)

trong đó a-1 (y) = λu là nghịch đảo của hàm y = a(λu). Nó được biểu diễn trong
hình 2 cùng với tích phân của a-1 (y) như một hàm của y. Để chỉ ra rằng phương
trình. (3) là một hàm Lyapunov cho mạng, chúng ta lấy đạo hàm thời gian của
phương trình. (3) giả định wij là đối xứng:

31
(4)

Trong đó cân bằng cuối cùng đến từ phương trình. (1). Từ đó ui = (1/λ) a-1(yi) ta có:

(5)

trong đó a-1’(yi) là đạo hàm của a-1(yi). Do đó, phương trình (4) trở thành

Hình 2: (a) Nghịch đảo của hàm kích hoạt phi tuyến (hàm sigmoid), (b) Tích phân
của (a).

(6)

Hình 2 (a) cho thấy rằng a-1(yi) là hàm tăng đơn điệu của yi và do đó đạo
hàm a-1’(yi) của nó dương ở mọi nơi. Điều này cho thấy rằng dE / dt là âm, và do đó
chức năng năng lượng E phải giảm khi hệ thống phát triển. Do đó, nếu E bị giới hạn,
hệ thống cuối cùng sẽ đạt tới trạng thái ổn định trong đó dE / dt = dyi / dt = 0. Giả

32
sử rằng tất cả các giá trị ngưỡng là 0; thì chức năng năng lượng liên tục trong Eq.
(3) giống hệt với hàm năng lượng rời rạc trong phương trình. (11.2) ngoại trừ điều
kiện

(7)

Như được biểu diễn trong hình 2 (b), tích phân này bằng không đối với yi
= 0 và dương khác và trở nên rất lớn như yi tiếp cận ± 1. Do đó, hàm năng lượng E
bị chặn từ bên dưới và là hàm Lyapunov. Hơn nữa, thuật ngữ trong phương trình (7)
làm thay đổi cảnh quan năng lượng sao cho điểm ổn định của hệ thống không nằm
chính xác ở các góc của hypercube. Trong giới hạn của λ tăng rất lớn → ∞ ,điều kiện
này [Eq. (7)] được định hướng bằng không và mô hình liên tục trở nên giống hệt với
mô hình năng lượng rời rạc. Để đạt được hữu hạn, các điểm ổn định di chuyển về
phía bên trong của hypercube. Do đó, giá trị của tham số gain X xác định cách đóng
các điểm ổn định đến các góc của hypercube.

Ví Dụ:

Hãy xem xét một mạng Hopfield hai nút liên tục với w12 = w21 = 1, λ=1,4
và a(λu) = (2/𝜋) tan-1(λu𝜋/2). Như trong ví dụ 11.1, hệ thống này có hai trạng thái
ổn định. Bản đồ đường bao năng lượng cho hệ thống này được minh họa trong
hình 3, trong đó hai trục là đầu ra của hai nút (bộ khuếch đại). Góc trên bên phải và
góc dưới bên trái là ổn định tối thiểu để đạt được vô hạn (i.e., λ→∞), và tối thiểu
được dời vào bên trong bằng cách đạt được hữu hạn λ=1,4. Các mũi tên trong hình
thể hiện chuyển động của trạng thái từ phương trình. (1). Lưu ý rằng chuyển động
này không nói chung vuông góc với các đường bao năng lượng.

33
Hình 4:Bản đồ đường bao năng lượng cho mạng Hopfield hai trạng thái ổn định
liên tục trong Ví dụ 11.2. (Từ Proc. Nat. Acad. ScL, Tập 81, trang 3091, 1984, ©
John J. Hopfield. Tái bản bởi sự cho phép của tác giả.)

Mạng Hopfield liên tục thực ra là một trường hợp đặc biệt của một mạng lưới
liên kết thời gian liên tục rộng lớn hơn được giới thiệu bởi Cohen và Grossberg
[1983], và do đó thảo luận ở trên về sự ổn định của một mạng Hopfield liên tục
được gộp theo định lý Cohen-Grossberg sau đây [Hecht-Nielsen, 1990].
Định lý :

(Định lý Cohen-Grossberg). Given là một mạng nơron kết hợp với n nút có
tín hiệu đầu ra ui và một quy tắc phát triển của biểu mẫu

(8)

Như vậy

1. Ma trận [wij] là đối xứng (wij = wji) và tất cả wij ≥ 0


2. Hàm ai(u) là liên tục cho u ≥ 0 và ai(u) > 0 cho u > 0

34
3. Hàm bi(u) liên tục và không bao giờ "thoát" trong một khoảng thời gian mở
cho u> 0.
4. Hàm fi(u) có thể thay đổi và 𝑓𝑖′ (u) > 0 cho u ≥ 0
5. [bi(u) - wij fi(u)] < 0 như u →∞
𝑢
6. Hoặc lim+ 𝑏𝑖 (u) = ∞ hoặc lim+ 𝑏𝑖 (u) < ∞ và ∫0 [1/𝑎𝑖 (𝑠)]𝑑𝑠 = ∞ cho vài u
𝑢→0 𝑢→0

>0

Nếu trạng thái u (0) của mạng tại thời điểm 0 nằm trong giá trị dương của Ɽn
[ui>0 cho i=1,2,…,n], thì mạng sẽ gần như chắc chắn hội tụ với một số điểm ổn
định [tức là, một điểm p sao cho u (p) = 0] cũng ở giá trị dương. Hơn nữa, sẽ có
nhiều nhất một số điểm ổn định như vậy.

Lưu ý rằng đầu ra thực tế của một nút đến các nút khác là fj(uj) thay vì uj.
Tuyên bố rằng bi không loại trừ trong điều kiện 3 của định lý có nghĩa là không có
bộ nào S(c) = {u > 0 | bi(u) = c}chứa khoảng thời gian mở {u | 𝛼 < 𝑢 < 𝛽}.Tuyên
bố rằng mạng sẽ "gần như chắc chắn" hội tụ đến một điểm ổn định có nghĩa là điều
này sẽ xảy ra ngoại trừ một số lựa chọn hiếm hoi của ma trận trọng lượng.

Nếu ta đặt ai(ui) = 1/Ci,bi(ui) = -Giui + xi, fj(uj) = a (uj) = yj, wij = -mij và wij = 0, Eq.
(8) trở thành

(9)

đó chính xác là phương trình kích hoạt của mạng Hopfield trong phương trình. (1).
Định lý CohenGrossberg có thể được chứng minh bằng định lý Lyapunov. Hàm
Lyapunov cho mạng nơron liên quan được xác định trong phương trình. (8) có thể
được định nghĩa là

35
(10)

khá giống với


phương trình. (3). Có thể dễ dàng chỉ ra rằng

(11)

Do đó, E (u) ≤0 dọc theo quỹ đạo khi mọi hàm /, (w,) là đơn điệu không
giảm. Khó khăn của việc chứng minh định lý này phát sinh trong việc cho thấy
rằng giải pháp luôn luôn ở trong một trực giác tích cực và đáp ứng một số yêu cầu
toán học chi tiết khác. Có thể tìm thấy bằng chứng chi tiết về định lý Cohen-
Grossberg ở [Cohen và Grossberg, 1983]. Định lý này sẽ thường xuyên được sử
dụng trong cuốn sách này.

Mạng Hopfield liên tục được mở rộng từ mạng Hofield rời rạc như sau:
Giả sử
zi là tổng các đầu ra của mạng, khi đó đầu ra yi của mạng thỏa mãn:

36
Hình 5:Hàm kích hoạt với biến 

Trong đó  là biến xác định độ dốc của f. Ngoài ra một phương trình vi phân
có thể thay thế các mối quan hệ thời gian trễ giữa đầu vào và tổng trọng đầu ra của
mạng

II . Sử dụng mạng nơ ron Hopfield để giái bài toán người bán hàng du
lịch(TSP)
2.1. Khả năng ứng dụng giải quyết bài toán

Sau công trình của Hopfield và Tank [6] mạng Hopfield đã được sử dụng
nhiều vào việc giải bài toán tối ưu tổ hợp.
Ta đã 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
toán thuộc lớp bài toán NP-đầy đủ như: bài toán người bán hàng, tìm đường đi tối
ưu cho tuyến đường xe bus trường học, bài toán người đưa thư,...

37
2.2. Bài toán

Cho một mạng lưới gồm n thành phố, một người muốn đi du lịch khắp các
thành phố mỗi thành phố đi qua đúng một lần và sau đó quay lại thành phố xuất
phát. Giả sử biết khoảng cách giữa các thành phố. Tìm phương án để người đó đi
với tổng khoảng cách ngắn nhất.

2.3. Giải quyết bài toán với mạng nơ ron Hopfield

Để giải quyết bài toán người du lịch, một chiến lược đơn giản được đưa ra là
liệt kê tất cả các đường đi khả thi để tính toán tổng khoảng cách cho mỗi đường đi
và chọn đường đi với tổng khoảng cách nhỏ nhất. Tuy nhiên nếu có n thành phố thì
số đường đi khả thi sẽ là (n-1)!. Vì vậy chiến lược này trở nên đơn giản và không
khả thi khi số lượng thành phố lớn. Ví dụ nếu có 11 thành phố thì sẽ có
10!=3.628.800 đường đi (bao gồm cả đường đi với cùng một tuyến đường nhưng
khác hướng). Con số này tăng lên hơn 6.2 triệu với 13 thành phố.
Đối với n thành phố được viếng thăm , đặt Xij là biến có giá trị 1 nếu người
du lịch đi từ thành phố i đến thành phố j và 0 nếu ngược lại. Dij là khoảng cách từ i
đến j. Khi đó bài toán người du lịch có thể được phát biểu lại như sau:

Cực tiểu hóa hàm mục tiêu tuyến tính:

a. Thiết kế mạng

Mạng Hopfield là một mạng năng động với số lần lặp cho sự hội tụ từ một
trạng thái đầu vào tùy ý như trong hình 4.

38
Hình 3: Kiến trúc mạng Hopfield cho bài toán TSP n thành phố

Sử dụng n2 neuron trong mạng, trong đó n là tổng số thành phố được viếng
thăm. Các neuron ở đây có 1 ngưỡng và có hàm bước. Các đầu vào được gán các
trọng. Nhiệm vụ chính là tìm trọng kết nối thích hợp để từ đó đường đi hợp lệ được
chọn và đường đi không hợp lệ được ngăn chặn.

b. Hàm năng lượng

Một mẫu đầu vào bất kì đại diện cho một điểm năng lượng cụ thể, và mẫu
được lặp theo cách của mình để tìm ra một giải pháp. Sự lặp đi lặp lại cho đến khi
trạng thái đạt đến sự khác biệt năng lượng giữa 2 lần lặp kế tiếp dưới ngưỡng một
giá trị rất nhỏ (khoảng 0.000001).
Hàm năng lượng được sử dụng phải thỏa mãn các tiêu chí sau:
- Hàm năng lượng có thể dẫn ra một ma trận kết hợp ổn định
- Hàm năng lượng có thể đưa ra một đường đi ngắn nhất
Hàm năng lượng được sử dụng trong mạng :
39
Trong đó: A,B,C,D là các số nguyên dương
Xij là biến để biểu thị đường đi thực tế được viếng thăm từ thành phố i đến thành
phố j. Vì vậy Xij là đầu ra của neuron thứ j trong mảng của các neuron tương ứng
với thành phố thứ i. Ta có n2 biến như vậy và giá trị cuối cùng của chúng là 0 hoặc
1 hay rất gần đến 0 hoặc 1.
Hàm năng lượng có thể được phân tích như sau:

- Ràng buộc hàng : Trong hàm năng lượng bộ ba tổng


đầu tiên sẽ bằng 0 khi và chỉ khi có duy nhất số 1 trong mỗi cột theo thứ tự.
Điều này đảm bảo cho không có 2 thành phố được viếng thăm đồng thời.
- Ràng buộc cột( B X X    i k j k  ki ji ):Trong hàm năng lượng bộ ba tổng
đầu tiên sẽ bằng 0 khi và chỉ khi có duy nhất một thành phố xuất hiện trong mỗi
cột theo thứ tự. Điều này đảm bảo mỗi thành phố chỉ được viếng thăm đúng
một lần.
- Ràng buộc tổng số số 1(C X n [( ) ]2   i k ik − ): Tổng bộ ba số thứ 3 bằng 0
khi và chỉ khi có duy nhất N số 1 xuất hiện trong toàn bộ ma trận nxn. Điều
này đảm bảo rằng n thành phố đều được viếng thăm .

- Ràng buộc về khoảng cách ngắn nhất :


Giá trị của điều kiện này là cực tiểu khi tổng khoảng cách đường đi là ngắn
nhất.
Giá trị của D rất quan trọng quyết định giữa thời gian để hội tụ và tính tối ưu
của giải pháp. Nếu giá trị của D thấp phải mất nhiều thời gian để mạng hội tụ

40
nhưng nó mang lại giải pháp gần với giải pháp tối ưu, nếu giá trị của D cao
mạng hội tụ nhanh nhưng giải pháp thu được có thể sẽ không tối ưu.
c. Thiết lập ma trận trọng số

Mạng ở đây hoàn toàn được kết nối với thông tin phản hồi và có n2 neuron.
Do đó ma trận trọng sẽ là một ma trận vuông gồm n2xn2 phần tử. Theo hàm năng
lượng ma trận trọng có thể được thiết lập như sau:

Trong đó: các hằng số A,B,C,D cũng giống như trong hàm năng lượng. Các
trọng cũng được cập nhật để thỏa mãn các ràng buộc khác nhau để cung cấp một
đường đi hợp lệ với tổng khoảng cách ngắn nhất.
Hàm trọng có thể được phân tích như sau:
- Các neuron có trọng được cập nhật sử dụng 2 chỉ số một cho thành phố

đến và một cho thứ tự của thành phố trong đường đi. Vì vậy một phần tử của ma
trận trọng cho một kết nối giữa 2 neuron cần 4 chỉ số.
- Hàm delta có hai đối số và được định nghĩa

ik = 1 nếu i=k

ik = 1 nếu i=k

Ràng buộc đầu tiên cung cấp cho các dòng đảm bảo không có hai thành phố
được cập nhật đồng thời.
- Ràng buộc thứ 2 được cung cấp cho các cột, vì thế đảm bảo rằng không có
thành phố nào được viếng thăm nhiều hơn 1 lần
- Ràng buộc thứ 3 đảm bảo cho sự hội tụ toàn cục
- Ràng buộc thứ 4 đảm bảo tổng khoảng cách là ngắn nhất
41
d. Xây dựng hàm kích hoạt

Hàm kích hoạt cũng phải tuân theo các ràng buộc khác nhau để đưa ra một
đường đi hợp lệ. Nó có thể được định nghĩa như sau:

Biểu diễn neuron kích hoạt trong dòng thứ i và cột thứ j bởi aij và đầu ra kí
hiệu là Xij .
Sử dụng một hằng thời gian  với giá trị 1.0
Một thông số khác cũng được sử dụng là m với giá trị 15
Điều kiện đầu tiên trong hàm kích hoạt là giảm sau mỗi lần lặp
Điều kiện 2,3,4,5 là giữ cho các ràng buộc để được đường đi hợp lệ
Chức năng kích hoạt được cập nhật như sau:

aij (moi)= aij (cu)+  aij

Sau khi cài đặt thuật toán, sử dụng phần mềm Matlab tiến hành cho mạng
chạy lần lượt với số thành phố đầu vào là 5 ta được bảng kết quả dưới
đây:

Số Lần lặp: 152

Thời gian : 0.4652s

42
Kết quả: Tốt

- Số lần lặp cần thiết để hội tụ không duy trì giống nhau với bất kỳ thành phố
cụ thể nào. Ví dụ với 5 thành phố, mạng thường đạt được sự hội tụ với 120-
170 lần lặp. Trong vài trường hợp mạng chỉ cần 80 lần lặp để hội tụ, cũng có
vài trường hợp cần đến 250 lần. Điều này có thể lý giải được là do trạng thái
ban đầu được khởi tạo ngẫu nhiên của mạng.
- Nhiều trường hợp khi năng lượng của hệ thống đã được tính toán nó lại tăng
thay vì giảm. Vì vậy thuật toán không thành công trong một vài trường hợp.
- Trong quá trình test thử các mẫu có 93% là hội tụ, 7% thất bại và đôi khi
năng lượng của hệ thống tăng lên thay vì giảm trong khi mạng lặp theo
hướng hội tụ.

43
TÀI LIỆU THAM KHẢO

1. N. Đ. Thúc (2001), Trí tuệ nhân tạo-Lập trình tiến hóa, NXB Giáo Dục.

2. S. N. Sivanandam, S. N. Deepa (2008), Introduction to Genetic Algorithms,


Springer.

3. Freisleben, P. Mers (1996), New genetic local search operator for the travelling,
University of Siegen.

4. TS. Ngô Hữu Phúc [2012], Bài giảng Trí Tuệ nhân tạo .
5. Stuart J. Russell and Peter Novig. Artificial Intelligence - A Modern Approach
(2nd edition) (Prentice Hall,2003)
6. Beauchamp, K. G. [1984] Applications of Walsh and Related Functions,
Academic Press,London.
7. Cohen, M. and Grossberg, S. [1983] \Absolute stability of global pattern
formation and parallel memory storage by competitive neural networks",
IEEE
Trans. Sys.; Man and Cybernet. SMC-13, 815-826.
8. Hopfield, J. J. [1982] \Neural networks and physical systems with emergent
collective computational abilities", Proceedings of the National Academy of
Sciences 79, 2554-2558

44

You might also like