Thí nghiệm trên cây cầu đôi và thí nghiệm bổ sung

Một phần của tài liệu Nghiên cứu một số vấn đề nâng cao chất lượng dịch vụ trong mạng thế hệ mới (Trang 29)

3 Đảm bảo an ninh và tính sẵn sàng của dịch vụ đáp ứng QoS

1.3Thí nghiệm trên cây cầu đôi và thí nghiệm bổ sung

Thực nghiệm 1: chiếc cầu có 2 nhánh bằng nhau (r = 1, Hình 1.3(a)). Ban đầu, kiến lựa chọn đường đi một cách tự do từ tổ đến nguồn thức ăn nên cả 2 nhánh đều có kiến đi, nhưng sau một thời gian đàn kiến tập trung đi theo cùng một nhánh. Điều này được giải thích như sau: ban đầu không có vết mùi nào trên cả 2 nhánh nên kiến lựa chọn nhánh bất kỳ với xác suất như nhau. Một cách ngẫu nhiên, sẽ có một nhánh có số lượng kiến lựa chọn nhiều hơn nhánh kia. Do kiến để lại vết mùi trong khi di chuyển, nhánh có nhiều kiến chọn sẽ có nồng độ mùi

lớn hơn nhánh còn lại. Nồng độ mùi trên cạnh lớn hơn sẽ ngày càng lớn vì được nhiều kiến lựa chọn. Cuối cùng, hầu như tất cả các kiến sẽ tập trung trên cùng một nhánh. Điều đó cho thấy sự tương tác cục bộ giữa các con kiến với thông tin gián tiếp là vết mùi để lại cho phép điều chỉnh hoạt động vĩ mô của đàn kiến.

Thực nghiệm 2: cho độ dài của nhánh dài gấp đôi độ dài nhánh ngắn (tỉ lệ r = 2, Hình1.3(b)). Ta thấy sau một thời gian tất cả các con kiến đều chọn đoạn đường ngắn hơn. Tương tự thực nghiệm 1, ban đầu đàn kiến lựa chọn 2 nhánh như nhau, một nửa số kiến đi theo nhánh ngắn và một nửa đi theo nhánh dài (mặc dù trên thực tế, do tính ngẫu nhiên có thể một nhánh nào đó được nhiều kiến lựa chọn hơn nhánh kia). Điểm khác biệt quan trọng là những kiến chọn đi theo nhánh ngắn sẽ nhanh chóng quay trở lại tổ và khi phải lựa chọn giữa nhánh ngắn và nhánh dài, kiến sẽ thấy nồng độ mùi trên nhánh ngắn cao hơn nồng độ mùi trên nhánh dài nên ưu tiên chọn đi theo nhánh ngắn hơn. Tuy nhiên, thời gian đầu không phải tất cả các kiến đều đi theo nhánh ngắn. Phải mất một khoảng thời gian bầy kiến mới lựa chọn đi theo nhánh ngắn. Điều này minh chứng đàn kiến đã dùng phương thức thăm dò, tìm đường mới.

Thực nghiệm 3: Ban đầu từ tổ đến nguồn thức ăn chỉ có một nhánh dài và sau 30 phút, thêm một nhánh ngắn (Hình 1.3(c)). Khi đó, nhánh ngắn thường không được kiến chọn mà chúng tập trung đi trên nhánh dài. Điều này được thể giải thích do nồng độ vết mùi trên cạnh dài cao và sự bay hơi của vết mùi diễn ra chậm nên đa số các con kiến vẫn lựa chọn nhánh dài. Hành vi này tiếp tục được củng cố và kiến chọn đi theo nhánh dài, ngay cả khi có một nhánh ngắn xuất hiện. Việc bay hơi vết mùi là cơ chế tiện lợi cho việc tìm đường mới, nghĩa là bay hơi có thể giúp kiến quên đi đường đi tối ưu cục bộ đã được tìm thấy trước đây để tìm khám phá đường đi mới, tốt hơn.

Sau khi nghiên cứu thí nghiệm trên chúng ta thấy nguyên tắc hoạt động của đàn kiến tự nhiên khi tìm đường đi ngắn nhất từ tổ tới nguồn thức ăn như sau:

(1) Đường đi ngắn nhất được xác định dựa trên thông tin về vết mùi (là một loại hóa chất mà các con kiến dùng để trao đổi thông tin với nhau).

