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

Bài toán xâu gần nhất và phương pháp ACO

63 300 0

Đ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 63
Dung lượng 1,35 MB

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

Nội dung

1.2 MỘT SỐ PHƯƠNG PHÁP TIẾP CẬN Với những bài toán CSP cỡ nhỏ hoặc những bài toán đặc biệt thì có thể tìm lời giải tối ưu nhờ kỹ thuật tìm kiếm vét cạn hoặc xây dựng những lời giải đặc

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

NGUYỄN THANH BÌNH

BÀI TOÁN XÂU GẦN NHẤT VÀ PHƯƠNG PHÁP ACO

Ngành: Công nghệ thông tin

Chuyên ngành: Hệ thống thông tin

Mã số: 60480104

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN

Hà Nội – 2014

Trang 2

LỜI CẢM ƠN

Tôi xin gửi lời cảm ơn chân thành tới TS Phạm Quang Dũng, người thầy đáng kính đã tận tình chỉ bảo, hướng dẫn tôi trong suốt quá trình tìm hiểu, nghiên cứu, người đã giúp đỡ tôi giải quyết những khúc mắc trong quá trình viết chương trình để chạy thực nghiệm và hoàn thiện luận văn

Tôi cũng xin được gửi lời cảm ơn sâu sắc tới PGS.TS Hoàng Xuân Huấn Thầy đã đưa ra những góp ý quý báu giúp cho tôi có thể hoàn thành tốt luận văn Với kiến thức sâu rộng, nhiều năm nghiên cứu trong lĩnh vực tối ưu hóa cũng như phương pháp tối

ưu hệ kiến của thầy đã giúp tôi hiểu rõ, sâu sắc nhiều vấn đề khó khăn gặp phải trong quá trình nghiên cứu

Tôi cũng bày tỏ lòng biết ơn về sự giúp đỡ của Sở GD&ĐT Hải Dương, ban giám hiệu và các đồng nghiệp trường THPT Thanh Miện III – cơ quan nơi tôi đang công tác, bạn bè và gia đình đã luôn động viên, giúp đỡ và tạo điệu kiện tốt nhất cho tôi

Trang 3

LỜI CAM ĐOAN

Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi Các kết quả được viết chung với các tác giả khác đều được sự đồng ý của đồng tác giả trước khi đưa vào luận văn Các kết quả nêu trong luận văn là trung thực và chưa từng được ai công bố trong các công trình nào khác

Tác giả

Trang 4

MỤC LỤC

LỜI CẢM ƠN 2

LỜI CAM ĐOAN 3

MỤC LỤC 4

DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT 7

DANH MỤC CÁC BẢNG 8

DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ 9

MỞ ĐẦU 10

Chương 1 BÀI TOÁN XÂU GẦN NHẤT VÀ MỘT SỐ PHƯƠNG PHÁP TIẾP CẬN 12

1.1 BÀI TOÁN XÂU GẦN NHẤT 12

Định nghĩa 1: Khoảng cách Hamming 12

Định nghĩa 2: Xâu gần nhất của một tập xâu 12

Xác định bài toán 13

Ứng dụng 13

1.2 MỘT SỐ PHƯƠNG PHÁP TIẾP CẬN 13

Heuristic cấu trúc 13

Tìm kiếm địa phương 14

Phương pháp Metaheuristic 14

Phương pháp Memetic 14

Chương 2 PHƯƠNG PHÁP ACO 16

2.1 TỪ KIẾN TỰ NHIÊN ĐẾN KIẾN NHÂN TẠO 16

2.1.1 Con kiến tự nhiên 16

2.1.2 Kiến nhân tạo (Artificial Ant) 19

2.2 PHƯƠNG PHÁP ACO 20

2.2.1 Đồ thị cấu trúc 20

2.2.2 Đặc tả thuật toán ACO tổng quát 22

2.2.3 Các hệ kiến 24

2.2.4 Một số vấn đề liên quan 24

2.2.4.1 Yếu tố hội tụ 24

2.2.4.2 Thực hiện song song 25

2.2.4.3 ACO kết hợp với tìm kiếm địa phương 25

Trang 5

2.2.4.4 Thông tin heuristic 26

2.2.4.5 Số lượng kiến 26

2.2.4.6 Hệ số bay hơi 27

2.2.4.7 Giới hạn vết mùi 27

2.2.4.8 Khởi tạo vết mùi 27

Chương 3 CÁC PHƯƠNG PHÁP ACO GIẢI BÀI TOÁN XÂU GẦN NHẤT 28

3.1 THUẬT TOÁN ACOM-CSP 28

3.1.1 Thuật toán ACO-CSP 28

Đồ thị cấu trúc 28

Thủ tục bước ngẫu nhiên để tìm lời giải 29

Quy tắc cập nhật mùi 30

3.1.2 Thuật toán Memetic 30

3.2 THUẬT TOÁN TSIACO 32

3.2.1 Phương pháp phân đoạn cứng 33

3.2.2 Phương pháp phân đoạn mềm 33

3.2.3 Đặc tả thuật toán T IACO giải bài toán CSP 34

3.3 THUẬT TOÁN TSIACO2-LS 36

Chương 4 KẾT QUẢ THỰC NGHIỆM 37

4.1 CHƯƠNG TRÌNH 37

4.1.1 Quy trình thực hiện 37

4.1.2 Cài đặt ứng dụng 37

Bài toán 37

Chương trình 37

Các bước tiến hành thực nghiệm 38

4.2 CÀI ĐẶT THAM SỐ 39

4.3 CẤU HÌNH MÁY TÍNH 40

4.4 THỰC NGHIỆM ẢNH HƯỞNG CỦA HỆ SỐ BAY HƠI TỚI CHẤT LƯỢNG LỜI GIẢI CỦA CÁC THUẬT TOÁN 41

4.5 THỰC NGHIỆM ẢNH HƯỞNG CỦA KỸ THUẬT TÌM KIẾM ĐỊA PHƯƠNG ĐẾN CHẤT LƯỢNG LỜI GIẢI Ant-CSP 44

4.5.1 N=10, Loop=2000 44

4.5.2 N=30, Loop=2000 44

Trang 6

4.5.3 N=50, Loop=2000 45

4.6 THỰC NGHIỆM SO SÁNH ACOM-CSP, TSIACO1, TSIACO2 VỚI Ant-CSP 45

4.6.1 So sánh hiệu quả và thời gian chạy với vòng lặp cho trước 45

4.6.1.1 N = 10, Loop = 2000 46

4.6.1.2 N = 20, Loop = 2000 48

4.6.1.3 N = 30, Loop = 2000 50

4.6.1.4 N = 40, Loop = 2000 52

4.6.1.5 N = 50, Loop = 2000 54

4.6.2 So sánh hiệu quả các thuật toán với cùng thời gian chạy 57

