1. Trang chủ
  2. » Luận Văn - Báo Cáo

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ị

62 527 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 62
Dung lượng 867,38 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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ê

Trang 1

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

Trang 2

ĐẠ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

Trang 3

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

Trang 4

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

Trang 5

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

Trang 6

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

Trang 7

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

Kí hiệu và

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)

Trang 8

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

Trang 9

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………

Bảng 3.1: Kết quả thực nghiệm trên bộ dữ liệu 1 với kích thước

Trang 10

Danh mục các hình

Trang

Hình 1.1: Thuật toán tham lam tìm tập phủ đỉnh ………

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

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

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

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

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

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

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

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

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ộ………

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

6

7

8

10

15

15

16

20

21

25

42

Trang 11

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

Trang 12

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

Trang 13

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 sS 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

Trang 14

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

= { , … , } sao cho mỗi phương án trong đề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 có độ dài không quá : ={< , … , >} ∈ ∀ Khi đó, mỗi phương án trong được xác định nhờ ít nhất một vectơ trong

2) Tồn tại tập con của và ánh xạ từ lên sao cho ( ) không rỗng với mọi ∈ , trong đó tập có thể xây dựng được từ tập con nào đó của nhờ thủ tục mở rộng tuần tự dưới đây

3) Từ 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ử = < , … , > là mở rộng được và chưa thuộc Từ tập ràng buộc W, xác định tập con ( ) của , sao cho với mọi ∈ ( ) thì = < , … , , > là mở rộng được

iii) Áp dụng thủ tục mở rộng từ các phần tử ∈ cho phép ta xây dựng được mọi phần tử của

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

có 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 tương ứng và các biến này thỏa mãn các ràng buộc W nào đó, thì là tập =

Trang 15

và là các vectơ - chiều, trong đó thành phần nhận giá trị trong tập , là tập còn 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)

Cho một đồ thị vô hướng = { , } trong đó là tập đỉnh, là tập cạnh của đồ thị Với mỗi đỉnh ∈ có gắn một trọng số

Một tập thống trị của là một tập  sao cho mọi đỉnh thuộc

\ đều kề với ít nhất một đỉnh thuộc tập 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 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ả

NP-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”

Trang 16

- 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 vào cho đến khi = Việc ưu tiên chọn đỉnh nào đó kết nạp vào đượ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:

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 đỉnh vào thì đồ thị được biến đổi thành ( , ) Khi đó trọng số của cạnh của đồ thị được biểu diễn như sau:

Trang 17

1

5

6

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)

Từ (1.1) và (1.2) ta thấy ( ) thực chất là số lượng những đỉnh kề 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

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

A

B

C

Trang 18

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

có:

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

15

γ =1 + Cov(C)

W(C) =

16

Vì γ > γ 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: γ = ( )

Trang 19

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:

Trang 20

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 ngôi làng nói trên nhưng có chi phí thuê và lắp đặt nhỏ nhất

Trang 21

Ứ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 NP-khó, 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

Trang 22

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

Trang 23

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

Trang 24

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 = giữa hai nhánh khác nhau của chiếc cầu đôi, trong đó 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

Trang 25

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à

Trang 26

nhánh dài, kiến sẽ thấy nồng độ mùi trên nhánh ngắn cao hơn nồng độ mùi trên nhánh dài, do đó sẽ ưu tiên lựa chọn đi theo nhánh ngắn hơn Tuy nhiên, trong thời gian đầu không phải tất cả các kiến đều đi theo nhánh ngắn hơn Phải mất một khoảng thời gian tiếp theo nữa bầy kiến mới lựa chọn đi theo nhánh ngắn Điều này minh chứng bầy kiến đã sử dụng phương thức thăm dò, tìm đường mới

Một điểm thú vị nữa là quan sát xem sẽ xảy ra điều gì khi quá trình tìm kiếm đang hội tụ, lại xuất hiện một đường mới từ tổ đến nguồn thức ăn Việc này được thực nghiệm như sau: ban đầu từ tổ đến nguồn thức ăn chỉ

có một nhánh dài và sau 30 phút, thêm một nhánh ngắn (xem hình 2.3) Trong trường hợp này, nhánh ngắn thường không được kiến chọn mà chúng tập trung đi trên nhánh dài Điều này có thể giải thích như sau: nồng

độ vết mùi trên cạnh dài cao và sự bay hơi của vết mùi diễn ra chậm nên đại đa số các con kiến vẫn lựa chọn nhánh dài (có nồng độ vết mùi cao) Hành vi này tiếp tục được củng cố và kiến chọn đi theo nhánh dài, ngay cả khi có một nhánh ngắn xuất hiện Việc bay hơi vết mùi là cơ chế tiện lợi cho việc tìm đường mới, nghĩa là việc bay hơi có thể giúp kiến quên đi đường đi tối ưu cục bộ đã được tìm thấy trước đây để tìm khám phá đường

