Tải bản đầy đủ (.pdf) (62 trang)

Phương pháp tối ưu đàn kiến giải bài toán tìm tập thống trị nhỏ nhất của một đồ thị

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 (867.38 KB, 62 trang )

ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
THÔNG TIN VÀ TRUYỀN THÔNG

LÊ THÁI HÒA

PHƯƠNG PHÁP TỐI ƯU ĐÀN KIẾN GIẢI BÀI TOÁN
TÌM TẬP THỐNG TRỊ NHỎ NHẤT CỦA MỘT ĐỒ THỊ

LUẬN VĂN THẠC SĨ KHOA HỌC

Thái Nguyên - Năm 2015


ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
THÔNG TIN VÀ TRUYỀN THÔNG

LÊ THÁI HÒA

PHƯƠNG PHÁP TỐI ƯU ĐÀN KIẾN GIẢI BÀI TOÁN
TÌM TẬP THỐNG TRỊ NHỎ NHẤT CỦA MỘT ĐỒ THỊ
Chuyên ngành: Khoa học máy tính
Mã số: 60.48.01.01

LUẬN VĂN THẠC SĨ KHOA HỌC

NGƯỜI HƯỚNG DẪN KHOA HỌC
TS. ĐỖ ĐỨC ĐÔNG

Thái Nguyên - Năm 2015




i

LỜI CAM ĐOAN
Tôi cam đoan đây là công trình nghiên cứu của riêng tôi, dưới sự chỉ
dẫn của TS. Đỗ Đức Đông. Các số liệu, kết quả nêu trong luận văn là trung
thực, bảo đảm tính khách quan, luận văn này cho đến nay chưa được bảo vệ
tại bất kỳ hội đồng nào và chưa hề được công bố trên bất kỳ phương tiện
nào khác. Các tài liệu tham khảo có nguồn gốc xuất xứ rõ ràng.
Tác giả xin chịu trách nhiệm về những lời cam đoan trên.

Thái nguyên, ngày 23 tháng 7 năm 2015
Tác giả luận văn

Lê Thái Hòa


ii

LỜI CẢM ƠN
Em xin chân thành cảm ơn thầy giáo TS. Đỗ Đức Đông đã trực tiếp
giao cho em đề tài, tận tình hướng dẫn và tạo mọi điều kiện cho em hoàn
thành luận văn.
Em xin chân thành cảm ơn các thầy cô giáo, các cán bộ nhân viên
phòng đào tạo, ban lãnh đạo Trường Đại học Công nghệ thông tin và
Truyền thông đã giúp đỡ tạo điều kiện cho em hoàn thành bản luận văn
này.
Em xin bày tỏ lòng cảm ơn của mình đến giáo sư Raka Jovannovic,
người đã chia sẻ cho em rất nhiều tài liệu về thuật toán tối ưu hóa đàn kiến

và cũng là người đã cung cấp cho em bộ dữ liệu để em thử nghiệm trong
bài luận văn này.
Cuối cùng, em xin chân thành cảm ơn sự quan tâm giúp đỡ của gia
đình, bạn bè và tập thể lớp Cao học K12I đã cổ vũ động viên em hoàn
thành tốt luận văn của mình.

Thái nguyên, ngày 23 tháng 7 năm 2015
Học viên Lê Thái Hòa


iii

MỤC LỤC
LỜI CAM ĐOAN ....................................................................................... i
LỜI CẢM ƠN ............................................................................................ ii
MỤC LỤC ................................................................................................ iii
Danh mục các ký hiệu và chữ viết tắt ......................................................... v
Danh mục các bảng .................................................................................. vii
Danh mục các hình .................................................................................. viii
MỞ ĐẦU ................................................................................................... 1
Chương 1. BÀI TOÁN TÌM TẬP THỐNG TRỊ NHỎ NHẤT CỦA MỘT
ĐỒ THỊ ...................................................................................................... 3
1.1. Bài toán tối ưu tổ hợp tổng quát ....................................................... 3
1.2. Bài toán tìm tập thống trị nhỏ nhất của một đồ thị (MWDSP) .......... 5
1.3. Các cách tiếp cận hiện nay giải quyết bài toán tìm tập thống trị nhỏ
nhất của đồ thị ......................................................................................... 5
1.3.1. Thuật toán tham lam tìm tập phủ đỉnh nhỏ nhất. ......................... 5
1.3.2. Thuật toán tham lam 1 (Greedy1) ............................................... 6
1.3.2. Thuật toán tham lam 2 (Greedy2) ............................................... 9
1.4. Một số ứng dụng trong thực tế về bài toán MWDSP ...................... 10