4.7 THỰC NGHIỆM SO SÁNH ACOM-CSP, TSIACO2 VỚI TSIACO2-LS 58

4.7.1 So sánh hiệu quả và thời gian chạy với vòng lặp cho trước 58

4.7.1.1 Giả sử thời gian không hạn chế: Chọn N=30, Loop=2500 58

4.7.1.2 Giả sử thời gian không hạn chế: Chọn N=40, Loop=2500 59

4.7.1.3 Giả sử thời gian không hạn chế: Chọn N=50, Loop=2500 59

4.7.2 So sánh hiệu quả các thuật toán với cùng thời gian chạy 60

KẾT LUẬN 62

TÀI LIỆU THAM KHẢO 63

Trang 7

DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT

Ký hiệu Ý nghĩa

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

ACOM-CSP An Efficient Two-phase Ant Colony Optimization Algorithm for the

Closest String Problem (Thuật toán tối ưu đàn kiến hai pha cho bài toán xâu gần nhất)

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

ANTS From Ant Colonies to Artificial Ants (Từ kiến tự nhiên đến kiến

nhân tạo)

CSP Closest String Problem (Bài toán xâu gần nhất)

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

TSIACO Two-Stage updating pheromone for Invariant Ant Colony

Optimization algorithm (Thuật toán tối ưu đàn kiến hai giai đoạn cập nhật mùi)

TSP Traveling alesman Problem (Bài toán người chào hàng)

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

Trang 8

DANH MỤC CÁC BẢNG

Bảng 3.1 Hệ số bay hơi được trong các giai đoạn cập nhật mùi của TSIACO 35

Bảng 3.2 Điều kiện phân chia giai đoạn cập nhật mùi của thuật toán TSIACO 35

Bảng 4.1 Kết quả lời giải tốt nhất mà các thuật toán tìm thấy sử dụng bộ dữ liệu 10 chuỗi 46

Bảng 4.2 Kết quả giá trị trung bình của các giải pháp tốt sử dụng bộ dữ liệu 10 chuỗi 47

Bảng 4.3 Kết quả lời giải tốt nhất mà các thuật toán tìm thấy sử dụng bộ dữ liệu 20 chuỗi 48

Bảng 4.4 Kết quả giá trị trung bình của các giải pháp tốt sử dụng bộ dữ liệu 20 chuỗi 49

Bảng 4.5 Kết quả lời giải tốt nhất mà các thuật toán tìm thấy sử dụng bộ dữ liệu 30 chuỗi 50

Bảng 4.6 Kết quả giá trị trung bình của các giải pháp tốt sử dụng bộ dữ liệu 30 chuỗi 51

Bảng 4.7 Kết quả lời giải tốt nhất mà các thuật toán tìm thấy sử dụng bộ dữ liệu 40 chuỗi 52

Bảng 4.8 Kết quả giá trị trung bình của các giải pháp tốt sử dụng bộ dữ liệu 40 chuỗi 53

Bảng 4.9 Kết quả lời giải tốt nhất mà các thuật toán tìm thấy sử dụng bộ dữ liệu 50 chuỗi 54

Bảng 4.10 Kết quả giá trị trung bình của các giải pháp tốt sử dụng bộ dữ liệu 50 chuỗi 55

Bảng 4.11 Kết quả thực nghiệm sử dụng bộ dữ liệu 30 chuỗi 58

Bảng 4.12 Kết quả thực nghiệm sử dụng bộ dữ liệu 40 chuỗi 59

Bảng 4.13 Kết quả thực nghiệm sử dụng bộ dữ liệu 50 chuỗi 59

Trang 9

DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ

Hình 1.1 Phương pháp Heuristic cấu trúc 14

Hình 1.2 Đặc tả thuật toán Memetic-EC 15

Hình 2.1 Thể hiện hành vi của mỗi con kiến trong tự nhiên 16

Hình 2.2 Thí nghiệm cây cầu đôi 17

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

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

Hình 2.5 Lựa chọn đỉnh đi tiếp theo 22

Hình 2.6 Đặc tả thuật toán ACO 23

Hình 3.1 Đồ thị cấu trúc 29

Hình 3.2 Xây dựng lời giải 29

Hình 3.3 Đặc tả thuật toán Memetic –CSP 31

Hình 3.4 Ví dụ về Tìm kiếm địa phương 31

Hình 3.5 Đặc tả thuật toán TSIACO1 34

Hình 3.6 Đặc tả thuật toán TSIACO2 34

Hình 3.7 Đặc tả thuật toán TSIACO2-LS 36

Hình 4.1 Giao diện chương trình chính 38

Hình 4.2 Giao diện hiển thị bộ dữ liệu Input 39

Hình 4.3 Thông báo kết quả chạy thực nghiệm thuật toán ACOM-CSP 39

Đồ thị 4.1 Kết quả chạy thuật toán Ant-CSP với hệ số bay hơi khác nhau 41

Đồ thị 4.2 Kết quả chạy thuật toán ACOM-CSP với hệ số bay hơi khác nhau 42

Đồ thị 4.3 Kết quả chạy thuật toán TSIACO1 với hệ số bay hơi khác nhau 42

Đồ thị 4.4 Kết quả chạy thuật toán TSIACO2 với hệ số bay hơi khác nhau 43

Đồ thị 4.5 Kết quả chạy thực nghiệm Ant-CSP sử dụng bộ dữ liệu 10 chuỗi 44

Đồ thị 4.6 Kết quả chạy thực nghiệm Ant-CSP sử dụng bộ dữ liệu 30 chuỗi 44

Đồ thị 4.7 Kết quả chạy thực nghiệm Ant-CSP sử dụng bộ dữ liệu 50 chuỗi 45

Đồ thị 4.8 Biểu đồ biến thiên kết quả của các thuật toán khi thời gian chạy thay đổi từ 1000s đến 10000s cho ví dụ có N = 30, Length=1000 57

Đồ thị 4.9 Biểu đồ biến thiên kết quả của các thuật toán khi thời gian chạy thay đổi từ 1000s đến 25000s cho ví dụ có N = 30, Length=1000 61

Trang 10

MỞ ĐẦU

Dữ liệu tin sinh học được tạo ra thường có dung lượng rất lớn, luôn đòi hỏi có những thuật toán hiệu quả để xử lý trên máy tính Bài toán xâu gần nhất có những ứng dụng cụ thể vào tin sinh học như tìm kiếm motif trên các chuỗi sinh học, cũng không phải là ngoại lệ về độ phức tạp tính toán Việc kiểm thử các thuật toán đã có và tìm ra một thuật toán mới hiệu quả cho bài toán này cũng như nhiều bài toán tin sinh học khác là vấn đề cấp thiết ngày nay, không chỉ ở Việt Nam, mà trên toàn thế giới Trong bài luận văn đi sâu tìm hiểu phương pháp ACO để giải bài toán trên

