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

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

69 483 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 69
Dung lượng 743,45 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ác thuậ

Trang 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ên cạ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ích Hương, cô đã tận tình chỉ bảo, hướng dẫn cho em hoàn thành được bản khóa luậ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 đúng hạ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ện củ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ận này

Do thời gian thực hiện không nhiều nên khóa luận không tránh khỏi những thiếu sót Rất mong nhận được sự đóng góp của thầy cô giáo và các bạ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/2012 Ngườ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ải quyết, các thuật toán mô phỏng tự nhiên như luyện kim, di truyền, tiến hóa, hệ kiến tỏ ra có ưu thế hơn Trong một thập kỷ qua các thuật toán ACO 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ợp khó

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ởi Marco Dorigo và các đồng nghiệp năm 1991 Một trong những thành cô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ật toán kiến trước đó như hệ kiến (Ant System-AS), hệ đàn kiến (Ant Conoly System-ACS) Hệ kiến Max-Min là thuật toán đầu tiên đề xuất cập nhật mùi theo tư tưởng Max-Min Năm 1999, nhằm mục đích đưa ra mộ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ài

liệ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ật toá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ên quan 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ật toán kiến nói riêng rất đa dạng và phong phú Do thời gian có hạn em khô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

giao hàng

- Tìm hiểu nội dung thuật toán Hệ kiến, và nghiên cứu về các thuật

toán ACO theo quy tắc cập nhật mùi Max-Min

- Xây dựng thuật toán hệ kiến Max-Min trên cơ sở bài toán Người

giao hàng

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ác thuật toán truyền thống như: quy hoạch động, vét cạn… và trong nghiên cứu khoa học đề tài này sẽ là cơ sở vững chắc để em có thể nghiên cứu cá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ách biể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ạnh nố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ính thứ 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ưa chắc

Trang 11

đã 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ác cung Đồ thị vô hướng cũng có thể coi là đồ thị có hướng nếu như ta coi cạ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ểu rằ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ên thuộc (incident) với đỉnh u và đỉnh v

Có hướng

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

Đơn đồ thị Đa đồ thị

Hình 1.1: Phân loại đồ thị

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ần trong 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 được tí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 sao cho (vi-1,vi) thuộc E ( ) Ta nói đường đi p bao gồm các đỉ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 đỉnh dọ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 E nế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) nếu và khi đó G’ được gọi là đồ thị con cảm ứng (induce)

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ạo thành từ G bằng cách thay đổi mỗi cạnh bằng hai cung có hướng ngược chiề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 (weakly connected) 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ại cạnh nối hai đỉnh thuộc X cũng như không tồn tại cạnh nối hai đỉnh thuộc

 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ông thườ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

Trang 15

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ỗi cặp (u, v) tương ứng với một cung, u là đỉnh đầu và v là đỉnh cuối của cung Danh sách được lưu trong bộ nhớ dưới dạng mảng hoặc danh sách móc nối Ví dụ với đồ thị bên dưới:

Trang 16

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ạn m<6n), cách biểu diễn bằng danh sách cạnh sẽ tiết kiệm được không gian lư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ải duyệ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à danh sá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 ứng vớ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ách cài đặt danh sách kề phổ biến:

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

5

2

1

Trang 17

Cách 1: Dùng một mảng các đỉnh, mảng đó chia làm n đoạn, đoạn thứ 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ử:

Để biết một đoạn thẳng nằm từ chỉ số nào tới chỉ số nào, ta có một mảng Head lưu vị trí riêng Head[i] sẽ bằng chỉ số đứng liền trước đoạn thứ i Quy ước Head[n+1] bằng m Với đồ thị trên thì mảng Head[1 6] sẽ là: (0,3,5,8,10,12)

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 18

Ư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 cho trước là hết sức dễ dàng, cái tên “danh sách kề” đã cho thấy rõ điều nà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ối mộ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

List 4:

List 5:

Trang 19

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án ACO, bắt đầu từ các thí nghiệm sinh học về cách chọn đường đi của các con 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ủa cá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 100 triệ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ều nghiê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ại củ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ác con 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 20

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ược lại Trong thực tế, bằng cách cảm nhận những vết mùi như vậy những con kiến khác có thể tìm đường tới các nguồn thức ăn do những con kiến trướ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ều kiện quan sát được J.L.Deneubourg[19] và các đồng nghiệp đã làm một thí 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

Nguồn thức ăn

Tổ kiến Nguồn thức ăn

Tổ kiến

Nguồn thức ăn

Tổ kiến

Trang 21

Tổ của một đàn kiến với nguồn thức ăn được ngăn bởi một các cầu đôi mà hai nhánh của nó bằng nhau để nghiên cứu sự lưu lại các vệt mùi và hành

vi của chúng Tiếp đó các con kiến được thả và tự do đi lại giữa tổ và nguồn thức ăn và phần trăm số kiến chọn nhánh nào để đi được quan sát theo thời gian Kết quả là sau một giai đoạn ban đầu có sự do dự, trong chốc lát các con kiến có khuynh hướng chọn và hội tụ về cùng một đường