đi mới, tốt hơn

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

Ban đầu chỉ có một nhánh và sau 30 phút thêm nhánh ngắn hơn

Trang 27

2.1.2 Kiến nhân tạo

Thực nghiệm cây cầu đôi cho thấy đàn kiến tự nhiên có thể sử dụng luật di chuyển theo xác suất, dựa trên thông tin địa phương để tìm được đường đi ngắn nhất giữa hai địa điểm Vết mùi của đàn kiến cho phép liên tưởng tới cách học tăng cường (reinforcement learning) trong bài toán chọn tác động tối ưu, gợi mở mô hình mô phỏng cho bài toán tìm đường đi ngắn nhất giữa hai nút (tương ứng là tổ và nguồn thức ăn) trên đồ thị, trong đó các tác tử (agent) là đàn kiến nhân tạo

Tuy nhiên, trong các bài toán ứng dụng các đồ thị thường phức tạp hơn Từ mỗi đỉnh có thể có nhiều cạnh, nên nếu mô phỏng thực sự hành vi của đàn kiến tự nhiên nhiều con kiến sẽ đi luẩn quẩn và do đó hiệu quả thuật toán sẽ rất kém Vì vậy, người ta dùng kỹ thuật đa tác tử (multiagent)

mô phỏng đàn kiến nhân tạo, trong đó mỗi con kiến nhân tạo có khả năng nhiều hơn so với kiến tự nhiên Kiến nhân tạo (về sau trong luận văn ta sẽ gọi đơn giản là kiến) có bộ nhớ riêng, có khả năng ghi nhớ các đỉnh đã thăm trong hành trình và tính được độ dài đường đi nó chọn Ngoài ra, kiến

có thể trao đổi thông tin với nhau, thực hiện tính toán cần thiết, cập nhật mùi…

Sử dụng mô hình kiến nhân tạo này, Dorigo (1991) [7] đã xây dựng

thuật toán hệ kiến (AS) giải bài toán người chào hàng Hiệu quả của thuật

toán so với các phương pháp mô phỏng tự nhiên khác như SA và GA đã được kiểm chứng bằng thực nghiệm

Thuật toán này về sau được phát triển và có nhiều ứng dụng phong phú, được gọi chung là phương pháp ACO

Trang 28

2.2 Phương pháp ACO cho bài toán TƯTH tổng quát

Trong mục này giới thiệu sơ lược về phương pháp tối ưu đàn kiến

Để biết chi tiết hơn, có thể xem [10] Trước khi mô tả thuật toán tổng quát,

ta tìm hiểu đồ thị cấu trúc cho bài toán tối ưu tổ hợp

Để tìm các lời giải chấp nhận được, ta xây dựng đồ thị đầy đủ với tập đỉnh , mỗi đỉnh của nó tương ứng với mỗi thành phần của Các lời giải chấp nhận được sẽ là các vectơ được xác định theo thủ tục mở rộng tuần tự hay

mở rộng ngẫu nhiên

Thông thường, đối với các bài toán thuộc loại NP-khó, người ta đưa

ra các phương pháp heuristic tìm lời giải đủ tốt cho bài toán Các thuật toán ACO kết hợp thông tin heuristic này với phương pháp học tăng cường, mô phỏng hành vi của đàn kiến, để tìm lời giải tốt hơn

Mỗi cạnh nối đỉnh , ∈ có trọng số heuristic để định hướng chọn thành phần mở rộng là khi thành phần cuối của trạng thái hiện tại

Trang 29

là Ký hiệu là vectơ các trọng số heuristic của cạnh (trong bài toán TSP

đó là vectơ có các thành phần là nghịch đảo của độ dài cạnh tương ứng), còn là vectơ biểu thị các thông tin học tăng cường , (trong luận văn từ nay về sau gọi là vết mùi, ban đầu được khởi tạo giá trị > 0 ) Trường hợp đặc biệt và chỉ phụ thuộc vào , các thông tin này sẽ gắn với các đỉnh Không làm mất tính tổng quát, ta xét trường hợp các thông tin này gắn vào các cạnh

Ta gọi đồ thị = ( , , , ) là đồ thị cấu trúc của bài toán tối ưu tổ

hợp, trong đó là tập đỉnh, là tập cạnh, và là các thông tin gắn với cạnh Từ các cạnh, xây dựng tập nhờ mở rộng tập theo thủ tục tuần

