1. Trang chủ
  2. » Công Nghệ Thông Tin

Thuật toán trình bày kiến giải bài toán cây khung chi phí lộ trình nhỏ nhất

65 253 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 65
Dung lượng 1,38 MB

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

Nội dung

Trong đồ án này chúng ta sẽ trình bày về nghiên cứu áp dụng giải thuật kiến nhằm giải quyết bài toán MRCT và so sánh kết quả thu được với một số phương pháp trước đây.. CHƯƠNG 1 GIỚI THI

Trang 2

LỜI CAM ĐOAN

Tôi Trần Thị Kim Hương cam kết luận văn tốt nghiệp là kết quả nghiên cứu của bản thân tôi dưới sự hướng dẫn của PGS.TS Nguyễn Đức Nghĩa

Các kết quả nêu trong luận văn tốt nghiệp là trung thực, không phải là sao chép toàn văn của bất kỳ công trình nào khác

Trang 3

LỜI CẢM ƠN

Lời đầu tiên em xin bày tỏ lòng biết ơn sâu sắc tới thầy giáo Nguyễn Đức

Nghĩa, thầy đã tận tình hướng dẫn em hoàn thành luận văn tốt nghiệp này

Em xin bày tỏ lòng biết ơn tới các thầy, cô giáo trong viện đào tạo sau đại học, trường Đại học Bách Khoa Hà Nội Các thầy cô đã dạy bảo, chỉ dẫn em và luôn tạo điều kiện tốt nhất cho em học tập trong suốt những năm học tập tại trường

Trần Thị Kim Hương

Trang 4

TÓM TẮT

Bài toán Xây dựng cây khung chi phí lộ trình nhỏ nhất (Minimum Routing

Cost Spanning Tree - MRCT) là một trong các bài toán quen thuộc trong lĩnh vực thiết kế mạng Kết quả của bài toán có thể được áp dụng rất nhiều trong việc xây dựng các hệ thống mạng nhằm tối ưu chi phí đường đi trung bình giữa các nút mạng, đặc biệt là ở các mạng ngang hàng khi các nút có xác suất truyền tin, độ ưu tiên là như nhau

Bài toán đã được chứng minh là thuộc lớp NP-hard nên vì thế cho đến nay người ta vẫn chưa tìm được một thuật giải có độ phức tạp đa thức cho bài toán này Các phương pháp được đưa ra chủ yếu là sử dụng các thuật toán đánh giá xấp xỉ với những cận dưới về độ tốt của kết quả

Gần đây một phương pháp đang nổi lên và thu hút được nhiều chú ý trong việc giải quyết các bài toán tối ưu là hệ thống giải thuật bầy kiến (Ant Colony Optimization) Giải thuật này mô phỏng hành vi của kiến dò đường trong tự nhiên

để tạo ra các kiến nhân tạo với những hành vi tương tự nhằm áp dụng cho các bài toán tối ưu

Trong đồ án này chúng ta sẽ trình bày về nghiên cứu áp dụng giải thuật kiến nhằm giải quyết bài toán MRCT và so sánh kết quả thu được với một số phương pháp trước đây Bên cạnh đó, chúng ta còn tiến hành phân tích những khía cạnh của giải thuật kiến trong bài toán MRCT

Trang 5

MỤC LỤC LỜI CAM ĐOAN

LỜI CẢM ƠN

TÓM TẮT

MỤC LỤC

DANH MỤC HÌNH VẼ

CHƯƠNG 1 GIỚI THIỆU BÀI TOÁN 1

1.1 Phát biểu bài toán 1

1.2 Tổng quan về các thuật toán giải 3

1.2.1 Các thuật toán xấp xỉ 3

1.2.2 Các thuật toán tìm kiếm 5

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 8

2.1 Đồ thị và cây khung 8

2.1.1 Đồ thị 8

2.1.2 Cây và cây khung của đồ thị 11

2.2 Thuật giải kiến 12

2.2.1 Từ kiến thật tới kiến nhân tạo 13

2.2.2 Hành vi kiếm mồi của kiến và tối ưu hóa 14

2.2.3 Thí nghiệm hai cầu 14

2.2.4 Sự bay hơi của mùi 18

2.2.5 Mô hình xác suất thống kê 19

2.2.6 Tới kiến nhân tạo 21

2.2.7 Kiến nhân tạo và bài toán đường đi có trọng số nhỏ nhất 24

2.2.8 S-ACO 27

2.2.9 Một số thuật toán ACO thông dụng 32

CHƯƠNG 3 GIẢI THUẬT KIẾN CHO BÀI TOÁN MRCT 40

3.1 Quá trình dò đường của kiến 40

3.2 Hàm dò đường cho kiến 40

Trang 6

3.3 Tham số ∝, động 42

3.4 Cập nhật mùi 43

3.5 Bay hơi mùi 44

3.6 Lựa chọn và 44

CHƯƠNG 4 CÀI ĐẶT VÀ THỬ NGHIỆM 49

4.1 Mô tả chương trình 49

4.1.1 Đầu vào và đầu ra của chương trình 49

4.1.2 Các mô đun chính trong chương trình 50

4.2 Thử nghiệm 51

4.2.1 Giới thiệu bộ dữ liệu 51

4.2.2 Xác định thông số ∝, 51

4.2.3 Kết quả thử nghiệm 53

TỔNG KẾT 56

TÀI LIỆU THAM KHẢO 57

Trang 7

DANH MỤC HÌNH VẼ

Hình 1 Ví dụ về cây khung chi phí lộ trình nhỏ nhất 2

Hình 2 Ví dụ một đồ thị vô hướng có trọng số 9

Hình 3 Hai nhánh cầu có cùng độ dài 16

Hình 4 Kết quả thí nghiệm với 2 nhánh có cùng độ dài 16

Hình 5 Hai nhánh có độ dài khác nhau = 2 17

Hình 6 Kết quả thí nghiệm khi 2 nhánh có độ dài khác nhau 17

Hình 7.Thí nghiệm 3, ban đầu chỉ nhánh dài được lắp vào 18

Hình 8 Kết quả thí nghiệm 3 19

Hình 9 Kết quả 1000 lần thử sử dụng Monte Carlo 21

Hình 10 Mô hình thí nghiệm ở hình 5 22

Hình 11 Kết quả mô phỏng mô hình (1.4) và (1.7) 24

Hình 12 Kiến xây dựng đường đi từ tổ tới chỗ thức ăn 25

Hình 13 Minh họa quá trình loại bỏ chu trình 29

Hình 14 Kết quả của thuật toán với α= 2, β ∈ [0, 200]……… 51

Trang 8

CHƯƠNG 1 GIỚI THIỆU BÀI TOÁN

1.1 Phát biểu bài toán

Bài toán xây dựng cây khung chi phí lộ trình nhỏ nhất (Minimum Routing

Cost Spanning Tree – MRCT) là một bài toán kinh điển trong lĩnh vực thiết kế

mạng: Cho đồ thị vô hướng liên thông với trọng số không âm được gán cho các cạnh Mục tiêu đặt ra là: Tìm cây khung của đồ thị với độ dài trung bình giữa cặp đỉnh bất trên cây khung là nhỏ nhất Độ dài đường đi giữa 2 đỉnh được tính bằng tổng trọng số của các cạnh trên đường đi nối giữa 2 đỉnh này với nhau Việc tối thiểu độ dài trung bình cũng tương đương với việc tối thiểu tổng độ dài giữa tất cả các cặp đỉnh trên đồ thị Và do đó việc xây dựng cây khung sao cho độ dài trung bình giữa mọi cặp đỉnh là nhỏ nhất cũng chính là xây dựng cây khung chi phí lộ trình nhỏ nhất