(2) Khi di chuyển mỗi con kiến để lại một lượng vết mùi trên đường đã đi qua. (3) Trong quá trình di chuyển tìm đường đi, các con kiến sẽ được định hướng

bởi các thông tin vết mùi đã được để lại trên đường đi.

(4) Mỗi con kiến di chuyển một cách ngẫu nhiên khi không có thông tin về vết mùi trên đoạn đường đi.

(5) Đường đi có lượng vết mùi lớn thì xác suất được chọn càng cao và ngược lại.

Kiến nhân tạo: Từ nghiên cứu cơ chế hoạt động trên, kiến nhân tạo ra đời để mô phỏng hoạt động của đàn kiến tự nhiên nhưng có một số thay đổi, điều chỉnh để tăng hiệu quả. Bài toán cần giải được đưa về dạng đồ thị đầy đủ với các ràng buộc được thể hiện bằng các công thức toán học. Lời giải của bài toán chuyển thành tìm một đường đi (hoặc tập các đỉnh) thỏa mãn các ràng buộc của

bài toán. Khi đó, đàn kiến nhân tạo sẽ tìm đường đi dựa vào thông tin vết mùi đã để lại trên mỗi cạnh của đồ thị với các nguyên tắc sau:

(1) Thông tin vết mùi được tính toán và đặt trên mỗi đoạn đường. Nút ban đầu cho đường đi của mỗi con kiến được chọn một cách ngẫu nhiên.

(2) Kiến lựa chọn đường đi dựa vào thông tin vết mùi trên các đoạn đường để tính xác suất của đoạn tiếp theo được chọn. Xác suất lớn hơn cho đoạn đường đi có nhiều lượng vết mùi hơn và ngược lại.

(3) Con kiến tiếp tục việc tìm đường đi cho tới khi hoàn thành một đường đi của nó (thỏa mãn điều kiện dừng). Một đường đi hoàn chỉnh được gọi là một lời giải (Solution) cho bài toán đặt ra. Các lời giải sẽ được phân tích, so sánh và đánh giá để tìm phương án tốt nhất có thể (lời giải tối ưu). (4) Sau khi đàn kiến tìm được lời giải sẽ cập nhật lại vết mùi cho các cạnh và

tính toán để điều chỉnh để tìm phương án tốt hơn với xác suất lựa chọn cạnh tỷ lệ thuận với lượng vết mùi để lại.

(5) Quá trình lặp cho đến khi phần lớn kiến trong đàn chọn cùng một đường đi.

1.4.2 Thuật toán ACO cho bài toán tối ưu tổ hợp

Các bài toán tối ưu tổ hợp cần phải chuyển về dạng đồ thị cấu trúc đầy đủ có trọng số khi áp dụng thuật toán ACO. Khi đó, đàn kiến sẽ tìm các lời giải cho bài toán bằng cách di chuyển qua các đỉnh của đồ thị. Xét bài toán tối ưu tổ hợp tổng quát như Định nghĩa1.1, thuật toán ACO tổng quát được thực hiện với các thành phần quy ước sau:

C ={C1,C2, ...,Cn}là tập hữu hạn các đỉnh cần duyệt khi tìm kiếm.

X là tập hữu hạn các trạng thái có thể tìm được của bài toán.

x ∈X =<Ci,Cj, ...,Ck, ... > là một phương án của bài toán.

S ⊆X là tập các lời giải ứng viên.

X∗ ∈X là tập các trạng thái thỏa mãn ràng buộc Ω.

S∗ 6=∅là tập các lời giải tối ưu sao cho S∗ ⊆X∗ vàS∗ ⊆S

Đàn kiến sẽ xây dựng lời giải bằng cách di chuyển qua các đỉnh của đồ thị G = (C,L,T) với C là tập các đỉnh, L là tập các cạnh (không có đỉnh cô lập), T là tập giá trị mật độ mùi trên L. Ban đầu, kiến được phân bố ngẫu nhiên trên các đỉnh của G, sau đó chọn một đỉnh nào đó làm đỉnh kế tiếp trong quá trình dịch chuyển. Quá trình tìm kiếm sẽ dừng khi mọi đỉnh đều được duyệt qua, việc lựa chọn đỉnh kế tiếp trong quá trình di chuyển của kiến phụ thuộc vào mật độ mùi trên các cạnh tương ứng. Điều kiện Ω được áp dụng để đảm bảo các lời giải ứng cử viên được xây dựng thỏa mãn các điều kiện ban đầu. Sau khi hoàn thành quá trình di chuyển, mật độ mùi được cập nhật lại trên các cạnh của đồ thị. Quá trình trên được lặp lại đến khi tìm được phương án tối ưu hoặc thỏa mãn điều kiện dừng cho trước.

