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

TÌM HIỂU CÁC THUẬT GIẢI METAHEURISTICS ĐỂ GIẢI BÀI TOÁN CÂY STEINER

31 1,5K 9

Đ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 31
Dung lượng 119,44 KB

Nội dung

Việc tìm ra lời giải tối ưu cho các bài toán này cho các hệ thống tính toán song song lớn nhất cũng không thể hoàn thành được trong giới hạn thời gian cho phép.. Trong phạm vi bài thu ho

Trang 1

BÀI THU HOẠCH MÔN THUẬT TOÁN VÀ PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ

TÌM HIỂU CÁC THUẬT GIẢI METAHEURISTICS ĐỂ GIẢI BÀI TOÁN CÂY STEINER

MÃ SỐ LỚP : CH08HỌC VIÊN THỰC HIỆN : HÀ THANH NHẤT

MÃ SỐ HỌC VIÊN : CH1301104GIẢNG VIÊN PHỤ TRÁCH : PGS.TS ĐỖ VĂN NHƠN

TP HỒ CHÍ MINH, THÁNG 10/2014

Trang 2

Em xin chân thành cảm ơn sâu sắc đến PGS.TS ĐỖ VĂN NHƠN, người thầy đã

truyền đạt cho em những kiến thức về thuật toán và phương pháp giải quyết vấn

đề khi em tham gia khóa học

Xin được cảm ơn các anh/chị học cùng khóa đã đóng góp và chia sẻ tài liệu về

môn học, giúp em hoàn thành tốt bài thu hoạch này

MỤC LỤC

LỜI NÓI ĐẦU

Bài toán tối ưu tổ hợp là bài toán có độ phức tạp cao và được phân loại thuộc

lớp NP khó Việc tìm ra lời giải tối ưu cho các bài toán này cho các hệ thống tính

toán song song lớn nhất cũng không thể hoàn thành được trong giới hạn thời gian

cho phép Vì vậy các kỹ thuật heuristic cho việc giải các bài toán tổ hợp theo

hướng xấp xỉ đã được phát triển để tìm ra các lời giải gần tối ưu (hay xấp xỉ)

trong giới hạn thời gian cho phép

Metaheuristics hợp nhất các khái niệm từ nhiều lĩnh vực khác nhau như di

truyền học, sinh vật học, trí tuệ nhân tạo, toán học và vật lý… Có thể kể một số

thuật giải metaheuristics như:

 Giải thuật luyện thép (SA): xuất phát từ phương thức xác suất và kỹ thuật

luyện bao gồm việc nung và điều khiển làm nguội các kim loại để đạt được

trạng thái năng lượng nhỏ nhất

 Giải thuật di truyền (GA): dựa trên ý tưởng từ cơ chế di truyền trong sinh

học và tiến trình tiến hóa trong cộng đồng các cá thể của một loài

 Giải thuật đàn kiến (ACO): dùng chiến lược của kiến trong thế giới thực để

giải bài toán tối ưu

Trong phạm vi bài thu hoạch này, em xin trình bày các giải thuật có hướng tiếp

cận dựa trên tập cá thể (GA và ACO) để giải quyết bài toán cây Steiner

Bài toán Steiner là thuộc lớp bài toán NP khó và trên thực tế chưa có tác giả

nào tìm được thuật toán hiệu quả để nó một cách chính xác Nó có rất nhiều ứng

dụng trong thiết kế mạch tích hợp cỡ lớn, thiết kế mạng, thiết kế kiến trúc xây

Trang 3

dựng … Chi tiết về bài toán cũng như các giải pháp sẽ được em trình bày trong

bài thu hoạch này

Trang 4

1 GIỚI THIỆU BÀI TOÁN CÂY STEINER

Có rất nhiều phát biểu về bài toán cây Steiner Dưới đây là hai phát biểu theo lý

thuyết về hình học và lý thuyết về đồ thị

1.1 Phát biểu bài toán Steiner trên mặt phẳng