đi

Trong thí nghiệm trên, ban đầu không có mùi trên 2 nhánh, nên các nhá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ánh dưới Bởi vì các con kiến rải mùi trong khi đi, số kiến lớn hơn ở nhánh trê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

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ác nhánh có chiều dài khác và thu được kết quả là theo thời gian dần dần hầu hế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, khi thực nghiệm bắt đầu, hai nhánh cầu đều không có mùi, như vậy lúc đầu các con kiến chọn một trong hai nhánh theo xác suất là như nhau tức là

Tổ kiến

Nhánh dưới Nhánh trên

Thức ăn

Trang 22

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ệt mùi trên hai nhánh cầu Do nhánh ngắn hơn, thời gian con kiến đi sẽ ít hơ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ên nhánh này sẽ nhiều hơn, nên theo thời gian các con kiến sẽ chọn nhánh ngắ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ủa Deneubourg được thay bằng một đồ thị cấu trúc và các vết mùi của con kiế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ài toá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ấp thê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ột hành vi tương tự như hành vi của con kiến thực khi chúng mang thức ăn quay về tổ để lại một lượng mùi tỷ lệ với lượng thức ăn kiếm được)

Trang 23

Mỗi con kiến đơn lẻ chỉ có một sự đóng góp rất nhỏ trongquá trình tìm đường đi Mặc dù một con kiến đơn lẻ về nguyên tắc có khả năng xây dự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 đi ngắn nhất" Cách thức này là một thuộc tính nổi bật (emergent) của đàn kiế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 24

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án nà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ến Max-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 con kiế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ệc trao đổ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 được nghiê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 25

là các cạnh thuộc về nhiều đường đi ngắn là những cạnh nhận lượ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ỗi cạ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 giả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ự theo quy 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 theo với xác suất:

) ( )

( )

(

) (

, ,

, ,

,

i J j

i J j

t t

P

k

k i

J u

u i u i

j i j i k

j i

Thông tin heuristic

ij

 là nghịch đảo của khoảng cách d(i, j), nếu  0 con kiến sẽ lựa chọn đỉnh tiếp theo dựa vào chiến lược “tham

Trang 26

lam”: Cạnh nào ngắn nhất sẽ được ưu tiên chọn trước, nếu 0 sự lựa 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ật trên tất cả các cạnh theo công thức (2.2)

1

) ( )

( ) 1 ( ) 1

1 )

Tham số  được sử dụng để làm bay hơi các vết mùi trên các cạnh

và cho phép lãng quên những cạnh ít sử dụng (các cạnh không thuộc hành trình của con kiến nào sẽ có cường độ mùi giảm rất nhanh theo hà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 sẽ được tăng thêm một lượng là 1/Lk

Nếu (i,j) thuộc chu trình của kiến k ngược lại

Trang 27

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ông qua 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ải tốt Do đó nâng cao chất lượng thuật toán

Nhược điểm:

Giả sử w*(t) là chu trình có độ dài ngắn nhất mà các con kiến tìm được đến lần lặp t thì sau Nc lần lặp w*

(Nc) cho ta lời giải đủ tốt Mặc dù

AS là hữu dụng cho việc khám phá lời giải tốt hoặc tối ưu cho các bài toán TSP nhỏ (tới 30 thành phố), thời gian cần để tìm những kết quả tốt như vậy trên những bài toán lớn đối với AS là khó đạt được Khi số đỉnh lớn thì lượng mùi trên mỗi cạnh không thuộc lời giải tốt nhanh chóng dầ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ều và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ích luỹ 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ác bà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 28

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ập nhậ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:

ij ij N

j i k { ( ) } max

(2.4)

Ở đây q là một số ngẫu nhiên phân phối đều trong [0,l], q0 là một tham 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 được nối với cạnh ngắn có lượng mùi lớn Tham số q0 quyết định mức quan trọ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 29

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 áp dụng qui tắc cập nhật địa phương của công thức (2.5)

) , ( )

đ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ờ được thă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ột thành phố bất kì, nó sẽ đọc tuần tự danh sách này từ đầu đến cuối (danh sá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ại với thành phố lân cận tương ứng) và chọn thành phố đầu tiên chưa nằm trong đường đi của nó làm thành phố kế tiếp, khi không có thành phố nào trong 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 30

sách chưa được thăm sẽ được chọn theo luật chuyển trạng thái Các kết quả khi chạy ACS trên các bài toán chuẩn được đem so sánh với các siêu heuristic khác đã cho thấy ACS là heuristic tốt nhất về chất lượng lời giải cũng như thời gian thực hiện (có thể không quan trọng vì các heuristic khá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 :

)(

1)