Chi phí lộ trình cho một cặp đỉnh trong cây khung đã cho được định nghĩa là tổng chi phí của các cạnh kết nối cặp đó Tổng chi phí của cây khung đó chính là tổng chi phí của tất cả các cặp đỉnh trong cây này:

( ) = ∑ , ( , )Trong đó ( , ) là khoảng cách giữa hai đỉnh u và trên cây khung T Cây khung chi phí lộ trình nhỏ nhất là cây khung có chi phí lộ trình nhỏ nhất trong tất cả các cây khung của đồ thị đã cho

Để tính chi phí lộ trình của một cây khung, chúng ta không nhất thiết phải liệt kê mọi đường đi có thể trong từng cây khung Thay vì đó, chi phí lộ trình của có thể được tính toán một cách dễ dàng hơn bằng cách tính số đường đi qua từng cạnh của cây khung, sau đó tính tổng của kết quả số đường đi này và trọng số cạnh tương tứng cho mỗi cạnh Nói cách khác, cho một đồ thị vô hướng, liên thông = ( , ),

Trang 9

trong đó là tập các đỉnh, là tập các cạnh với tập trọng số không âm trên các cạnh Cây khung chi phí lộ trình nhỏ nhất là cây khung có:

nhỏ nhất

Trong đó, là số đường đi qua cạnh trong cây khung có thể được xác định bằng cách tính tích của số đỉnh trong hai phần của cây khung khi chúng ta loại cạnh khỏi cây khung Do đó, tổng số đường đi chứa cạnh e sẽ là tích của số đỉnh trong một phần và số đỉnh trong phần còn lại

1 Ví dụ về cây khung chi phí lộ trình nhỏ nhất

Trong hình 1 ở trên là một đồ thị vô hướng với trọng số thực không âm trên các cạnh Các cạnh được tô đậm biểu diễn một cây khung chi phí lộ trình nhỏ nhất của đồ thị Chi phí từ đỉnh 1 đi tới các đỉnh {2, 3, 4, 5} trên cây khung lần lượt là {2, 3, 3, 6}, tổng chi phí từ đỉnh 1 tới các đỉnh khác sẽ là 2+3+3+6 = 14, tương tự tổng chi phí từ đỉnh 2 đi tới các đỉnh khác là 20, của đỉnh 3 là 23, của đỉnh

4 là 17 và cuối cùng của đỉnh 5 là 26 Như vậy chi phí lộ trình của cây khung là 14+20+23+17+26 = 100 Đây cũng là cây khung có chi phí lộ trình nhỏ nhất mà ta

có thể xây dựng được

Bài toán cây khung chi phí lộ trình nhỏ nhất có một số ứng dụng trong lĩnh vực thiết kế mạng truyền thông [1] trong đó chi phí cạnh biểu diễn độ trễ trong lộ truyền thông điệp giữa hai điểm trong mạng và do đó chúng ta cần phải tìm ra một

Trang 10

cây khung tối thiểu độ trễ truyền thông trung bình giữa hai cặp đỉnh bất kì trong cây khung Độ trễ giữa hai cặp đỉnh bất kì là tổng trọng số của tất cả các cạnh trên một đường đi duy nhất kết nối hai đỉnh đó Việc tối thiểu độ trễ trung bình cũng tương đương với việc tối thiểu tổng độ trễ giữa tất cả các cặp đỉnh Và do đó, vấn đề này chính là vấn đề của bài toán cây khung chi phí lộ trình nhỏ nhất

Vấn đề này đã thu được những kết quả quan trọng trong các mạng máy tính không đồng nhất, mà ở đó các mạng con khác nhau được kết nối với nhau bởi các cầu (cầu được chèn vào giữa một mạng, phân nhỏ mạng thành các các mạng con và giữ cho lưu lượng thông tin nội bộ của mỗi mạng con lưu thông trong phạm vi được phân định chứ không tràn lan ra mọi nơi mọi chỗ làm ảnh hưởng đến hiệu suất của mạng Do vậy, cầu được sử dụng để phân chia mạng nhằm mục đích: hạn chế việc lưu thông lộn xộn của các gói tin trên mạng, tăng cường độ bảo mật và an toàn của mạng) Cầu sẽ điều khiển giao thức mạng hoạt động trên dạng một cây khung

Ngoài ra, bài toán cây khung chi phí lộ trình nhỏ nhất cũng được ứng dụng trong các vấn đề sắp xếp chuỗi trong sinh vật tính toán [1]

1.2 Tổng quan về các thuật toán giải

1.2.1 Các thuật toán xấp xỉ

Bài toán MRCT được biết đến là một bài toán thuộc lớp NP khó [1] Chính

vì vậy, hầu hết các thuật toán để giải bài toán này đều là các thuật toán xấp xỉ

Thuật toán xấp xỉ nhanh nhất được biết đến được đưa ra bởi Wu [2] Wu và các cộng sự đã chứng minh được rằng bài toán xây dựng cây MRCT trên đồ thị có trọng số không âm tổng quát tương đương với việc giải bài toán này trên đồ thị đầy

đủ mà trong đó các cạnh của đồ thị tuân theo bất đẳng thức tam giác (còn gọi là đồ

thị đầy đủ dạng metric) Đối với các đồ thị dạng metric họ còn đưa ra được một cơ

chế xấp xỉ gọi là cơ chế xấp xỉ thời gian đa thức (Polynomial Time Approximation

Scheme - PTAS) Sử dụng cơ chế này của họ thì ta thu được một cây khung với chi

phí lộ trình có độ tốt xấp xỉ là (1 + ) lần chi phí lộ trình của cây khung tối ưu, với

Trang 11

là độ tốt mà ta mong muốn Độ phức tạp tính toán của cơ chế này là ( )

Ví dụ nếu ta muốn thu được cây khung với độ tốt không quá 2 lần độ tốt của cây khung tối ưu ( = 1) thì ta có thể tính toán được trong thời gian là ( ) Như vậy đầu tiên ta phải biến đổi được đồ thị ban đầu về dạng đồ thị có dạng metric sau đó

sử dụng cơ chế PTAS để thực hiện tìm kiếm lời giải Cuối cùng sau khi tìm được lời giải ta sẽ biến đổi lại về đồ thị ban đầu Tuy nhiên trong thực tế, trọng số của các cạnh có thể không tuân theo bất đẳng thức tam giác vì thường xảy ra các trường hợp

mà đường đi trực tiếp giữa 2 đỉnh của đồ thị có trọng số lớn hơn đường đi gián tiếp thông qua một số đỉnh trung gian khác và việc biến đổi cũng không phải dễ dàng Chính vì lẽ đó mà thuật toán này nhìn chung không có tính thực tiễn và cũng không được đánh giá cao