Cho ba điểm trên mặt phẳng, tìm một điểm thứ tư sao cho tổng khoảng cách

từ điểm này tới ba điểm đã cho có giá trị nhỏ nhất.

Bài toán này của Fermat sau đó đã được Heinen giải vào năm 1834 Tuy nhiên,

phải mất hơn một thế kỷ, chỉ sau khi Courant và Robbins cho xuất bản cuốn sách

mang tên “What is Mathematics” thì bài toán của Fermat và các biến thể của nó

mới được biết đến dưới tên bài toán Steiner như một sự ghi nhớ những đóng góp

to lớn của nhà bác học Jacob Steiner đối với nền toán học Từ đó đến nay, rất

nhiều phiên bản khác nhau của bài toán đã ra đời để đáp ứng nhu cầu ứng dụng

trên thực tế

Một cách tổng quát, bài toán cây Steiner được phát biểu như sau:

Cho một tập điểm P, tìm phương án nối các điểm này lại với nhau sao cho

chi phí để nối các điểm này là nhỏ nhất Trong quá trình nối có thể bổ sung

những điểm cần thiết với số lượng không hạn chế để đạt được yêu cầu của bài

toán.

Vào những năm 1960, Melzak là người đầu tiên đưa ra một giải thuật có độ

phức tạp hàm mũ để giải bài toán trên mặt phẳng Tuy giải thuật của Melzak

không mang giá trị thực tế cao nhưng sự xuất hiện của một giải thuật hữu hạn

cho bài toán Steiner cùng với một số công trình nghiên cứu rất có giá trị của hai

tác giả Gilbert và Pollack vào cùng thời gian đó đã là một “cú hích” tác động

mạnh tới cộng đồng những nhà toán học nghiên cứu nói chung và những người đi

sâu về lĩnh vực tối ưu hóa nói riêng

Trang 5

1.2 Phát biểu bài toán Steiner trên đồ thị

Cho G = (V, E) là một đồ thị vô hướng, mỗi cạnh e ∈ E được gán với một trọng

số thực không âm N là một tập con các đỉnh của đồ thị gọi là tập các đỉnh kết

thúc

Một cây T của đồ thị G được gọi là cây Steiner nếu nó chứa tất cả các đỉnh kết

thúc, nghĩa là N ⊆ V(T) Các đỉnh thuộc V \ N (được gọi là các đỉnh không kết

thúc) cũng có thể xuất hiện trong T, nếu thuộc T chúng được gọi là nút Steiner

Bài toán cây Steiner trên đồ thị được phát biểu như sau:

Tìm cây Steiner có trọng số nhỏ nhất trong tất cả các cây Steiner của đồ thị.

Cây T như vậy được gọi là cây Steiner nhỏ nhất.

Bài toán này thuộc lớp NP khó Do vậy, một thuật toán đa thức để giải bài toán

là không tồn tại ngoại trừ P = NP

Hai trường hợp riêng của bài toán Steiner giải được với điều kiện:

 Tất cả các đỉnh của đồ thị đều là đỉnh kết thúc (1)

 Chỉ có 2 đỉnh kết thúc (2)

Với bài toán 1: lời giải chính là cây khung nhỏ nhất của đồ thị có thể tìm được

nhờ thuật toán Kruskal.

Với bài toán 2: lời giải tối ưu chính là đường đi ngắn nhất giữa hai đỉnh kết

thúc trong đồ thị có thể tìm được nhờ thuật toán Dijsktra.

1.3 Một số ứng dụng của bài toán

1.3.1 Bài toán truyền thông đa hướng

Cho một mạng máy tính được biểu diễn bởi một đồ thị trọng số vô hướng G (V,

E, f), một tập con T các đỉnh của V được gọi là một nhóm truyền thông và một

điểm s được gọi là một máy nguồn

Bài toán yêu cầu tìm một topogoly nối tất cả các máy trong nhóm truyền