Trước tiên, tôi đã hệ thống hóa các nội dung lý thuyết và thuật toán liên quan đến vấn đề nghiên cứu: bài toán xâu gần nhất và các phương pháp tiếp cận, phương pháp ACO và các phương pháp biến thể mới áp dụng cho bài toán nêu trên (ví dụ như tìm hiểu các thuật toán Ant-CSP, ACO-CSP, ACOM-CSP) và tìm hiểu thuật toán TSIACO

áp dụng cho bài toán người chào hàng

au đó, tôi đã sử dụng quy tắc cập nhật mùi do Zhaojun Zhang và Zuren Feng [10]

đề xuất để xây dựng thuật toán giải bài toán nêu trên, đó là thuật toán TSIACO1, TSIACO2

Tôi đề xuất ra thuật toán mới TSIACO2-LS là thêm kỹ thuật tìm kiếm địa phương vào giai đoạn 2 của thuật toán TSIACO2

Tôi đã tiến hành cài đặt các thuật toán ACOM-CSP, TSIACO1, TSIACO2, TSIACO2-LS au đó, tôi chạy thực nghiệm và so sánh kết quả chạy của các thuật toán trên

Thực nghiệm cho thấy, thuật toán mới TSIACO2-LS có những ưu điểm nhất định, khoảng cách Hamming trung bình tìm được thấp hơn so với các thuật toán đã có, tuy thời gian thực hiện lâu hơn vì phải xử lý tìm kiếm địa phương Thực nghiệm cũng cho thấy, nếu thời gian hạn chế thì thuật toán cho chất lượng lời giải tốt nhất và hội tụ nhanh nhất là ACOM-CSP, nếu thời gian không hạn chế thì thuật toán cho chất lượng lời giải tốt nhất là TSIACO2-LS

Nội dung chính trong bài luận văn của tôi gồm 4 chương như sau:

- Chương 1 Bài toán xâu gần nhất và một số phương pháp tiếp cận

- Chương 2 Phương pháp ACO

Trang 11

- Chương 3 Các phương pháp ACO giải bài toán xâu gần nhất

- Chương 4 Kết quả thực nghiệm

Trang 12

TƯTH là một dạng của bài toán tối ưu hóa Tối ưu hoá là thuật ngữ thường được dùng để cực tiểu hoá hay cực đại hoá một hàm Thông thường chỉ cần tìm cực tiểu một hàm là đủ Việc tìm cực đại của f(x) thực hiện một cách đơn giản bằng cách tìm cực tiểu của hàm −f(x)

1.1 BÀI TOÁN XÂU GẦN NHẤT

Xét tập X các xâu có độ dài m với các thành phần thuộc bộ chữ cái ∑, trên đó xác định khoảng cách Hamming như sau:

Định nghĩa 1: Khoảng cách Hamming

- Với hai xâu tùy ý x = x 1 …x m và y = y 1 …y m , khoảng cách d H (x,y) là số vị trí khác nhau của x i và y i với i

- Với mỗi tập hữu hạn xâu có cùng độ dài S, khoảng cách từ một xâu t đến tập S

là khoảng cách lớn nhất của t đến các chuỗi trong S, ký hiệu là d H (t,S):

d H (t,S) = max{d H (t,s): s S} (1.1)

Ví dụ Xét xâu t = “GGGGG” và tập xâu S={ s1= “AGGAA”, s2

= “AGGGA”,

s3 = “GGGGA”} Do dH(t, s1)=3; dH (t,s2)=2; dH(t,s3)=1; Nên dH(t,S) =3

Định nghĩa 2: Xâu gần nhất của một tập xâu

Cho trước tập S gồm n xâu có độ dài m với các thành phần thuộc bộ chữ cái ∑, trên đó xác định xâu t được gọi là xâu gần nhất [10] của S nếu nó thỏa mãn công thức (1.2):

d H (t,S) = min{ d H (x,S): x X} (1.2)

Trang 13

Bài toán xâu gần nhất có vai trò quan trọng trong xử lý thông tin và tìm kiếm

motif trong tin sinh học Vì vậy, nó đang thu hút nhiều người quan tâm nghiên cứu và

đã được chứng minh thuộc loại NP-khó

1.2 MỘT SỐ PHƯƠNG PHÁP TIẾP CẬN

Với những bài toán CSP cỡ nhỏ hoặc những bài toán đặc biệt thì có thể tìm lời giải

tối ưu nhờ kỹ thuật tìm kiếm vét cạn hoặc xây dựng những lời giải đặc thù riêng Tuy

nhiên, với các bài toán CSP cỡ lớn, hầu hết các bài toán trong số đó là bài toán NP-khó

[3, tr.205-219], thì phải tìm lời giải theo phương pháp tìm kiếm gần đúng Các phương

pháp giải loại bài toán này phần lớn dựa trên 2 kỹ thuật cơ bản: heuristic cấu trúc

(construction heuristic) và tìm kiếm địa phương (local search)

Heuristic cấu trúc

Đối với những bài toán không thể tìm lời giải tối ưu (ví dụ: bài toán với thời gian

đa thức) thì nghĩ tới việc tìm lời giải gần đúng Heuristic cấu trúc là kỹ thuật hay được

dùng trong việc tìm lời giải gần đúng, lời giải của bài toán được xây dựng thông qua

việc mở rộng tuần tự Từ đỉnh khởi tạo trong tập , từng bước mở rộng không quay

lui, thêm vào các thành phần mới theo phương thức ngẫu nhiên hay tất định dựa trên

những quy tắc heuristic

Ứng với mỗi bài toán cụ thể, có các quy tắc heuristic khác nhau, chúng được xây

dựng dựa trên các kết quả phân tích toán học hoặc kinh nghiệm

Khái quát hóa mô phỏng thuật toán Heuristic cấu trúc như hình 1.1 – trang bên

Trang 14

Tìm kiếm địa phương

- Ý tưởng: Bắt đầu từ một phương án chấp nhận được, lặp lại bước cải tiến lời

giải nhờ các thay đổi địa phương

- Cách thực hiện: Để thực hiện kỹ thuật này, cần xác định được cấu trúc lân cận

của mỗi phương án (lời giải) đang xét, tức là những phương án chấp nhận được, gần với nó nhất, nhờ thay đổi một số thành phần Cách thường dùng là lân cận -thay đổi,

tức là lân cận bao gồm các phương án chấp nhận được khác với phương án đang xét

nhờ thay đổi nhiều nhất thành phần

Phương pháp Metaheuristic

Phương pháp Metaheuristic là một phương pháp heuristic tổng quát được thiết kế,