1.5. Kết luận chương ............................................................................. 11
Chương 2. PHƯƠNG PHÁP TỐI ƯU ĐÀN KIẾN .................................. 13
2.1. Kiến tự nhiên và kiến nhân tạo ....................................................... 13
2.1.1. Kiến tự nhiên ............................................................................ 13
2.1.2. Kiến nhân tạo ........................................................................... 17
2.2. Phương pháp ACO cho bài toán TƯTH tổng quát .......................... 18
2.2.1. Đồ thị cấu trúc .......................................................................... 18
2.2.2. Thuật toán ACO tổng quát........................................................ 20
2.3. Phương pháp ACO giải bài toán người chào hàng .......................... 23
2.3.1. Bài toán TSP và đồ thị cấu trúc ................................................ 23


iv

2.3.2. Các thuật toán ACO giải bài toán TSP...................................... 24
2.3.2.1. Hệ kiến AS ........................................................................ 27
2.3.2.2. Hệ đàn kiến ACS ............................................................... 30
2.3.2.3. Hệ kiến Max-Min .............................................................. 33
2.3.2.4. Phương pháp Max-Min trơn: SMMAS (Smoothed Max Min
Ant System) .................................................................................... 36
2.4. Một số lưu ý khi sử dụng các thuật toán ACO ................................ 36
2.4.1. Thông tin heuristic.................................................................... 37
2.4.2. Số lượng kiến ........................................................................... 37
2.4.3. Tham số bay hơi ....................................................................... 38
2.5. Kết luận chương ............................................................................. 38
Chương 3. PHƯƠNG PHÁP TỐI ƯU HÓA ĐÀN KIẾN GIẢI BÀI TOÁN
TÌM TẬP THỐNG TRỊ NHỎ NHẤT CỦA ĐỒ THỊ ............................... 39
3.1. Xây dựng lời giải ............................................................................ 40
3.2 Cập nhật mùi cho bài toán MWDSP ................................................ 41
3.3. Thực nghiệm và đánh giá ............................................................... 43

3.4. Kết luận chương ............................................................................. 48
KẾT LUẬN .............................................................................................. 49
TÀI LIỆU THAM KHẢO ........................................................................ 51


v

Danh mục các ký hiệu và chữ viết tắt
Kí hiệu và
chữ viết tắt

Ý nghĩa
Cận trên của vết mùi
Cận giữa của vết mùi
Vết mùi được khởi tạo ban đầu
Vết mùi trên cạnh
Vết mùi trên đỉnh



Thông tin heuristic trên cạnh



Thông tin heuristic trên đỉnh
Số vòng lặp trong thuật toán ACO
Số kiến sử dụng trong thuật toán ACO
Tham số bay hơi

3-LAS


Three-Level Ant System (Hệ kiến ba mức)

ACO

Ant Colony Optimization (Tối ưu đàn kiến)

ACS

Ant Colony System (Hệ đàn kiến)

AS

Ant System (Hệ kiến)

G-best

Global-best (Lời giải tốt nhất tính đến thời điểm hiện
tại)

I-best

Iteration-best (Lời giải tốt nhất trong bước lặp hiện tại)

MLAS

Multi-level Ant System (Hệ kiến đa mức)


vi


MMAS

Max-Min Ant System (Hệ kiến Max Min)

MWDSP

Bài toán tìm tập thống trị nhỏ nhất của đồ thị

SMMAS

Smoothed Max-Min Ant System (Hệ kiến Max Min
trơn)

TSP

Bài toán người chào hàng


vii

Danh mục các bảng
Trang
Bảng 2.1: Thuật toán ACO theo thứ tự thời gian xuất hiện……….. 26
Bảng 3.1: Kết quả thực nghiệm trên bộ dữ liệu 1 với kích thước
nhỏ…………………………………………………………………. 44
Bảng 3.2: Kết quả thực nghiệm trên bộ dữ liệu 2 với kích thước
nhỏ…………………………………………………………………. 45
Bảng 3.3: Kết quả thực nghiệm trên bộ dữ liệu 1 với kích thước
lớn…………………………………………………………………. 46

Bảng 3.4: Kết quả thực nghiệm trên bộ dữ liệu 2 với kích thước
lớn…………………………………………………………………. 47