thông T s sao cho tổng số các kênh nối (trong một số trường hợp có thể là

tổng độ dài các kênh nối) cần sử dụng là nhỏ nhất mà vẫn thỏa mãn các ràng

buộc của mạng như tốc độ đường truyền, dung lượng băng thông …

Trang 6

1.3.2 Bài toán kết nối nhóm

Cho một đồ thị vô hướng G(V, E) và tập các đỉnh T1, T2, …… Tn⊂ V

Bài toán yêu cầu tìm một đồ thị con G ’ của G thỏa mãn hai điều kiện sau:

- Mỗi tập con T i , i = 1…n phải có ít nhất một điểm trong G.

- Độ dài của đồ thị G ’ phải đạt cực tiểu.

1.3.3 Bài toán Steiner nhiều pha

Hơi khác so với bài toán kết nối nhóm, bài toán Steiner nhiều pha yêu cầu phải

chứa được tất cả các tập đỉnh T1, T2, … Tn

Cho một đồ thị G(V, E) và tập các đỉnh T1, T2, …… Tn⊂ V Gọi S1, S2, … Sn là

các đồ thị con liên thông của T1, T2, … Tn

Bài toán đặt ra yêu cầu tìm một đồ thị có giá trị cực tiểu và chứa tất cả các

đồ thị liên thông.

1.3.4 Bài toán mạng Steiner nhiều pha

Cho một đồ thị G(V, E) và các tập con của V: X1, Y1, X2, Y2… Xn, Yn với Xi

∩ Yi = ∅

Bài toán yêu cầu tìm một đồ thị con G ’ của G thỏa mãn hai điều kiện:

- Với mỗi i = 1…n, G ’ chứa một cây Steiner S i của X i

- Các điểm Steiner của S i chỉ được lấy từ Y i

1.3.5 Bài toán giật giải

Cho một đồ thị G(V, E), xuất phát từ một phương án nào đó, bài toán sẽ kết nạp

một đỉnh của G vào phương án này, với mỗi một điểm mới được kết nạp vào,

một giá trị k = v (độ dài của các cạnh vừa kết nạp vào phương án) sẽ được cộng

vào hàm mục tiêu của phương án Mục tiêu tối ưu của bài toán này là làm cực đại

giá trị hàm mục tiêu của phương án cuối cùng Trong công thức tính k ở trên, v là

một hằng số được gắn với mỗi đỉnh trên đồ thị G

1.3.6 Thiết kế mạch VLSI

Trong bước thiết kế vật lý của vi mạch VLSI, pha đi dây bao gồm việc xác định

sơ đồ nối dây cho các điểm nối của từng khối hay từng cổng trên chip Một mạng

trên chip là tập hợp các điểm cần phải nối với nhau, thường bao gồm một điểm

Trang 7

nguồn và nhiều điểm đích Trong việc đi dây, sơ đồ kết nối được đặc tả cho một

số lượng lớn các mạng Kết nối thường được thực hiện trên một mạng cùng lúc

Mỗi phương án kết nối cho một mạng đơn là một cây Steiner phủ các điểm nối

Nhiều yêu cầu tối ưu đặt ra cho việc nối mạng phụ thuộc vào chức năng của từng

mạng Việc thiết kế VLSI, các đường nối chỉ là đường ngang dọc trên bảng

mạch Bài toán tối ưu chiều dài dây nối được đưa về một biến thể của bài toán

cây Steiner, đó là bài toán cây Steiner thẳng góc trên đồ thị lưới

1.3.7 Bài toán phát sinh loài

Sự phát sinh loài được biểu diễn bằng một cây tiến hóa Nghiên cứu xây dựng

cây phát sinh loài là một trong những bài toán tính toán cơ bản trong sinh học Ta

quan tâm ở đây tới sự phân loài được mô tả bởi các tính trạng mà chúng thể hiện