Thuật toán ACO [84] được mô tả như sau:

Thuật toán 1.1 ACO với Meta-heuristic

Begin

Khởi tạo vết vùi cho các đường đi (Initialize); While(Điều kiện dừng chưa thỏa mãn)do

Xây dựng tập các phương án (ConstrustAntSolutions); Tìm kiếm lời giải cục bộ (ApplyLocalSearch); (adsbygoogle = window.adsbygoogle || []).push({});

Cập nhật lại vết mùi (UpdatePheromones); Endwhile

End

Ban đầu, các tham số được khởi tạo gồm thông tin vết mùi cho các cạnh dựa trên một lời giải bất kỳ s0 ∈ S (Thuật toán 1.2). Giả sử có k kiến, chúng ta sẽ xây dựng tập lời giải cho con kiến thứi bằng cách lựa chọn các đỉnh Ci+1 dựa vào đỉnh Ci hiện thời và xác suất ngẫu nhiên (Thuật toán 1.3).

Thuật toán 1.2 Khởi tạo (Initialize)

Begin

Tạo một lời giải bất kìs0∈X∗;S∗=s0;

∀(i,j), τ(i,j) =τ0 (τmin≤τ0≤+∞)

Đối với mỗi con kiến, chọn đỉnh bất kỳc1 làm đỉnh xuất phát

k= 1;xk={c1}; End

Thuật toán 1.3 Xây dựng các phương án (ConstructAntSolutions)

Begin

For(duyệt quak con kiến) do

While(xi ∈X∗ andxi ∈S) //xây dựng tập lời giải cho con kiến thứ i; Chọn đỉnh tiếp theoCi+1 theo xác suất ngẫu nhiênP(Ci+1=C |T,xi)

Bổ sungCi+1 vào tậpxi; Endwhile

Endfor End

Thuật toán 1.4 Cập nhật vết mùi (UpdatePheromones)

Begin τ(i,j) = (1−ρ)·τ(i,j), ∀(i,j) If f(st)<f(S∗)thenS∗=st; ∀(i,j)∈S∗:τ(i,j) =τ(i,j) +g(S∗);τ(i,j) =max τmin, τ(i,j) ∀(i,j); End

Sau khi tìm được các phương án cho mỗi con kiến. Ta sẽ cập nhật lại vết mùi trên các cạnh của đồ thị bằng cách đánh giá lời giải triển vọng nhất được sinh ra trong toàn bộ không gian lời giải (Thuật toán 1.4). Thủ tục tìm kiếm cục bộ là một tùy chọn được sử dụng để chọn ra lời giải có triển vọng từ tập các lời giải do đàn kiến sinh ra trước đó.

1.4.3 Các thuật toán đàn kiến và một số vấn đề liên quan

Thuật toán đầu tiên là Hệ kiến (Ant System-AS) [84] do M. Dorigo đề xuất năm 1991 giải bài toán TSP. Sau đó, có nhiều biến thể được nghiên cứu tập trung vào nâng cao hiệu năng tính toán dựa trên lựa chọn các đặc trưng trong thủ tục Xây dựng các phương án và Cập nhật vết mùi như Bảng 1.4 [23, 68,82].

Bảng 1.4: Quá trình phát triển các thuật toán ACO

Thuật toán Viết tắt Tác giả Năm

Ant System AS Dorigo, Maniezzo và Colorni 1991 Elitist Ant System EAS Dorigo, Maniezzo và Colorni 1992 Ant-Q AQ Grambardella và Dorigo 1995 Ant Colony System ACS Dorigo và Grambardella 1996 Max-Min Ant System MMAS Stutzle và Hoos 1996 Rank-Based Ant System RBAS Bullnheimer, Hartl và Strauss 1997 ANT-Net ANTN Caro và Dorigo 1998 ANTS ANTS Maniezzo 1999 Best-Worst Ant System BWAS Cordón, Viana và Herrera 2000 Hyper-Cube Ant System HCAS Blum, Roli và Dorigo 2001 Population-based Ant Colony System PACS Guntsch và Middendorf 2002 Ant Colony Optimization ACO Dorigo và Stutzle 2004 Beam-Ant Colony Optimization BACO Blum 2004 Parallel-Ant Colony Optimization PACO Manfrin, Birattari, Stutzle và Dorigo 2006 cAnt-Miner CAM Otero, Freitas và Johnson 2008 Multi-colony Ant Colony System MACS Melo, Pereira và Costa 2009