định hướng cho các thuật toán cụ thể (bao gồm cả heuristic cấu trúc và tìm kiếm địa phương) Như vậy, mỗi metaheuristic là một lược đồ thuật toán tổng quát ứng dụng cho các bài toán tối ưu khác nhau, với một chút sửa đổi cho phù hợp với từng bài toán

Phương pháp Memetic

Phương pháp Memetic là một mô hình theo phương pháp metaheuristic Trong các

thuật toán được thiết kế theo memetic, có nhiều thế hệ quần thể có lời giải chấp nhận được Trong mỗi quần thể của thế hệ tương ứng, chỉ chọn ra một số lời giải (chẳng hạn lời giải tốt nhất) để thực hiện tìm kiếm địa phương nhằm cải thiện chất lượng Quá trình tiến hóa này tìm được lời giải tốt nhất có thể

Procedure Heuristic cấu trúc

Trang 15

Hình 1.2 đặc tả một thuật toán memetic sử dụng tính toán tiến hóa (Evolutionary Computing - EC)

Hình 1.2 Đặc tả thuật toán Memetic-EC

Proedure Thuật toán Memetic-EC

Begin

Initialize: Tạo ra quần thể đầu tiên

While điều kiện dừng chưa thỏa mãn do

Đánh giá các cá thể trong quần thể

Thực hiện tiến hóa quần thể nhờ các toán tử cho trước

Chọn tập con để cải tiến nhờ thủ tục tìm kiếm địa phương

For mỗi cá thể trong do

Thực hiện tìm kiếm địa phương

Trang 16

Chương 2

PHƯƠNG PHÁP ACO

ACO (Ant Colony Optimization - tối ưu đàn kiến) là một phương pháp

metaheuristic [3, tr.48-53] 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 ACO được cải tiến với nhiều phiên bản đa dạng và có nhiều ứng dụng Trước khi tìm hiểu phương pháp ACO tôi đi tìm hiể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 TỪ KIẾN TỰ NHIÊN ĐẾN KIẾN NHÂN TẠO

(From Ant Colonies to Artificial Ants - ANTS)

Những hình ảnh nhận thức đặc biệt của đàn kiến chỉ đơn giản là sự phát triển và hoàn toàn mò mẫm Trong thực tế, một điều quan trọng trong nghiên cứu về loài kiến

là hành vi liên lạc giữa các con kiến hoặc giữa các cá nhân với môi trường, được dựa trên việc sử dụng các sản phẩm hóa chất của các loài kiến Các hóa chất đó được gọi là pheromones (vết mùi)

2.1.1 Con kiến tự nhiên

Khi tìm đường đi, đàn kiến trao đổi thông tin gián tiếp và hoạt động theo phương thức tự tổ chức Phương thức này tuy đơn giản nhưng đã giúp cho đàn kiến có thể thực hiện được những công việc phức tạp vượt xa khả năng của từng con kiến, đặc biệt là khả năng tìm đường đi ngắn nhất từ tổ đến nguồn thức ăn [3, tr.16] (xem hình 2.1)

(mặc dù, kiến không có khả năng đo độ dài đường đi)

Hình 2.1 Thể hiện hành vi của mỗi con kiến trong tự nhiên

Trang 17

Để làm được điều đó, trên đường đi, mỗi con kiến để lại vết mùi dùng để đánh dấu đường đi Bằng cách cảm nhận vết mùi, con kiến có thể lần theo đường đi đến nguồn thức ăn được các con kiến khác khám phá theo phương thức chọn ngẫu nhiên, có định hướng theo nồng độ vết mùi

Con kiến chịu ảnh hưởng của các vết mùi của các con kiến khác, đây là ý tưởng chính để thiết kế thuật toán ACO

Thí nghiệm chiếc cầu đôi

Sự gửi vết mùi và hành vi của một số loài kiến đã được điều tra kiểm soát trong các thực nghiệm của một số nhà nghiên cứu Một trong những thí nghiệm nổi bật nhất

là thí nghiệm được thiết kế và đi vào hoạt động của Deneubourg và các đồng nghiệp [3, tr.17-19], người mà đã sử dụng một chiếc cầu nối tổ của đàn kiến với nguồn thức

ăn (xem hình 2.2) Họ chạy các thực nghiệm với tỉ lệ dài đường 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

Hình 2.2 Thí 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

Trong thí nghiệm thứ nhất, chiếc cầu đôi có hai nhánh bằng nhau (hình 2.2.a) Ban

đầu, con kiến lựa chọn đường đi một cách tự do đi 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

Trang 18

Giải thích kết quả: 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 con kiến để lại vết mùi trong quá trình di chuyển, nhánh có nhiều con 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 địa phương 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

Trong thí nghiệm thứ hai, độ dài của nhánh dài gấp đôi độ dài nhánh ngắn (hình

2.2b) 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

Giải thích kết quả: Cũng như thí 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 con 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à 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 kiến mới lựa chọn đi theo nhánh ngắn Điều này minh chứng đàn kiến đã sử dụng phương thức thăm

dò, tìm đường mới

Thí nghiệm thứ ba: 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 (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à kiến tập trung đi trên nhánh dài

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 19

Giải thích kết quả: Nồng độ vết mùi cao trên cạnh dài và sự bay hơi của vết mùi trên cạnh dà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ố 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 địa phương đã được tìm thấy trước đây để tìm khám phá đường đi mới tốt hơn

2.1.2 Kiến nhân tạo (Artificial Ant)

Thí nghiệm chiếc cầu đôi cho thấy rõ ràng có khả năng xây dựng được tối ưu hóa đàn kiến: Thông tin để tìm ra con đường ngắn nhất giữa 2 điểm có thể dựa vào quy luật xác xuất 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 trong bài toán chọn tác động tối ưu [3], 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, 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 (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…

Năm 1991, Dorigo [2] sử dụng mô hình kiến nhân tạo này, đã xây dựng thuật toán

hệ kiến AS (Ant System) giải bài toán người chào hàng (Traveling Salesman Problem

- TSP) 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ư: thuật toán luyện kim và thuật toán di truyền) đã đượ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

Dorigo đã được Hội đồng châu Âu trao giải thưởng đặc biệt Marie Curie (Marie

Curie Excellence Award – trao hai năm một lần giành cho năm nhà khoa học có nhiều

đóng góp cho nền khoa học và công nghệ châu Âu) vào ngày 11 2 3 Đến nay, các hội nghị về kiến đã tổ chức lần (ANT 9 , ANT 2000, ANTS 2002, ANTS

Trang 20

2004, ANTS 2006, ANTS 2008, ANTS 2010, ANTS 2 12) và ở mỗi hội nghị có khoảng 3 -4 báo cáo về các công trình nghiên cứu lý thuyết và thực nghiệm có ý nghĩa khoa học và ứng dụng quan trọng góp phần chứng tỏ ACO là phương pháp tối

ưu mới m và hiệu quả

2.2 PHƯƠNG PHÁP ACO

2.2.1 Đồ thị cấu trúc

Xét bài toán TƯTH tổng quát như sau:

- Input: Cho bộ ba Mỗi phương án thỏa mãn các ràng buộc

gọi là phương án (hay lời giải) chấp nhận được

- Task: Tìm phương án chấp nhận được tối ưu hóa toàn cục hàm mục tiêu 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 , là tập các ràng buộc Chẳng hạn, với bài toán cực tiểu thì với mọi phương án chấp nhận được s

3) Từ , mở rộng tuần tự thành như sau:

i) 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 , xác định tập con của C, sao cho với mọi thì

Trang 21

nhận được sẽ là các véc tơ đượ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ó thì đư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

Ký hiệu:

- là trọng số heuristic trên cạnh nối hai đỉnh i và j (với )

- là véc tơ các trọng số heuristic của cạnh

- là véc tơ biểu thị các thông tin học tăng cường (khởi tạo >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, xét trường hợp các thông tin này gắn vào các cạnh

Gọi đồ thị là đồ thị cấu trúc của bài toán TƯTH, 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ì 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 (xem 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

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

Trang 22

2.2.2 Đặc tả thuật toán ACO tổng quát

Sử dụng điều kiện kết thúc (có thể theo số bước lặp hoặc giới hạn thời gian chạy), 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

Thủ tục bước ngẫu nhiên

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 C, sao cho với mọi thì

là mở rộng được Đỉnh để mở rộng (xem hình 2.5), được chọn với xác suất theo công thức 2.1:

Hình 2.5 Lựa chọn đỉnh đi tiếp theo

Để tiện trình bày về sau tôi chọn và như nhau và không phân biệt với

Cập nhật mùi

Tùy theo chất lượng của lời giải tìm được, vết mùi trên mỗi cạnh sẽ được điều chỉnh tăng hoặc giảm tùy theo đánh giá mức độ ưu tiên tìm kiếm về sau Lượng mùi

Trang 23

cập nhật theo các quy tắc cập nhật mùi khác nhau sẽ cho các thuật toán khác nhau Vì vậy, quy tắc cập nhật mùi thường dùng làm tên gọi thuật toán

Các quy tắc thông dụng đều có dạng như công thức (2.2):

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

Các bước thực hiện của các thuật toán ACO được đặc tả trong hình 2.6

Nhận xét chung về các thuật toán ACO

Nhờ kết hợp thông tin heuristic và thông tin học tăng cường để mô phỏng hoạt động của đàn kiến nên các thuật toán ACO thường có các ưu điểm sau:

1) Việc tìm kiếm ngẫu nhiên dựa trên các thông tin heuristic trở nên linh hoạt và mềm d o trên miền rộng hơn so với các phương pháp heuristic trước đây Do đó, phương pháp ACO cho lời giải tốt hơn và có thể tìm được lời giải tối ưu

2) Thông tin học tăng cường cho biết thông tin về cường độ vết mùi, cho phép từng bước thu hẹp không gian tìm kiếm, mà vẫn không loại bỏ các lời giải tốt, từ đó nâng cao chất lượng thuật toán

Chú ý: Ba yếu tố ảnh hưởng quyết định đến hiệu quả thuật toán là:

1) Xây dựng đồ thị cấu trúc thích hợp Khó khăn chính là với các bài toán cỡ lớn,

không gian tìm kiếm quá rộng, đòi hỏi sử dụng các ràng buộc một cách hợp lý để giảm miền tìm kiếm của kiến

Procedure Thuật toán ACO

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

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

End;

Hình 2.6 Đặc tả thuật toán ACO

Trang 24

2) Chọn thông tin heuristic Thông tin heuristic tốt sẽ tăng hiệu quả thuật toán

Tuy nhiên, trong nhiều bài toán không có thông tin này thì có thể đánh giá chúng như nhau Khi đó, ban đầu thuật toán chỉ đơn thuần chạy theo phương thức tìm kiếm ngẫu nhiên, vết mùi thể hiện định hướng của học tăng cường và thuật toán vẫn thực hiện được

3) Chọn quy tắc cập nhật mùi Quy tắc cập nhật mùi thể hiện chiến lược học của

thuật toán Trong khi đồ thị cấu trúc và thông tin heuristic phụ thuộc vào bài toán cụ thể, quy tắc cập nhật mùi là yếu tố phổ dụng và thường được dùng để đặt tên cho thuật toán

2.2.3 Các hệ kiến

Bài toán TƯTH điển hình là bài toán TSP và được xem là bài toán chuẩn để đánh giá hiệu quả của các thuật toán giải các bài toán TƯTH mới Hiện nay, sử dụng phương pháp ACO giải bài toán TƯTH được chia thành 2 loại hệ kiến chính: các hệ kiến một giai đoạn và các hệ kiến hai giai đoạn

Một số hệ kiến một giai đoạn như: Hệ kiến AS, hệ đàn kiến ACS (Ant Colony System, do Dorigo & Gambardella đề xuất năm 1997), hệ kiến MMAS (Max-Min Ant System, còn gọi là hệ kiến Max-Min, do tützle & Hoos đề xuất năm 2 ),… Các thuật toán trong các hệ kiến này khác nhau ở quy tắc cập nhật mùi, quy tắc này được

sử dụng để đặt tên cho các thuật toán Tuy nhiên, hiệu quả của các thuật toán trong các

hệ kiến này so với các phương pháp metaheuristic khác giảm khi kích thước bài toán tăng, vì vậy đã có nhiều nghiên cứu tập trung cải tiến thuật toán trong hệ kiến một giai đoạn thành hệ kiến hai giai đoạn

Trong bài luận văn này tôi đi sâu tìm hiểu hai thuật toán ACO trong hệ kiến hai

giai đoạn, đó là thuật toán ACOM-CSP [8] và thuật toán TSIACO [10]

Trang 25

là lời giải tốt nhất ở bước lặp Nhờ sử dụng mô hình Markov không thuần nhất, Gutjahr đã chứng minh rằng với xác suất bằng 1 ta có:

= với mọi cạnh thuộc lời giải tối ưu (2.4)

Mô hình này của Gutjahr không áp dụng được cho ACS Trong trường hợp MMAS không sử dụng thông tin heuristic, Stützle và Dorigo [3] đã chứng minh rằng:

, với mọi cạnh thuộc lời giải tối ưu (2.6)

Các tác giả cũng suy ra rằng kết quả này cũng đúng cho cả thuật toán ACS Với giả thiết tìm được lời giải tối ưu sau hữu hạn bước, Stützle và Dorigo suy ra rằng vết mùi của các cạnh thuộc lời giải tối ưu tìm được sẽ hội tụ đến , còn vết mùi trên các cạnh không thuộc lời giải sẽ hội tụ về hoặc Plelegrini và Elloro chỉ ra rằng sau một thời gian chạy, đa số vết mùi trên cạnh trở nên bé và chỉ có số ít cạnh có giá trị vết mùi là lớn vượt trội