ra từ tập các đặc tính Dữ liệu trên được mô tả dưới dạng bảng nhị phân, phần tử

(i, j) nhận giá trị 0 hoặc 1 tương ứng với loài i không có tính trạng j hoặc có tính

trạng j Sự khác biệt giữa hai loài được đo bằng khoảng cách Hamming giữa hai

vector tính trạng

Bài toán đặt ra là xây dựng cây tiến hóa sao cho sự khác biệt giữa các loài

đạt giá trị nhỏ nhất chính là giải bài toán cây Steiner nhỏ nhất

Các điểm kết thúc là các vector tính trạng của loài, các nút trung gian bản thân

cũng là các vector nhị phân, chúng nằm trên cạnh nối từ gốc đến lá Trọng số của

các cạnh đo bằng khoảng cách Hamming

1.4 Các thuật toán/thuật giải để giải quyết bài toán Steiner

1.4.1 Thuật toán Dreyfus-Wagner

Cho đồ thị vô hướng liên thông G = (V, E), T là tập đỉnh kết thúc của đồ thị

(G, c, T) là một thể hiện của bài toán, với mọi tập U ⊆ T và x  V(G)\U, ta định

Trang 8

 distG (x, y) là chiều dài đường đi ngắn nhất giữa cặp đỉnh x, y trong G.

Mã giả của thuật toán (sử dụng quy hoạch động)

Input Đồ thị vô hướng liên thông G, trọng số c và tập đỉnh kết thúc T

Output Trọng số p(T) của cây Steiner nhỏ nhất phủ tập T của đồ thị G

1 BEGIN

2 Nếu |T| ≤ 1 thì p(T) = 0, kết thúc thuật toán;

3 Tính distG(x,y) và đặt p(x,y) = distG(x,y) cho mọi x, y;

4 for k=2 to |T|-1

5 for (U ⊆ T, |U|=k) và (xV(G)\U)

6 Tính q(U{x}, x) theo công thức (a);

8 for (U ⊆ T, |U|=k) và (xV(G)\U)

9 Tính p(U{x}) theo công thức (b);

1.4.2 Các thuật giải metaheuristic

Bài toán cây Steiner là thuộc loại bài toán tối ưu tổ hợp nên việc sử dụng các kỹ

thuật tìm kiếm metaheuristic để tiếp cận giải quyết bài toán sẽ tốt hơn

Metaheuristic không được đảm bảo về mặt lý thuyết là có thể đưa ra lời giải tối

Trang 9

ưu, nhưng qua những thử nghiệm thực tế, kết quả mà các phép tìm kiếm

metaheuristic mang lại rất khả quan

Chi tiết về các thuật giải metaheuristic sẽ được trình bày ở phần tiếp theo đây

2 GIỚI THIỆU VỀ METAHEUTISTIC

Metaheuristic là một cách gọi chung cho các giải thuật heuristic trong việc giải

quyết các bài toán tổ hợp khó Metaheuristic bao gồm những chiến lược khác

nhau trong việc khám phá không gian tìm kiếm bằng cách sử dụng những

phương thức khác nhau và phải đạt được sự cân bằng giữa tính đa dạng và

chuyên sâu của không gian tìm kiếm Một cài đặt thành công của metaheuristic

trong một bài toán tổ hợp phải cân bằng giữa sự khai thác được kinh nghiệm thu

thập được trong quá trình tìm kiếm để xác định được những vùng với những lời

giải có chất lượng cao gần tối ưu

Với độ phức tạp tính toán cao của các bài toán tối ưu tổ hợp cũng như đòi hỏi

về mặt thời gian , việc giải các bài toán này yêu cầu cần phải có những cài đặt

song song hóa hiệu quả của các giải thuật để giải quyết chúng Song song hóa các

giải thuật metaheuristic phải đạt được hai yêu cầu : đa dạng hóa để khám phá

được nhiều vùng trong không gian tìm kiếm và tăng tốc độ tìm kiếm