Trong đó, Ant-Q là cách tiếp cận sử dụng kỹ thuật học máy cho bài toán TSP. Hệ đàn kiến ACS và hệ kiến MMAS được áp dụng cho bài toán TSP đối xứng hay không đối xứng. Thuật toán RBAS sử dụng ý tưởng xếp hạng cho các lời giải khi thực hiện cập nhật vết mùi, AntNet là tiếp cận theo định hướng sự thích nghi còn thuật toán BWAS là sự mở rộng của MMAS về luật di chuyển và việc bay hơi của vết mùi [84,85]. Thuật toán Parallel-ACO, Multi-colony ACS là các mô hình thực hiện song song các quần thể [68, 84]...Tuy nhiên, thuật toán thông dụng nhất là MMAS và ACS. Việc lựa chọn MMAS hay ACS đem lại hiệu quả như nhau nhưng MMAS dễ dùng hơn, còn ACS được nhóm của Dorigo quan tâm hơn. Phần tiếp theo, luận án sẽ giới thiệu ngắn gọn về các thuật toán AS, MMAS và ACS.

1.4.3.1 Thuật toán Ant System

Ban đầu Ant System (AS) có 3 phiên bản là Ant-density, Ant-quantity và Ant-cycle [84]. Với Ant-density và Ant-quantity các con kiến cập nhật vết mùi trực tiếp lên cạnh vừa đi, còn Ant-cycle vết mùi được cập nhật sau khi kiến xây dựng xong hành trình và lượng mùi được cập nhật phụ thuộc vào độ dài hành trình tìm được. Tuy nhiên,Ant-density vàAnt-quantity không hiệu quả bằng Ant-cycle nên khi nói đến AS, ta chỉ quan tâm đến Ant-cycle. Quá trình tìm lời giải được thực hiện với giá trị vết mùi được khởi tạo trên tất cả các cạnh là τij =τ0 = Cmnn (Với m là số kiến,Cnn là độ dài lời giải tìm được). Nếu khởi tạo vết mùi τ0 quá

thấp thì quá trình tìm kiếm có khuynh hướng hội tụ về hành trình đầu tiên tìm được, dẫn đến bị sa lầy làm cho chất lượng lời giải không tốt. Ngược lại, nếu khởi tạo vết mùi quá cao thì phải mất nhiều vòng lặp bay hơi mùi trên các cạnh không tốt và cập nhật bổ sung thêm mùi cho các cạnh tốt mới để thể hướng việc tìm kiếm đến vào vùng không gian có chất lượng tốt.

Xây dựng lời giải: Ban đầu,m kiến được đặt ngẫu nhiên tại các đỉnh của đồ thị. Ở mỗi bước, khi kiến k đang ở đỉnh i sẽ lựa chọn đỉnhj với xác suất theo tỉ lệ ngẫu nhiên (Random Proportional):

pijk = [τij] α [ηij]β P l∈Nk i [τil]α[ηil]β (1.1)

với ηij là giá trị thông tin tri thức, α, β là tham số ảnh hưởng tương quan giữa vết mùi và thông tin tri thức,Nk (adsbygoogle = window.adsbygoogle || []).push({});

i là các đỉnh lân cận của đỉnh i mà kiến k có thể chọn (Xác suất của các đỉnh mà kiến k chưa chọn bằng 0). Theo (1.1), xác suất chọn cạnh(i,j) tỷ lệ thuận vớiτij và ηij. Nếu α= 0 thì đỉnh gần nhất sẽ ưu tiên được chọn, khi đó thuật toán sẽ chọn ngẫu nhiên theo ưu tiên tỉ lệ nghịch đảo độ dài cạnh, không có học tăng cường. Nếuβ = 0thì chỉ có thông tin học tăng cường biểu thị qua vết mùi được sử dụng, không có thông tin tri thức. Nếuα lớn, thuật toán nhanh chóng bị tắc nghẽn và lời giải tìm được hội tụ về lời giải tối ưu cục bộ. Khi cài đặt, mỗi kiếnk sẽ duy trì một bộ nhớMk chứa các đỉnh lần lượt đã đi qua giúp xác định các đỉnh lân cận phù hợp đồng thời tính được độ dài hành trình Tk để xác định các cạnh được cập nhật mùi. Nếu xây dựng lời giải song song, tại mỗi bước tất cả kiến sẽ di chuyển sang đỉnh tiếp theo, ngược lại lần lượt từng con kiến xây dựng lời giải với cách xây dựng tuần tự [84].