2.2.4.2 Thực hiện song song

Đặc tính tự nhiên của các thuật toán ACO cho phép thực hiện song song theo dữ liệu hoặc theo quần thể [3] Trên thực tế, có nhiều mô hình song song được sử dụng cho các thuật toán dựa trên quần thể, dễ dàng tương thích với ACO

2.2.4.3 ACO kết hợp với tìm kiếm địa phương

Nhiều tài liệu [3,4] chỉ ra rằng với các phương pháp metaheuristic, một cách tiếp cận đầy hứa hẹn cho phép nhận được lời giải có chất lượng cao là kết hợp thuật toán với tìm kiếm địa phương

Mô hình ACO có thể bao gồm cả tìm kiếm địa phương Sau khi kiến xây dựng xong lời giải, có thể áp dụng tìm kiếm địa phương để nhận được lời giải tối ưu địa

Trang 26

phương Việc cập nhật mùi được thực hiện trên các cạnh thuộc lời giải tối ưu địa phương này Kết hợp xây dựng lời giải với tìm kiếm địa phương sẽ là một cách tiếp cận có triển vọng, cách xây dựng lời giải của ACO có sử dụng lân cận khác với tìm kiếm địa phương Thực nghiệm cho thấy khả năng kết hợp tìm kiếm địa phương cải tiến được lời giải là khá cao (xem mục 4.5 ở chương 4)

Thuật toán ACOM-CSP có sử dụng kỹ thuật tìm kiếm địa phương ở giai đoạn 2 Thuật toán TSIACO chưa sử dụng kỹ thuật tìm kiếm địa phương

2.2.4.4 Thông tin heuristic

Biết rằng thuật toán ACO mà không sử dụng tìm kiếm địa phương, thông tin heuristic sẽ rất cần thiết để có được lời giải tốt

Trên thực tế, ở giai đoạn đầu vết mùi được khởi tạo như nhau Khi đó, vết mùi không thể giúp kiến tìm đường đi dẫn tới các lời giải tốt, vì chưa khác nhau nhiều Vai trò chính của thông tin heuristic là để khắc phục điều trên và giúp kiến có thể xây dựng được các hành trình tốt ngay trong giai đoạn đầu

Trong nhiều trường hợp, nhờ sử dụng tìm kiếm địa phương, kiến vẫn có thể tìm được lời giải tốt ngay trong giai đoạn đầu, không cần sử dụng thông tin heuristic nào

cả, mặc dù có làm cho quá trình tìm kiếm chậm hơn

2.2.4.5 Số lượng kiến

Như đã nói ở trên, nếu không sử dụng tìm kiếm địa phương và thông tin heuristic

ít (hoặc không có), trong giai đoạn đầu vết mùi không thể giúp kiến tìm đường đi dẫn tới các lời giải tốt

Nếu sử dụng số lượng kiến ít, trong giai đoạn đầu sẽ không tìm được lời giải tốt và việc cập nhật mùi được cập nhật dựa trên các lời giải không tốt Khi đó sẽ hướng việc tìm kiếm xung quanh lời giải không tốt và do đó thuật toán sẽ không hiệu quả

Có thể khắc phục phần nào nhược điểm này bằng cách tăng số kiến, để tăng khả năng tìm được lời giải tốt ở mỗi vòng lặp Tuy nhiên, khi có sử dụng tìm kiếm địa phương hoặc thông tin heuristic mạnh, sử dụng nhiều kiến là lãng phí

Trang 27

2.2.4.6 Hệ số bay hơi

Ở mỗi vòng lặp, khi xây dựng được lời giải tốt (sử dụng tìm kiếm địa phương hoặc thông tin heuristic mạnh), tham số bay hơi sẽ được xác lập có giá trị lớn, điều này giúp kiến quên đi những lời giải đã xây dựng, tập trung công việc tìm kiếm xung quanh lời giải tốt mới được xây dựng Trong trường hợp ngược lại, ở mỗi vòng lặp, khả năng kiến tìm được lời giải tốt không cao thì tham số bay hơi phải được thiết lập với giá trị nhỏ

Thuật toán ACOM-CSP sử dụng cùng hệ số bay hơi trong toàn bộ quá trình tìm lời giải Thuật toán TSIACO sử dụng hai hệ số bay hơi khác nhau trong mỗi giai đoạn cập nhật mùi

2.2.4.7 Giới hạn vết mùi

Để hạn chế bị sa lầy vào các lời giải tốt địa phương do nhiều con kiến tìm ra qua nhiều bước lặp sẽ giới hạn cận trên của vết mùi là Và để tránh bỏ qua các cạnh mặc dù tạm thời chưa nằm trong các lời giải tốt nhưng có triển vọng nằm trong lời giải tốt, giới hạn cận dưới của vết mùi là Trong đó: và là các số thực tùy ý thỏa mãn Khoảng giới hạn cập nhật mùi là [ , ]

2.2.4.8 Khởi tạo vết mùi

Ban đầu các vết mùi được khởi tạo cho mọi đỉnh (i,j) là

Với thuật toán ACOM-CSP: |∑| Với ∑ = {A, C, G, T} [8, 10] thì