Thuật toán xấp xỉ cho trường hợp tổng quát có thời gian tính toán nhanh nhất cho tới nay là thuật toán được đề xuất bởi Wong [3] Thuật toán của Wong tiến hành xây dựng cây đường đi ngắn nhất (Shortest Paths Tree - SPT) với là số đỉnh của đồ thị, và chọn ra cây có chi phí lộ trình nhỏ nhất Để xây dựng được các cây đường đi ngắn nhất thì Wong sử dụng một số thuật toán tìm đường đi ngắn nhất

như thuật toán Dijkstra tại mỗi đỉnh, sau đó tiến hành truy vết sẽ cho ra cây SPT

có gốc tương ứng tại đỉnh Khi đó tiến hành tính toán chi phí lộ trình của các cây SPT và ta sẽ chọn cây SPT có chi phí lộ trình thấp nhất Độ phức tạp tính toán của thuật toán là ( ( ) + ∙ ) Kết quả thu được là một cây khung có chi phí

lộ trình khá tốt, không quá 2 lần chi phí lộ trình của cây khung tối ưu Tuy nhiên, do thuật toán đòi hỏi xây dựng cây SPT và tính toán chi phí lộ trình của chúng nên công việc này đòi hỏi thời gian tính toán không nhỏ Điều này thể hiện nhược điểm chính của thuật toán này

Gần đây Grout [4] đã xây dựng một thuật toán xấp xỉ dựa trên phương pháp

tham lam để giải bài toán MRCT gọi là thuật toán Add cho ra kết quả rất tốt trên các

đồ thị đồng nhất (đồ thị đồng nhất là đồ thị mà trọng số của các cạnh là bằng nhau)

và có độ phức tạp tính toán thấp hơn so với thuật toán của Wong Tư tưởng chủ đạo

Trang 12

của thuật toán này là dựa trên giả định rằng một cây khung sẽ có chi phí lộ trình thấp nếu nó có càng nhiều nút lá càng tốt Vì vậy thuật toán chủ yếu xoay quanh việc xây dựng cây khung với nhiều nút lá nhất có thể Mặc dù thuật toán không đưa

ra được một đánh giá nào về cận dưới hay cận trên cho kết quả thu được nhưng khi

áp dụng trong thực tiễn thì thuật toán cho ra kết quả khá tốt Nhược điểm chính của thuật toán này là đối với các đồ thị không đồng nhất, nó cho ra kết quả khá tồi

Dựa trên thuật toán Add của Grout, Campos và các cộng sự [5] đã xây dựng một thuật toán xấp xỉ mới gọi là thuật toán Campos.Thuật toán này cho ra kết quả

tương đối tốt trên cả đồ thị đồng nhất lẫn không đồng nhất Thuật toán này bên cạnh

mô hình thuật toán Add còn áp dụng phân tích của Mieghem [6] rằng cây khung tối

ưu thu được trong nhiều trường hợp gần với cây khung có trọng số cực tiểu

(Minimum Spanning Tree – MST) Đây cũng là một trong những thuật toán xấp xỉ

có độ phức tạp đa thức tốt nhất hiện nay và đảm bảo kết quả thu được có độ tốt tương đương với thuật toán của Wong

1.2.2 Các thuật toán tìm kiếm

Các thuật toán xấp xỉ để giải quyết bài toán MRCT đã mang lại những kết quả tối ưu, nhưng các giải pháp thu được qua những thuật toán này trong nhiều vấn

đề lại không thể so sánh được với các giải pháp được cung cấp bởi các kĩ thuật metaheristic (siêu tìm kiếm) Do đó trong nhiều vấn đề, việc sử dụng những thuật toán xấp xỉ này không phù hợp trong các môi trường động và không cho kết quả nhanh và chính xác bằng các giải pháp sử dụng kĩ thuật metaheuristic

Trong số các cách tiếp cận gần đúng, Julstrom [7] đã đề xuất hai thuật toán di truyền và một thuật toán leo đồi để giải bài toán MRCT Một thuật toán di truyền sử dụng mã Blob để biểu diễn cây khung Thuật toán di truyền còn lại là thuật toán di truyền mã hóa tập cạnh, nó biểu diễn cây khung bởi tập các cạnh của nó Thuật toán

di truyền này sử dụng toán tử lai ghép dựa trên thuật toán Kruskal để tìm ra cây khung chi phí lộ trình tối thiểu Còn toán tử đột biến với xác suất nhỏ sẽ thay thế mỗi cạnh bằng một cạnh được chọn lựa ngẫu nhiên để kết nối hai phần cây được tạo

Trang 13

ra bởi việc xóa đi cạnh muốn thay thế trong cây khung ban đầu Còn thuật toán di truyền mã hóa Blob sử dụng toán tử lai ghép hai đỉnh và toán tử đột biến từng đỉnh Tuy nhiên, thuật toán di truyền mã hóa Blob yêu cầu một bộ giải mã để biến đổi mã ban đầu thành cây khung Với thuật toán leo đồi, bắt đầu từ một giải pháp ngẫu nhiên ban đầu, thuật toán leo đồi tạo ra một giải pháp mới khác với giải pháp cũ chỉ bởi một cạnh Nếu giải pháp mới này tốt hơn giải pháp hiện tại thì nó sẽ trở thành giải pháp hiện tại, ngược lại nó sẽ bị loại bỏ Toàn bộ quá trình này sẽ được lặp đi lặp lại Các kết quả thực nghiệm cho thấy, thuật toán leo đồi cho kết quả tốt nhất trong ba thuật toán Còn thuật toán di truyền mã hóa Blob cho ra kết quả nhanh nhất