tự Nếu không có thông tin heuristic thì ta xem có các thành phần như nhau và bằng 1

Trường hợp tổng quát, là đồ thị đầy đủ Tuy nhiên, tùy theo ràng buộc của bài toán, các cạnh có thể lược bớt để giảm miền tìm kiếm lời giải theo thủ tục mở rộng tuần tự Chẳng hạn, với bài toán tìm cực trị của hàm giải tích ( , … , ) , với thuộc tập giá trị hữu hạn , đồ thị cấu trúc có tầng, tầng chứa các đỉnh thuộc tập , còn tập cạnh chỉ gồm các cạnh nối các đỉnh thuộc tầng với các đỉnh thuộc tầng + 1 như trong hình 2.4 Khi đó tập là tập , mỗi mở rộng tuần tự của lời giải sẽ được xây dựng

từ một đỉnh thuộc tập này

Trang 30

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

( , … , )

2.2.2 Thuật toán ACO tổng quát

Ta dùng đàn kiến có con, tiến hành lặp quá trình xây dựng lời giải trên đồ thị cấu trúc = ( , , ,) như sau:

Tại mỗi lần lặp, kiến chọn ngẫu nhiên một đỉnh ∈ làm thành phần khởi tạo = { } và thực hiện xây dựng lời giải theo thủ tục bước ngẫu nhiên

Dựa trên lời giải tìm được, đàn kiến sẽ thực hiện cập nhật mùi theo cách học tăng cường

Số lần lặp có thể qui định bởi một hằng số cụ thể hoặc được qui định bởi thời gian chạy

Xây dựng lời giải:

Giả sử =< , > là mở rộng được và chưa thuộc Từ tập

ràng buộc Ω, xác định tập con ( ) của , sao cho với mọi ∈ ( ) thì = < , … , , > là mở rộng được Đỉnh = để mở rộng, được chọn với xác suất ( )như sau:

Trang 31

, ← (1 ) , + ) , ) (2.2)

trong đó là hằng số thuộc khoảng (0,1) là tỷ lệ lượng mùi bị bay hơi

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

Procedure Thuật toán ACO;

Cập nhật lời giải tốt nhất;

until (Điều kiện kết thúc);

Đưa ra lời giải tốt nhất;