viii

Danh mục các hình
Trang
Hình 1.1: Thuật toán tham lam tìm tập phủ đỉnh ..………………..

6

Hình 1.2: Một ví dụ về đồ thị làm cho Greedy1 sai kết quả………..

7

Hình 1.3: Thuật toán tính [ ] trong Greedy1_new………………..

8

Hình 1.4: Thuật toán tính  [ ] trong Greedy2_new………………..

10

Hình 2.1: Thực nghiệm cây cầu đôi………………………………...

15

Hình 2.2: Tỉ lệ các con kiến chọn đường đi………………………...


15

Hình 2.3: Thí nghiệm bổ xung……………………………………...

16

Hình 2.4: Đồ thị cấu trúc tổng quát cho bài toán cực trị hàm
)………………………………………………………...

20

Hình 2.5: Thuật toán ACO…………………………………………

21

( ,…,

Hình 2.6: Thuật toán ACO giải bài toán TSP có sử dụng tìm kiếm
cục bộ………………………………………………………………

25

Hình 3.1: Thuật toán cập nhật mùi SMMAS cho bài toán MWDSP

42


1

MỞ ĐẦU

Hiện nay, có rất nhiều bài báo, luận văn, luận án hay các công trình
nghiên cứu đề cập đến vấn đề giải quyết các bài toán tối ưu tổ hợp. Đa số
các bài toán này thuộc lớp các bài toán NP – khó. Trừ các bài toán cỡ nhỏ
có thể tìm lời giải bằng cách tìm kiếm vét cạn, còn lại thì thường không thể
tìm được lời giải tối ưu.
Đối với các bài toán kích thước lớn không có phương pháp giải
đúng. Hiện nay, người ta thường tìm lời giải gần đúng nhờ các thuật toán
mô phỏng tự nhiên như giải thuật di truyền (Genetic Algorithm - GA), tối
ưu bầy đàn (Particle Swarm Optimization -PSO)…
Trong các phương pháp mô phỏng tự nhiên, tối ưu hóa đàn kiến (Ant
Colony Optimization - ACO) là cách tiếp cận metaheuristic tương đối mới,
được giới thiệu bởi Dorigo năm 1991 đang được nghiên cứu và ứng dụng
rộng rãi cho các bài toán TƯTH - khó.
Các thuật toán ACO mô phỏng cách tìm đường đi của các con kiến
thực. Trên đường đi, mỗi con kiến thực để lại một vết hoá chất gọi là vết
mùi (pheromone trail) và theo vết mùi của các con kiến khác để tìm đường
đi. Đường có nồng độ vết mùi càng cao thì càng có nhiều khả năng được
các con kiến chọn. Nhờ cách giao tiếp gián tiếp này đàn kiến tìm được
đường đi ngắn nhất từ tổ tới nguồn thức ăn. Theo ý tưởng đó, các thuật toán
ACO sử dụng kết hợp thông tin kinh nghiệm (heuristic) và học tăng cường
qua các vết mùi của các con kiến nhân tạo để giải các bài toán TƯTH bằng
cách đưa về bài toán tìm đường đi tối ưu trên đồ thị cấu trúc tương ứng của
bài toán.


2

Bài luận văn này em trình bày phương pháp tối ưu hóa đàn kiến
ACO để giải quyết bài toán tìm tập thống trị nhỏ nhất của một đồ thị vô
hướng. Em sẽ thử nghiệm trên các đồ thị với kích cỡ khác nhau, mật độ

cạnh khác nhau, các chức năng phân phối trọng số trên các đỉnh khác nhau
để thấy được hiệu quả của thuật toán đề xuất so với một số thuật toán đang
được sử dụng.


3

Chương 1. BÀI TOÁN TÌM TẬP THỐNG TRỊ NHỎ NHẤT CỦA
MỘT ĐỒ THỊ

Trong các bài toán thực tế cũng như trong lý thuyết, ta thường phải
tìm các giá trị cho các biến rời rạc để cực trị hàm mục tiêu nào đó. Các bài
toán này thường dễ phát biểu nhưng lại khó giải do chúng thuộc loại tối ưu
tổ hợp (TƯTH) NP - khó. Chương này giới thiệu các bài toán tối ưu tổ hợp
dưới dạng tổng quát, bài toán tìm tập thống trị nhỏ nhất và các cách tiếp
cận hiện nay.
1.1. Bài toán tối ưu tổ hợp tổng quát
Trong đời sống thực tế ta thường phải giải quyết nhiều bài toán
TƯTH quan trọng. Chẳng hạn như: tìm đường đi ngắn nhất nối hai điểm
trên một đồ thị đã cho, lập kế hoạch phân phối nguồn hàng tới nơi tiêu thụ
với chi phí cực tiểu, lập thời khóa biểu cho giáo viên và học sinh thuận lợi
nhất, định tuyến cho các gói dữ liệu trong Internet, lập lịch hợp lý cho các
hệ thống sản xuất, đối sánh các chuỗi gen trong sinh học phân tử v.v…
Mỗi bài toán TƯTH ứng với một bộ ba ( S , f , W) trong đó:
- S là tập hữu hạn trạng thái (lời giải tiềm năng hay phương án);
- f là hàm mục tiêu xác định trên ;
- W là tập các ràng buộc.
Mỗi phương án s  S thỏa mãn các ràng buộc W gọi là phương án trả
lời (hay lời giải). Mục đích của ta là tìm phương án chấp nhận được s* tối
ưu hóa toàn cục hàm mục tiêu , tức là một phương án s* tốt nhất. Chẳng

hạn với bài toán cực tiểu thì ta phải tìm ( ) ≤ ( ) với mọi phương án
trả lời .


4

Mỗi bài toán đều có thể chỉ ra một tập hữu hạn gồm
= { ,…,

} sao cho mỗi phương án

trong

thành phần

đều biễu diễn được nhờ

liên kết các thành phần trong nó. Cụ thể hơn, các tập ,

và W có các đặc

điểm sau:
1) Ký hiệu
{<

là tập các vectơ trên
>}