Singh [10] đã đề xuất một thuật toán tìm kiếm cục bộ (perturbation – based local search (PB-LS) mã hóa một cây khung bởi tập các cạnh của nó Bắt đầu từ một giải pháp ban đầu của MRCT, PB-LS sẽ tạo ra một giải pháp mới bằng cách áp dụng giải thuật tìm kiếm cục bộ Giải thuật tìm kiếm cục bộ này sẽ xóa một cạnh bất kì để tạo ra hai cây con từ cây khung ban đầu, sau đó thử tất cả các cạnh có thể

để kết nối hai cây con đó lại thành một cây khung khác Cạnh kết nối này sẽ mang cho ra một cây khung chi phí lộ trình nhỏ nhất từ giải pháp ban đầu Nếu giải pháp mới này cho ra kết quả tốt hơn giải pháp hiện tại, nó sẽ trở thành giải pháp hiện tại mới Ngược lại, sau một vài bước lặp, nếu giải pháp mới cho ra kết quả tồi hơn, giải thuật sẽ loại bỏ hoặc chèn và chèn thêm một số cạnh vào cây khung để tạo ra một cây khung mới cho giải pháp hiện tại Toàn bộ quá trình được lặp đi lặp lại với số vòng lặp xác định Giải thuật tìm kiếm cục bộ trong thuật toán PB-LS xóa ngẫu

nhiên một cạnh từ cây khung và sau đó thử tất cả các cạnh có thể trong đồ thị G để

kết nối hai phần cây bị tách ra bởi việc xóa đi cạnh của cây khung đó Cạnh tạo ra cây khung với chi phí lộ trình lộ trình nhỏ nhất được đánh dấu trong cây khung Cạnh này sẽ không được xóa đi trong vòng lặp tiếp theo bởi vì nó là cạnh tốt nhất

để kết nối hai phần cây khung tại bước lặp đó

Trang 14

Gần đây, Singh [11] đã đưa ra một hướng tiếp cận dựa trên thuật toán bầy ong nhân tạo (artificial bee colony – ABC) để giải bài toán MRCT Kết quả tối ưu thu được bởi thuật toán ABC được cải tiến thêm bằng việc sử dụng thuật toán tìm kiếm cục bộ Giải thuật này đã thu được kết quả tốt hơn so với bốn giải thuật đã nêu ở trên

Trang 15

Đồ thị được sử dụng để giải các bài toán trong nhiều lĩnh vực khác nhau Chẳng hạn đồ thị có thể sử dụng để xác định các mạch vòng trong vấn đề giải tích mạch điện Chúng ta có thể phân biệt các hợp chất hóa học hữu cơ khác nhau với cùng công thức phân tử nhưng khác nhau về cấu trúc phân tử nhờ đồ thị Chúng ta

có thể xác định xem hai máy tính trong mạng có thể trao đổi thông tin được với nhau hay không nhờ mô hình của đồ thị mạng máy tính Đồ thị có trọng số trên các cạnh có thể sử dụng để giải các bài toán như: Tìm đường đi ngắn nhất giữa hai thành phố trọng một mạng giao thông Chúng ta còn sử dụng đồ thị để giải các bài toán về lập lịch, thời khóa biểu, và phân bố tần số cho các trạm phát thanh và truyền hình…

Đồ thị là một cấu trúc rời rạc bao gồm các đỉnh và các cạnh nối các đỉnh này Chúng ta phân biệt các loại đồ thị khác nhau bởi kiểu và số lượng cạnh nối hai đỉnh nào đó của đồ thị Trong lĩnh vực lý thuyết đồ thị, một đồ thị bất kỳ có thể là đơn đồ thị hay đa đồ thị, có hướng hay vô hướng, có trọng số hay không có trọng số và cũng có thể là một dạng kết hợp nào đó

Trang 16

Đơn đồ thị vô hướng bao gồm là tập các đỉnh, là tập các cặp không có thứ tự gồm hai phần tử khác nhau của gọi là các cạnh

Đa đồ thị vô hướng bao gồm là tập các đỉnh, và là họ các cặp không có thứ tự gồm hai phần tử khác nhau của gọi là các cạnh Hai cạnh và được gọi là cạnh lặp nếu chúng cùng tương ứng với một cặp đỉnh

Đơn đồ thị có hướng bao gồm là tập các đỉnh, là tập các cặp

có thứ tự gồm hai phần tử khác nhau của gọi là các cung

Đa đồ thị có hướng bao gồm là tập các đỉnh, và là họ các cặp

có thứ tự gồm hai phần tử khác nhau của gọi là các cung Hai cung và tương ứng với cùng một cặp đỉnh được gọi là cung lặp

Ở đây ta sẽ chỉ xem xét tới các đơn đồ thị vô hướng có trọng số gọi tắt là đồ thị vô hướng có trọng số Trong hình 2 dưới đây minh họa một đồ thị vô hướng có trọng số

2 Ví dụ một đồ thị vô hướng có trọng số Các hình tròn mô tả các đỉnh của đồ thị, các đoạn thẳng mô tả các cạnh của

đồ thị và những số bên cạnh các đoạn thẳng là trọng số tương ứng của cạnh đó

Một cách chính xác, đồ thị vô hướng có trọng số được định nghĩa là một tập các đỉnh kết nối với nhau bởi tập cạnh với tập trọng số cho các cạnh của đồ thị cho biết trọng số của cạnh ( và là một số

Trang 17

nguyên không âm Số lượng đỉnh trong đồ thị là = | | và số lượng cạnh là

Bậc của đỉnh trong đồ thị vô hướng là số cạnh liên thuộc với nó và kí hiệu là deg ( ) Ví dụ trong hình 2 thì đỉnh 2 có bậc deg (2) = 3 Một đồ thị mà tất

cả các đỉnh đều có bậc − 1 được gọi là đồ thị đầy đủ

Đường đi độ dài từ đỉnh đến đỉnh , trong đó là số nguyên dương, trên

đồ thị vô hướng = ( , ) là dãy:

, , … , , Trong đó = , = , ( , ) ∈ , = 0, 1, 2, …, − 1

Đường đi nói trên còn có thể biểu diễn dưới dạng dãy các cạnh:

( , ), ( , ), …, ( , )

Đỉnh được gọi là đỉnh đầu, còn đỉnh được gọi là đỉnh cuối của đường đi Trọng số của đường đi từ → , ( , ) tương ứng bằng tổng trọng số của các cạnh trên đường đi Trong hình 1 ở trên, dãy {1, 2, 5, 3, 6} là một đường đi từ đỉnh 1 tới đỉnh 6 và (1, 6) = 10+1+10+5 = 26

Đường đi có đỉnh đầu trùng với đỉnh cuối (tức là = được gọi là chu trình Trong hình 1 ở trên, dãy {1, 2, 5, 3, 1} là một chu trình

Một đồ thị có trọng số trên các cạnh thỏa mãn bất đẳng thức tam giác:

( , ) ≤ ( , ) + ( , ), ∀ ,

Trang 18

được gọi là đồ thị dạng metric Như vậy nếu đồ thị là đồ thị metric thì đường đi trực tiếp giữa 2 đỉnh và bao giờ cũng là đường đi có trọng số nhỏ nhất

2.1.2 Cây và cây khung của đồ thị

Đồ thị vô hướng liên thông không có chu trình được gọi là cây Khái niệm cây lần đầu tiên được Cayley đưa ra vào năm 1857, khi ông sử dụng chúng để đếm một số dạng cấu trúc phân tử của các hợp chất hóa học trong hóa học hữu cơ Cây còn được sử dụng rộng rãi trong nhiều lĩnh vực khác nhau, đặc biệt trong tin học, cây được sử dụng để xây dựng các thuật toán tổ chức các thư mục, các thuật toán cất giữ, truyền dữ liệu và tìm kiếm

Trong lý thuyết đồ thị, ta định nghĩa cây là một đồ thị vô hướng liên thông không có chu trình Giữa 2 đỉnh bất kỳ trong cây chỉ tồn tại duy nhất 1 đường đi đơn và số lượng cạnh của cây là − 1

Ví dụ trong hình 2, nếu hai cạnh (1, 2) và (2, 4) được bỏ đi thì chúng ta thu được một cây

Ta gọi cây khung của đồ thị = ( , , ) là một đồ thị con vô hướng liên thông của chứa tất cả các đỉnh của và có | |− 1 cạnh

Trọng số giữa đỉnh nguồn và một đỉnh nào đó, với , ∈ , được định nghĩa là ( , ) tương ứng là trọng số đường đi giữa và trên cây

Trang 19

Một cây đường đi ngắn nhất (Shortest Paths Tree - SPT) có gốc tại 1 đỉnh

nào đó, thường được nhắc đến trong lĩnh vực định tuyến trên mạng, là một cây kết hợp giữa các đường đi ngắn nhất từ đỉnh tới tất cả các đỉnh khác thuộc đồ thị sao cho:

( , ) = min ( ( , ) )

Một cây khung có chi phí lộ trình nhỏ nhất (Minimum Routing Cost Tree –

MRCT) là cây khung thỏa mãn:

( ) = min ( ( , ), ≠ )

Các cây SPT, MRCT không phải là duy nhất Trên đồ thị có thể có nhiều cây SPT và MRCT

2.2 Thuật giải kiến

Loài kiến với những biểu hiện hành vi mang tính xã hội rất phức tạp và điều

đó đã thu hút sự chú ý của con người từ rất lâu Có lẽ một trong các hành động đáng chú ý nhất của chúng đó là luôn đi theo hàng ngũ Chắc hẳn ai trong chúng ta thời niên thiếu cũng đã từng giẫm chân lên đàn kiến đang đi hoặc đặt vài viên đá, gạch

để chặn đường đi của chúng hoặc đơn giản chỉ là muốn xem chúng phản ứng như thế nào trước chướng ngại vật Chúng ta cũng thường băn khoăn tự hỏi không biết những con đường này dẫn tới đâu hoặc đơn giản hơn là làm thế nào mà chúng có thể đi thẳng hàng như vậy Khi chúng ta lớn lên, chúng ta ít thắc mắc dần đi và các câu hỏi như vậy thường rơi vào quên lãng Tuy nhiên ở các trường Đại Học, có rất nhiều những nhà nghiên cứu, chủ yếu là những nhà sinh vật học, vẫn đang tìm tòi

và nghiên cứu chi tiết hơn những biểu hiện hành vi của loài kiến

Một trong những mô hình hành vi đáng ngạc nhiên nhất của loài kiến đó là khả năng của một số loài kiến trong việc tìm đường đi ngắn nhất Các nhà sinh vật học đã chứng minh bằng thực nghiệm rằng điều này là hoàn toàn có thực dựa trên

việc sử dụng giao tiếp bằng mùi (pheromone), một chất lỏng được các con kiến tiết

Trang 20

ra và dùng để đánh hơi, giữa các con kiến Và chính đặc tính này của kiến đã khơi nguồn ý tưởng cho các nhà khoa học máy tính phát triển các thuật toán tìm lời giải cho của các bài toán tối ưu Những kết quả đầu tiên của những nghiên cứu này đã xuất hiện rất sớm từ những năm 90 của thế kỷ trước Mặc dù kết quả của chúng khi

đó chưa được đánh giá cao lắm nhưng điều quan trọng là nó đã cho chúng ta thấy hoàn toàn có thể áp dụng mô hình này vào trong các bài toán tối ưu Kể từ đó, số lượng nghiên cứu về thuộc tính của đàn kiến ngày càng tăng và giải thuật tối ưu bầy kiến (Ant Colony Optimization - ACO) ra đời cũng là một trong các kết quả của những nghiên cứu đó

Trên thực tế, các giải thuật ACO là một trong những thuật toán thành công

và được biết đến rộng rãi trong số các thuật toán mô phỏng hành vi Thành công của các thuật toán này được minh chứng rõ nhất qua một loạt các bài toán được áp dụng chúng và hơn nữa nhiều kết quả thu được còn nằm trong top các kết quả tối ưu nhất

2.2.1 Từ kiến thật tới kiến nhân tạo

Bầy kiến, hay nói chính xác hơn là xã hội của loài kiến, là một loạt các hệ thống phân tán thể hiện một hình thái cấu trúc tổ chức xã hội rất cao mặc dù mỗi con kiến chỉ là một sinh vật nhỏ bé và đơn giản Chính nhờ hệ thống tổ chức như vậy nên bầy kiến có thể thực hiện được nhiều công việc phức tạp mà một cá thể bình thường không thể làm được Các nghiên cứu hiện nay về thuật toán mô phỏng

mô hình kiến đều dựa vào sự quan sát các đàn kiến trên thực tế và người ta đã sử dụng các kết quả này để thiết kế các thuật toán cho một số bài toán tối ưu

Ý tưởng chính của các thuật toán này đều nằm ở các cơ chế tự tổ chức organizing) cho phép những hành vi của con kiến thật được mô phỏng chính xác trên các con kiến nhân tạo nhằm xây dựng và đưa ra lời giải tối ưu cho các bài toán tính toán Trong các nghiên cứu hiện nay thì có một vài hành vi của bầy kiến đã được sử dụng để làm ý tưởng cốt lõi cho một số thuật toán, ví dụ như tìm thức ăn, phân chia lao động, phân loại trứng hay hợp tác vận chuyển Trong tất cả các ví dụ

(self-trên thì các con kiến đều điều hướng hoạt động của mình qua mùi, một cơ chế giao

Trang 21

tiếp gián tiếp thông qua việc tác động lên môi trường Ví dụ một con kiến đi tìm thức ăn sẽ tiết ra hóa chất trên mặt đất để nâng cao xác suất các con kiến khác cũng

sẽ đi theo lối đó Các nhà sinh vật học đã chỉ ra rằng các loài côn trùng với hình

thái tổ chức xã hội cao cũng chỉ sử dụng các mô hình giao tiếp đơn giản là mùi mà

thôi Và đó cũng chính là ý tưởng cơ bản đằng sau mọi thuật toán mô phỏng đàn kiến, sử dụng mùi nhân tạo nhằm điều hướng cho các con kiến nhân tạo thực hiện hành vi giống với kiến thật

2.2.2 Hành vi kiếm mồi của kiến và tối ưu hóa

Các giác quan để cảm nhận hình ảnh của rất nhiều loài kiến mới chỉ ở những bước đầu phát triển và thậm chí là có những loài kiến có thể nói là mù hoàn toàn Trên thực tế, điểm cốt lõi trong các nghiên cứu ban đầu về hành vi của kiến đó là hầu hết sự giao tiếp giữa các cá thể với nhau hay giữa các cá thể với môi trường thì đều dựa trên một hóa chất được tiết ra từ kiến Các hóa chất này được gọi chung là

mùi (pheromone)

Điều này cho ta thấy sự giao tiếp của kiến khác với loài người cũng như các loài động vật cao cấp khác mà trong đó thính giác và thị giác đóng vai trò chính

Đặc biệt hơn, đối với loài kiến thì vết mùi (dấu vết tạo ra từ các chất được tiết ra của

kiến) còn đóng vai trò cực kỳ quan trọng trong đời sống xã hội của kiến Ví dụ với một vài loài kiến thì chúng sử dụng mùi để đánh dấu đường đi, có thể là đường đi từ

tổ cho tới nguồn thức ăn Bằng cách cảm nhận vết mùi được để lại, các con kiến khác có thể lần theo các con kiến trước đó và đi tới được chỗ có thức ăn Chính nhờ

cơ chế tiết mùi và lần theo mùi này đã truyền cảm hứng cho các nhà nghiên cứu đưa

ra các thuật toán tối ưu bầy kiến (còn được gọi là ACO)

2.2.3 Thí nghiệm hai cầu

Hành vi kiếm mồi của loài kiến là dựa trên giao tiếp gián tiếp qua mùi Trong quá trình đi tìm kiếm nguồn thức ăn kiến tiết ra mùi trên mặt đất và hình thành nên

Trang 22

các vết mùi Kiến có thể đánh hơi được mùi và chúng sẽ có xu hướng chọn các con

đường được đánh dấu bởi nồng độ mùi cao hơn là chọn các con đường khác

Hành vi tiết mùi và lần theo vết mùi của kiến đã được nghiên cứu và tiến hành thí nghiệm bởi một số nhà nghiên cứu Một trong các thí nghiệm nổi tiếng được thiết kế và tiến hành bởi Deneubourg cùng các đồng sự [7] Ông đã sử dụng một cây cầu có 2 nhánh nối tổ kiến tới chỗ thức ăn Hai nhánh của cây cầu gọi là nhánh ngắn và nhánh dài, tỉ lệ = / trong đó là độ dài của nhánh dài và là

độ dài nhánh ngắn Tỉ lệ được thay đổi nhiều lần trong các thí nghiệm nhằm quan sát sự thay đổi trong hành vi của các con kiến

Trong thí nghiệm đầu tiên, tỉ lệ được đặt bằng 1 (tức là độ dài của 2 nhánh

là bằng nhau, xem hình 3) Ban đầu, các con kiến được tự do di chuyển và tỉ lệ việc lựa chọn giữa 1 trong 2 nhánh để đi tới nguồn thức ăn sẽ được ghi lại Kết quả là (xem hình 4) mặc dù ban đầu các con kiến được tự do chọn ngẫu nhiên hướng đi thì cuối cùng tất cả các con kiến đều chỉ đi qua duy nhất 1 nhánh mà thôi Khi thử nghiệm bắt đầu thì không có vết mùi nào trên cả hai nhánh Bởi vậy các con kiến sẽ không có ưu tiên nào khi chọn đường và vì thế xác suất chọn 1 trong 2 nhánh là như nhau Điều này được lý giải là do dao động ngẫu nhiên của xác suất (gần với 50% chứ không hẳn là 50%) nên sẽ xảy ra trường hợp 1 nhánh có nhiều kiến đi qua hơn (có khi chỉ nhiều hơn một vài con) Ta biết rằng kiến tiết mùi trên đường đi nên khi

có sự chênh lệch về số lượng thì sẽ dẫn đến một nhánh có nồng độ mùi lớn hơn Nồng độ mùi lớn hơn cũng có nghĩa là xác suất kiến chọn nhánh đó cũng sẽ lớn hơn Và cứ như vậy sẽ dẫn tới việc cuối cùng tất cả các con kiến đều chọn chung một nhánh để di chuyển Có thể thấy đây chính là ví dụ của giao tiếp qua mùi, các con kiến tự điều hướng hoạt động của mình nhờ tận dụng hình thức giao tiếp gián tiếp thông qua việc tác động lên môi trường (tiết ra hóa chất lên đường đi)

Trang 23

3 Hai nhánh cầu có cùng độ dài

4 Kết quả thí nghiệm với 2 nhánh có cùng độ dài Trong thí nghiệm số 2, tỉ lệ độ dài giữa 2 nhánh được đặt , tức là 1 nhánh sẽ có độ dài gấp 2 lần độ dài nhánh còn lại (hình 5) Ở lần thí nghiệm này thì

ở hầu hết các lần thử, sau một khoảng thời gian thì tất cả các con kiến đều chọn di chuyển trên nhánh ngắn hơn Cũng giống như trong thí nghiệm đầu tiên, các con kiến đều rời tổ đi tới ngã ba đường và tại đây chúng sẽ phải chọn đi theo 1 trong 2 nhánh Bởi vì ban đầu thì 2 nhánh đều giống nhau nên kiến sẽ chọn ngẫu nhiên 1 trong 2 nhánh Vì vậy mà chúng ta sẽ dự đoán rằng trung bình thì một nửa số kiến

sẽ chọn nhánh ngắn và 1 nửa còn lại sẽ chọn nhánh dài Thực tế lại không phải như vậy, những con kiến chọn nhánh ngắn sẽ tới đích (nguồn thức ăn) trước tiên và sẽ

Trang 24

ngay lập tức lên đường quay về tổ Và khi quay trở lại tới ngã ba thì kiến sẽ lại phải

chọn giữa nhánh dài và nhánh ngắn Tuy nhiên đến lúc này thì nồng độ mùi

(pheromone) trên nhánh mà kiến đã đi qua (nhánh ngắn) sẽ cao hơn nhánh còn lại nên kiến sẽ có khuynh hướng chọn nhánh ngắn hơn để đi Và chính bởi vì như vậy

nên lượng mùi (pheromone) tích tụ trên nhánh ngắn lại càng đậm đặc hơn với tốc độ

nhanh hơn và chính điều này cuối cùng đã dẫn tới việc tất cả các con kiến đều sử dụng nhánh ngắn hơn để đi qua (hình 6)

Mặc dù hầu như tất cả các con kiến đều sử dụng nhánh ngắn hơn để đi qua nhưng vẫn có 1 lượng nhỏ các con kiến chọn đường đi dài hơn để đi qua Các nhà

nghiên cứu gọi đây có thể coi như một dạng khám phá đường đi mới

5 Hai nhánh có độ dài khác nhau

6 Kết quả thí nghiệm khi 2 nhánh có độ dài khác nhau

Trang 25

2.2.4 Sự bay hơi của mùi

Như ta đã biết ở 2 thí nghiệm trên, mùi đóng vai trò rất quan trọng với việc

xác định đường đi của kiến Vì mùi là hóa chất được kiến tiết ra trong quá trình di chuyển nên không thể tránh khỏi việc bị bay hơi Chính vì vậy mà người ta đã tiến

hành thí nghiệm thứ 3 nhằm xác định mức độ ảnh hưởng của sự bay hơi mùi diễn ra

như thế nào

Người ta tiến hành thí nghiệm cũng tương tự như 2 thí nghiệm trên nhưng thay vì đặt 2 nhánh người ta ban đầu chỉ đặt một nhánh dài thôi (hình 7a) Sau một khoảng thời gian (30 phút) khi mà đàn kiến đã hình thành đường đi từ tổ tới chỗ thức ăn thì người ta mới đặt nhánh ngắn vào (hình 7b) Trong trường hợp này thì chỉ

có lác đác vài con kiến là chọn nhánh ngắn để đi mà thôi và hầu hết vẫn đi theo

nhánh dài Điều này được giải thích là do việc sự bay hơi mùi diễn ra khá chậm nên

nồng độ mùi trên nhánh dài vẫn rất cao khiến cho các con kiến vẫn nghiêng về lựa chọn nhánh dài, mặc dù nhánh ngắn hơn đã đặt vào (hình 8)

7.Thí nghiệm 3, ban đầu chỉ nhánh dài được lắp vào

Hình 7 mô tả thí nghiệm 3, ban đầu chỉ có nhánh dài được lắp vào Sau đó 30 phút nhánh ngắn mới được lắp thêm vào

Trang 26

8 Kết quả thí nghiệm 3

2.2.5 Mô hình xác suất thống kê

Denebourg và các đồng nghiệp của mình (Deneubourg et al., 1990, Goss et al., 1989) đã soạn ra một mô hình xác suất thống kê mô tả chức năng của bầy kiến mà

họ đã quan sát được qua thí nghiệm 2 cầu Trong mô hình này, cứ 1 giây sẽ có

con kiến băng qua cầu (mỗi hướng có con kiến) với tốc độ không đổi là cm/s và mỗi con sẽ tiết ra một lượng mùi (pheromone) là 1 đơn vị Cho biết trước độ dài của

nhánh dài và nhánh ngắn (đơn vị là cm) của cây cầu một con kiến chọn nhánh ngắn sẽ di chuyển trên nhánh này với thời gian (giây) trong đó một con kiến đi nhánh dài sẽ tốn lượng thời gian là , với

Ta định nghĩa xác suất là xác suất khi con kiến tới điểm cần phải đưa ra quyết định (xem hình 4) nó sẽ chọn nhánh , trong đó và là chỉ nhánh ngắn và nhánh dài trên cầu, tại thời điểm Xác suất này là hàm của của

tổng lượng mùi (pheromone) , mà hàm này lại tỉ lệ với số kiến từng đi qua nhánh này cho tới thời điểm Ví dụ, ta có thể xây dựng 1 hàm như sau:

(1.1)

Trang 27

Hàm này cùng với giá trị = 2 được rút ra từ thí nghiệm lần dấu (Deneubourg et al., 1990), tương tự với ( ) , ta có ( ) + ( ) = 1

Mô hình này dựa trên giả thiết rằng lượng mùi (pheromone) trên một nhánh

tỉ lệ với số lượng kiến đã từng đi qua nhánh đó trong quá khứ Nói một cách khác, ở

đây không có sự xảy ra sự bay hơi mùi (điều này tương ứng với các quan sát từ thí

nghiệm rằng thời gian để cho các con kiến hội tụ về đường đi ngắn nhất cũng tương

đương với thời gian bay hơi của mùi (Goss et al., 1989; Beckers, Deneubourg, &

Goss, 1993) ) Các phương trình vi phân mô tả quá trình phát triển của mô hình xác suất thống kê này là như sau:

1000 lần thử cho mỗi thí nghiệm và trong đó tỉ lệ độ dài giữa 2 nhánh được đặt bằng

= 1 và = 2 Chúng ta có thể thấy khi 2 nhánh có cùng độ dài ( = 1) các con

Trang 28

kiến sẽ hội tụ về việc chỉ sử dụng một trong 2 nhánh với xác suất là tương đương nhau qua cả 1000 thí nghiệm Ngược lại, khi một nhánh có độ dài gấp 2 lần nhánh còn lại thì trong hầu hết thí nghiệm, tất cả các con kiến sẽ chọn nhánh ngắn hơn (Goss et al., 1989)

Trong mô hình này các con kiến tiết ra mùi cả trong lúc đi tìm đường lẫn lúc quay

về tổ Điều này đã cho thấy đây là một hành vi cần thiết để đàn kiến có thể hội tụ về đường đi ngắn hơn Trên thực tế, nếu ta xem xét mô hình mà trong đó kiến chỉ tiết mùi lúc tìm đường hoặc trên đường quay về tổ thì kết quả sẽ là đàn kiến không thể chọn được ra được đường đi ngắn nhất

9 Kết quả 1000 lần thử sử dụng Monte Carlo

Hình 9 mô tả kết quả thí nghiệm với 1000 lần thử Monte Carlo của mô hình xác định bởi phương trình (1.1), (1.2) và (1.3) = 0.5 và chỉ tính từ con kiến thứ 501 tới con kiến thứ 1000 Hình (a) là tỉ số và hình b là kết quả với

Người ta tiến hành quan sát trên kiến thật và đã khẳng định được rằng nếu kiến chỉ tiết mùi trên đường về tổ thì chúng sẽ không thể nào tìm được đường đi ngắn nhất giữa tổ của chúng và nguồn thức ăn (Deneubourg, 2002)

2.2.6 Tới kiến nhân tạo

Thí nghiệm 2 cầu đã cho thấy rõ ràng rằng đàn kiến được gắn sẵn một cơ chế tối ưu Bằng cách sử dụng quy luật xác suất dựa trên thông tin cục bộ chúng có thể tìm được đường đi ngắn nhất giữa 2 điểm trong 1 môi trường nhất định Và cũng

Trang 29

thật thú vị, lấy cảm hứng từ thí nghiệm 2 cầu chúng ta có thể thiết kế được những con kiến nhân tạo di chuyển trên một mô hình đồ thị mô phỏng 2 cây cầu để tìm đường đi ngắn nhất giữa 2 nút tương ứng là tổ và nguồn thức ăn

Trước khi xây dựng kiến nhân tạo thì chúng ta sẽ xem xét đồ thị hình 10.a,

đó là mô hình mô phỏng thí nghiệm diễn ra ở hình 5 Đồ thị có 2 nút (1 và 2, tương ứng là tổ và nguồn thức ăn) được nối với nhau bởi một cạnh dài và một cạnh ngắn (trong ví dụ thì cạnh dài có độ dài gấp lần độ dài của cạnh ngắn, là số nguyên) Thêm vào đó, ta giả sử rằng thời gian là đơn vị rời rạc ( ) và mỗi bước đi của kiến sẽ là đi tới một trong các nút kề cạnh với tốc độ không đổi là 1 đơn vị độ dài

/ 1 đơn vị thời gian Bằng cách làm như vậy, kiến sẽ tiết ra 1 đơn vị mùi (pheromone)

lên cạnh mà chúng đi qua Các con kiến sẽ di chuyển trên đồ thị bằng cách chọn đường đi theo xác suất: là xác suất một con kiến tại nút ở thời điểm sẽ chọn

nhánh ngắn hơn và là xác suất một con kiến tại nút ở thời điểm chọn nhánh

dài Tất cả xác suất này đều là hàm của vết mùi là lượng mùi mà con kiến tại nút

sẽ ngửi thấy nếu nó chọn nhánh ( ) để đi

10 Mô hình thí nghiệm ở hình 5

Hình 10 mô tả hai đồ thị tương đương với mô hình thí nghiệm ở hình 5 Trong

cả 2 hình vẽ thì các con kiến đều đi từ tổ tới nguồn thức ăn và quay trở về qua một

Trang 30

nhánh đường ngắn hoặc dài (a) Trong mô hình này thì nhánh dài lớn gấp lần nhánh ngắn Một con kiến đi vào nhánh dài sẽ cập nhật mùi trên nhánh này sau đơn vị thời gian (b) Trong mô hình này, các cạnh của đồ thị đều có cùng độ dài, và một nhánh dài sẽ được đại diện bởi một chuỗi các cạnh Ví dụ như ở đây nhánh dài

Ta thấy mô hình này khác so với mô hình Denebourg ta đã trình bày

phía trên ở 2 điểm quan trọng:

 Mô hình này xem xét hành vi ở mức trung bình của cả hệ thống,

không chỉ riêng các hành vi xác suất thống kê của từng con kiến

 Đây là mô hình thời gian là đơn vị rời rạc, trong khi đó ở mô

hình trước đó là mô hình thời gian liên tục; chính vì vậy mà nó

(1.7)

Trang 31

sử dụng hiệu thay vì phương trình vi phân như ở mô hình trước

11 Kết quả mô phỏng mô hình (1.4) và (1.7)

Hình 11 mô tả kết quả mô phỏng mô hình xây dựng bởi phương trình (1.4) tới (1.7)

Ta thấy sau một khoảng thời gian ngắn thì xác suất chọn nhánh dài ( ,

và ) trở nên rất nhỏ trong khi đó xác suất chọn nhánh ngắn (

) tiến dần tới 1 Các tham số của thí nghiệm là

2.2.7 Kiến nhân tạo và bài toán đường đi có trọng số nhỏ nhất

Ở phần trước ta đã chỉ ra rằng một tập hợp các phương trình sai phân có thể

mô tả khá chính xác hành vi của loài kiến diễn ra trên mô hình tương tự của Deneubourg Lúc này nhiệm vụ của chúng ta là sẽ thiết lập một thuật toán nhằm giải quyết bài toán đường đi trọng số nhỏ nhất trên một đồ thị phức tạp hơn so với thí nghiệm 2 cầu đơn giản Ví dụ như đồ thị trong hình 12

Trang 32

12 Kiến xây dựng đường đi từ tổ tới chỗ thức ăn

Với mục tiêu như vậy thì ta sẽ xem xét 1 đồ thị tĩnh, liên thông Trong

đó là tập các đỉnh với và và tập các cạnh nối các đỉnh với nhau

Hai đỉnh mà chúng ta cần tìm đường đi trọng số nhỏ nhất gọi là đỉnh nguồn và đỉnh

đích cũng giống như trong bài toán tìm đường đi ngắn nhất vậy

Khó khăn đầu tiên chúng ta gặp phải khi giải bài toán tìm đường đi trọng số cực tiểu trên đồ thị bằng cách sử dụng kiến nhân tạo là nếu ta áp dụng nguyên si hành vi của các con kiến được mô tả ở phần trước thì sẽ nảy sinh vấn đề sau: những

con kiến trong quá trình xây dựng đường đi sẽ sinh ra các chu trình Do kiến trong quá trình dò đường sẽ liên tục tiết mùi nên các chu trình sẽ ngày càng thu hút kiến

hơn, vì thế mà kiến rất dễ bị kẹt trong các chu trình này và không thoát ra được Ngay cả khi kiến có thoát ra khỏi được chu trình thì lượng mùi được phân bố sẽ khiến cho kiến không thể tìm được đường đi trọng số ngắn nhất, nói đúng hơn là không còn được ưa thích nữa Bởi vì vấn đề này nảy sinh do việc cập nhật mùi trong quá trình dò đường nên có vẻ như giải pháp đơn giản nhất là bỏ cơ chế cập nhật mùi trong quá trình dò dường đi, và như vậy kiến sẽ chỉ tiết mùi trong quá trình đi thức ăn về tổ thôi Tuy nhiên cách này vẫn không phải là giải pháp đúng đắn

Ngày đăng: 27/07/2017, 20:34

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] B.Y. Wu, K. Chao, Spanning Trees and Optimization Problems, Chapman & Hall, 2004 Sách, tạp chí
Tiêu đề: Spanning Trees and Optimization Problems
[2] B.Y. Wu et al., A polynomial time approximation scheme for minimum routing cost spanning trees, in: Proceedings of the Ninth Annual ACM-SIAM Symposium on Discrete Algorithm, San Francisco, 1998, pp. 21-32 Sách, tạp chí
Tiêu đề: A polynomial time approximation scheme for minimum routing cost spanning trees
[3] R. Wong, Worst-case analysis of network design problem heuristics, SIAM Journal of Algebraic Discrete Mathematics 1 (1980) 51–63 Sách, tạp chí
Tiêu đề: Worst-case analysis of network design problem heuristics
[4] V. Grout, Principles of cost minimization in wireless networks, Journal of Heuristics 11 (2005) 115–133 Sách, tạp chí
Tiêu đề: Principles of cost minimization in wireless networks
[5] R. Campos and M. Ricardo, A fast algorithm for computing minimum routing cost spanning trees, Computer Networks Journal, 2008 Sách, tạp chí
Tiêu đề: A fast algorithm for computing minimum routing cost spanning trees
[6] P. Mieghem, S. M. Magdalena, Phase Transition in the link weight structure of networks, Physical Review E 71 (056113) (2005) 1 – 13 Sách, tạp chí
Tiêu đề: Phase Transition in the link weight structure of networks
[7] M. Fischetti and G. Lancia and P. Serafini, Exact Algorithms for Minimum Routing Cost Trees, 2001 Sách, tạp chí
Tiêu đề: Exact Algorithms for Minimum Routing Cost Trees
[8] M. Dorigo and T. Stutzle, Ant Colony Optimization, Bradford Books, MIT Press, 2004 Sách, tạp chí
Tiêu đề: Ant Colony Optimization
[9] T. Stuzle and H. H. Hoos, MAX-MIN Ant System, Future Generation Computer Systems 16 (2000) 889–914 Sách, tạp chí
Tiêu đề: MAX-MIN Ant System
[7] Julstrom BA (2005), The Blob code is competitive with edge-sets in genetic algorithms for the minimum routing cost spanning tree problem Khác
[10] Singh A (2008), A new heuristic for the minimum routing cost spanning tree problem Khác
[11] Alok Singh, An artificial bee colony algorithm for the minimum routing cost spanning tree problem Khác
[12] Nguyễn Đức Nghĩa, Nguyễn Minh Hiếu, Phan Tấn Quốc, An approach of ant algorithm for solving minimum routing cost spanning tree problem Khác

HÌNH ẢNH LIÊN QUAN

Đồ thị và những số bên cạnh các đoạn thẳng là trọng số tương ứng của cạnh đó. - Thuật toán trình bày kiến giải bài toán cây khung chi phí lộ trình nhỏ nhất
th ị và những số bên cạnh các đoạn thẳng là trọng số tương ứng của cạnh đó (Trang 16)
Hình  9 mô tả  kết  quả  thí  nghiệm với 1000  lần  thử  Monte  Carlo  của mô  hình  xác  định bởi phương trình (1.1), (1.2) và (1.3) - Thuật toán trình bày kiến giải bài toán cây khung chi phí lộ trình nhỏ nhất
nh 9 mô tả kết quả thí nghiệm với 1000 lần thử Monte Carlo của mô hình xác định bởi phương trình (1.1), (1.2) và (1.3) (Trang 28)
Đó là mô hình mô phỏng thí nghiệm diễn ra ở hình 5. Đồ thị có 2 nút (1 và 2, tương  ứng là tổ và nguồn thức ăn) được nối với nhau bởi một cạnh dài và một cạnh ngắn  (trong ví dụ thì cạnh dài có độ dài gấp   lần độ dài của cạnh ngắn,   là số nguyên) - Thuật toán trình bày kiến giải bài toán cây khung chi phí lộ trình nhỏ nhất
l à mô hình mô phỏng thí nghiệm diễn ra ở hình 5. Đồ thị có 2 nút (1 và 2, tương ứng là tổ và nguồn thức ăn) được nối với nhau bởi một cạnh dài và một cạnh ngắn (trong ví dụ thì cạnh dài có độ dài gấp lần độ dài của cạnh ngắn, là số nguyên) (Trang 29)
Hình 11 mô tả kết quả mô phỏng mô hình xây dựng bởi phương trình (1.4) tới (1.7). - Thuật toán trình bày kiến giải bài toán cây khung chi phí lộ trình nhỏ nhất
Hình 11 mô tả kết quả mô phỏng mô hình xây dựng bởi phương trình (1.4) tới (1.7) (Trang 31)
Hình 14 biểu diễn kết quả của thuật toán trên bộ dữ liệu 50 đỉnh thứ nhất, với - Thuật toán trình bày kiến giải bài toán cây khung chi phí lộ trình nhỏ nhất
Hình 14 biểu diễn kết quả của thuật toán trên bộ dữ liệu 50 đỉnh thứ nhất, với (Trang 59)

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