Nhiều mô hình song song đã được đề xuất cho nhiều metaheuristic Thuật giải

di truyền và đàn kiến đều là các cách tiếp cận dựa trên tập cá thể và vì vậy khá tự

nhiên cho việc xử lý song song

Trong bài thu hoạch này, em xin trình bày hai giải thuật metaheuristic là: thuật

giải di truyền(GA) và thuật giải đàn kiến (ACO)

3 THUẬT GIẢI DI TRUYỀN

3.1 Lịch sử phát triển

Tính toán tiến hóa được I Rechenberg giới thiệu vào những năm 1960 trong

công trình “Evolution Stragies” (Những chiến lược tiến hóa) Ý tưởng của ông đã

được các nhà khoa học nghiên cứu phát triến tiếp

Trang 10

Giải thuật di truyền do John Holland phát minh và được ông phát triển cùng vớicác đồng nghiệp và sinh viên Cuốn sách "Adaption in Natural and ArtificialSystems" (Sự thích nghi trong các hệ tự nhiên và nhân tạo) xuất bản năm 1975 đãtổng hợp các kết quả của quá trình nghiên cứu và phát triển đó.

Năm 1992, John Koza đã dùng GA để xây dựng các chương trình giải quyếtmột số bài toán và gọi phương pháp này là "Genetic Programming" (GP)

Năm 1996, thư viện các hàm C++ cho GA (GALib) đã được Mathew Wall,trường Đại học Massachussets (Massachusetts Institute of Technology) đưa ra.Đây là các công cụ sử dụng giải thuật di truyền cho tối ưu hoá các chương trình

có sử dụng sự biểu diễn hay các toán tử di truyền

Ngày nay giải thuật di truyền càng trở nên quan trọng, đặc biệt là trong lĩnh vựctối ưu hoá, một lĩnh vực có nhiều bài toán thú vị, được ứng dụng nhiều trong thựctiễn nhưng thường khó và chưa có giải thuật hiệu quả để giải

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

3.2.1 Nhiễm sắc thể (Chromosome)

Nhiễm sắc thể (NST) hay còn gọi là cá thể Các sinh vật sống đều cấu tạo từ cá

tế bào, và tất cả các tế bào này đều bao gồm một tập hợp các nhiếm sắc thể giốngnhau Các NST này là một chuỗi các ADN, quy định đặc tính của cả cá thể MỗiNST bao gồm rất nhiều GEN, mỗi gen quy định một trạng thái nào đó

Trong bài toán tối ưu, cá thể tương ứng với một lời giải tiềm tàng

Trang 11

khả năng đấu tranh lớn hơn, do đó có thể tồn tại và sinh sản Các cá thể khôngthích nghi được với điều kiện sống thì dần mất đi Dựa vào nguyên lý của quátrình chọn lọc và đấu tranh sinh tồn trong tự nhiên, chọn lựa các cá thể trong GAchính là cách chọn các cá thể có độ thích nghi tốt để đưa vào thế hệ tiếp theohoặc để cho lai ghép, với mục đích là sinh ra các cá thể mới tốt hơn

Tuy nhiên, quá trình chọn lọc mang rất nhiều yếu tố ngẫu nhiên Có nhiều cách

để lựa chọn nhưng cuối cùng đều nhằm đáp ứng mục tiêu là các cá thể tốt sẽ cókhả năng được chọn cao hơn

3.2.4 Lai ghép (CrossOver)

Lai ghép trong tự nhiên là sự kết hợp các tính trạng của bố mẹ để sinh ra thế hệcon Trong giải thuật di truyền, lai ghép được coi là một sự tổ hợp lại các tínhchất (thành phần) trong hai lời giải cha mẹ nào đó để sinh ra một lời giải mới mà

có đặc tính mong muốn là tốt hơn thế hệ cha mẹ Đây là một quá trình xảy ra chủyếu trong giải thuật di truyền

3.2.5 Đột biến (Mutation)