,…,




∀ . Khi đó, mỗi phương án

định nhờ ít nhất một vectơ trong
2) Tồn tại tập con
rỗng với mọi
nào đó của
3) Từ

có độ dài không quá

của

được xác

từ

lên

( ) không

sao cho

có thể xây dựng được từ tập con

nhờ thủ tục mở rộng tuần tự dưới đây.

ta mở rộng tuần tự thành


như sau:

i) Ta xem

=<

> là mở rộng được với mọi

ii) Giả sử

=<

,…,

=<

,…,

,

.
. Từ tập

) của , sao cho với mọi

∈ (

)

> là mở rộng được.


iii) Áp dụng thủ tục mở rộng từ các phần tử
được mọi phần tử của



> là mở rộng được và chưa thuộc

ràng buộc W, xác định tập con (
thì

=

.

và ánh xạ

∈ , trong đó tập

trong

:



cho phép ta xây dựng

.

Như vậy, mỗi bài toán TƯTH được xem là một bài toán cực trị hàm



biến, trong đó mỗi biến nhận giá trị trong tập hữu hạn

kể cả giá trị

rỗng. Nói một cách khác, nó là bài toán tìm kiếm trong không gian vectơ
độ dài không quá

trên đồ thị đầy đủ có các đỉnh có nhãn trong tập .

Chú ý:
Với các bài toán TƯTH có dạng giải tích: Tìm cực trị hàm
( ,…,

) trong đó mỗi biến

nhận giá trị trong tập hữu hạn

ứng và các biến này thỏa mãn các ràng buộc W nào đó, thì

tương

là tập

=


5



trong tập

là các vectơ
,

là tập

- chiều, trong đó thành phần

còn

nhận giá trị

là tập các vectơ thỏa mãn các ràng buộc W.

1.2. Bài toán tìm tập thống trị nhỏ nhất của một đồ thị (MWDSP)
= { , } trong đó

Cho một đồ thị vô hướng
cạnh của đồ thị. Với mỗi đỉnh
Một tập thống trị của
\



là tập đỉnh,

có gắn một trọng số


là một tập

đều kề với ít nhất một đỉnh thuộc tập



là tập

.

sao cho mọi đỉnh thuộc

. Trong các tập thống trị đó,

tập thống trị nhỏ nhất là tập thống trị mà tổng trọng số của tất cả các đỉnh
thuộc

nhỏ nhất.
Bài toán tìm tập thống trị nhỏ nhất của đồ thị thuộc lớp bài toán NP-

khó và có nhiều ứng dụng trong thực tế. Đã có nhiều nhà nghiên cứu đưa ra
các phương pháp khác nhau để giải quyết bài toán trên, tuy nhiên các thuật
toán này chưa thực sự hiệu quả.
1.3. Các cách tiếp cận hiện nay giải quyết bài toán tìm tập thống trị
nhỏ nhất của đồ thị
1.3.1. Thuật toán tham lam tìm tập phủ đỉnh nhỏ nhất.
Trước hết ta xét đồ thị mà chưa quan tâm đến trọng số của các đỉnh
(coi mỗi đỉnh đều có trọng số bằng 1). Khi đó bài toán trở thành “Tìm tập
phủ đỉnh có số lượng đỉnh ít nhất”.
Để dễ hình dung ta gọi:

- Tập các đỉnh đã được chọn vào làm kết quả là các đỉnh tô màu đen
( ).
- Tập các đỉnh không thuộc
gọi là các đỉnh tô màu xám ( ).

nhưng kề với ít nhất một đỉnh thuộc


6

- Các đỉnh còn lại là các đỉnh chưa được phủ gọi là đỉnh tô màu trắng
( ).
Trong tài liệu [4] người ta đưa ra ý tưởng như sau: Tại mỗi lần lặp
ta kết nạp thêm một đỉnh mới thuộc

hoặc

Việc ưu tiên chọn đỉnh nào đó kết nạp vào
(

vào

cho đến khi

= .

được xác định bởi giá trị của

là những đỉnh trắng kề với ).
Thuật toán được mô ta như sau:

;
While


Begin

;
Do

;

Tìm ∈ ∩ (
∩ ( );
∩ { };
\ ;

lớn nhất).

End;
Hình 1.1: Thuật toán tham lam tìm tập phủ đỉnh
1.3.2. Thuật toán tham lam 1 (Greedy1)
Với ý tưởng trình bày trong tài liệu [12] người ta biến đổi đồ thị ban
đầu thành đồ thị đầy đủ bằng cách thêm các cạnh vào đồ thị. Khi đó những
cạnh ban đầu của đồ thị có trọng số bằng 1 (kí hiệu bằng màu đen), cạnh
được thêm vào có trọng số bằng 0 (kí hiệu bằng màu đỏ).
Khi thêm một đỉnh vào tập

ta phải cập nhật lại đồ thị, tất cả những

cạnh liên thuộc với đỉnh đó sẽ được tô màu đỏ, những đỉnh kề với nó bằng

cạnh màu đen sẽ được tô thành màu xám.
Như vậy sau khi ta kết nạp được
đổi thành

( ,

đỉnh vào

thì đồ thị được biến

). Khi đó trọng số của cạnh của đồ thị

được biểu

diễn như sau:
(, )

=

(

( , ))

(1.1)


7

Lưu ý


( , ) chỉ

nhận giá trị bằng 0 hoặc bằng 1.

Khi muốn kết nạp một đỉnh nào đó vào

thì giải pháp được chọn

để ưu tiên như sau:
( ) = ∑( ,

=

)∈

(, )

(1.2)

( )
( )

(1.3)

( ) thực chất là số lượng những đỉnh kề

Từ (1.1) và (1.2) ta thấy

với mà chưa được phủ (còn là đỉnh màu trắng).
Như vậy việc chọn một đỉnh để kết nạp vào


dựa trên hai tiêu chí:

+ Số lượng đỉnh màu trắng kề với nó càng nhiều càng tốt.
+ Trọng số của đỉnh đó càng nhỏ càng tốt.
Phép cộng 1 vào tử số để đảm bảo được việc so sánh giữa các đỉnh
không còn kết nối nữa, tức là những đỉnh cô lập (khi đó ta sẽ chọn đỉnh nào
có trọng số nhỏ hơn).
Theo công thức (1.3) ta thấy rằng khi đồ thị

chỉ gồm các đỉnh cô

lập thì việc lựa chọn đỉnh nào chỉ phụ thuộc vào trọng số của nó chứ không
phân biệt đỉnh đó đã được phủ hay chưa. Tức là có thể chọn thêm vào kết
quả đỉnh đã được tô màu xám mà không kề với bất kỳ đỉnh màu trắng nào.

A

1

C

B

5

Một ví dụ về đồ thị làm cho Greedy1 sai kết quả.

6



8

Ta có đỉnh A là đỉnh đã được chọn, bây giờ xét tiếp đỉnh B và C, ta
có:

γ

Vì γ

=

1 + Cov(B)
1
=
W(B)
5

=

1 + Cov(C)
1
=
W(C)
6

> γ

nên theo Greedy1 thì đỉnh tiếp theo được chọn vào


làm kết quả là đỉnh B, sau đó mới chọn đỉnh C. Kết quả cuối cùng bằng
W[A] + W[B] + W[C] = 1 + 5 + 6 = 12. (kết quả này sai so với kết quả
thực tế).
Ta có thể cải tiến thuật toán này bằng cách thêm vào đồ thị ban đầu
những cạnh khuyên ( , ) với 1 ≤ ≤ . Khi đó nếu một đỉnh màu xám
nằm cô lập (đã được phủ bởi đỉnh khác) thì giá trị

của nó sẽ bằng

không, trong khi một đỉnh màu trắng nằm cô lập thì giá trị

của nó lại

bằng 1. Vì vậy ta không cần cộng thêm 1 vào tử số, đồng thời tránh được
sai sót như trong ví dụ trên (cải tiến này được minh họa trong chương 3
bằng thuật toán Greedy1_new). Khi đó công thức (1.3) sẽ được biến đổi

γ =

như sau:
[]

()

(1.4)

()

0;
1 to


For

do

If kề và là đỉnh mầu trắng then
[]

[ ]=

[ ] + 1;

[ ]
;
[ ]

Hình 1.3: Thuật toán tính [ ] trong Greedy1_new.


9

1.3.2. Thuật toán tham lam 2 (Greedy2)
Trong thuật toán tham lam 1 việc lựa chọn các đỉnh chỉ coi trọng số
lượng các đỉnh kề với nó chứ không quan tâm đến tổng trọng số của các
đỉnh kề với nó. Tài liệu [6], [11] đã cải tiến công thức trên bằng việc cho
thêm tổng trọng số của các đỉnh màu trắng kề với nó. Nếu tổng trọng số
này càng lớn thì càng được ưu tiên.


=


( ) (

∑( , )∈
( )

()

( , ))

(1.5)

Cũng tương tự như thuật toán trước, tại công thức (1.5) giả sử đồ thị
chỉ gồm các đỉnh thuộc W và R (màu trắng và màu xám) nằm cô lập.
Lúc đó

( ) = 0 với mọi , làm cho 

= 0 như vậy sẽ không có tiêu

chí để chọn lựa đỉnh nào là đỉnh tiếp theo kết nạp vào kết quả. Trên thực tế
ta thấy việc chọn những đỉnh màu xám không có ý nghĩa gì mà chỉ làm xấu
đi kết quả. Vì vậy, để thuật toán tốt hơn ta vẫn phải thêm vào đồ thị ban
đầu những cạnh ( , ) với 1 ≤ ≤ . Do đó ta có thể sửa công thức (1.5)
thành công thức sau:


=

( ) ∑( , )∈


()

( , ))

