Chương 2: Xem xét lại các kỹ thuật sử dụng trong tính toán lưới, các giải pháptìm kiếm tài nguyên dựa trên mô hình peer-to-peer trong đó có các giải thuật ant sửdụng tìm kiếm tài nguyên
Trang 2BÁO CÁO CHUYÊN ĐỀ
Trang 5Chương 1
MỞ ĐẦU
Tính toán lưới (grid computing) là xu hướng đang phát triển trên thế giới nhằmmục tiêu liên kết những hệ thống tính toán đơn lẻ lại với nhau để thực hiện những bàitoán xử lý dữ liệu lớn và tính toán lớn Ở Việt Nam, tính toán lưới đã và ngày càngphát triển trong những năm gần đây
Một lưới là một hệ thống mà kết hợp các nguồn tài nguyên không có chung chủ
đề để điều khiển tập trung, sử dụng các giao thức và giao diện chuẩn mở chung để cho
ra chất lượng dịch vụ tốt hơn Đo đó, tính toán lưới là phương pháp hiệu quả để xâydựng hệ thống tính toán hiệu năng cao, cho phép người sử dụng truy xuất và tích hợphiệu quả các máy tính, dữ liệu và ứng dụng phân tán cách xa nhau về mặt địa lý đểthực hiện bài toán xử lý dữ liệu lớn và tính toán lớn
Hiện nay có nhiều giải pháp cho việc khám phá tài nguyên trong hệ thống lướinhưng cách phổ biến là giải pháp dựa trên mô hình client/server tập trung hoặc môhình phân cấp Trong các mô hình này có một hoặc nhiều server duy trì thông tinnguồn tài nguyên sẳn có, nhận và xử lý các yêu cầu của người sử dụng về việc tiêu thụtài nguyên Khi hệ thống lưới ngày càng tăng về số lượng, việc xử lý tập trung tạinhững server này sẽ gây quá tải, nghẽn cổ chai khi có nhiều yêu cầu gửi đến cùng mộtlúc và khi có sự cố tại những server này làm hệ thống lưới hoạt động kém hiệu quả Do
đó, yêu cầu đặt ra là cần có giải pháp khám phá tài nguyên phải linh hoạt (scalability),
có khả năng chịu lỗi cao (fault-tolerance) và tự cấu hình (self-configuration)
Mô hình Peer-to-Peer (P2P) là mô hình tính toán không tập trung(decentralized), trong đó các ứng dụng và người sử dụng có thể giao tiếp trực tiếp vớinhau mà không phải thông qua bất kỳ server nào Khả năng giao tiếp trực tiếp chophép người sử dụng trong môi trường P2P có thể thiết lập các giao tiếp linh hoạt vàđộc lập mà không cần phải có sự can thiệp điều khiển của bên thứ ba Người sử dụng
và ứng dụng P2P có thể chia sẽ tài nguyên trực tiếp với nhau Mô hình sẽ trở nên linhhoạt, có khả năng tự thích nghi cao khi một người sử dụng hay một ứng dụng có thểtham gia vào mạng hay rời mạng không cần bất kỳ sự điều khiển nào, đặc biệt khi sốlượng người sử dụng tăng lên
Khi hệ thống lưới ngày càng mở rộng và những ứng dụng lưới ngày càng phứctạp đòi hỏi một hệ thống lưới cần phải có khả năng đáp ứng liên tục các yêu cầu về
Trang 6nguồn tài nguyên, khả năng và hiệu suất thực hiện của ứng dụng Trong khi đó, giảipháp khám phá tài nguyên dựa trên một hình clien/server tập trung hoặc mô hình phâncấp gặp phải những vấn đề như quá tải, nghẽn cổ chai, sự cố tại những điểm quantrọng khi kích thước hệ thống tăng Do đó, hệ thống lưới đòi hỏi cần có những giảipháp khám phá tài nguyên linh hoạt hơn để giải quyết các vấn đề này Trong khi đó,
mô hình P2P có những đặc tính như sự linh hoạt, khả năng tự thích nghi cao, khả năngchịu lỗi có thể giải quyết tốt vấn đề này
Tất cả những yếu tố trên, tôi chọn đề tài báo cáo môn học tính toán lưới là “Tìmkiếm tài nguyên tính toán lưới trong mô hình Peer-to-Peer” nhằm đáp ứng yêu cầungày mở rộng của hệ thống tính toán lưới
Chương 2: Xem xét lại các kỹ thuật sử dụng trong tính toán lưới, các giải pháptìm kiếm tài nguyên dựa trên mô hình peer-to-peer trong đó có các giải thuật ant sửdụng tìm kiếm tài nguyên trong mạng peer-to-peer
Chương 3: Trình bày giải thuật ant cải tiến để tìm kiếm tài nguyên trong môhình peer-to-peer
Trang 7Chương 2 CÁC KỸ THUẬT KHÁM PHÁ TÀI NGUYÊN TÍNH TOÁN LƯỚI TRONG
PEER TO PEER
I. Mạng peer-to-peer
Lịch sử ra đời và phát triển của P2P gắn liền với phần mềm ứng dụng Napster.Năm 1999, Shawn Fanning một sinh viên Đại học 18 tuổi đã rời bỏ trường Đại học đểbắt đầu xây dựng phần mềm mang tên Napster Napster được xây dựng thành công vàtrở thành phương pháp chia sẻ tập tin nổi tiếng, Napster đã làm thay đổi cách tải tập tinnhạc có dung lượng lớn hơn nhiều so với các chương trình chia sẻ file trước đó
Một mạng peer-to-peer (P2P) là “một hệ thống phân tán mà tất cả các node làhoàn toàn tương đương về chức năng và nhiệm vụ chúng thực hiện” Ngược lại với môhình clien/server, mỗi node của mạng peer-to-peer vừa là client tiêu thụ tài nguyên từnhững peer khác, và vừa là server cung cấp tài nguyên đến những peer khác Địnhnghĩa khác của mạng peer-to-peer đặt tập trung vào ý tưởng không có điều khiển trungtâm: Các hệ thống peer-to-peer là những hệ thống phân tán bao gồm các node được kếtnối với nhau có khả năng tự tổ chức thành những cấu trúc hình học mạng cho mụcđích chia sẽ tài nguyên mà không yêu cầu sự trung gian hoặc server trung tâm Địnhnghĩa này nhấn mạnh rằng mỗi peer sở hữu một phần tài nguyên (như dữ liệu hoặcnăng lực tính toán) có khả năng truy xuất trong mạng Khi mỗi nguồn tài nguyên peerchỉ biết về những peer mà nó có thông tin, đây là cách nhìn cục bộ trên mạng Trongđịnh nghĩa này cũng bao gồm có đặc tính tự tổ chức của mạng peer-to-peer
Mạng peer-to-peer cũng có thể được xem như là một đồ thị mà các node là cácpeer và các cạnh là các liên kết giữa các peer này Chỉ một vài node của tất cả cácnode của hạ tầng cơ sở bên dưới gia nhập trong mạng peer-to-peer và những liên kếtgiữa những peer này có thể bao gồm nhiều liên kết vật lý, mạng peer-to- peer cũngthường được liên hệ như là overlay network Overlay network là mạng máy tính đượcxây dựng trên nền của một mạng khác Các nodes trong mạng overlay được xem là nốivới nhau bằng các liên kết ảo (logical links), mỗi liên kết ảo có thể bao gồm rất nhiềucác liên kết vật lí của mạng nền
Các peer có đặc tính tự trị, tức là có thể gia nhập hoặc rời mạng bất kỳ lúc này
mà không làm gián đoạn hoạt động của mạng Vì vậy, cấu trúc peer-to-peer cung cấpkhả năng chịu lỗi một cách tự nhiên, đây là một trong những đặc tính chính của mạngpeer-to-peer Một đặc tính khác đó là tính linh hoạt, không giống trong hệ thông tập
Trang 8trung, việc truy xuất server sẽ gặp khó khăn hoặc nhiều lúc không thể thực hiện khi cónhiều ứng dụng dụng truy xuất vào server, trong mạng peer-to-peer tính sẳn sàng đượcxem xét trong giai đoạn thiết kế của hệ thống khi số lượng peer tham gia ngày căngtăng Những yêu cầu khác của mạng peer-to-peer bao gồm hiệu suất, sự công bằng, vàbảo mật.
1 Mạng peer-to-peer không cấu trúc
Một mạng peer-to-peer không cấu trúc khi các liên kết giữa các nút trong mạngoverlay được thiết lập ngẫu nhiên (tức là không theo qui luật nào) Những mạng nhưthế này dễ dàng được xây dựng vì một máy mới khi muốn tham gia mạng có thể lấycác liên kết có sẵn của một máy khác đang ở trong mạng và sau đó tự bản thân nó sẽthêm vào các liên kết mới của riêng mình Khi một máy muốn tìm một dữ liệu trongmạng peer-to-peer không cấu trúc, yêu cầu tìm kiếm sẽ được lan truyền trên khắpmạng để tìm ra càng nhiều máy chia sẻ tài nguyên càng tốt Hầu hết các mạng peer-to-peer phổ biến là không cấu trúc như Napster, Gnutella, Freenet
a Định tuyến cơ bản trong mạng không cấu trúc
Flooding và expanding ring
Flooding là phương pháp phổ biến để khám phá tài nguyên trong môi trườngP2P Phương pháp này được nổi tiếng với các hệ thống sử dụng phương pháp tương tựnhư Gnutella Ý tưởng cơ bản của kỹ thuật này nhằm xác định một nguồn tài nguyênmong muốn Mỗi peer sẽ gửi một danh sách các peer khác mà nó biết, được gọi là cácpeer lân cận Nếu quan hệ lân cận là bắc cầu, chúng ta có các đồ thị kết nối Trong đồthị này, các peer có từ hai đến năm lân cận trong mạng Việc tăng số lân cận của cácpeer sẽ làm giảm đường đi dài nhất từ peer này đến peer khác nhưng nó yêu cầu phảilưu trữ nhiều hơn tại mỗi peer
Khi một peer khi kết nối đến mạng overlay, có thể trao đổi thông điệp vớinhững peer khác trong danh sách các lân cận của nó Một loại thông điệp quan trọng làtruy vấn tìm kiêm thông tin xác định Truy vấn này chứa tiêu chuẩn tìm kiếm, như tênfile hoặc từ khóa Khi peer không biết các peer nào trong mạng có thông tin cần tìmchúng gắng gửi truy vấn đến peer mà chúng ta biết Nếu các peer lân cận không cóthông tin, peer này tiếp tục đảm nhận vai trò chuyển tiếp truy vấn đến các peer lân cậncủa chúng, và quá trình như thế tiếp tục xảy ra Một vài kiểm tra cần thiết để ngănngừa thông điệp truyền tuần hoàn bất tận Đầu tiên, trong trường hợp thông điệp tạo
Trang 9mạch vòng hoặc được nhận nhiều hơn một đường đi, mỗi peer có thể giữ danh sách có
bộ nhận dạng của thông điệp mà nó đã nhận trước đó Nếu peer nhận lại thông điệptrước đó, nó sẽ loại bỏ thông điệp trùng lắp này Thứ hai, để các peer không phải tìmkiếm với thời gian tùy ý, có thể gây bùng nổ số lượng lưu trữ, mỗi thông điệp có mộtgiá TTL (time-to-live) để hạn chế thời gian sống của thông điệp Giá trị TTL của mộtthông điệp được cài đặt tại peer phát truy vấn và được giảm đi 1 khi nó đến một peer.Khi giá trị TTL tiến đến 0, thông điệp sẽ không được chuyển đi tiếp
Như đã được đề cập lúc trước, mỗi peer có một danh sách các lân cận Nó khởitạo danh sách các lân cận khi gia nhập mạng overlay, ví dụ, có thể lấy một bản copydanh sách của peer đầu tiên trong overlay khi nó kết nối đến mạng Theo thời gianpeer có thể thêm vào hoặc loại ra các peer từ danh sách lân cận Để cập nhật danh sáchcác lân cận, nó có thể gửi yêu cầu đến các lân cận hiện tại để lấy các lân cận của peer
đó Nó cũng có thể sử dụng truy vấn từ những node mà nó không nhìn thấy trước đây
để thêm vào danh sách các lân cận cùa nó Nó loại bỏ các lân cận khi chúng không trảlời thông điệp keep-alive
Khi tìm được thông tin cần thiết tại một số peer, một thông điệp trả lời được gửingược lại cho peer yêu cầu Nếu đối tượng được tìm thấy trước khi TTL hết hạn, cơcấu flooding sẽ tiếp tục truyền thông điệp truy vấn Điều này sẽ tạo ra những thôngđiệp dư thừa trên mạng, sẽ không hiệu quả cho mạng Một cách để giảm thông điệp dưthừa là bắt đầu tìm kiếm với giá trị TTL nhỏ Nếu thành công, việc tìm kiếm sẽ dừnglại Ngược lại, giá trị TTL sẽ tăng một lượng nhỏ và phát lại truy vấn tìm kiếm Biếnthể này của flooding được gọi là iterative deepening hoặc expanding ring và phươngpháp này thực sự hiệu quả khi đối tượng tìm kiếm thường xuyên lặp lại
Random walks
Để giảm lưu lượng thông tin tìm kiếm giải pháp flooding, giải thuật randomwalk được sử dụng, một peer sẽ gửi truy vấn đến các lân cận một cách ngẫu nhiên chođến khi tìm được kết quả trả lời thích hợp, hoặc đạt được thông số TTL tối đa Nếu chỉ
sử dụng một walker thì khả năng tìm được kết quả thấp và rất lâu, k walker sẽ đượctạo ngẫu nhiên và sử dụng để tăng quá trình xử lý Một số giải pháp để tăng hiệu quảtìm kiếm của random walk được đề xuất:
Trang 10- Thay vì sử dụng TTL để kết thúc truy vấn, nó cũng có thể sử dụng kỹ thuậttên là checking, ở đó một walker được kiểm tra định kỳ với peer phát ra truyvấn để phát hiện đã tìm được truy vấn, nếu chưa tiếp tục walking.
- Trong random walk có trạng thái, mỗi truy vấn có ID duy nhất, mỗi peer lưulại ID của truy vấn mà nó chuyển tiếp, kết hợp với bộ nhận dạng của peerlân cận Nếu truy vấn khác có cùng với ID đến, peer sẽ chuyển nó đến lâncận khác
Tạo chỉ mục trung tâm (Centralised Indexing)
Mô hình khám phá này tương tự mô hình tìm kiếm sử dụng search engine trongWWW Trong mô hình này, một server giữ một danh sách các nguồn tài nguyên cósẵn của các peer được kết nối Khi một peer phát ra một truy vấn tìm kiếm, truy vấnnày sẽ được gửi đến server để xử lý Kết quả sẽ được gửi trở lại cho peer phát ra truyvấn Khi nguồn tài nguyên trong mạng P2P là động, các chỉ mục lưu trong server phảiđược cập nhật liên tục Một trong những khuyết điểm của mô hình này là mạng khônghoàn toàn là P2P Nó có một mức độ điều khiển tập trung Những server giữ các chỉmục này có thể bị tình trạng tắt nghẽn khi nhiều peer truy vấn đến cùng một lúc, hoặckhi server bị sự cố có thể gây dừng toàn mạng Mặc khác, nó không thích hợp chonhững yêu cầu truy vấn phức tạp
b Các hệ thống sử dụng mạng peer-to-peer không cấu trúc
Napster
Napster là một hệ thống chia sẽ file sử dụng một server trung tâm để lưu trử vàtìm kiếm thư mục của file, nhưng việc truyền file đuợc thực hiện trong dạng P2P trựctiếp Từ năm 1999, Napster ngày càng trở nên phổ biển, đầu tiên trở thành hệ thôngchia sẽ file P2P, kế đến trở thành trường hợp thí điểm hợp pháp chia sẽ media Ýtưởng chính của những thiết kế này là sử dụng một cơ cấu mạng không cấu trúc Mặc
dù Napster không là một hệ thống hoàn toàn P2P, nhưng nó đã phổ biến ý tưởng to-peer trong việc chia sẻ tập tin và media
peer-Gnutella
Gnutella là hệ thống chia sẽ file hoàn toàn P2P và là một trong những hệ thốngphổ biến và được duy trì đến ngày nay Phiên bản đầu tiên của giao thức Gnutella sửdụng mạng không cấu trúc Để tăng hiệu suất và làm giảm sự linh hoạt, phiên bản gần
Trang 11đây nhất chọn cấu trúc superpeer, những peer có năng lực xử lý cao làm superper vàtất cả những định tuyến truy vấn sử dụng cơ cấu flooding giữa các superpeer.
FastTrack
FastTrack là một mạng không cấu trúc khác xuất hiện trong khoảng thời gianGnutella ra đời và được sử dụng cho nhiều client chia sẻ file bao gồm KaZaA,Grokster, và Imesh FastTrack sử dụng giao thức có mã hóa FastTrack được công bố
và phân tích giải thuật năm 2003, một gói giải mã giao thức được phát triển bởi dự ángiFT
Freenet
Freenet được Ian Clarke đề xuất năm 1999 như là một cơ cấu chia sẽ file to-peer phân tán với đặc điểm bảo mật, ẩn danh và có thể từ chối Cả đối tượng đượctìm kiếm và peer đều có bộ nhận dạng Bộ nhận dạng tạo ra nhờ sử dụng hàm băm mộtchiều SHA-1 Bộ nhận dạng peer được sử dụng làm khóa định tuyến Mỗi peer có mộtbảng định tuyến kích thước cố định lưu trữ những liên kết đên những peer khác.Freenet sử dụng định tuyến dựa trên key để chèn hoặc lấy đối tượng trong mạng Cácyêu cầu được chuyển đến những peer có key định tuyến gần nhất Nêu một yêu cầutrên một hop bị lỗi, peer sẽ cố gắng sử dụng key định tuyến gần kế tiếp trong bảngđịnh tuyến
peer-2 Mạng peer-to-peer có cấu trúc
Hầu Hết các mạng có cấu trúc dựa trên kỹ thuật Distributed Hash Table (DHT)bao gồm một không gian nhận dạng logic mà peer và tài nguyên được map với nhau.Các peer duy trì trạng thái các lân cận của các thông tin định tuyến thông qua mạngoverlay dựa trên không gian nhận dạng
DHT về cơ bản cung cấp một dịch vụ tìm kiếm tương tự một hash table; cặp tên
và giá trị tương ứng được lưu trong DHT, và một người sử dụng có thể lấy lại các giátrị đã lưu trước đó nếu biết tên key Các key trong một DHT được tạo ra sử dụng giảithuật băm Hầu hết DHT tổ chức không gian hash của chúng bằng cách sử dụng các bộnhận dạng mà được tạo ra từ peer của chính nó, để lưu trữ hoặc truy xuất, băm nộidung của dữ liệu đặc trưng được sử dụng
Sự thuận lợi của các tiếp cận DHT là những node được tổ chức sử dụng mộttiếp cận giống như cây có cấu trúc và độ phức tạp giải thuật tìm kiếm là O(logN), đểxác định các key Điều này cho phép DHT sử dụng trong không gian tìm kiếm khi số
Trang 12node cực kỳ lớn Bất lợi của cách tiếp cận này là một người sử dụng cần phải biếtchính xác tên key để truy xuất dữ liệu mong muốn và vì vậy tìm kiếm dựa theo từ khóakhó thực hiện Một bất lợi khác là overlay thường yêu cầu nhiều nỗ lực hơn so vớimạng không cấu trúc để duy trì tính nhất quán giữa các node khi các peer gia nhậpmạng hoặc rời một mạng.
Bốn phiên bản DHT được sử dụng, CAN, Pastry Chord và Tapestry, mà tất cảgiải pháp được đề nghị được phát triển đầy đủ để tìm kiếm dựa trên trên distributedhashs Mỗi giải thuật đảm bảo dữ liệu được tìm thấy, trong không gian tìm kiếmO(logN) thông qua mạng
DHT có vẻ tương tự như Freenet, khi cả hai đều sử dụng cặp (khóa, giá trị) để
tổ chức mạng phân tán Tuy nhiên, Freenet sử dụng giải thuật định tuyến dựa trên keyheuristic, ở đó các file với key tương tự hướng tới cluster trên một tập tương tự thôngqua việc cập nhật bảng định tuyến cục bộ Có lẽ sự khác nhau chính giữa những kỹthuật này là Freenet không đảm bảo dữ liệu sẽ được tìm thấy
3 Giải thuật Ant tìm kiếm peer-to-peer
Giải thuật kiến (Ant algorithm) được thực hiện dựa trên hành vi tìm mồi củakiến (Ant) Để thực hiện các mục đích khác nhau, như tìm mồi, hành vi báo hiệu, cácAnt truyền thông gián tiếp với các thành viên khác trong bầy (colony) Việc truyềnthông này dựa trên sự thay đổi của môi trường cục bộ bằng cách lưu trên đường đithành phần hóa chất gọi là mật độ mùi (pheromone) Đối với việc tìm mồi, kiến sửdụng hành vi đặt dấu vết (trail-laying) và theo dấu vết (trail-following) cho việc tìmđường đi ngắn nhất giữa tồ và nguồn thức ăn Hành vi đặt dấu vết và theo dấu vết baogồm 3 bước cơ bản (hình 2-6) sau:
- Mỗi lần một con kiến di chuyển, nó để lại trên đường đi mật độ mùi(pheromone trail)
- Đối với việc tìm đường đi lần kế tiếp, kiến cảm nhận môi trường và
o nếu đường đi có sẳn, kiến sẽ chọn một đường đi có mật độ mùi cao
o di chuyển ngẫu nhiên nếu không tìm thấy đường đi
- Mật độ mùi bị bốc hơi theo thời gian hoặc biến mất
Trang 13Hình 2-6: Hành vi của loài kiếnĐây là một hành vi đơn giản Tuy nhiên, nó đủ để cho việc tìm đường đi ngắnnhất hoặc một đường tương đối ngắn giữa 2 vị trí địa lý, cho con kiến di chuyển từ tổđến nguồn thức ăn, và trở lại Ban đầu, không có sẵn đường mật độ mùi vì vậy tất cảkiến sẽ di chuyển ngẫu nhiên Con kiến chọn ngẫu nhiên được đường đi ngắn nhất sẽđến nguồn thức ăn đầu tiên và nó cũng sẽ trở về tổ đầu tiên Đổi với hướng đi ngượclại, có xác xuất rất cao, kiến sẽ sử dụng dấu vết mùi được tạo ra của chính nó Nếu nólàm được việc này cường độ pheromone của đường đi sẽ tăng lên gấp đôi Khi nhữngcon kiến khác trở đến tại nguồn thức ăn, đường đi của con kiến đầu tiên sẽ có cường
độ mạnh nhất Do đó, những con kiến khác sẽ có khả năng đi theo con đường tốt nhấtnày Vì vậy, mật độ mùi của đường đi này ngày càng tăng Kết quả, những con kiếnkhác sẽ theo đường này với xác xuất rất cao Tóm lại, hành vi trail-laying và trailfollowing sẽ dẫn tới mật độ mùi trên đường đi này càng tăng
Trong bầy kiến, mỗi con kiến có thông tin hoặc khả năng giải quyết vấn đềkhông toàn vẹn, không có hệ thống điều khiển trung tâm, dữ liệu không tập trung, và
sự hoạt động bất đồng bộ Ngoài ra, bầy kiến trình bày hành vi xây dựng mật độ mùimột cách tăng dần Vì vậy, cộng đồng kiến là hệ thống thích nghi phức tạp (ComplexAdaptive Systems)
Nhiều giải thuật ant đã tồn tại sử dụng và khai thác hành vi laying và following để giải quyết bài toán tối ưu kết hợp dựa trên đồ thị Chúng được ứng dụnggiải quyết rộng rãi để giải quyết bài toán Traveling Salesman Problem, và cũng sửdụng cho nhiều bài toán khác
trail-Các bước cơ bản của một giải thuật kiến trên có được do Dorigo và Di Caro đềxuất trong Ant Colony Optimization meta-heuristic:
- Theo dấu vết (Trail following), quy luật chuyển trạng thái (statetransition rule) Đối với mỗi lần di chuyển, mỗi con kiến quyết định giải pháp
Trang 14tối ưu cho bài toán tìm đường đi của mình Quy luật này bắt nguồn từ việc kiếnlựa chọn những tổ kế tiếp cho đường đi của nó Sự quyết định này dựa trên hailoại thông tin khác nhau:
o Loại đầu tiên là chi phí của liên kết bên ngoài (outgoing), còn đượcgọi là thông tin cục bộ (local information) Thông tin này dùng đểxác định bài toán Trong bài toán Traveling Salesman Problem, thôngtin cục bộ này sẽ là khoảng cách địa lý giữa các thành phố
o Loại thứ hai của thông tin là sự phân bố mật độ mùi của các đường đi
ra ngoài, còn được gọi là thông tin toàn cục (global information).Thông tin này được xây dựng một cách tăng dần do các con kiến tạonên
- Đặt dấu vết (Trail laying), còn được gọi là quy luật cập nhật mật
độ mùi Khi một con kiến đến node đích, tổng chi phí của đường đi mới đượctính Mật độ mùi tỉ lệ ngược với chi phí của đường đi tìm thấy Nó được gọi làquy luật cập nhật mùi Phụ thuộc vào giải thuật, mùi có thể được cộng thêm chotất cả các đường tìm thấy, hoặc chỉ đối với một đường tốt nhất trong một lầntìm được đường đi
- Bốc hơi (quy luật bốc hơi): Trong mỗi lần tìm đường đi, mật độmùi bị bốc hơi theo một hệ số bốc hơi nhỏ hơn 1 Khi mỗi cạnh của bài toán đồthị được khởi đầu với một lượng mật độ mùi nhỏ, mật độ mùi pheromone củamột cạnh sẽ luôn luôn là một số dương lớn hơn 0 Sự bốc hơi ngăn ngừa sự tăngkhông giới hạn mật độ mùi của đường đi Ngoài ra, nó tránh tạo ra các đường điquá vượt trội
Khi sử dụng các quy luật này, các con kiến sẽ khám phá không gian tìm kiếm
và cải thiện đáng kể giải pháp tìm đường đi bằng cách sử dụng các đường đi có mật độpheromone cao, hoạt động này nỗ lực ghi nhớ các bước thực hiện trước đó làm thôngtin sử dụng cho hành động tương lai Giải thuật kiến dùng để xây dựng một giải pháptương đối nhanh có thể chấp nhận được, nhưng nó yêu cầu một thời gian dài để đạtđược trạng thái hội tụ để đạt giải pháp tối ưu
a Cải tiến của giải thuật Ant
Giải thuật Ant Colony System được đưa ra năm 1997, là một sự chứng minhcho việc cải tiến giải thuật Ant ACS đã thể hiện sự nổi bật cho các bài toán TravelingSalesman Problem, Vehicle Routing Problem, Sequential Ordering Problem the BinPacking Problem và nhiều bài toán tối ưu khác
Trang 15Mô tả giải thuật
Bài toán tối ưu được trình bày dưới dạng đồ thị Trong đồ thị này, mỗi liên kết(r,s) đi từ node r đến node s Mỗi liên kết (r,s) lưu trữ một giá trị mật độ mùi (r,s) vàmột chi phí (r,s) là nghịch đảo khoảng cách giữa thành phố r và thành phố s
Quy luật chuyển trạng thái Giải thuật sử dụng quy luật chuyển trạng thái rấtlinh hoạt gồm 2 chiến lược với một tham số 0 < q0 < 1, định nghĩa trọng số cho mỗichiến lược Đặt k là một ant vị trí tại node r Ant k cung cấp quy luật chuyển trạng tháiđược trình bài trong phương trình 2-1 để chọn node s Ant sử dụng kỹ thuật vòng quayroulette để chọn một trong hai chiến lược Trong bước đầu tiên, nó tính toán giá trịngẫu nhiên q ϵ [0,1] Nếu q < q0, nó sẽ chọn liên kết tốt nhất theo chi phí liên kết thấp
và mật độ mùi lớn Trong chiến lược này, được gọi là chiến thuật khai thác, ant khaithác thông tin thu thập được bằng thông tin của ant trước đó lưu lại để chọn đường đitốt nhất trong các đường đi đã biết
Trong phương trình (1), Jk(r) là tập hợp của tất cả các node mà ant k đã đi qua.Trọng số β > 0 định nghĩa ảnh hưởng tác động của chi phí liên kết Biến s nhận đuợctheo phương trình (2), khi q > q0 Trong trường hợp này ant k xem xét tập hợp node
Jk(r) mà nó chưa đi qua và nhận một phân phối xác xuất cho tất cả các node Mỗi xácxuất pk(r,s) tỉ lệ với độ mong muốn để chọn (r,s) theo chi phí liên kết và mật độpheromone Dựa trên phân phố xác xuất này, kỹ thuật vòng quay roulette được sửdụng để chọn node s
(2)Quy luật chuyển trạng thái trong phương trình (2) được gọi là tỉ lệ ngẫu nhiênTrong chiến lược này được gọi là chiến lược khám phá, ant sử dụng thông tin thu thập
từ những ant trước đó bằng cách lựa chọn ngẫu nhiên một liên kết tỉ lệ với khả năngmong muốn
Quy luật cập nhật mật độ mùi và bốc hơi Ant Colony System sử dụng hai quyluật cập nhật mật độ mùi bổ trợ cho nhau Chúng được ứng dụng trong những tìnhhuống khác nhau Cả hai sử dụng một công thức kết hợp để cập nhật mật độ mùi và
Trang 16bốc hơi Quy luật cập nhật mật độ mùi toàn cục được trình bày trong phương trình (3).
Nó được sử dụng cho tất cả ant khi tìm thấy một đường đi
(3)Trong phương trình (3), khối lượng là nghịch đảo của chiều dài củađường toàn cục tốt nhất nếu liên kết (r,s) thuộc về đường đi toàn cục tốt nhất Nếukhông, Điều này có nghĩa ràng mật độ pheromone được thêm vào chỉ khimột ant tìm một đường tốt hơn đường hiện tại Hằng số định nghĩa trọng sốgiữa bốc hơi và cập nhật
Khi quy luật toàn cục đặt sự nhấn mạnh lên việc tìm thấy đường đi tốt nhất, cácant sẽ ở lại trong những lân cận của đường này Quy luật cập nhật cục bộ được trìnhbày trong phương trình (4) được thiết kế cho việc tạo những đường kém thăm viếngthu hút hơn bằng cách loại bỏ một khối lượng ít mật độ mùi từ một cạnh mỗi lần được
đi qua bởi một ant
(4)Trong phương trình (4), khối lượng với là hằng
số Vì vậy mật độ mật độ mùi thêm vào tỉ lệ với khối lượng pheromone củaliên kết đi ra với khối lượng pheromone lớn nhất Hằng số định nghĩa trọng
Trang 17peer-to-Quy luật chuyển trạng thái của Ant Colony System là toàn diện nhất và thíchhợp nhất, nó sẽ được chọn để thực hiện việc cải tiến giải thuật.
Sự kết hợp của quy luật cập nhật mật độ cục bộ và toàn cục được sử dụng chonhiệm vụ chỉ tìm một giải pháp, vì vậy nó không thích hợp để chọn cho giải thuậtpeer-to-peer Thay vì, chỉ một quy luật cập nhật mật độ pheromone được sử dụng Khimật độ pheromone mới được thêm vào, chất lượng của một đường được tìm thấy cầnđược tính toán Trong mạng peer-to-peer, có 2 thông số mà định nghĩa chất lượng củamột đường được tìm thấy Có nhiều kết quả được tìm thấy, và nhiều hop nằm giữapeer truy vấn và trả lời Khi Ant Colony System thường được sử dụng trong một môitrường điều khiển tập trung, tất cả pheromone trail có thể được cập nhật tại cùng mộtlúc Đây không phải là trường hợp cho peer-to-peer Câu hỏi được đặt ra là tìm cáchnào để cập nhật pheromone trail trong môi trường không tập trung được trả lời trongphần sau
b Giải thuật AntNet
Trong AntNet, các ant cộng tác xây dựng bảng định tuyến (routing table) đểđịnh tuyến cho các gói dữ liệu (data packet) trong mạng truyền thông với nổ lực nhằmtối ưu việc thực hiện định tuyến của toàn mạng Đây là giải thuật phân tán và thíchnghi nó chọn chính sách định tuyến theo điều kiện lưu lượng hiện tại trong mạng
Trong phần kế tiếp, đầu tiên trình bày giải thuật AntNet và sau đó là chiến lược
để ngăn ngừa vòng lặp, và thảo luận các thành phần của AntNet cho việc tìm kiếmtrong mạng peer-to-peer
Mô tả giải thuật
Giải thuật AntNet hoạt động tại lớp IP và không hỗ trợ quản lý lỗi, luồng vàđiều khiển tắc nghẽn Ngoài ra giải thuật không cung cấp hỗ trợ cho lỗi liên kết, lỗinode, hoặc những node mới tham gia vào mạng
Cấu trúc dữ liệu Mạng để triển khai giải thuật được xem là một đồ thị cóhướng có trọng số, với N node Các cạnh của đồ thị là các liên kết giữa các node vớinhau Những liên kết được xem xét như là các ống (pipe) bit với chi phí băng thôngxác định, đơn vị đo bit trên giây, và độ trể đường truyền được đo bằng giây, phụ thuộcvào tải hiện tại của liên kết Mỗi node n quản lý một bảng định tuyến Tn để lưu trữthông tin về liên kết ra ngoài và mật độ pheromone của chúng Các bảng định tuyến làcác ma trận kích thước Nxl, N là số node trong mạng và 1 là số liên kết ra ngoài Mỗi