Đột biến là một sự biến đổi tại một (hay một số) gen của NST ban đầu để tạo ramột NST mới Đột biến có thể tạo ra một cá thể mới tốt hơn hoặc xấu hơn cá thểban đầu Tuy nhiên trong giải thuật di truyền thì ta luôn muốn tạo ra những phépđột biến cho phép cải thiện lời giải qua từng thế hệ Đột biến cũng mang tính chấtngẫu nhiên

3.2.6 Hàm thích nghi (Fitness Function)

Trong tự nhiên, chỉ có những cá thể nào thích nghi được với môi trường thì mớitồn tại, không nó sẽ bị diệt vong GA đưa ra khái niệm hàm thích nghi, hay hàmsức khỏe để đánh giá một cá thể hay một lời giải, so với các cá thể khác Từ đómới có thể chọn lựa được các lời giải tốt cho các thế hệ sau Hàm thích nghi cũng

là một tiêu chí đánh giá mức độ tiến hóa của quần thể

Trang 12

3.3 Mô tả thuật giải

GA được lấy cảm hứng từ Thuyết tiến hóa của Darwin Lời giải của một bàitoán được giải bằng GA sử dụng quá trình tiến hóa

Giải thuật bắt đầu bằng một tập các lời giải, được biểu diễn bằng các NST, gọi

là Quần Thể Các lời giải này được lấy ra và sử dụng để tạo nên quần thể mới,với một mong muốn quấn thể mới sẽ tốt hơn quần thể cũ Những lời giải đượcchọn từ quần thể mới hay thế hệ con cháu theo độ thích nghi Chúng càng thíchnghi cao, chúng càng có nhiều cơ hội để tái sinh sản

[Bắt đầu] Sinh ngẫu nhiên một quần thể gồm n cá thể (là n lời giải cho bài

toán)

[Thích nghi] Ước lượng độ thích nghi eval(x) của mỗi cá thể x trong quần thể

[Quần thể mới] Tạo quần thể mới bằng cách lặp lại các bước sau cho đến khi

quần thể mới hoàn thành

[Chọn lọc] Chọn hai cá thể bố mẹ từ quần thể cũ theo độ thích nghi của

chúng (cá thể có độ thích nghi càng cao thì càng có nhiều khả năng được chọn)

[Lai ghép] Với một xác suất lai ghép được chọn, lai ghép hai cá thể bố mẹ

để tạo ra một cá thể mới

[Đột biến] Với một xác suất đột biến được chọn, biến đổi cá thể mới

[Chấp nhận] Thay con mới vào quần thể

[Thay thế] Sử dụng quần thể mới cho quá trình tiếp theo của thuật toán

[Thử nghiệm] Nếu điều kiện dừng được thoã mãn thì thuật toán kết thúc và trả

về lời giải tốt nhất trong quần thể hiện tại

[Vòng lặp ] Quay lại bước 2

3.4 Điều kiện dừng của thuật giải

Kết thúc theo kết quả: tức là khi giá trị thích nghi của cá thể trong quần thể cógiá trị sai số nhỏ hơn một giá trị ε cho trước thì dừng thuật toán

Kết thúc dựa trên số thế hệ: khi số lượng tiến hóa của quần thể đến một giớihạn cho phép thì dừng thuật giải mà không quan tâm đến chất lượng của cá thểtrong quần thể đó như thế nào

Trang 13

Tính theo thời gian: phụ thuộc vào thời gian chạy chương trình được quy địnhtrước.

Kết hợp nhiều phương pháp khác nhau: kết hợp nhiều điều kiện khác nhau đểdừng thuật toán

4 THUẬT GIẢI ĐÀN KIẾN

4.1 Lịch sử phát triển

4.1.1 Đàn kiến tự nhiên

Loài kiến là loài sâu bọ có tính chất xã hội, chúng sống thành từng đàn, bởi vậy

