1. Trang chủ
  2. » Cao đẳng - Đại học

Tìm hiểu và nghiên cứu thuật toán hệ kiến Max - Min

82 292 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 82
Dung lượng 435,19 KB

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

Nội dung

Ý nghĩa khoa học và thực tiễn của đề tài Nếu đề tài được áp dụng vào thực tiễn thì việc giải các bài toán tối ưu tổ hợp trở nên không còn nhiều phức tạp và tốn thời gian so với cácthuật

Trang 1

-1-TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI

2 KHOA CÔNG NGHỆ THÔNG TIN

PHÙNG CÔNG TUẤN

TÌM HIỂU VÀ NGHIÊN CỨU THUẬT

TOÁN HỆ KIẾN MAX-MIN

KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC

CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN

Người hướng dẫn khoa học

Th.S Lưu Thị Bích Hương

Hà Nội – 2012

Trang 2

LỜI CẢM ƠN

Trong suốt quá trình học tập và làm khóa luận, em nhận được sự giúp

đỡ, tạo điều kiện của Khoa CNTT, của các thầy cô giáo Khoa CNTT Bêncạnh đó là sự giúp đỡ rất nhiều của người thân, bạn bè để em có được kết quảngày hôm nay

Trước hết em xin tỏ lòng kính trọng cảm ơn cô giáo Th.S Lưu Thị BíchHương, cô đã tận tình chỉ bảo, hướng dẫn cho em hoàn thành được bản khóaluận này

Xin cảm ơn các thầy, các cô giáo trong Khoa Công nghệ thông tin –Đại học sư phạm Hà Nội 2, các bạn trong lớp K34 – CNTT đã tận tình giúp

đỡ, giới thiệu tài liệu, sách tham khảo để khóa luận được hoàn thành đúnghạn

Cuối cùng là lòng biết ơn đến sự quan tâm, chăm sóc và tạo điều kiệncủa gia đình để con tập trung vào việc học tập và hoàn thành bản khóa luậnnày

Do thời gian thực hiện không nhiều nên khóa luận không tránh khỏinhững thiếu sót Rất mong nhận được sự đóng góp của thầy cô giáo và cácbạn để khóa luận được hoàn thiện hơn

Xin chân thành cảm ơn!

Hà Nội, tháng 5 năm 2012

PHÙNG CÔNG TUẤN

Trang 3

LỜI CAM ĐOAN

Tên em là: PHÙNG CÔNG TUẤN

Sinh viên lớp: K34 – CNTT, trường đại học sư phạm Hà Nội

2 Em xin cam đoan:

1 Đề tài: “Tìm hiểu và nghiên cứu thuật toán hệ kiến Max – Min”

là sự nghiên cứu của riêng em, dưới sự hướng dẫn của cô giáo

Th.S Lưu Thị Bích Hương.

2 Khóa luận hoàn toàn không sao chép của tác giả nào khác

Nếu sai em xin hoàn toàn chịu trách nhiệm

Hà Nội tháng 5/2012Người cam đoan

Phùng Công Tuấn

Trang 4

MỤC LỤC

Trang

LỜI CẢM ƠN 1

LỜI CAM ĐOAN 2

MỤC LỤC 3

MỞ ĐẦU 5

Chương 1 – CƠ SỞ LÝ THUYẾT 9

1.1 Các khái niệm cơ bản 9

1.1.1 Định nghĩa đồ thị 9

1.1.2 Các khái niệm 10

1.2 Biểu diễn đồ thị trên máy tính 13

1.2.1 Ma trận kề (ADJACENCY MATRIX) 13

1.2.2 Danh sách cạnh (EDGE LIST) 14

1.2.3 Danh sách kề (ADJACENCY LIST) 15

Chương 2 – LƯỢC SỬ PHÁT TRIỂN CỦA CÁC THUẬT TOÁN ACO 18

2.1 Nguồn gốc sinh học của các thuật toán kiến 18

2.2 Truyền thông gián tiếp – stigmergy 22

2.3 Quá trình phát triển của các thuật toán ACO 23

2.3.1 Hệ kiến 23

2.3.2 Hệ đàn kiến 26

2.3.3 Thuật toán hệ kiến Max-Min 29

Chương 3 – PHƯƠNG PHÁP TỐI ƯU HÓA ĐÀN KIẾN: ACO 32

3.1 Một số heuristic ACO 32

3.2 Meta – Heuristic tối ưu hóa đàn kiến 33

3.2.1 Bài toán tổng quát 33

Trang 5

3.2.2 Thuật toán ACO tổng quát 35

3.2.3 Xây dựng lời giải 38

3.2.4 Cập nhật mùi 39

3.3 Đặc tính hội tụ của vết mùi 40

3.4 Các thuật toán ACOmin 43

Chương 4 – THUẬT TOÁN HỆ KIẾN MAX-MIN 46

4.1 Giới thiệu hệ kiến Max-Min 46

4.2 Cập nhật vết mùi 46

4.3 Giới hạn của vết mùi 47

4.4 Một số nguyên lý ứng dụng trong thuật toán hệ kiến Max-Min 49

4.5 Xây dựng ứng dụng 53

4.5.1 Phát biểu bài toán 53

4.5.2 Giải quyết bài toán 54

KẾT LUẬN 57

TÀI LIỆU THAM KHẢO 58

PHỤ LỤC 61

Trang 6

MỞ ĐẦU

1 Mục đích lý do chọn đề tài

1.1 Lý do chọn đề tài

Các bài toán tối ưu tổ hợp (Combinatorial Optimization Problems

-COP) đóng góp vai trò quan trọng trong thực tế, có rất nhiều ứng dụng

trong lĩnh vực kinh tế, sản xuất Khi giải các bài toán tối ưu tổ hợp khóthường gặp trở ngại lớn, các thuật toán truyền thống thường khó giảiquyết, các thuật toán mô phỏng tự nhiên như luyện kim, di truyền, tiếnhóa, hệ kiến tỏ ra có ưu thế hơn Trong một thập kỷ qua các thuật toánACO tỏ ra là phương pháp nổi trội để giải quyết các bài toán tối ưu tổ hợpkhó