( )

(1.6)

Cải tiến này làm cho kết quả tốt hơn đáng kể so với thuật toán
Greedy2 trong [11] (ta gọi thuật toán đã cải tiến là Greedy2_new).
Trong hai thuật toán tham lam đã đề cập ở trên việc thêm những
cạnh khuyên vào đồ thị làm cho thuật toán cải thiện đáng kể vì tránh được
việc chọn những đỉnh màu xám vào tập kết quả trong khi nó không còn kề
với một đỉnh màu trắng nào. Việc chỉnh sửa công thức chỉ là thay đổi cho
phù hợp sau khi đã thêm các cạnh khuyên chứ không phải là nguyên nhân
chủ yếu làm cho kết quả tốt hơn.


10

[]
[]

0;
0;
1 to

For


do

If kề và là đỉnh mầu trắng then
{
[]
[]

[ ] + 1;
[ ]+

[ ];

}
 =

[ ] [ ]
[ ]

;

Hình 1.4: Thuật toán tính  [ ] trong Greedy2_new.
1.4. Một số ứng dụng trong thực tế về bài toán MWDSP
Đa số các bài toán về đồ thị đều được áp dụng rộng rãi trong thực tế,
bài toán MWDSP cũng không ngoại lệ, có thể đưa ra một số ứng dụng cụ
thể như sau:
Ứng dụng 1: Ứng dụng trong việc chọn địa điểm để xây dựng cột phát
sóng điện thoại. Giả sử một công ty viễn thông muốn phát sóng điện thoại
di động cho tất cả