Ngày đăng: 13/08/2016, 16:58

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Đỗ Đức Đông và Hoàng Xuân Huấn (2011), “Về biến thiên của vết mùi trong phương pháp ACO và các thuật toán mới”, Tạp chí Tin học và điều khiển học, Tập 27, tr. 263-275 Sách, tạp chí
Tiêu đề: Về biến thiên của vết mùi trong phương pháp ACO và các thuật toán mới”, "Tạp chí Tin học và điều khiển học
Tác giả: Đỗ Đức Đông và Hoàng Xuân Huấn
Năm: 2011
[2] Đỗ Đức Đông, Phương pháp tối ưu đàn kiến và ứng dụng- Luận án tiến sỹ tin học Đại học Công nghệ thông tin - Đại học quốc gia Hà Nội, 2012 Sách, tạp chí
Tiêu đề: Phương pháp tối ưu đàn kiến và ứng dụng
[3] Hoàng Xuân Huấn và Đỗ Đức Đông (2010), “Về vết mùi trong các thuật toán ACO và khung cảnh mới”, Kỷ yếu hội thảo quốc gia các vấn đề chọn lọc của CNTT lần thứ XII, tr. 534-547.Tiếng Anh Sách, tạp chí
Tiêu đề: Về vết mùi trong các thuật toán ACO và khung cảnh mới”, "Kỷ yếu hội thảo quốc gia các vấn đề chọn lọc của CNTT lần thứ XII
Tác giả: Hoàng Xuân Huấn và Đỗ Đức Đông
Năm: 2010
[4] A. K. Parekh, “Analysis of a greedy heuristic for finding small dominating sets in graphs,” Inf. Process. Lett., vol. 39, no. 5, pp. 237-240, 1991 Sách, tạp chí
Tiêu đề: Analysis of a greedy heuristic for finding small dominating sets in graphs
[5] Dong Do Duc, Le Sy Vinh, and Huan Hoang Xuan, “ACOHAP: an efficient ant colony optimization for the haplotype inference by pure parsimony problem”, Journal of Swarm Intelligence, pp.63-67, 2013 Sách, tạp chí
Tiêu đề: ACOHAP: an efficient ant colony optimization for the haplotype inference by pure parsimony problem
[6] E. Alpaydın (2010), Introduction to Machine Learning, Massachusetts Institute of Technology, Second Edition Sách, tạp chí
Tiêu đề: Introduction to Machine Learning
Tác giả: E. Alpaydın
Năm: 2010
[7] M. Dorigo, V. Maniezzo and A. Colorni (1991), The Ant System: An autocatalytic optimizing process, Technical Report 91-016 Revised, Dipartimento di Elettronica, Politecnico di Milano, Milano, Italy Sách, tạp chí
Tiêu đề: The Ant System: An autocatalytic optimizing process
Tác giả: M. Dorigo, V. Maniezzo and A. Colorni
Năm: 1991
[8] M. Dorigo (1992), Optimization, learning and natural algorithms, PhD. dissertation, Milan Polytechnique, Italy Sách, tạp chí
Tiêu đề: Optimization, learning and natural algorithms
Tác giả: M. Dorigo
Năm: 1992
[9] M. Dorigo and L.M. Gambardella (1997), “Ant colony system: A cooperative learning approach to the traveling salesman problem”, IEEE Trans. on evolutionary computation, Vol 1 (1), pp. 53-66 Sách, tạp chí
Tiêu đề: “"Ant colony system: A cooperative learning approach to the traveling salesman problem”, "IEEE Trans. on evolutionary computation
Tác giả: M. Dorigo and L.M. Gambardella
Năm: 1997
[10] M. Dorigo, and T. Stützle (2004), Ant Colony Optimization, The MIT Press, Cambridge, Masachusetts Sách, tạp chí
Tiêu đề: Ant Colony Optimization
Tác giả: M. Dorigo, and T. Stützle
Năm: 2004
[11] Raka Jovanovic, Milan Tuba and Dana Simian (2011), “Ant Colony Optimization Applied to Minimum Weight Dominating Set Problem”, Proceedings of the 12th WSEAS International Conference on Automatic control, Modelling &amp; simulation Sách, tạp chí
Tiêu đề: Ant Colony Optimization Applied to Minimum Weight Dominating Set Problem
Tác giả: Raka Jovanovic, Milan Tuba and Dana Simian
Năm: 2011
[12] S. S. Jian, Y. Peng-Yeng, and L. B. M.T., “An Ant Colony Optimization Algorithm for the Minimum Weight Vertex Cover Problem”, Annals of Operations Research, vol. 131, pp. 283-304, 2004 Sách, tạp chí
Tiêu đề: An Ant Colony Optimization Algorithm for the Minimum Weight Vertex Cover Problem

HÌNH ẢNH LIÊN QUAN

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) - 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ị
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) (Trang 16)
Hình 1.3: Thuật toán tính  [ ] trong Greedy1_new. - 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ị
Hình 1.3 Thuật toán tính [ ] trong Greedy1_new (Trang 18)
Hình 1.4: Thuật toán tính   [ ] trong Greedy2_new. - 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ị
Hình 1.4 Thuật toán tính  [ ] trong Greedy2_new (Trang 20)
Hình 2.1: Thực nghiệm cây cầu đôi - 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ị
Hình 2.1 Thực nghiệm cây cầu đôi (Trang 25)
Hình 2.2. Tỉ lệ các con kiến chọn đường đi. - 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ị
Hình 2.2. Tỉ lệ các con kiến chọn đường đi (Trang 25)
Hình 2.3: Thí nghiệm bổ xung - 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ị
Hình 2.3 Thí nghiệm bổ xung (Trang 26)
Hình 2.4: Đồ thị cấu trúc tổng quát cho bài toán cực trị hàm - 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ị
Hình 2.4 Đồ thị cấu trúc tổng quát cho bài toán cực trị hàm (Trang 30)
Hình 2.5: Thuật toán ACO - 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ị
Hình 2.5 Thuật toán ACO (Trang 31)
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ộ. - 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ị
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ộ (Trang 35)
Bảng 2.1: Thuật toán ACO theo thứ tự thời gian xuất hiện - 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ảng 2.1 Thuật toán ACO theo thứ tự thời gian xuất hiện (Trang 36)
Hình 3.1: Thuật toán cập nhật mùi SMMAS cho bài toán MWDSP - 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ị
Hình 3.1 Thuật toán cập nhật mùi SMMAS cho bài toán MWDSP (Trang 52)
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ỏ - 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ảng 3.1 Kết quả thực nghiệm trên bộ dữ liệu 1 với kích thước nhỏ (Trang 54)
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ỏ - 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ảng 3.2 Kết quả thực nghiệm trên bộ dữ liệu 2 với kích thước nhỏ (Trang 55)
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 - 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ả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 (Trang 56)
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 - 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ả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 (Trang 57)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w