Tối ưu hóa đàn kiế n (Ant Colony Optimization - ACO) là cách tiế

p cận meta - heuristic tương đố i mới được đề xuất đầu tiên bởiMarco Dorigo và các đồng nghiệp năm 1991 Một trong những thànhcông đầu tiên của lớp thuật toán ACO là giải quyết tốt bài toán nổi

tiếng Người chào hàng (Traveling Salesman Problem-TSP) với số thành

phố khá lớn, hơn 2000 Từ đó đến nay ACO ngày càng thu hút được sựquan tâm và nghiên cứu của giới khoa học và hiệu quả nổi trội của nóđược chứng minh bằng thực nghiệm như giải quyết các bài tối ưu tổ

hợp điển hình: Bài toán phân công bậc hai (Quadratic Assignment

Problem-QAP), Bài toán lập lịch công việc (Job-shop Scheduling Problem-JSP), Bài toán định đường xe tải (Vehicle Rouling Problem -VRP), Bài toán tô màu đồ thị (Graph Coloring Problem-GCP), Bài

toán siêu dãy chung ngắn nhất (Shortest Colnmon Supersequence

Poblem-SCS)…

Trang 7

Trong ACO, hệ kiến Max-Min (Max-Min Ant System-MMAS) tỏ ra

đơn giản, thông dụng và được rất nhiều người ưa dùng so với các thuậttoán kiến trước đó như hệ kiến (Ant System-AS), hệ đàn kiến (AntConoly System-ACS) Hệ kiến Max-Min là thuật toán đầu tiên đề xuấtcập nhật mùi theo tư tưởng Max-Min Năm 1999, nhằm mục đích đưa ramột lược đồ làm việc chung cho các thuật toán kiến, Marco Dorigo, Luca

M Gambardella và Gianni Di Cao đã khái quát hóa thành lớp ACO vàứng dụng một cách phong phú để giải quyết các bài toán tối ưu tổ hợp tĩnh

và động

Xuất phát từ tính thực tiễn thiết thực em xin chọn đề tài : “Nghiên

cứu và tìm hiểu về thuật toán hệ kiến Max –Min”.

1.2 Mục đích

Mục đích nghiên cứu của đề tài này là tìm hiểu thêm một thuật toán

có thế có lời giải tốt cho các bài toán tối ưu tổ hợp và tạo ra một nguồn tàiliệu cơ sở cho những nghiên cứu về các thuật toán tối ưu hóa đàn kiến

2 Nhiệm vụ, yêu cầu

2.1 Nhiệm vụ

- Nghiên cứu về lý thuyết đồ thị để phục vụ cài đặt giải bài toán

Người giao hàng bằng thuật toán hệ kiến Max – Min.

- Nghiên cứu tìm hiểu thuật toán hệ kiến Max – Min và các thuậttoán liên quan

- Tìm hiều ngôn ngữ lập trình C# để tiến hành cài đặt giải bài toán

Người giao hàng bằng thuật toán hệ kiến Max – Min.

2.2 Yêu cầu

Xây dựng và cài đặt chương trình giải bài toán Người giao hàng ứng

dụng thuật toán hệ kiến Max – Min

3 Phương pháp nghiên cứu:

Trang 8

- Phương pháp nghiên cứu chủ yếu là tham khảo tài liệu, bài viết liênquan tới đồ thị, thuật toán hệ kiến.

- Tìm nguồn tài liệu trên Internet, sách báo liên quan

- Phương pháp thực nghiệm

4 Phạm vi nghiên cứu

Nội dung nghiên cứu các thuật toán nói chung cũng như các thuậttoán kiến nói riêng rất đa dạng và phong phú Do thời gian có hạn emkhông hy vọng có thế tìm hiểu được hết các nội dung liên quan tới đề tài,chỉ xin giới hạn phạm vi nghiên cứu như sau:

- Tìm hiểu cơ sở lý thuyết về đồ thị, để giải quyết bài toán Người

5 Ý nghĩa khoa học và thực tiễn của đề tài

Nếu đề tài được áp dụng vào thực tiễn thì việc giải các bài toán tối

ưu tổ hợp trở nên không còn nhiều phức tạp và tốn thời gian so với cácthuật toán truyền thống như: quy hoạch động, vét cạn… và trong nghiêncứu khoa học đề tài này sẽ là cơ sở vững chắc để em có thể nghiên cứucác thuật toán hệ kiến khác

6 Cấu trúc của khóa luận

Ngoài phần mở đầu và phần kết luận, khóa luận được tổ chức nhưsau:

Chương 1: Giới thiệu về các khái niệm cơ bản của đồ thị và một số cáchbiểu diễn đồ thị trên máy tính

Trang 9

Chương 2: Giới thiệu nguồn gốc sinh học của thuật toán kiến, cách truyền thông gián tiếp và lược sử phát triển của các thuật toán ACO.

Chương 3: Trình bày về phương pháp tối ưu hoá đàn kiến:ACO

Chương4: Giới thiệu về thuật toán hệ kiến Max-Min và áp dụng vàoxây

dựng ứng dụng giải bài toán Người giao hàng.

Trang 10

G được gọi là đơn đồ thị nếu giữa hai đỉnh u,v của V có nhiều nhất là

1 cạnh trong E nối từ u tới v

G được gọi là đa đồ thị nếu giữa hai đỉnh u,v của V có thể có nhiều

hơn một cạnh trong E nối từ u tới v (Hiển nhiên đơn đồ thị cũng là đa đồthị)

G được gọi là đồ thị vô hướng (undirected graph) nếu các cạnh trong

E là không định hướng, tức là cạnh nối hai đỉnh u,v bất kì cũng là cạnhnối hai đỉnh v,u Hay nói cách khác, tập E gồm các cặp (u,v) không tínhthứ tự

G được gọi là đồ thị có hướng (directed graph) nếu các cạnh trong E

là có định hướng, có thể có cạnh nối từ đỉnh u tới đỉnh v nhưng chưachắc

Trang 11

Vô hướng Có hướng Vô hướng Có hướng