ngôi làng, do địa hình phức tạp nên khi xây dựng cột


phát sóng tại ngôi làng

thì đương nhiên ngôi làng

sẽ được phủ sóng,

ngoài ra có thể có một số ngôi làng khác cũng sẽ được phủ sóng. Do giá
thành mặt bằng để thuê đặt cột phát sóng, cũng như nhiều yếu tố khác làm
cho việc xây dựng và thuê đặt địa điểm của các cột phát sóng tại các ngôi
làng là khác nhau. Vấn đề đặt ra cho công ty này là làm sao xây dựng các
cột phát sóng để có thể phát sóng cho tất cả mọi người dân trong
làng nói trên nhưng có chi phí thuê và lắp đặt nhỏ nhất.

ngôi


11

Ứng dụng 2: Ứng dụng trong việc xây dựng các công trình nước sạch phục
vụ cho đồng bào vùng cao. Việc xây dựng một công trình nước sạch tại
một địa phương nào đó có thể cấp phát nước cho địa phương đó cũng như
một số địa phương lân cận khác. Chi phí để xây dựng công trình nước sạch
tại những địa phương khác nhau là khác nhau do việc vận chuyển vật liệu
cũng như giá thuê nhân công. Vì vậy bài toán đặt ra là phải xây dựng các
công trình nước sạch sao cho có giá thành nhỏ nhất nhưng vẫn đảm bảo cấp
phát nước đầy đủ cho tất cả các địa phương trên.
Trên thực tế còn có rất nhiều bài toán được mô hình hóa bởi bài toán
MWDSP chẳng hạn như bài toán đặt các trạm biến áp điện, bài toán về xây
dựng các đại lí phân phối hàng...