có sự tác động lẫn nhau, chúng thạo tìm kiếm thức ăn và hoàn thành nhữngnhiệm vụ từ kiến chỉ huy Một điều thú vị trong tìm kiếm thức ăn của vài conkiến đặc biệt là khả năng của chúng để tìm kiếm đường đi ngắn nhất giữa tổ kiến

và nguồn thức ăn Trên thực tế, điều dễ nhận thấy có trong suy nghĩ nhưng nhiềucon kiến hầu hết không nhận ra vì chúng không dùng thị giác để tìm kiếm nhữngđầu mối thức ăn

Trong quá trình đi giữa tổ và nguồn thức ăn, vài con kiến tích tụ một chất đượcgọi là mùi lạ (pheromone) Nếu không có mùi lạ sẵn có, những con kiến dichuyển ngẫu nhiên, nhưng khi có mặt của mùi lạ này chúng có xu hướng đi theomùi lạ

Trên thực tế, cuộc thí nghiệm của nhà nghiên cứu sinh là những con kiến theothuyết tự nhiên thích những con đường được đánh dấu bởi tập hợp nhiều mùi lạ.Trong quá trình thực hiện, lựa chọn giữa những con đường tìm thấy khác nhaukhi có vài con đường phân cách Sau đó kiến sẽ lựa chọn xác suất một con đườngqua số lượng mùi lạ: mùi lạ càng nhiều thì sự lựa chọn càng cao

Bởi vậy, những con kiến đổi hướng theo mùi lạ trên đường đi, chúng được đềcập như sau: kết quả tìm kiếm thức ăn trong quá trình tăng cường ảnh hưởng từ

sự hình thành của con đường được đánh dấu bởi tập hợp nhiều mùi lạ Cách tìmthức ăn này tập trung kiến tìm đường đi ngắn nhất giữa tổ và nguồn thức ăn

Trang 14

Kĩ thuật thế nào tập trung được kiến tới phạm vi con đường ngắn nhất Ở đó,không có mùi lạ nào trong môi trường và, khi kiến đến những chỗ giao nhau,chúng ngẫu nhiên lựa chọn một ngả đường Tuy nhiên, như kiến đi du lịch, conđường triển vọng nhất tiếp nhận số lượng mùi lạ nhiều hơn sau vài lần đi Nhờ

đó, những con đường ngắn hơn, kiến sẽ lựa chọn chúng để tới thức ăn nhanh hơn

và để bắt đầu trở lại hành trình kiếm thức ăn sớm hơn Từ khi ngả đường ngắnhơn được chọn mùi lạ tồn tại nhiều hơn, quyết định của kiến có xu hướng tiến vềngã đường ngắn hơn Vì thế, lựa chọn con đường nhiều mùi hơn khi kiến trở lạinhiều hơn ngả đường dài hơn Kết quả cuối cùng của quá trình này là sự tăng xuhướng tiến tới ngả đường ngắn và kết thúc, hội tụ lại là con đường ngắn nhất

Thủ tục sau đó được bổ sung trong môi trường tự nhiên bởi thực tế mùi lạ sẽ bịbay hơi sau vài lần Con đường này triển vọng ít dần vì mất dần mùi lạ bởi vì nóđược kiến đi ngày càng ít Tuy nhiên vài nhà sinh vật học đã nghiên cứu chỉ ramùi lạ rất bền, vì thế ít ảnh hưởng của sự bay hơi trên đường đi ngắn nhất củaquá trình tìm kiếm thức ăn

4.1.2 Hình thành ý tưởng thuật giải từ đàn kiến tự nhiên

Thuật toán ACO lấy ý tưởng từ việc kiếm thức ăn của đàn kiến ngoài thực tế đểgiải quyết các bài toán tối ưu tổ hợp Chúng dựa trên cơ sở một đàn kiến nhântạo, chúng được tính toán tìm kiếm thức ăn nhờ mùi lạ nhân tạo