đã có cạnh nối từ đỉnh v tới đỉnh u Hay nói cách khác, tập E gồm các cặp(u, v) có tính thứ tự Trong đồ thị có hướng, cách cạnh được gọi là cáccung Đồ thị vô hướng cũng có thể coi là đồ thị có hướng nếu như ta coicạnh nối hai đỉnh u, v bất kì tương đương với hai cung (u, v) và (v, u)

từ đây về sau nếu không chú thích gì thêm thì khi nói tới đồ thị, ta hiểurằng đó là đồ thị hữu hạn

Cạnh liên thuộc, đỉnh kề, bậc:

Đối với đồ thị vô hướng G = (V, E) Xét một cạnh e thuộc E, nếu e =(u, v) thì ta nói hai đỉnh u và v là kề nhau (adjacent) và cạnh e này liênthuộc (incident) với đỉnh u và đỉnh v

Trang 12

Với một đỉnh v trong đồ thị, ta định nghĩa bậc (degree) của v, kí hiệu

là deg(v) là số cạnh liên thuộc với v Dễ thấy rằng trên đơn đồ thị thì sốcạnh liên thuộc với v cũng là số đỉnh kề với v

Định lý: Giả sử G = (V, E) là đồ thị vô hướng với m cạnh, khi đó

tổng tất cả các bậc đỉnh trong V sẽ bằng 2m:

Chứng minh: Khi lấy tổng tất cả các bậc đỉnh tức là mỗi cạnh

bất kì sẽ được tính một lần trong deg(u) và một lầntrong deg(v) Từ đó suy ra kết quả

Hệ quả: Trong đồ thị vô hướng, số đỉnh bậc lẻ là số chẵn

Đối với đồ thị có hướng G = (V, E) Xét một cung e thuộc E, nếu thì ta nói u nối với v và v nối từ u, cung e là đi ra khỏi đỉnh u

và đi vào đỉnh v Đỉnh u khi đó được gọi là đỉnh đầu, đỉnh v được gọi làđỉn cuối của cung e

Với mỗi đỉnh v trong đồ thị có hướng, ta định nghĩa: Bán bậc ra (out– degree) của v kí hiệu là deg+(v) là số cung đi ra khỏi nó; bán bậc vào (in– degree) kí hiệu là deg-(v) là số cung đi vào đỉnh đó

Định lý: Giả sử G = (V, E) là đồ thị có hướng với m cung, khi đó

tổng tất cả các bán bậc ra của các đỉnh bằng tổng tất cả các bán bậc vào vàbằng m:

Chứng minh: Khi lấy tổng tất cả các bán bậc ra hay bán bậc vào,

mỗi cung (u, v) bất kì sẽ được tính đúng 1 lần trong deg+(v) và cũng đượctính đúng một lần trong deg-(v) Từ đó suy ra kết quả

Trang 13

Đường đi và chu trình

Một đường đi với độ dài p là một dãy P = <v0, v1,…,vp> của các đỉnh

đỉnh v0, v1,…, vp và các cạnh (v0, v1), (v1, v2),…,( vp-1, vp) Nếu có mộtđường đi như trên thì ta nói vp đếm được (reachable) từ v0 qua P Mộtđường đi con (subpath) P’ của P là một đoạn liên tục của các dãy các đỉnhdọc theo P Đường đi P trở thành chu trình (circuit) nếu v0=vp Chu trình Pđược gọi là đơn giản (simple) nếu v1, v2,…, vp là hoàn toàn phân biệt

Một số khái niệm khác

Hai đồ thị G = (V, E) và G’ = (V’, E’) được gọi là đẳng cấu(isomorphic) nếu tồn tịa một song ánh sao cho (u, v) thuộc Enếu và chỉ nếu (f(u),f(v)) thuộc E’

Đồ thị G’ = (V’, E’) là đồ thị con (subgraph) của đồ thị G = (V, E)

Cho một đồ thị vô hướng G = (V, E), ta gọi phiên bản có hướng(directed version) của G là một đồ thị có hướng G’ = (V’, E’) sao cho (u,v) thuộc E’ nếu và chỉ nếu (u, v) thuộc E Nói cách khác G’ được tạothành từ G bằng cách thay đổi mỗi cạnh bằng hai cung có hướng ngượcchiều nhau

Cho một đồ thị có hướng G = (V, E), ta gọi phiên bản vô hướng(undirected version) của G là một đồ thị vô hướng G’ = (V’, E’) sao cho(u, v) thuộc E’ nếu và chỉ nếu (u, v) thuộc E hoặc (v, u) thuộc E

Một đồ thị vô hướng gọi là liên thông (connected) nếu với mọi cặpđỉnh (u, v) ta có u đến được v Một đồ thị có hướng gọi là liên thông mạn(strongly connected) nếu với mỗi cặp đỉnh (u, v), ta có u đến được v và v

Trang 14

đến được u Một đồ thị có hướng gọi là liên thông yếu (weaklyconnected) nếu phiên bản vô hướng của nó là đồ thị liên thông.

Một đồ thị vô hướng gọi là đồ thị đầy đủ (complete) nếu mọi cặpđỉnh là kề nhau Một đồ thị vô hướng gọi là hai phía (bipartile) nếu tậpđỉnh của nó có thể chia làm hai tập rời nhau X, Y sao cho không tồn tạicạnh nối hai đỉnh thuộc X cũng như không tồn tại cạnh nối hai đỉnh thuộcY

1.2 Biểu diễn đồ thị trên máy tính

1.2.1 Ma trận kề (ADJACENCY MATRIX)

Giả sử G = (V, E) là một đơn đồ thị có số đỉnh ( kí hiệu |V|) là n Khôngmất tính tổng quát có thể coi các đỉnh được đánh số 1, 2,…,n Khi đó ta cóthể biểu diễn đồ thị bằng một ma trận vuôn A = [a[i,j]] cấp n Trong đó:

 a[i,j]=1 nếu (i,j) E

 a[i,j]=1 nếu (i,j) E

Với mọi i, giá trị của a[i,j] có thể đặt tùy theo mục đích, thôngthường nên đặt bằng 0