1.5. Kết luận chương
Các bài toán TƯTH ( , , W ) nhằm tìm cực trị hàm

trên tập hữu

hạn trạng thái , thỏa mãn ràng buộc W , có vai trò quan trọng trong nghiên
cứu lý thuyết và ứng dụng. Đa số các bài toán trong chúng thuộc loại NPkhó, khi đó với các bài toán cỡ lớn thì không giải đúng được. Đã có nhiều
phương pháp để giải quyết được đề xuất, trong đó các phương pháp giải
gần đúng với các kỹ thuật bổ trợ như tìm kiếm cục bộ, memetic đang được
sử dụng rộng rãi.
Bài toán tìm tập thống trị nhỏ nhất của đồ thị là một bài toán NP–khó
với không gian bài toán là 2 (với

là số đỉnh của đồ thị). Bài toán có

nhiều ý nghĩa về mặt khoa học cũng như ứng dụng trong thực tế.
Có nhiều ý tưởng tham lam để giải quyết bài toán tìm tập thống trị
nhỏ nhất của đồ thị tuy nhiên các chiến lược tham lam này cho kết quả còn
sai lệnh nhiều so với kết quả thực tế của bài toán. Việc nghiên cứu cách


12

giải bài toán trên để đạt kết quả tốt hơn là một lĩnh vực được nhiều nhà
khoa học trong nước và thế giới quan tâm.


13

Chương 2. PHƯƠNG PHÁP TỐI ƯU ĐÀN KIẾN


Bài toán tối ưu hóa tổ hợp là bài toán hấp dẫn và thú vị bởi vì phần
lớn chúng đều dễ để hình dung nhưng khó mà tìm ra lời giải cho chúng.
Nhiều bài toán tối ưu tổ hợp là các bài toán NP-khó và chúng không thể
giải được trong thời gian đa thức. Trên thực tế người ta thường giải quyết
các bài toán này bằng các phương pháp xấp xỉ, chúng có nghiệm gần tối ưu
và thời gian chạy khá ngắn. Các thuật toán thuộc lại này tạm gọi là các
thuật toán heuristic, chúng được sử dụng để giải quyết các bài toán cụ thể.
Mở rộng của chúng là các thuật toán metaheuristic có thể giải quyết được
cả một lớp các bài toán rộng lớn. ACO là một phương pháp theo hướng tiếp
cận như thế.
Tối ưu đàn kiến (ACO) là một phương pháp metaheuristic dựa trên ý
tưởng mô phỏng cách tìm đường đi từ tổ tới nguồn thức ăn của các con
kiến tự nhiên. Đến nay phương pháp này được cải tiến đa dạng và có nhiều
ứng dụng. Trước khi giới thiệu phương pháp ACO, luận văn sẽ giới thiệu
phương thức trao đổi thông tin gián tiếp của kiến tự nhiên và mô hình kiến
nhân tạo.
2.1. Kiến tự nhiên và kiến nhân tạo
2.1.1. Kiến tự nhiên
Tối ưu hóa đàn kiến (ACO) là các thuật toán dựa vào sự quan sát bầy
kiến thực. Kiến là loại cá thể sống bầy đàn. Chúng giao tiếp với nhau thông
qua vết mùi mà chúng để lại trên hành trình mà chúng đi qua. Mỗi kiến khi
đi qua một đoạn đường sẽ để lại trên đoạn đó một hóa chất mà chúng ta gọi
là vết mùi. Số lượng mùi sẽ tăng lên khi có nhiều kiến cùng đi qua. Các con
kiến khác sẽ tìm đường đi dựa vào mật độ vết mùi, mật độ vết mùi càng lớn