1( ,,j    jL gl t

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 31

cận, cận trên (max) và cận dưới (min) để khống chế nồng độ các vết mù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án Max-Min MMAS khống chế nồng độ các vết mùi bằng cách sử dụng cận dưới

min

 có giá trị nhỏ nhất và cận trên có giá trị lớn nhất là max, nghĩa là tất

cả các cạnh ít được con kiến đi qua có xác suất nhỏ nhưng vẫn lớn hơn 0 nhiều lần và hạn chế lựa chọn đi lựa chọn lại một cạnh tốt của các con kiến (cạnh này tập trung mùi mạnh) Điều này làm cho thuật toán tránh được tình trạng tắc nghẽn trong quá trình tìm kiếm, đặc biệt khi số vòng lặp lớn nó sẽ tăng khả năng khám phá cho những con kiến Các vết mùi khi khởi tạo luôn có giá trị lớn nhất cho tất cả các cạnh làm cho luôn đạt được sự bốc mùi mạnh, hấp dẫn các con kiến Sau mỗi lần lặp trên tất cả các cạnh, lượng mùi đều bị bốc hơi theo một tỷ lệ như nhau

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êm một lượng mùi do chính con kiến tìm ra lời giải đó thực hiện (trong thực nghiệ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:

Cập nhật mùi:

ij ij

))((

min

1

ij ij

t w L

Trang 32

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ời giải tốt tìm được mà không phân biệt được các cạnh không dùng được vớ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 minbé, còn nếu chọn min lớn thì thuật toán sẽ gần với tìm kiếm ngẫu nhiên dựa trên thông tin heuristic, nhưng điều này lại giảm khả năng học tăng cường-một ưu điểm trong các thuật toán kiến

Vì vậy chọn tỷ lệ giữa minvà maxảnh hưởng rất nhiều đến hiệu suất của thuật toán

Trang 33

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ành tên gọi của một số heuristic ACO Năm 1991 Marco Dorigo trong luận án tiến sĩ của ông đã đề xuất thuật toán hệ kiến giải bài toán người chào hàng Hầu hết các thuật toán ACO sau này đều phát triển từ hệ kiến Tuy nhiên, trong AS có một số nhược điểm như: không có sự hợp tác giữa các con 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ới V.Maniezzo và A Colorni đã đề xuất thuật toán ACS cũng cho bài toán TSP 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ật toán khác như luyện kim, di truyền, tiến hóa…tuy nhiên các vết mùi trong ACS vẫn dần về 0 mặc dù khả năng hội tụ cao Năm 1997, Thomas Stutzle và Holger H Hoos đề xuất hệ kiến Max-Min, là thuật toán đầu tiê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ùi không bị dần về 0 do đã bị chặn dưới Khi thử nghiệm hệ kiến MAX-MIN cá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ật toán kiến, năm 1999 Marco Dorigo, Luca M Gambardella và Gianni Di Cao đã đề xuất phương pháp tối ưu hoá đàn kiến: ACO ACO là một meta-heuristic, sẽ trình bày ở phần tiếp theo Trong ACO, hệ kiến, hệ đàn kiế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 34

Ở phần tiếp theo sẽ trình bày phương pháp tối ưu hóa đàn kiến cho lớ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ên hai thuật toán có hiệu suất tốt trong các thuật toán ACO đó là: Hệ đàn kiế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 nhau trong 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ợp tác là một thành phần quan trọng của ACO: đó là sự chọn lựa để phân phố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ày truyề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 đặc tí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ừu tượng các đặc điểm cách tìm đường của các con kiến mà gần như là mấu chốt của cách thức tìm đường đi ngắn nhất được thấy trong các đàn kiến thực Mặt kia, là những khả năng mà không thể có ở các con kiến thực như có bộ nhớ, rải mùi theo tỷ lệ có thể điều khiển được, các khả năng này được đưa thêm vào tùy thuộc đặc trưng của bài toán áp dụng nhằm mụ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

Ngày đăng: 09/11/2015, 14:04

HÌNH ẢNH LIÊN QUAN

Hình 1.1: Phân loại đồ thị - Tìm hiểu và nghiên cứu thuật toán hệ kiến max   min
Hình 1.1 Phân loại đồ thị (Trang 11)
Hình 1: Cách tìm đường đi của kiến - Tìm hiểu và nghiên cứu thuật toán hệ kiến max   min
Hình 1 Cách tìm đường đi của kiến (Trang 20)
Hình 2: Mô hình thí nghiệm cầu đôi 2 nhánh dài bằng nhau - Tìm hiểu và nghiên cứu thuật toán hệ kiến max   min
Hình 2 Mô hình thí nghiệm cầu đôi 2 nhánh dài bằng nhau (Trang 21)
Hình 3: Thí nghiệm cầu đôi. - Tìm hiểu và nghiên cứu thuật toán hệ kiến max   min
Hình 3 Thí nghiệm cầu đôi (Trang 22)
Hình 4: Lược đồ tổng quát của thuật toán ACO. - Tìm hiểu và nghiên cứu thuật toán hệ kiến max   min
Hình 4 Lược đồ tổng quát của thuật toán ACO (Trang 37)

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