intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Giải thuật kiến song song giải bài toán cây khung nhỏ nhất có bậc bị chặn

Chia sẻ: ViHasaki2711 ViHasaki2711 | Ngày: | Loại File: PDF | Số trang:8

26
lượt xem
2
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài viết đề xuất giải thuật tối ưu hóa đàn kiến song song tìm cây khung nhỏ nhất có bậc bị chặn trên đồ thị có số đỉnh tương đối lớn.

Chủ đề:
Lưu

Nội dung Text: Giải thuật kiến song song giải bài toán cây khung nhỏ nhất có bậc bị chặn

JOURNAL OF SCIENCE OF HNUE DOI: 10.18173/2354-1075.2015-0052<br /> Educational Sci., 2015, Vol. 60, No. 7A, pp. 53-60<br /> This paper is available online at http://stdb.hnue.edu.vn<br /> <br /> <br /> <br /> <br /> GIẢI THUẬT KIẾN SONG SONG GIẢI BÀI TOÁN<br /> CÂY KHUNG NHỎ NHẤT CÓ BẬC BỊ CHẶN<br /> <br /> Bùi Thị Thủy, Phạm Thị Lan<br /> Khoa Công nghệ thông tin, Trường Đại học Sư phạm Hà Nội<br /> <br /> Tóm tắt. Cho một đồ thị G = (V, E) liên thông, có trọng số và một số nguyên dương d.<br /> Cây khung có bậc bị chặn của G là một cây khung trong đó các đỉnh của nó đều có bậc nhỏ<br /> hơn d. Bài toán tìm cây khung nhỏ nhất có bậc bị chặn của một đồ thị cho trước đã được<br /> chứng minh là bài toán NP - khó. Trong bài báo này, chúng tôi đề xuất giải thuật tối ưu hóa<br /> đàn kiến song song tìm cây khung nhỏ nhất có bậc bị chặn trên đồ thị có số đỉnh tương đối<br /> lớn.<br /> Từ khóa: Giải thuật kiến, cây khung tối ưu có bậc bị chặn, chiến lược song song, bài toán<br /> Np - khó, thuật toán song song.<br /> <br /> 1. Mở đầu<br /> Bài toán cây khung nhỏ nhất có bậc bị chặn (Degree – Constrained Minimum Spanning<br /> Tree (DCMST)) được nghiên cứu lần đầu tiên bởi 2 tác giả Deo và Hakimi [2]. Bài toán được phát<br /> biểu như sau:<br /> Input: Cho trước một đồ thị G = (V, E) với |V | = n, các cạnh được gán trọng số và một<br /> số nguyên dương d.<br /> Question: Có tồn tại hay không một cây khung nhỏ nhất T của G thỏa mãn điều kiện mọi<br /> đỉnh của T đều có bậc không vượt quá d.<br /> Có thể phát biểu lại bài toán dưới dạng tối ưu như sau:<br /> Cho đồ thị G = (V, E) có n đỉnh, m cạnh và cij > 0 là trọng số của mỗi cạnh eij .<br /> Giả sử<br /> (<br /> cij , eij ∈ E<br /> Xij = (1.1)<br /> 0, eij 6∈ E<br /> <br /> Với một số d nguyên dương, hãy xác định giá trị nhỏ nhất của biểu thức sau:<br /> X<br /> WT = cij Xij (1.2)<br /> i,j∈V,i6=j<br /> <br /> Ngày nhận bài: 20/7/2015. Ngày nhận đăng: 20/11/2015.<br /> Liên hệ: Bùi Thị Thủy, e-mail: btthuy@hnue.edu.vn<br /> <br /> <br /> <br /> <br /> 53<br /> Bùi Thị Thủy, Phạm Thị Lan<br /> <br /> <br /> Trong đó<br /> X<br /> Xij ≤ d với i ∈ V (1.3)<br /> j∈V,i6=j<br /> X<br /> Xij ≥ 1 với i ∈ V (1.4)<br /> j∈V,i6=j<br /> X<br /> Xij ≤ |N | − 1 với ∀N ⊆ V (1.5)<br /> i6=j<br /> <br /> <br /> Bài toán này có rất nhiều ứng dụng trong đời sống. Một số ứng dụng quan trọng của nó<br /> được kể đến như thiết kế tối ưu các mạng máy tính, viễn thông, thiết kế các mạch tích hợp, các<br /> mạng năng lượng, mạng lưới giao thông, thiết kế các hệ thống thủy lợi [3, 10].<br /> Xác định cây khung nhỏ nhất có bậc bị chặn được chứng minh là bài toán NP-khó [2, 13].<br /> Đã có nhiều giải thuật metaheuristic được giới thiệu để giải bài toán này như giải thuật tiến hóa<br /> [9], giải thuật di truyền [1], giải thuật đàn kiến [11, 12, 13]. . . Tuy giải thuật đàn kiến đã được sử<br /> dụng để giải quyết bài toán DCMST nhưng mới chỉ dừng lại ở thuật toán tuần tự, chưa có thuật<br /> toán song song. Trong bài báo này, chúng tôi sử dụng giải thuật tối ưu hóa đàn kiến để giải quyết<br /> bài toán theo hướng song song hóa với các mô hình song song khác nhau nhằm tối ưu hóa kết quả<br /> và tăng tốc trong tính toán.<br /> Để chứng tỏ hiệu quả của các thuật toán song song so với tuần tự, chúng tôi đã cài đặt thực<br /> nghiệm. Kết quả nhận được cho thấy mô hình song song hiệu quả hơn mô hình tuần tự.<br /> <br /> 2. Nội dung nghiên cứu<br /> 2.1. Giải thuật tối ưu hóa đàn kiến (Ant Colony Optimization - ACO)<br /> Trong khoa học máy tính, giải thuật tối ưu hóa đàn kiến (Ant Colony Optimization – ACO)<br /> là một mô hình cho việc thiết kế các giải thuật tìm kiếm siêu kinh nghiệm (metaheuristic) để giải<br /> quyết các bài toán tối ưu tổ hợp có thể quy về việc tìm kiếm đường đi tốt nhất trên đồ thị. Giải<br /> thuật này là một thành viên của họ các giải thuật đàn kiến trong các phương pháp tri thức bầy đàn<br /> (swarm intelligence). Phương pháp này là một hướng tiếp cận khá mới mẻ để giải quyết các bài<br /> toán dựa trên các hành xử xã hội của các loài vật, trong đó có loài kiến.<br /> Từ đàn kiến tự nhiên đến giải thuật ACO<br /> Kiến là loài côn trùng có tính chất xã hội. Chúng sống thành từng đàn trong tự nhiên và giữa<br /> chúng có tác động qua lại với nhau. Trong quá trình di chuyển từ tổ tới nguồn thức ăn, các con kiến<br /> có để lại trên mặt đất một chất hóa học tiết ra từ cơ thể của chúng. Chất hóa học này được gọi là<br /> mùi kiến (pheromone). Nếu không có mùi kiến sẵn có trên đường đi, các con kiến di chuyển ngẫu<br /> nhiên. Nhưng khi có mặt của mùi kiến, chúng có xu hướng di chuyển theo mùi đó. Trên thực tế<br /> các nghiên cứu của các nhà sinh học chỉ ra rằng theo thuyết tự nhiên, kiến thích những con đường<br /> được đánh dấu bởi nhiều mùi kiến. Con đường nào có nồng độ mùi càng cao thì xác suất được<br /> kiến chọn để đi qua càng lớn. Vì mùi kiến chỉ là một chất hóa học nên nó sẽ bị bay hơi theo thời<br /> gian [6]. Tuy nhiên, một số nhà nghiên cứu sinh học cũng chỉ ra rằng mùi là rất bền nên sự bay hơi<br /> của nó không ảnh hưởng nhiều đến đường đi ngắn nhất. Theo cơ chế này thì các con kiến sau một<br /> vài lần di chuyển sẽ tìm ra một con đường tốt nhất tới nguồn thức ăn. Con đường ngắn nhất là con<br /> đường có độ mùi lớn nhất và có nhiều kiến đi nhất.<br /> Dựa trên hoạt động tìm kiếm thức ăn của đàn kiến trong tự nhiên, Marco Dorigo đã xây<br /> dựng giải thuật đàn kiến. Trong giải thuật, đàn kiến tự nhiên được mô hình hóa thành một đàn kiến<br /> <br /> 54<br /> Giải thuật kiến song song giải bài toán cây khung nhỏ nhất có bậc bị chặn<br /> <br /> <br /> nhân tạo, mùi kiến tự nhiên được thay thế bằng mùi nhân tạo. Ý tưởng cơ bản của ACO là đàn kiến<br /> nhân tạo sẽ xây dựng lời giải cho bài toán bằng việc hoạt động trên một đồ thị. Mỗi cạnh của đồ thị<br /> được gắn thông tin cho phép dự đoán xem cạnh đó có được kiến lựa chọn để đi qua hay không [8].<br /> Thông tin đó gọi là thông tin hướng dẫn kiến di chuyển và bao gồm:<br /> • Thông tin kinh nghiệm: giới hạn kinh nghiệm di chuyển từ đỉnh i tới đỉnh j, gắn với cạnh<br /> eij kí hiệu là ηij . Thông tin kinh nghiệm không được thay đổi bởi các con kiến trong suốt<br /> quá trình chạy thuật toán.<br /> • Thông tin mùi kiến nhân tạo: kí hiệu là τij cho mỗi cạnh eij . Đây là mùi kiến nhân tạo ứng<br /> với mỗi kiến nhân tạo, có tác dụng trong việc tính xác suất để lựa chọn đường đi cho kiến.<br /> Thông tin này bị thay đổi trong suốt quá trình thực hiện giải thuật.<br /> Như vậy, từ đàn kiến tự nhiên đến giải thuật ACO là quá trình xây dựng mô hình giải thuật<br /> tìm kiếm đường đi tối ưu dựa trên hoạt động tìm kiếm thức ăn của đàn kiến. Nhân tố chính trong<br /> giải thuật ACO là đàn kiến nhân tạo cùng với các tham số về mùi kiến, sự bay hơi của mùi kiến và<br /> cơ chế lựa chọn đường đi dựa trên nồng độ mùi hương.<br /> Giải thuật ACO - Metaheuristic<br /> Giải thuật ACO hoạt động dựa trên sự tương tác lẫn nhau giữa ba thủ tục sau đây: xây dựng<br /> lời giải của các kiến (ConstructAntsSolutions), cập nhật vệt mùi (UpdatePheromones) và các hành<br /> động chung (daemon actions) [12].<br /> • ConstructAntsSolutions cho phép những con kiến nhân tạo di chuyển đồng thời nhưng không<br /> đồ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 dựa<br /> trên các thông tin kinh nghiệm và thông tin về mùi kiến để hướng dẫn tìm kiếm. Qua sự di<br /> chuyển trên đồ thị, kiến xây dựng được lời giải cho bài toán. Trong quá trình xây dựng lời<br /> giải, mỗi con kiến sẽ giải phóng mùi lại mỗi lần nó đi qua một cạnh. Mùi kiến này sẽ góp<br /> phần hướng dẫn tìm kiếm cho những con kiến đi sau.<br /> • UpdatePheromones là quá trình trong đó các vệt mùi bị thay đổi. Giá trị của vệt mùi cũng<br /> có thể tăng lên hoặc giảm đi. Vệt mùi tăng giá trị khi kiến để lại mùi trên các thành phần<br /> hoặc đường đi nó đi qua. Trường hợp ngược lại là do sự bay hơi của mùi kiến trong tự nhiên.<br /> Thực tế ta thấy, việc để lại mùi mới trên các đường kiến đi qua làm tăng thêm khả năng mà<br /> con đường đó có thể được lựa chọn bởi nhiều con kiến khác, và điều này có tác dụng tạo ra<br /> một con đường rất tốt có thể được sử dụng lại bởi các con kiến sau. Ngược lại, sự bay hơi<br /> của mùi kiến sẽ ngăn chặn sự hội tụ quá nhanh của giải thuật tới một vùng gần điểm cực<br /> thuận và cho phép kiến khảo sát không gian tìm kiếm mới.<br /> • Daemon actions được sử dụng để cài đặt các hoạt động chung, là những hoạt động không<br /> được thực thi bởi những con kiến riêng lẻ. Những hoạt động đó có thể là sự hoạt hóa một<br /> thủ tục tối ưu hóa cục bộ hay sự góp nhặt các thông tin cục bộ. . .<br /> Giải thuật ACO – metaheuristic có thể được viết bằng giả mã như sau:<br /> <br /> Procedure ACO – Metaheuristic;<br /> ScheduleActivities<br /> ConstructAntsSolutions;<br /> UpdatePheromones;<br /> DaemonActions;<br /> End – ScheduleActivities<br /> End – Procedure;<br /> <br /> <br /> 55<br /> Bùi Thị Thủy, Phạm Thị Lan<br /> <br /> <br /> Như vậy, ý tưởng chính của giải thuật ACO – Metaheuristic chính là sự lặp lại các mối quan<br /> hệ lẫn nhau giữa ba thành phần con bao gồm: hoạt động của đàn kiến, cập nhật vệt mùi và các hoạt<br /> động khác. Ngày nay, có nhiều cài đặt thành công giải thuật ACO và nó cũng được áp dụng để giải<br /> rất nhiều bài toán tối ưu tổ hợp khác nhau.<br /> <br /> 2.2. Giải thuật ACO giải bài toán cây khung nhỏ nhất có bậc bị chặn<br /> 2.2.1. Khung ACO tuần tự<br /> Ý tưởng của việc áp dụng ACO vào bài toán cây khung nhỏ nhất có bậc bị chặn (DCMST) có<br /> thể tóm tắt như sau: trước tiên xác định cây khung có bậc bị chặn (Degree – Constrained Spanning<br /> tree, d – ST), sau đó dựa trên những cây d – ST này, xác định cây khung nhỏ nhất có bậc bị chặn.<br /> Dựa trên ý tưởng đó, ta có khung ACO tuần tự được thiết kế như sau:<br /> Cho đồ thị liên thông, vô hướng, có trọng số G = (V, E). Một đàn kiến có số lượng kiến là<br /> m = |V |. Tại mỗi bước lặp của thuật toán, mỗi con kiến sẽ xây dựng cho riêng mình một cây d –<br /> ST. Trong quá trình xây dựng cây d – ST, các con kiến sẽ sử dụng tập cạnh E để phục vụ cho việc<br /> xây dựng lời giải. Hàm mục tiêu f trả về tổng trọng số của của một cây khung có bậc bị chặn Sk<br /> được tìm ra bởi con kiến k. Gọi wij là trọng số của cạnh eij và τij là nồng độ mùi trên cạnh eij .<br /> Giá trị khởi tạo cho nồng độ mùi trên mỗi cạnh là τ0 = 10−6 . Giải thuật ACO có thể được mô tả<br /> qua một số bước lặp sau:<br /> 1. Đàn kiến nhân tạo mAnts có số lượng là |V | được khởi tạo tại các đỉnh một cách ngẫu nhiên<br /> (mỗi con một đỉnh)<br /> 2. Mỗi con kiến k nào đó sẽ xây dựng một cây d – ST hợp lệ. Nó luôn chứa một danh sách Jk<br /> các cạnh mà nó có thể đi qua.<br /> 3. Tại bước r của vòng lặp thứ t, mỗi con kiến k sẽ lựa chọn cạnh mà nó chưa qua. Cạnh được<br /> chọn sẽ là cạnh liên thuộc với cây d – ST được xây dựng tại bước r − 1, tất nhiên khi thêm<br /> cạnh vào cây thì ta vẫn thu được cây d – ST hợp lệ. Xác suất lựa chọn cạnh như sau:<br />  α β<br />  P[τeij (t)] [ηeij ] , ∀l ∈ J (e ), η = 1<br /> <br /> α β k ij eij wij<br /> pkeij = l∈Jk [τel (t)] [ηel ] (2.1)<br /> 0, ngược lại<br /> <br /> <br /> Trong đó:<br /> (<br /> wij nếu wij > 0<br /> wij = (2.2)<br /> 0, nếuwij = 0<br /> <br /> Với α và β là hai tham số dương chi phối sự ảnh hưởng tương ứng của nồng độ mùi và trọng<br /> số của cạnh eij tới sự quyết định của kiến trong đó ηij = w1ij .<br /> 4. Sau khi mỗi con kiến hoàn thành một cây d – ST, giá trị mùi được cập nhật lại theo công<br /> thức sau:<br /> mAnts<br /> X<br /> τeij (t+1) = (1 − ρ)τeij (t) + △τek (2.3)<br /> ij<br /> k=1<br /> <br /> Trong đó:<br /> △τekij = ρτ0 cập nhật cục bộ (2.4)<br /> <br /> 56<br /> Giải thuật kiến song song giải bài toán cây khung nhỏ nhất có bậc bị chặn<br /> <br /> <br /> Hoặc<br /> Q<br /> (<br /> nếu eij ∈ d − ST bg<br /> △τekij = Lbg<br /> cập nhật toàn cục (2.5)<br /> 0, nếu ngược lại<br /> <br /> Với ρ là hệ số bay hơi, Lgb là trọng số của cây khung có bậc bị chặn nhỏ nhất toàn cục<br /> d − ST gb , Q là hằng số nguyên dương.<br /> Kí hiệu thuật toán ACO tuần tự là ACOSE .<br /> 2.2.2. Khung ACO song song<br /> <br /> <br /> <br /> <br /> Hình 1. Mô hình ACOR<br /> Về cơ bản, các bước trong<br /> khung giải thuật song song giống với<br /> khung tuần tự, nhưng khác ở chỗ: việc<br /> thực hiện giải thuật được tiến hành<br /> đồng thời trên các bộ xử lí khác nhau,<br /> ở đó các bộ xử lí giao tiếp với nhau<br /> qua mạng liên kết tạo thành hệ thống<br /> song song với bộ nhớ phân tán. Mỗi<br /> bộ xử lí sẽ đảm nhận công việc tìm<br /> kiếm cây khung nhỏ nhất có bậc bị<br /> chặn của một nhóm các con kiến (đàn<br /> kiến). Sau một số bước lặp nhất định,<br /> sẽ có sự hoán đổi lời giải tối ưu và ma<br /> trận mùi tương ứng với lời giải tối ưu<br /> đó giữa các bộ xử lí. Giả sử có n bộ<br /> xử lí, khi đó số kiến được phân phát<br /> trên mỗi bộ xử lí là [mAnts/n]. Ở<br /> đây, chúng tôi trình bày các mô hình<br /> giao tiếp trong mạng liên kết các bộ<br /> xử lí để hoán đổi thông tin như sau:<br /> Hình 2. Mô hình ACOMS<br /> Mô hình vòng (Hình 1):<br /> Trong mô hình này, n bộ xử lí (n đàn kiến) sẽ kết nối với nhau tạo thành một vòng một chiều.<br /> Sau khi n đàn kiến tìm xong lời giải tối ưu của riêng mình, việc hoán đổi lời giải được tiến hành<br /> như sau: bộ xử lí i sẽ gửi lời giải tối ưu của mình cho bộ xử lí thứ [(i + 1)mod n] và nhận lời giải<br /> tối ưu được gửi đến từ bộ xử lí thứ [(i − 1 + n)mod n]. Sau đó các bộ xử lí tiếp tục thực hiện việc<br /> tìm kiếm của mình. Kí hiệu thuật toán theo mô hình này là ACOR .<br /> <br /> 57<br /> Bùi Thị Thủy, Phạm Thị Lan<br /> <br /> <br /> Mô hình “Master - Slave” (Hình 2): Trong mô hình song song này, các bộ xử lí sẽ giao<br /> tiếp với nhau và cùng hợp tác để tìm lời giải tối ưu. Một bộ xử lí đóng vai trò Master và n − 1 bộ<br /> xử lí còn lại sẽ đóng vai trò là Slave. Nhiệm vụ của mỗi Slave là tìm kiếm lời giải tối ưu của riêng<br /> mình. Sau đó Master làm nhiệm vụ lọc ra lời giải tối ưu nhất trong n − 1 lời giải tối ưu của các<br /> Slave và quảng bá cho các Slave danh tính của Slave có lời giải tối ưu nhất đó để các Slave còn lại<br /> sao chép thông tin lời giải tối ưu nhất này hay nói khác đi là sao chép ma trận mùi hương. Sau đó<br /> các Slave tiếp tục tìm kiếm với trạng thái ma trận mùi vừa sao chép được. Kí hiệu thuật toán theo<br /> mô hình này là ACOMS .<br /> <br /> 2.3. Kết quả thực nghiệm<br /> Chương trình thực nghiệm được cài đặt bằng ngôn ngữ C++ và thực thi trên 04 máy tính<br /> có kết nối LAN. Do bài toán chưa có bộ test chuẩn nên các bộ dữ liệu thực nghiệm được sinh ngẫu<br /> nhiên trên các đồ thị có 40 đỉnh và có số cạnh thay đổi. Các kết quả khi thực hiện các thuật toán<br /> ACOSE , ACOMS và ACOR được thể hiện trong bảng 1 và 2.<br /> <br /> Bảng 1. Thời gian chạy của thuật toán Bảng 2. So sánh trọng số nhỏ nhất của<br /> tuần tự và song song cây tìm được khi thực hiện ACOSE , ACOMS , ACOR<br /> Bộ dữ Số Bộ dữ Số<br /> ACOSE ACOMS ACOR ACOSE ACOMS ACOR<br /> liệu cạnh liệu cạnh<br /> 1 410 18544 18235 18476 1 410 218 226 196<br /> 2 420 18725 18535 18691 2 420 198 202 174<br /> 3 430 18885 18720 18826 3 430 249 235 217<br /> 4 440 19124 18902 19103 4 440 185 201 167<br /> 5 450 20754 19928 20681 5 450 229 218 192<br /> 6 460 22438 20365 22452 6 460 206 213 189<br /> Từ các kết quả trên, chúng tôi có biểu đồ so sánh thời gian và giá trị hàm mục tiêu của bài<br /> toán khi thực thi các thuật toán ACOSE , ACOMS , ACOR như trong Hình 3 và Hình 4.<br /> <br /> <br /> <br /> <br /> Hình 3. Biểu đồ so sánh thời gian thực thi của các thuật toán ACOSE , ACOMS , ACOR<br /> <br /> 58<br /> Giải thuật kiến song song giải bài toán cây khung nhỏ nhất có bậc bị chặn<br /> <br /> <br /> <br /> <br /> Hình 4. Biểu đồ so sánh trọng số nhỏ nhất của cây tìm được<br /> khi thực hiện thuật toán ACOSE , ACOMS , ACOR<br /> <br /> Kết quả trên cho thấy, thuật toán kiến song song ACOMS và ACOR thực thi trong thời gian<br /> ít hơn so với thuật toán kiến tuần tự ACOSE , đồng thời chúng cho lời giải tối ưu hơn so với ACOSE .<br /> Thời gian thực hiện ACOMS là ngắn nhất do trong quá trình thực hiện các vòng lặp, công việc<br /> đã được chia sẻ cho các bộ xử lí Slave cùng thực hiện. ACOR có thời gian thực thi tiệm cận với<br /> ACOSE do mỗi bộ xử lí trong mô hình này thực thi công việc giống như trong ACOSE , chỉ khác là<br /> trong ACOSE chỉ có một bộ xử lí thực hiện thì trong ACOR có n bộ xử lí thực hiện và sau một số<br /> bước lặp nhất định, các bộ xử lí sẽ trao đổi thông tin cho nhau. Việc làm này sẽ làm tăng không<br /> gian lời giải tìm được, từ đó sẽ tìm được lời giải tối ưu hơn so với ACOSE và ACOMS . Như vậy, mô<br /> hình ACOMS sẽ phù hợp khi muốn tăng tốc thời gian giải bài toán, mô hình ACOR nên sử dụng<br /> khi muốn tìm kiếm lời giải tối ưu nhất của bài toán.<br /> <br /> 3. Kết luận<br /> Giải thuật tối ưu hóa đàn kiến (ACO) đã và đang được ứng dụng để giải các bài toán tối ưu<br /> tổ hợp trong đó có bài toán xác định cây khung nhỏ nhất có bậc bị chặn. Việc xây dựng các mô<br /> hình song song giải thuật đàn kiến giải bài toán này là cần thiết nhằm góp phần rút ngắn thời gian<br /> giải quyết cũng như tìm ra lời giải tốt nhất cho bài toán. Trong bài báo này, chúng tôi đã trình bày<br /> một cách tổng quan nhất về bài toán Cây khung nhỏ nhất có bậc bị chặn, giải thuật đàn kiến và<br /> hai chiến lược song song giải thuật đàn kiến để giải bài toán trên. Và kết quả thực nghiệm đã cho<br /> thấy hiệu quả của hai thuật toán song song đó. Trong thời gian tới, chúng tôi tiếp tục thử nghiệm<br /> thuật toán kiến theo các mô hình song song mới để giải bài toán này như mô hình thay thế lời giải<br /> tồi nhất, hoặc mô hình siêu khối, . . . Các mô hình này sẽ được cài đặt thực nghiệm trên hệ đa xử<br /> lí phân tán với số lượng các bộ xử lí lớn hơn 4 là 8, 16 bộ xử lí. Đồng thời, chúng tôi sẽ có sự cải<br /> tiến trong cách thức cập nhật ma trận mùi nhằm tăng tốc trong việc sinh lời giải và hội tụ tới lời<br /> giải tối ưu nhất.<br /> <br /> TÀI LIỆU THAM KHẢO<br /> <br /> [1] G.Zhou, M. Gen and T. Wu. A new approach to the DCMSTP using GA. Proceedings of the<br /> International Conference on System, Man and Cybernetics, Vol. 4, pp. 2683–2688, 1996.<br /> [2] N. Deo and S. L. Hakimi. The shortest generalized Hamiltonian tree. Proceeding of the 6th<br /> Annual Allerton Conference, pp. 879–888, 1968.<br /> <br /> 59<br /> Bùi Thị Thủy, Phạm Thị Lan<br /> <br /> <br /> [3] Narula and C. A. Ho . Degree Constrained Minimun Spanning Tree. Computer and<br /> Operations Research, pp. 239-249, 1980.<br /> [4] Marco Dorigo and V. Maniezzo, A. Colorni. Ant System: Optimization by a colony of<br /> cooperating agents. IEEE Transactions on Systems, Man, and Cybernetics – Part B, vol.<br /> 26, no. 1, pp. 29–41, 1996.<br /> [5] Marco Dorigo and Thomas Stutzle. The Ant Colony Optimization Metaheuristic: Algorithms,<br /> Applications, and Advances.Technical Report IRIDIA-2000-32, 2000.<br /> [6] Marco Dorigo and Thomas Stutzle. Ant Colony Optimization.The MIT Press, pages 278–285,<br /> 2004.<br /> [7] Max Manfrin, Mauro Birattari, Thomas Stutzle and Marco Dorigo. Parallel Ant Colony<br /> Optimization for the Traveling Salesman Problem. 5th International Workshop ANTS 2006<br /> proccedings, p224–234, 2006.<br /> [8] Marco Dorigo, Mauro Birattari and Thomas Stutzle. Ant Conlony Optimization: Artificial<br /> Ants as a Computational Intelligence Technique. Iridia - Technical report series, 2006.<br /> [9] R. Raide. Efficient evolution algorithm for the DCMSTP. Proceedings of the 2000 Congress<br /> on Evolutionary Computation, pp. 104–111, Vol.1, 2000.<br /> [10] Savelsbergh, M. and T. Volgenant. Edge exchanges in the Degree-Constrained minimum<br /> spanning tree. Computers and Operation Research, pp. 341–348, 1985.<br /> [11] Thang N.Bui, Catherine M. Zrncic. An ant-based algorithm for finding DCMST. Proceeding<br /> of the 8th annual conference on Genetic and evolution computation, pp.11–18, 2006.<br /> [12] Thang N.Bui. An improved ant-based algorithm for the DCMSTP. IEEE transactions on<br /> Evolutionary Computation, Vol. 16, Iss. 2, pp.266–278, 2011.<br /> [13] Yoon - Teck Bau, Chin - Kuan Ho and Hong - Tat Ewe. Ant Colony Optimization Approaches<br /> to the Degree - constrained minimum spanning tree. Journal of Information and Engineering<br /> 24, pp.1081–1094, 2008.<br /> <br /> ABSTRACT<br /> <br /> Parallel Ant Colony Optimization algorithm<br /> to solve Degree - constrained minimum spanning tree problem<br /> <br /> Let G = (V, E) denote the connected weighted undirected graph and a positive integer d. A<br /> degree-constrained spanning tree of graph G is a spanning tree where each vertex in the tree has a<br /> degree of at most d. The problem of finding the degree-constrained spanning tree of minimum cost<br /> in an weighted graph is called the degree-constrained minimum spanning tree (DCMST) known as<br /> NP-Hard. In this study, we propose a parallel Ant Colony Optimization (ACO) algorithm which<br /> finds solution for the DCMST problem in many instances.<br /> Keywords: Ant Colony Optimization, Degree - constrained minimum spanning tree,<br /> parallel strategies, NP-hard problem, parallel algorithm.<br /> <br /> <br /> <br /> <br /> 60<br />
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
7=>1