Cấu trúc cơ bản của thuật toán ACO: trong mỗi thuật toán, tất cả kiến đi xâydựng cách giải quyết bài toán bằng cách xây dựng một đồ thị Mỗi cạnh của đồthị miêu tả các bước kiến có thể đi được kết hợp từ hai loại thông tin hướng dẫnkiến di chuyển:

 Thông tin kinh nghiệm (heuristic information): giới hạn kinh nghiệm ưutiên di chuyển từ nút r tới s…của cạnh ars Nó được đánh dấu bởi ηrs Thôngtin này không được thay đổi bởi kiến trong suốt quá trình chạy thuật toán

 Thông tin mùi lạ nhân tạo (artificial pheromone trail information), nó giớihạn “nghiên cứu sự thèm muốn” của chuyển động là kiến nhân tạo và bắtchước mùi lạ thực tế của đàn kiến tự nhiên Thông tin này bị thay đổi trongsuốt quá trình thuật toán chạy phụ thuộc vào cách giải quyết được tìm thấybởi những con kiến Nó được đánh dấu bởi τrs

Trang 15

Giới thiệu các bước ảnh hưởng từ những con kiến thật vào ACO Có hai vấn đềcần chú ý:

 Chúng trừu tượng hoá vài mô hình thức ăn của kiến ngoài thực tế để tìm rađường đi tìm kiếm thức ăn ngắn nhất

 Chúng bao gồm vài đặc điểm không giống với tự nhiên nhưng lại cho phépthuật toán phát triển chứa đựng cách giải quyết tốt tới bài toán bị cản (ví dụ:

sử dụng thông tin kinh nghiệm để hướng dẫn chuyển động của kiến)

Cách thức hoạt động cơ bản của một thuật toán ACO như sau:

m kiến nhân tạo di chuyến, đồng thời và không đồng bộ, qua các trạng thái liền

kề của bài toán Sự di chuyển này theo một tập quy tắc làm cơ sở từ những vùngthông tin có sẵn ở các thành phần (các nút) Vùng thông tin này bao gồm thôngtin kinh nghiệm và thông tin mùi lạ để hướng dẫn tìm kiếm Qua sự di chuyểntrên đồ thị kiến xây dựng được cách giải quyết Những con kiến sẽ giải phóngmùi lạ ở mỗi lần chúng đi qua một cạnh (kết nối) trong khi xây dựng cách giảiquyết (cập nhật từng bước mùi lạ trực tuyến) Mỗi lần những con kiến sinh racách giải quyết, nó được đánh giá và nó có thể tạo luồng mùi lạ là hoạt động củachất lượng của cách giải quyết của kiến (cập nhật lại mùi lạ trực tuyến) Thôngtin này sẽ hướng dẫn tìm kiếm cho những con kiến đi sau

Hơn thế nữa, cách thức sinh hoạt động của thuật toán ACO bao gồm thêm hai

thủ tục, sự bay hơi mùi lạ (pheromone trail evaporation) và hoạt động lạ (daemon actions)

 Sự bay hơi của mùi lạ được khởi sự từ môi trường và nó được sử dụng như

là một kĩ thuật để tránh tìm kiếm bị dừng lại và cho phép kiến khảo sát vùngkhông gian mới

 Hoạt động lạ là những hoạt động tối ưu như một bản sao tự nhiên để thựchiện những nhiệm vụ từ một mục tiêu xa tới vùng của kiến

4.1.3 Các nghiên cứu về thuật giải đàn kiến

Hệ thống ACO lần đầu tiên được Marco Dorigo giới thiệu trong luận văn củamình vào năm 1992, và được gọi là Hệ thống kiến (Ant System, hay AS) AS làkết quả của việc nghiên cứu trên hướng tiếp cận trí tuệ máy tính nhằm tối ưu tổhợp mà Dorigo được hướng dẫn ở Politecnico di milano với sự hợp tác của

Ngày đăng: 23/05/2015, 21:05

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w