Đối với đa đồ thị thì việc biểu diễn cũng tương tự như trên, chỉ cóđiều nếu như (i, j) là cạnh thì không phải ta ghi số 1 vào vị trí a[i, j] mà làghi số cạnh nối giữa đỉnh i và đỉnh j

Ví dụ:

Trang 15

2 5

Trang 16

2 5

5

1.2.2 Danh sách cạnh (EDGE LIST)

Trong trường hợp đồ thị có n đỉnh, m cạnh, ta có thể biểu diễn đồ thịdưới dạng danh sách cạnh bằng cách liệt kê tất cả các cạnh của đồ thịtrong một danh sách, mỗi phần tử của danh sách là một cặp (u,v) tươngứng với một cạnh của đồ thị Trong trường hợp đồ thị có hướng thì mỗicặp (u, v) tương ứng với một cung, u là đỉnh đầu và v là đỉnh cuối củacung Danh sách được lưu trong bộ nhớ dưới dạng mảng hoặc danh sáchmóc nối Ví dụ với đồ thị bên dưới:

Cài đặt trên mảng:

(1, 2) (1, 3) (1, 5) (2, 3) (3, 4) (4, 5)

Trang 17

(1, 2) (1, 3) (1, 5) (2, 3) (3, 4) (4, 5)

5

Cài đặt trên danh sách móc nối:

Ưu điểm của danh sách cạnh:

Trong trường hợp đồ thị thưa (có số cạnh tương đối nhỏ: chẳng hạnm<6n), cách biểu diễn bằng danh sách cạnh sẽ tiết kiệm được không gianlưu trữ, bởi nó chỉ cần 2m ô nhớ để lưu danh sách cạnh

Trong một số trường hợp, ta phải xét tất cả các cạnh của đồ thị thì càiđặt trên danh sách cạnh làm cho việc duyệt các cạnh dễ dàng hơn

Nhược điểm của danh sách cạnh:

Nhược điểm cơ bản của danh sách cạnh là khi ta cần duyệt tất cả cácđỉn kề với đỉn v nào đó của đồ thị, thì chẳng có cách nào khác là phảiduyệt tất cả các cạnh, lọc ra những cạnh có chứa đỉn v và xét đỉnh còn lại.Điều đó khá tốn thời gian trong trường hợp đồ thị dày (nhiều cạnh)

1.2.3 Danh sách kề (ADJACENCY LIST)

Để khắc phục nhược điểm của các phương pháp ma trận kề và danhsách cạnh, người ta đề xuất phương pháp biểu diễn đồ thị bằng danh sách

kề Trong cách biểu diễn này, với mỗi đỉnh v của đồ thị, ta cho tương ứngvới nó một danh sách các đỉnh kề với v

Với đồ thị G = (V, E) V gồm n đỉnh và E gồm m cạnh Có hai cáchcài đặt danh sách kề phổ biến:

Trang 18

5 3

2

4 2

1

Cách 1: Dùng một mảng các đỉnh, mảng đó chia làm n đoạn, đoạnthứ i trong mảng lưu danh sách các đỉnh kề với đỉnh i: với đồ thị trên,danh sách kề sẽ là một mảng Adj gồm 12 phần tử:

Các phần tử Adj[Head[i]+1…Head[i+1]] sẽ chứa các đỉnh kề vớiđỉnh i Lưu ý rằng với đồ thị có hướng gồm m cung thì cấu trúc cần phải

đủ chứa m phần tử, với đồ thị vô hướng m cạnh thì cấu trúc này cần phải

Trang 19

3 5

List 4:

List 5:

Ưu điểm của danh sách kề:

Đối với danh sách kề, việc duyệt tất cả các đỉnh kề với một đỉn v chotrước là hết sức dễ dàng, cái tên “danh sách kề” đã cho thấy rõ điềunày.Việc duyệt tất cả các cạnh cũng đơn giản vì một cạnh thực ra là nốimột đỉnh với một đỉnh khác kề nó

Nhược điểm của danh sách kề

Danh sách kề yếu hơn mà trận kề ở việc kiểm tra (u,v) có phải làcạnh hay không, bởi trong cách biểu diễn này ta sẽ phải duyệt toàn bộdanh sách kề của u hay danh sách kề của v

Trang 20

CHƯƠNG 2 LƯỢC SỬ PHÁT TRIỂN CỦA CÁC THUẬT TOÁN ACO

Trong chương này sẽ giới thiệu lược sử phát triển của các thuật toánACO, bắt đầu từ các thí nghiệm sinh học về cách chọn đường đi của cáccon kiến thực rồi đến hình thành ý tưởng thuật toán từ các thí nghiệm đó,sau đó là sự ra đời của hệ kiến, hệ đàn kiến, hệ kiến Max-Min

Các thuật toán kiến có được nhờ sự quan sát cách chọn đường đi củacác con kiến thực Các con kiến là các côn trùng sống trong các bầy đàn

và sống thành xã hội, chúng xuất hiện trên trái đất cách đây đã hơn 100triệu năm, số lượng của chúng khoảng 106 con (xem [13]) Sự tổ chức bầyđàn của các con kiến trong xã hội kiến có cấu trúc cao đã thu hút nhiềunghiên cứu sinh học

Trong xã hội kiến, các con kiến thợ thường xuyên tìm kiếm thức ănđem về tổ và đặc biệt là làm thế nào các con kiến có thể tìm được đường

đi ngắn nhất từ tổ của chúng tới nguồn thức ăn?

2.1 Nguồn gốc sinh học của các thuật toán kiến

Trong quá trình đi từ tổ đến nguồn thức ăn và ngược lại, các con kiến

rải xuống đất một hoá chất gọi là mùi (tên khoa học là pheromone) và tạo

nên các vết mùi (pheromone trail) Các con kiến ngửi thấy mùi và chúng

có khuynh hướng chọn theo xác suất, các đường đi được đánh dấu bởi sựtập trung mùi mạnh Vết mùi cho phép các con kiến tìm ra đường quay lạicủa chúng tới nguồn thức ăn hoặc tổ, nó cũng có thể được sử dụng bởi cáccon kiến khác để tìm ra vị trí nguồn thức ăn