14

thì chúng càng có xu hướng chọn. Dựa vào hành vi tìm kiếm này mà đàn

kiến tìm được đường đi ngắn nhất từ tổ đến nguồn thức ăn và sau đó quay
trở tổ của mình.
Thí nghiệm trên cây cầu đôi
Có rất nhiều nghiên cứu để tìm hiểu hành vi của loài kiến đã được
tiến hành, một trong những thí nghiệm nổi tiếng nhất là thí nghiệm của
Deneubourg và các cộng sự của ông năm 1989, thí nghiệm này là cơ sở lý
thuyết đầu tiên và cũng tạo ra ý tưởng cho thuật toán ACO mà Dorigo đưa
ra sau này.
Họ đã thực nghiệm với tỉ lệ độ dài đường r =
nhau của chiếc cầu đôi, trong đó

giữa hai nhánh khác

là độ dài của nhánh dài còn

là độ dài

của nhánh ngắn.
Trong thực nghiệm thứ nhất, chiếc cầu đôi có hai nhánh bằng nhau (r
= 1, hình 2.1.a). Ban đầu, kiến lựa chọn đường đi một cách tự do từ tổ đến
nguồn thức ăn, cả hai nhánh đều có kiến đi, nhưng sau một thời gian các
con kiến này tập trung đi theo cùng một nhánh. Kết quả có thể được giải
thích như sau: ban đầu không có vết mùi nào trên cả hai nhánh, do đó kiến
lựa chọn nhánh bất kỳ với xác suất như nhau. Một cách ngẫu nhiên, sẽ có
một nhánh có số lượng kiến lựa chọn nhiều hơn nhánh kia. Do kiến để lại
vết mùi trong quá trình di chuyển, nhánh có nhiều kiến lựa chọn sẽ có nồng
độ mùi lớn hơn nồng độ mùi của nhánh còn lại. Nồng độ mùi trên cạnh lớn
hơn sẽ ngày càng lớn hơn vì ngày càng có nhiều kiến lựa chọn. Cuối cùng,
hầu như tất cả các kiến sẽ tập trung trên cùng một nhánh. Thực nghiệm này
cho thấy là sự tương tác cục bộ giữa các con kiến với thông tin gián tiếp là

vết mùi để lại cho phép điều chỉnh hoạt động vĩ mô của đàn kiến.


15

Hình 2.1: Thực nghiệm cây cầu đôi
(a) Hai nhánh có độ dài bằng nhau. (b) Hai nhánh có độ dài khác nhau.

Hình 2.2. Tỉ lệ các con kiến chọn đường đi.
(a) Hai nhánh có độ dài bằng nhau. (b) Hai nhánh có độ dài khác nhau.
Trong thực nghiệm thứ hai (xem hình 2.1b), độ dài của nhánh dài
gấp đôi độ dài nhánh ngắn (tỉ lệ r = 2). Trong trường hợp này, sau một thời
gian tất cả các con kiến đều chọn đoạn đường ngắn hơn. Cũng như trong
thực nghiệm thứ nhất, ban đầu đàn kiến lựa chọn hai nhánh đi như nhau,
một nửa số kiến đi theo nhánh ngắn và một nửa đi theo nhánh dài (mặc dù
trên thực tế, do tính ngẫu nhiên có thể một nhánh nào đó được nhiều kiến
lựa chọn hơn nhánh kia). Nhưng thực nghiệm này có điểm khác biệt quan
trọng với thực nghiệm thứ nhất: Những kiến lựa chọn đi theo nhánh ngắn
sẽ nhanh chóng quay trở lại tổ và khi phải lựa chọn giữa nhánh ngắn và


×