Với thuật toán TSIACO: ( [13, tr.4] Giá trị khởi tạo liên quan tới cách lựa chọn để cập nhật mùi Ví dụ, nếu mùi cần được khởi tạo để giới hạn trên của vết mùi, thì m2 = 1, nếu mùi cần khởi tạo cho một nửa của giới hạn trên thì m2 = 0.5

Trang 28

Năm 2 11, Zhaojun Zhang và Zuren Feng [10] chỉ đề xuất ra quy tắc cập nhật mùi mới và áp dụng cho bài toán T P, đó là thuật toán TSIACO Thuật toán T IACO được đánh giá là thuật toán cho chất lượng lời giải tốt nhất, áp dụng cho bài toán TSP Trong bài luận văn này tôi sẽ sử dụng quy tắc cập nhật mùi của Zhaojun Zhang và Zuren Feng [10] để giải bài toán CSP Gọi các thuật toán đó là TSIACO1 và TSIACO2 au đó, tôi sẽ áp dụng kỹ thuật tìm kiếm địa phương trong giai đoạn thứ 2 của thuật toán TSIACO2, gọi thuật toán đó là TSIACO2-LS

3.1 THUẬT TOÁN ACOM-CSP

Trước khi tìm hiểu thuật toán ACOM-CSP (An Efficient Two-phase Ant Colony Optimization Algorithm for the Closest String Problem - Thuật toán tối ưu đàn kiến hai pha cho bài toán xâu gần nhất), tôi tìm hiểu thuật toán ACO để giải bài toán CSP gọi tắt là thuật toán ACO-CSP

3.1.1 Thuật toán ACO-CSP

Thuật toán này thực hiện theo lược đồ được đặc tả trong hình 2.6 với đồ thị cấu trúc, thủ tục tìm kiếm lời giải và quy tắc cập nhật mùi [1,8] như sau:

Đồ thị cấu trúc

Xét tập chuỗi S={s1,…,sn}, gồm n chuỗi độ dài m, trong đó si= với thuộc bộ chữ cái ∑ Ký hiệu Vi = {a ∑: =a}, khi tập chữ cái nhỏ và số chuỗi lớn thì Vi thường trùng với ∑ Khi đó các đỉnh của đồ thị cấu trúc được xếp trên m cột,

trên mỗi cột chỉ có các đỉnh gồm m cột nhưng có khác là cột thứ i chỉ chứa các đỉnh có

Trang 29

nhãn thuộc tập Vi (xem hình 3.1) Tập cạnh E nối các đỉnh thuộc hai cột liền kề Thông tin heuristic cho đỉnh (i,j) ở cột i hàng j là , được tính theo công thức 3.1:

(3.1)

Với các đại lượng cho trước, ban đầu khởi tạo vết mùi cho mọi đỉnh (i,j) đều bằng |∑| =0.25

Hình 3.1 Đồ thị cấu trúc

Thủ tục bước ngẫu nhiên để tìm lời giải

Một lời giải t được xác định bởi đường đi từ cột đầu đến cột cuối (xem hình 3.2) được mỗi kiến xác định như sau: Kiến chọn ngẫu nhiên một đỉnh thuộc cột thứ nhất với xác suất là tích của vết mùi và thông tin heuristic tương ứng được chuẩn hóa, sau

đó mở rộng tuần tự như sau Giả sử kiến đang ở đỉnh a Vi, nó sẽ chọn tiếp đỉnh b

Vi+1 cho vị trí tiếp theo của chuỗi với xác suất được tính theo công thức 3.2:

Trong đó, là hằng số dương, khi thì ứng với không dùng thông tin heuristic

Hình 3.2 Xây dựng lời giải

Trang 30

Quy tắc cập nhật mùi

Sau khi các con kiến trong bước lặp đã tìm được lời giải, vết mùi được cập nhật theo quy tắc SMMAS (Smooth Max-Min Ant System - Hệ kiến Max Min trơn) [1,8] như công thức 3.3:

Trong đó: {

Lời giải tốt nhất là lời giải gần S nhất tìm được cho tới lúc đó

Thông thường để tăng chất lượng lời giải, người ta kết hợp với tìm kiếm địa phương với hai chiến lược:

1) Chỉ áp dụng cho lời giải tốt nhất

2) Áp dụng cho mọi lời giải tìm được

Áp dụng theo cách thứ nhất thường lời giải tốt nhất hay bị lặp lại, còn áp dụng theo cách thứ hai thì mất nhiều thời gian chạy

Thuật toán hai giai đoạn ACOM-CSP kết hợp hai thuật toán ACO và Memetic Giai đoạn thứ nhất là sử dụng thuật toán ACO với quy tắc cập nhật mùi SMMAS áp dụng cho 6 % bước lặp đầu Giai đoạn thứ hai là thuật toán memetic áp dụng cho 40% bước lặp cuối Trong giai đoạn thứ hai, phương pháp ACO được dùng để xây dựng quần thể trong mỗi bước lặp, kỹ thuật tìm kiếm địa phương chỉ áp dụng cho hai lời giải tốt nhất trong bước lặp

3.1.2 Thuật toán Memetic

Giai đoạn thứ hai của ACOM-CSP là thực hiện thuật toán Memetic theo lược đồ

đã được đặc tả trong hình 3.3 Trong đó, dùng thuật toán ACO-C P để xây dựng quần thể cho mỗi bước lặp và lấy hai lời giải tốt nhất tìm được đến lúc đó làm tập Ωil để áp

dụng tìm kiếm địa phương [8] Nói cách khác, thuật toán này thực hiện theo thủ tục

của thuật toán ACO-C P nhưng sau khi đánh giá ở mỗi bước lặp, hai lời giải có khoảng cách tới tập S nhỏ nhất được áp dụng tìm kiếm địa phương để cải tiến chất lượng trước khi cập nhật mùi

Trang 31

Kỹ thuật tìm kiếm địa phương

Kỹ thuật tìm kiếm địa phương thực hiện như sau: Việc tìm kiếm địa phương cho lời giải t= t1…tn sẽ được thực hiện theo thứ tự ngẫu nhiên của các vị trí cho đến khi có lời giải tốt hơn Khi vị trí ti được xét, nó sẽ lần lượt được thay thế bởi các ký tự còn lại trong tập Vi cho đến khi có lời giải tốt hơn t thì lời giải tìm được sẽ thay cho t và việc tìm kiếm địa phương cho nó chấm dứt [8] (xem hình 3.4)

Thuật toán ACOM-CSP chạy thuật toán ACO-CSP trong 60% vòng lặp đầu, 40% vòng lặp còn lại chạy thuật toán Memetic-CSP

Procedure Thuật toán Memetic-CSP

Begin

Initialize: Khởi tạo vết mùi

While điều kiện dừng chưa thỏa mãn do

For i=1 to n_ants do

Xây dựng lời giải nhờ đồ thị cấu trúc Đánh giá xác định Ωil gồm k lời giải tốt nhất Cải tiến lời giải do kiến xây dựng bằng tìm kiếm địa phương cho Ωil

Hình 3.3 Đặc tả thuật toán Memetic –CSP

Hình 3.4 Ví dụ về Tìm kiếm địa phương