Thực nghiệm cho thấy rằng, cách thức theo vết mùi (pheromone trail

following behavior) này là một phương pháp luận hiệu quả để tìm ra

đường đi ngắn nhất

Trang 21

Hình 1: Cách tìm đường đi của kiến

Các con kiến thường để lại mùi (một chất hóa học đặc biệt mà chúng

có thể ngửi được) trên đường đi Bằng cách để lại mùi như vậy, chúng sẽtạo ra các vết mùi để lại trên đường đi từ tổ đến nguồn thức ăn và ngượclại Trong thực tế, bằng cách cảm nhận những vết mùi như vậy những conkiến khác có thể tìm đường tới các nguồn thức ăn do những con kiếntrước đã tìm ra Đồng thời, chúng có thể dựa vào đó để tìm được đường

đi ngắn nhất từ tổ đến các nguồn thức ăn

Nhằm nghiên cứu các cách tìm đường đi của các con kiến trong điềukiện quan sát được J.L.Deneubourg[19] và các đồng nghiệp đã làm mộtthí nghiệm sử dụng một cây cầu đôi nối từ tổ đến nguồn thức ăn, hình 2

Trang 22

Trong thí nghiệm trên, ban đầu không có mùi trên 2 nhánh, nên cácnhánh được chọn có cùng một xác suất Tuy nhiên, do sự thăng giáng tựnhiên, sau một giai đoạn ban đầu, nhánh trên được chọn nhiều hơn nhánhdưới Bởi vì các con kiến rải mùi trong khi đi, số kiến lớn hơn ở nhánhtrên thì lượng mùi mạnh hơn, do đó kích thích nhiều con kiến chọn nóhơn.

Nhánh trên

Nhánh dưới

Hình 2: Mô hình thí nghiệm cầu đôi 2 nhánh dài bằng nhau

Tiếp đó họ thay đổi thí nghiệm trên tới trường hợp mà trong đó cácnhánh có chiều dài khác và thu được kết quả là theo thời gian dần dần hầuhết con kiến đều đi vào nhánh ngắn hơn

Kết quả được giải thích như sau: Do kỹ thuật rải mùi như nhau, khithực nghiệm bắt đầu, hai nhánh cầu đều không có mùi, như vậy lúc đầucác con kiến chọn một trong hai nhánh theo xác suất là như nhau tức là

Trang 23

một nửa số con kiến sẽ chọn nhánh ngắn và nửa còn lại sẽ chọn nhánh dài.Trong quá trình tìm kiếm thức ăn và đưa về tổ, con kiến luôn để lại vệtmùi trên hai nhánh cầu Do nhánh ngắn hơn, thời gian con kiến đi sẽ íthơn (đồng nghĩa với số lần các con kiến đi lại nhiều hơn), lượng mùi trênnhánh này sẽ nhiều hơn, nên theo thời gian các con kiến sẽ chọn nhánhngắn hơn để đi do cường độ vệt mùi trên nhánh này cao hơn, minh hoạtrong hình 3.

Hình 3: Thí nghiệm cầu đôi.

(a) Các con kiến bắt đầu khám phá chiếc cầu.

(b) Hầu hết các con kiến chọn đường đi ngắn nhất.

Trong các thuật toán kiến, cây cầu đôi ở thí nghiệm củaDeneubourg được thay bằng một đồ thị cấu trúc và các vết mùi của conkiến là những vết mùi nhân tạo Đồng thời khi muốn giải quyết những bàitoán phức tạp hơn những bài toán của con kiến thực, người ta cung cấpthêm cho con kiến nhân tạo một số khả năng đặc biệt như bộ nhớ và khảnăng để lại một lượng mùi tỷ lệ với hiệu quả của lời giải tìm được (mộthành vi tương tự như hành vi của con kiến thực khi chúng mang thức ănquay về tổ để lại một lượng mùi tỷ lệ với lượng thức ăn kiếm được)

Trang 24

Mỗi con kiến đơn lẻ chỉ có một sự đóng góp rất nhỏ trongquá trìnhtìm đường đi Mặc dù một con kiến đơn lẻ về nguyên tắc có khả năng xâydựng một lời giải (Ví dụ: tìm ra một đường đi giữa tổ và nguồn thức ăn),nhưng cả đàn kiến mới là đối tượng biểu diễn cách thức "tìm đường đingắn nhất" Cách thức này là một thuộc tính nổi bật (emergent) của đànkiến Cũng cần chú ý là các con kiến có thể thực hiện cách thức riêng biệt

này bằng cách sử dụng một dạng truyền thông gián tiếp-stigmergy bằng

cách rải mùi

2.2 Truyền thông gián tiếp-stigmergy

Dạng truyền thông stigmergy được đưa ra trong công trình của Grassé[20](Bellicositermes Natalensis và Cubitermes), stigmergy là "Mô phỏng các thợ (workers-một đẳng cấp trong các đàn mối) bởi hiệu suất mà

chúng đạt được"

Mặc dù Grassé giới thiệu thuật ngữ stigmergy để giải thích các hành

vi của xã hội đàn mối, nhưng sau đó thuật ngữ này được dùng để mô tả

dạng truyền thống gián tiếp bởi sự thay đổi môi trường có thể quan sát

được ở xã hội côn trùng

Những đặc trưng của stigmergy:

-Tính vật lý tự nhiên của thông tin được sinh ra bởi các côn trùng

truyền thông, tương ứng với sự thay đổi các trạng thái môi trường vật lý

mà được thăm bởi các côn trùng

- Tính cục bộ tự nhiên của thông tin được sinh ra, chỉ có thể được

truy cập bởi các côn trùng thăm trạng thái đó

Vì vậy ta có thể nói truyền thông stigmergy là một dạng truyền

thông gián tiếp dựa vào thay đổi thông tin qua tác động vật lý làm thay đổi môi trường.

Trang 25

2.3 Quá trình phát triển của các thuật toán ACO