Cập nhật vết mùi: sau khi đàn kiến xây dựng xong hành trình, vết mùi trên tất cả các cạnh sẽ được cập nhật lại như sau:

τij = (1−ρ)·τij+

m X

k=1

∆τijk (1.2)

trong đó, ρ (0 < ρ ≤ 1) là hệ số bay hơi để tránh sự tích tụ vết mùi quá nhiều trên một cạnh và giúp cho các con kiến “quên” đi các quyết định sai lầm. Trên thực tế, nếu một cạnh không được lựa chọn thì vết mùi nhanh chóng bị giảm theo

cấp số nhân.∆τk ij =

1

Ck Nếu cạnh (i,j)∈Tk

0 Ngược lại là lượng mùi do con kiếnk cập nhật trên cạnh đã đi qua với Ck là độ dài hành trình Tk được xây dựng. Như vậy, cạnh nào có nhiều kiến đi qua và độ dài hành trình ngắn sẽ được cập nhật mùi nhiều hơn. Tuy nhiên, hiệu quả của thuật toán AS so với các phương pháp Meta-heuristic khác giảm khi kích thước bài toán tăng, vì vậy có nhiều nghiên cứu tập trung cải tiến thuật toán AS [84].

1.4.3.2 Thuật toán Ant Colony System

Thuật toán Ant Colony System (ACS) [84] được đề xuất với 3 điểm khác chính so với AS là: Khai thác kinh nghiệm tìm kiếm mạnh hơn trong AS bằng cách sử dụng quy tắc lựa chọn dựa trên thông tin tích lũy nhiều hơn. Cơ chế bay hơi mùi và để lại mùi chỉ trên các cạnh thuộc vào lời giải tốt nhất toàn cục (Gbest-Global-best) nhằm tăng cường thăm dò đường mới. Mỗi lần kiến đi qua cạnh

(i,j) vết mùi sẽ bị giảm trên cạnh(i,j).

Xây dựng lời giải: khi con kiến k đang đứng ở đỉnh i sẽ lựa chọn di chuyển đến đỉnh j theo qui tắc: j = ( argmaxl∈Nk i n τil[ηil]β o Nếu q ≤q0 J Ngược lại (1.3)

với q ∈ [0,1], J là biến ngẫu nhiên phân bố đều; q0 (0≤ q0 ≤ 1) là tham số cho trước, lựa chọn theo phân bố xác suất theo (1.1) với α= 1. Nói cách khác, kiến sẽ lựa chọn khả năng tốt nhất có thể kết hợp giữa thông tin học từ vết mùi và thông tin tri thức với xác suất q0 và khám phá trên các cạnh với xác suất (1−q0). Điều chỉnh tham số q0 sẽ cho phép thay đổi mức độ khai thác và lựa chọn tập trung tìm kiếm quanh lời giải Gbest hoặc khám phá các hành trình khác.

Cập nhật mùi toàn cục: trong ACS chỉ có duy nhất một con kiến tìm được lời giải Gbest được phép để lại mùi sau mỗi lần lặp. Các cạnh (i,j) thuộc lời giải Gbest được cập nhật như sau:

τij = (1−ρ)·τij+ρ·∆τijbest (1.4) trong đó ∆τbest

ij = 1

CGbest với CGbest là độ dài lời giải Gbest.

Vết mùi của ACS chỉ được cập nhật trên các cạnh thuộc TGbest chứ không phải cho tất cả các cạnh như AS. τ là tham số bay hơi của ASC không giống như AS, việc cập nhật vết mùi được thay đổi theo trung bình trọng số của vết mùi cũ

Một phần của tài liệu Nghiên cứu một số vấn đề nâng cao chất lượng dịch vụ trong mạng thế hệ mới (Trang 29)