Ngày đăng: 25/03/2015, 09:41

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1]. Đỗ Đức Đông (2 12), Phương pháp tối ưu đàn kiến và ứng dụng, Luận án tiến sĩ công nghệ thông tin ĐHCN-ĐHQGHN.Tiếng Anh Sách, tạp chí
Tiêu đề: Phương pháp tối ưu đàn kiến và ứng dụng
[2]. 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
[3]. M.Dorigo and T.Stützle (2004), Ant Colony Optimization, The MIT Press Cambridge, Massachusetts, London, England Sách, tạp chí
Tiêu đề: Ant Colony Optimization
Tác giả: M.Dorigo and T.Stützle
Năm: 2004
[4]. M. Dorigo and C. Blum (2004), The Hyper-Cube Framework for Ant Colony Optimization, IEEE Transactions on Systes, Man, and Cybernetics – Part B, 34(2): pp.1161-1172 Sách, tạp chí
Tiêu đề: The Hyper-Cube Framework for Ant Colony Optimization
Tác giả: M. Dorigo and C. Blum
Năm: 2004
[5]. W.J. Gutjahr (2002), ACO algoriths with guaranteed convergence to the optimal solution, Info.Proc. Lett, Vol 83 (3), pp. 145-153 Sách, tạp chí
Tiêu đề: ACO algoriths with guaranteed convergence to the optimal solution
Tác giả: W.J. Gutjahr
Năm: 2002
[6]. W.J. Gutjahr (2000), An Ant based System and its convergence, future generation Comput. Systes, Vol16, pp. 873-888 Sách, tạp chí
Tiêu đề: An Ant based System and its convergence
Tác giả: W.J. Gutjahr
Năm: 2000
[7]. W. J. Gutjahr (2 7), “Mathematical runtime analysis of ACO algoriths: survey on an emerging issue”, Swarm Intelligence, Vol. 1, No. 1, 2007, pp. 59-79 Sách, tạp chí
Tiêu đề: Mathematical runtime analysis of ACO algoriths: survey on an emerging issue”, "Swarm Intelligence
[8]. Hoang Xuan Huan, Dong Do Duc and Nguyen Manh Ha (2012), An Efficient Two-phase Ant Colony Optimization Algorithm for the Closest String Problem, University of Engineering and Technology, VNU, Hanoi, Vietnam Sách, tạp chí
Tiêu đề: An Efficient Two-phase Ant Colony Optimization Algorithm for the Closest String Problem
Tác giả: Hoang Xuan Huan, Dong Do Duc and Nguyen Manh Ha
Năm: 2012
[9]. E.Pappalardo and S.Faro, Ant-CSP: an Ant Colony Optimization Algorithm for the Closest String Problem, Universita di Catania, Dipartimento di Matematica e Informatica, Viale Andrea Doria 6, I-95125 Catania, Italy Sách, tạp chí
Tiêu đề: Ant-CSP: an Ant Colony Optimization Algorithm for the Closest String Problem
[10]. Zhaojun Zhang, Zuren Feng (2011), Two-Stage updating pheromone for Invariant Ant Colony Optimization algorithm, Expert System with Applications, Published by Elsevier Ltd Sách, tạp chí
Tiêu đề: Two-Stage updating pheromone for Invariant Ant Colony Optimization algorithm
Tác giả: Zhaojun Zhang, Zuren Feng
Năm: 2011

HÌNH ẢNH LIÊN QUAN

Hình 1.2 đặc tả một thuật toán memetic sử dụng tính toán tiến hóa (Evolutionary  Computing - EC) - Bài toán xâu gần nhất và phương pháp ACO
Hình 1.2 đặc tả một thuật toán memetic sử dụng tính toán tiến hóa (Evolutionary Computing - EC) (Trang 15)
Hình 2.1  Thể hiện hành vi của mỗi con kiến trong tự nhiên - Bài toán xâu gần nhất và phương pháp ACO
Hình 2.1 Thể hiện hành vi của mỗi con kiến trong tự nhiên (Trang 16)
Hình 2.2  Thí nghiệm cây cầu đôi - Bài toán xâu gần nhất và phương pháp ACO
Hình 2.2 Thí nghiệm cây cầu đôi (Trang 17)
Hình 2.3  Thí nghiệm bổ xung - Bài toán xâu gần nhất và phương pháp ACO
Hình 2.3 Thí nghiệm bổ xung (Trang 18)
Hình 2.4  Đồ thị cấu trúc tổng quát cho bài toán cực trị hàm - Bài toán xâu gần nhất và phương pháp ACO
Hình 2.4 Đồ thị cấu trúc tổng quát cho bài toán cực trị hàm (Trang 21)
Hình 3.4  Ví dụ về Tìm kiếm địa phương - Bài toán xâu gần nhất và phương pháp ACO
Hình 3.4 Ví dụ về Tìm kiếm địa phương (Trang 31)
Hình 3.3  Đặc tả thuật toán Memetic –CSP - Bài toán xâu gần nhất và phương pháp ACO
Hình 3.3 Đặc tả thuật toán Memetic –CSP (Trang 31)
Hình 4.1  Giao diện chương trình chính - Bài toán xâu gần nhất và phương pháp ACO
Hình 4.1 Giao diện chương trình chính (Trang 38)
Hình 4.2  Giao diện hiển thị bộ dữ liệu Input - Bài toán xâu gần nhất và phương pháp ACO
Hình 4.2 Giao diện hiển thị bộ dữ liệu Input (Trang 39)
(xem hình 4.1, hình 4.2). - Bài toán xâu gần nhất và phương pháp ACO
xem hình 4.1, hình 4.2) (Trang 41)
Đồ thị 4.2  Kết quả chạy thuật toán ACOM-CSP với hệ số bay hơi khác nhau  Nhận  xét:  Đồ  thị  4.2  cho  thấy  thuật  toán  ACOM-CSP  sử  dụng  hệ  số  bay  hơi           luôn cho chất lượng lời giải tốt nhất - Bài toán xâu gần nhất và phương pháp ACO
th ị 4.2 Kết quả chạy thuật toán ACOM-CSP với hệ số bay hơi khác nhau Nhận xét: Đồ thị 4.2 cho thấy thuật toán ACOM-CSP sử dụng hệ số bay hơi luôn cho chất lượng lời giải tốt nhất (Trang 42)
Đồ thị 4.3  Kết quả chạy thuật toán TSIACO1 với hệ số bay hơi khác nhau  Nhận xét: Đồ thị 4.3 cho thấy thuật toán TSIACO1 sử dụng hệ số bay hơi ở mỗi - Bài toán xâu gần nhất và phương pháp ACO
th ị 4.3 Kết quả chạy thuật toán TSIACO1 với hệ số bay hơi khác nhau Nhận xét: Đồ thị 4.3 cho thấy thuật toán TSIACO1 sử dụng hệ số bay hơi ở mỗi (Trang 42)
Đồ thị 4.4  Kết quả chạy thuật toán TSIACO2 với hệ số bay hơi khác nhau  Nhận xét: Đồ thị 4.4 cho thấy: - Bài toán xâu gần nhất và phương pháp ACO
th ị 4.4 Kết quả chạy thuật toán TSIACO2 với hệ số bay hơi khác nhau Nhận xét: Đồ thị 4.4 cho thấy: (Trang 43)
Đồ thị 4.6  Kết quả chạy thực nghiệm Ant-CSP sử dụng bộ dữ liệu 30 chuỗi  Nhận xét: Đồ thị 4.6 cho thấy chất lượng lời giải được cải thiện sau khi sử dụng - Bài toán xâu gần nhất và phương pháp ACO
th ị 4.6 Kết quả chạy thực nghiệm Ant-CSP sử dụng bộ dữ liệu 30 chuỗi Nhận xét: Đồ thị 4.6 cho thấy chất lượng lời giải được cải thiện sau khi sử dụng (Trang 44)

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