Hệ kiến là thể hiện đầu tiên và điển hình của các thuật toán ACO,hầu hết các thuật toán ACO hiện dùng đều được phát triển từ thuật toánnày Vì vậy, trước khi đi vào tìm hiểu các thuật toán ACO, ta đi tìm hiểu

hệ kiến và các cải tiến quan trọng của chúng là hệ đàn kiến và hệ kiếnMax-Min

2.3.1 Hệ kiến

Hệ kiến (Ant System-AS)được đề xuất từ cách ứng xử được đề cập ở

trên của các con kiến thực, là một thuật toán mà trong đó một tập các conkiến nhân tạo hợp tác với nhau để tìm lời giải của một bài toán bằng việctrao đổi thông tin thông qua mùi được rải trên các cạnh của một đồ thị

Có nhiều thuật toán AS như ant-cycle, ant-density, và ant-quantity, ở đây chỉ xét thuật toán ant-cycle Do thuật toán ant-cycle có kết quả thực

nghiệm tốt hơn hai thuật toán kia, nên sau này nó được gọi đơn giản làthuật toán AS, trong khi hai thuật toán còn lại về sau không còn đượcnghiên cứu và phát triển nữa

Hệ kiến hoạt động như sau: mỗi con kiến sinh ra một đường đi (tour)

bằng cách chọn những thành phố theo một qui tắc chọn thành phố

mới(state transition rule) ngẫu nhiên, những con kiến thích đi tới các

thành phố mà nối với những cạnh ngắn có lượng mùi cao Khi tất cả các

con kiến đã hoàn thành đường đi của nó, một qui tắc cập nhật mùi toàn

cục(global pheromone updating rule)được áp dụng:

i) Một tỉ lệ mùi bị bốc hơi trên tất các các cạnh bởi một hệ số bay

hơi mùi cho trước (những cạnh không được làm tươi sẽ ítđược con kiến chú ý)

ii) Mỗi con kiến rải một lượng mùi lên các cạnh thuộc đường đi

tương xứng với chiều dài đường đi của nó (hay nói cách khác

Trang 26

là các cạnh thuộc về nhiều đường đi ngắn là những cạnh nhậnlượng mùi lớn hơn).

Tiến trình trên được lặp lại

Để giải bài toán TSP, AS dùng biến vết mùi i,j kết hợp với mỗicạnh (i,j) và ban đầu được khởi tạo bởi giá trị 0 Có m con kiến nhân

tạo, ở bước lặp t chúng thực hiện các thủ tục xây dựng lời giải và cập

nhật mùi như sau:

Xâ y dựng lời g iả i

Ban đầu mỗi con kiến được đặt ngẫu nhiên tại các thành phố vàthăm các thành phố khác để xây dựng đường đi với thủ tục tuần tự theoquy tắc chuyển trạng thái sau:

Qui tắc chuyển trạng thái: Qui tắc chọn thành phố mới, được gọi là

qui tắc tỉ lệ ngẫu nhiên(random-proportional rule), được cho bởi công

thức (2.1), là công thức đưa ra xác suất chọn thành phố j để di chuyển tớiđối với kiến k khi đang ở thành phố i

Giả sử kiến k đang ở thành phố i, nó sẽ chọn thành phố j tiếp theovới xác suất:

thể hiện: xác suất lựa chọn cạnh (i, j) tỷ lệ thuận

với cường độ vết mùi ij (t) tại bước lặp t đang xét Jk(i) là tập các

đỉnhchưa được con kiến k đi qua khi nó ở đỉnh i (để làm lời giải khả thi)

Trang 27

Thông tin heuristic

con kiến sẽ lựa chọn đỉnh tiếp theo dựa vào chiến lược “tham

lam”: Cạnh nào ngắn nhất sẽ được ưu tiên chọn trước, nếu 

chọn chỉ phụ thuộc vào cường độ vết mùi Tiếp tục như vậy nó sẽ tìmđược một chu trình chấp nhận được làm một lời giải đủ tốt cho bài toán

Cậ p nhậ t mùi :

Trong AS, qui tắc cập nhật toàn cục được thực hiện như sau: Khi tất

cả các con kiến đã xây dựng xong đường đi của nó, mùi được cập nhậttrên tất cả các cạnh theo công thức (2.2)

Trang 28

Tham số được sử dụng để làm bay hơi các vết mùi trên cáccạnh và cho phép lãng quên những cạnh ít sử dụng (các cạnh không thuộchành trình của con kiến nào sẽ có cường độ mùi giảm rất nhanh theohàm mũ của số vòng lặp) Với những cạnh có con kiến đi qua, lượng mùi

Trang 29

Sự kết hợp được việc học tăng cường (reinforcement learning),

trong đó những lời giải tốt sẽ được sự tăng cường cao hơn thôngqua thông tin về cường độ vết mùi , cho phép ta từng bước thu hẹp không gian tìm kiếm mà vẫn không bỏ qua những lời giảitốt Do đó nâng cao chấ t lượng thuật toán

về không nên hệ AS kém hiệu quả Chất lượng thuật toán phụ thuộc nhiềuvào chất lượng của thông tin heuristic, mà điều này thì chúng ta rất khócan thiệp vào

Hệ đàn kiến sẽ đưa ra ba thay đổi chính để cải thiện hiệu suất của hệkiến khi áp dụng vào các bài toán lớn, được trình bày ở phần tiếp theo

2.3.2 Hệ đàn kiến

Hệ đàn kiến (Ant Colony System-ACS) là thuật toán được xây dựng

trên AS dựa trên ý tưởng tăng tầm quan trọng của các thông tin được tíchluỹ bởi các con kiến trước nhằm cải thiện hiệu suất khi áp dụng cho cácbài toán TSP có hướng kích thước lớn (trên 50 thành phố) So với AS,ACS có ba cải tiến sau:

i) Qui tắc chọn thành phố mớicung cấp một cách thức

cân bằng giữa sự khám phá cạnh mới với sự khai thác

độ ưu tiên và thông tin được tích luỹ về bài toán

Trang 30

ii) Qui tắc cập nhật mùi toàn cục(global updating

pheromone rule) được áp dụng chỉ với các cạnh thuộc

về đường đi tốt nhất

iii) Qui tắc cập nhật mùi địa phương(local updating

pheromone rule), được áp dụng trong khi các con kiến

xây dựng một lời giải cho nó

Trong ACS, ở bước lặp t các quy tắc chuyển trạng thái (2.1) và cậpnhật mùi (2.2) thay đổi như sau:

Qui tắ c chuy ển trạ ng thái :

Giả sử con kiến k đang ở đỉnh i, nó chọn đỉnh s tiếp theo nhờ qui tắc:

(2.4)

Ở đây q là một số ngẫu nhiên phân phối đều trong [0,l], q0 là mộttham số (0q01), còn j là đỉnh được chọn theo công thức (2.1) với

=1

Qui tắc chọn thành phố theo công thức (2.1) và (2.4) được gọi là qui

tắc tỉ lệ giả ngẫu nhiên(pseudo-random proportional rule) Theo qui tắc

chọn thành phố mới này, hướng các con kiến di chuyển đến các nút đượcnối với cạnh ngắn có lượng mùi lớn Tham số q0 quyết định mức quantrọng tương quan giữa sự khai thác các đường đi cũ đối với sự khám pháđường đi mới

Trang 31

Cập nhật mùi địa phương:

Trang 32

Trong khi đang xây dựng một lời giải (tức là đường đi) của mình,mỗi con kiến sẽ cập nhật mùi cho cạnh (i, j) mà nó đi qua bằng cách ápdụng qui tắc cập nhật địa phương của công thức (2.5).

n là số đỉnh, Lnnlà chiều dài của một lời giải do một heulistic sinh ra

từ trước (giai đoạn khởi tạo và do (i,j) (i, j) (i, j) nên cứsau mỗi lần cập nhật địa phương i,j lại giảm đi một lượng ((i, j)-

(i, j)) làm giảm đi mức độ "hấp dẫn" của các cạnh được thăm

khiến cho các con kiến sẽ chú ý thăm các cạnh chưa bao giờ đượcthăm, tránh được tình trạng hội tụ tới cùng một đường đi

Ngoài ra ACS sử dụng một cấu trúc dữ liệu gọi là danh sách tuyển

chọn(candidate list-cl), cấu trúc này có nhiệm vụ cung cấp thêm thông tin

heuristic cục bộ cho thủ tục xây dựng lời giải Với một thành phố cho

trước, danh sách này sẽ chứa hữu hạn cl thành phố lân cận được ưu tiên

đến hơn (cl là một tham số của thuật toán) Các con kiến khi đến mộtthành phố bất kì, nó sẽ đọc tuần tự danh sách này từ đầu đến cuối (danhsách được sắp theo thứ tự tăng dần của khoảng cách nối thành phố hiện lạivới thành phố lân cận tương ứng) và chọn thành phố đầu tiên chưa nằmtrong đường đi của nó làm thành phố kế tiếp, khi không có thành phố nàotrong danh sách thỏa mãn tính chất này thì các thành phố bên ngoài danh

Trang 33

sách chưa được thăm sẽ được chọn theo luật chuyển trạng thái Các kếtquả khi chạy ACS trên các bài toán chuẩn được đem so sánh với các siêuheuristic khác đã cho thấy ACS là heuristic tốt nhất về chất lượng lời giảicũng như thời gian thực hiện (có thể không quan trọng vì các heuristickhác có thể thực hiện trên các máy khác nhau và được viết mã chưa tối

Cập nhật mùi toàn cục được áp dụng cho những cạnh (i, j) thuộcđường đi ngắn nhất w*(t) theo công thức :

Trong đó Lgl (t) là độ dài đường đi ngắn nhất w*(t)

2.3.3 Thuật toán hệ kiến Max-Min

Hệ kiến Max-Min (Max-Min Ant System-MMAS) được cải tiến từ

AS bằng cách chỉ cho phép một con kiến tốt nhất cập nhật mùi (con kiến

có hành trình tốt nhất w(t) kể từ khi bắt đầu thuật toán hoặc con kiến cóhành trình tốt nhất w(t) tại bước lặp hiện tại) Để tránh hiện tượng tắc

nghẽn (stagnation): do nồng độ mùi tập trung ở một số cung quá cao nên

các con kiến lựa chọn đi lựa chọn lại các cung đó, MMAS đưa vào hai

Trang 34

cận, cận trên (max ) và cận dưới (min ) để khống chế nồng độ các vếtmùi trên mỗi cung Chính vì vậy thuật toán được gọi là hệ kiến Max-Min về sau các thuật toán ACO có tính chất này cũng gọi là thuật toánMax-Min.

MMAS khống chế nồng độ các vết mùi bằng cách sử dụng cận dưới

Chỉ các cạnh thuộc lời giải tốt nhất toàn cục w*(t) mới được rải thêmmột lượng mùi do chính con kiến tìm ra lời giải đó thực hiện (trong thựcnghiệm lời giải tốt trong vòng lặp hiện tại được rải thêm mùi sẽ tốt hơn vì

nó tăng khả năng khám phá cho các con kiến) Nồng độ mùi trên các cạnh

ít được sử dụng sẽ giảm chậm nhưng trên các cạnh thuộc lời giải tốt vẫnđược gia tăng nên các con kiến vẫn ưa chọn nhiều hơn

Trong hệ kiến Max-Min thủ tục xây dựng lời giải giống như trong

AS còn quy tắc cập nhật mùi thực hiện như sau:

Trang 36

Nhƣợc điểm của thuật toán này là sẽ tập trung vào khai thác các lờigiải tốt tìm đƣợc mà không phân biệt đƣợc các cạnh không dùng đƣợcvới các cạnh dùng đƣợc nhƣng không thuộc lời giải tốt Do đó sẽ hạn chếkhả

năng khám phá nếu chọn min bé, còn nếu chọn

Trang 37

CHƯƠNG 3 PHƯƠNG PHÁP TỐI ƯU HOÁ ĐÀN KIẾN: ACO

3.1 Một số heuristic ACO

Trước khi đi vào chi tiết là phần trình bày sơ qua về sự hình thànhtên gọi của một số heuristic ACO Năm 1991 Marco Dorigo trong luận ántiến sĩ của ông đã đề xuất thuật toán hệ kiến giải bài toán người chàohàng Hầu hết các thuật toán ACO sau này đều phát triển từ hệ kiến Tuynhiên, trong AS có một số nhược điểm như: không có sự hợp tác giữa cáccon kiến, sau một thời gian chạy nồng độ mùi trên các cạnh dần về 0 Đểkhắc phục các nhược điểm của AS, năm 1996 Dorigo cùng vớiV.Maniezzo và A Colorni đã đề xuất thuật toán ACS cũng cho bài toánTSP trên cơ sở mở rộng AS bằng cách thay đổi luật chuyển trạng thái vàcách cập nhật mùi, các cải tiến này đã cải thiện đáng kể hiệu suất của AS

và với các kết quả thực nghiệm đã cho thấy ACS tốt hơn hẳn các thuậttoán khác như luyện kim, di truyền, tiến hóa…tuy nhiên các vết mùi trongACS vẫn dần về 0 mặc dù khả năng hội tụ cao Năm 1997, ThomasStutzle và Holger H Hoos đề xuất hệ kiến Max-Min, là thuật toán đầutiên sử dụng cận trên và cận dưới để khống chế vết mùi, các vết mùikhông bị dần về 0 do đã bị chặn dưới Khi thử nghiệm hệ kiến MAX-MINcác tác giả vẫn thu được các kết quả khả quan tương đương ACS, hệMMAS được ưa dùng hơn vì nó đơn giản, dễ sử dụng

Nhằm mục đích đưa ra một lược đồ làm việc tổng quát cho các thuậttoán kiến, năm 1999 Marco Dorigo, Luca M Gambardella và Gianni DiCao đã đề xuất phương pháp tối ưu hoá đàn kiến: ACO ACO là mộtmeta-heuristic, sẽ trình bày ở phần tiếp theo Trong ACO, hệ kiến, hệ đànkiến, hệ kiến Max-Min có những đặc điểm hoàn toàn khớp với ACO nên

có thể xem chúng là những ứng dụng cụ thể của ACO

Trang 38

Ở phần tiếp theo sẽ trình bày phương pháp tối ưu hóa đàn kiến cholớp bài toán ACOmin, sau đó là cơ sở lý thuyết cho vết mùi của hệMax- Min và đặc tính hội tụ của vết mùi theo quan điểm Max-Min trênhai thuật toán có hiệu suất tốt trong các thuật toán ACO đó là: Hệ đànkiến và hệ kiến Max-Min.

3.2. Meta-heuristic tối ưu hoá đàn kiến (ACO metaheuristic)

Các con kiến nhân tạo được sử dụng trong ACO hợp tác với nhautrong việc tìm các lời giải tốt cho các bài toán tối ưu tổ hợp khó Sự hợptác là một thành phần quan trọng của ACO: đó là sự chọn lựa để phânphối các tài nguyên tính toán cho các con kiến nhân tạo Các con kiến nàytruyền thông một cách gián tiếp bởi stigmergy Các lời giải tốt là một đặctính nổi bật của sự tương tác (bằng cách hợp tác) này

Các con kiến nhân tạo có đặc tính 2 mặt: Mặt thứ nhất, chúng trừutượng các đặc điểm cách tìm đường của các con kiến mà gần như là mấuchốt của cách thức tìm đường đi ngắn nhất được thấy trong các đàn kiếnthực Mặt kia, là những khả năng mà không thể có ở các con kiến thựcnhư có bộ nhớ, rải mùi theo tỷ lệ có thể điều khiển được, các khả năngnày được đưa thêm vào tùy thuộc đặc trưng của bài toán áp dụng nhằmmục đích là để ACO trở thành một cách tiếp cận kỹ thuật (engineering)cho việc thiết kế và thực hiện các hệ thống phần mềm cho các bài toán tối

ưu tổ hợp khó

3.2.1 Bài toán tổng quát

Các thuật toán ACO được áp dụng để giải các bài toán tối ưu tổ hợp,các đặc trưng của lớp các bài toán tối ưu tổ hợp được phát biểu như sau:Xét bài toán cực tiểu hóa (S, f , ) , trong đó S là tập hợp hữu

hạn

trạng thái, f là hàm mục tiêu xác định trên S (với sS có giá trị hàm mục tiêu là f(s)), còn là một tập các ràng buộc để xác định S qua các thành

Trang 39

phần của tập hữu hạn C và các liên kết của tập này Mục tiêu của bài toáncực tiểu hoá là tìm ra một trạng thái tối ưu s*, một trạng thái có giá trị cựctiểu.

Bài toán tối ưu tổ hợp

các đặc tính sau :

(S, f ,

1) Cho một tập hữu hạn gồm n thành phần C = {c1, c2, …, cn} Ta

ký hiệu X là tập các dãy trong C độ dài không

quá h: X={<u0, ,uk>/ uiC i k

nào đó của C và X* theo đặc tính 3

3) Từ C0 mở rộng được thành X* theo thủ tục tuần tự:

a X0=<u0> là mở rộng

b Nếu xk=<u1, ,uk> là mở rộng được thì tồn tại từ

xác định được tập con J(xk) của C sao cho vớimọi uk+1 J(xk) thì xk+1=<u0, ,uk, uk+1> là mở rộngđược và xkX* khi J(xk) là rỗng

c Với mọi u0C0, thủ tục mở rộng nêu trên xây dựngđược mọi phần tử của X* Không giảm tổng quát, ta giảthiết rằng có

tương ứng 1-1 giữa các phần tử trong X* được mở rộng từ mỗi u0 trong C0

Ví dụ: Với bài toán TSP thì S là các chu trình trên đồ thị đầy, f là độ

Trang 40

dài đường đi, là ràng buộc các chu trình qua mọi đỉnh (và mỗi đỉnh đúng một lần) còn C0 là tập các đỉnh của đồ thị.

Ngày đăng: 06/01/2018, 10:18

TỪ KHÓA LIÊN QUAN

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