Phương Pháp Tối Ưu Đàn Kiến Giải Bài Toán Tìm Tập Thống Trị Nhỏ Nhất Của Đồ Thị - Luận Văn Thạc Sĩ

Tối ưu đàn kiến giải bài toán thống trị nhỏ nhất là gì? Khám phá thuật toán thông minh từ đàn kiến, ứng dụng giải quyết bài toán tối ưu hóa hiệu quả.

Chuyên ngành

Khoa Học Máy Tính

Người đăng

Ẩn danh

Thể loại

Luận Văn Thạc Sĩ Khoa Học

2015

62
1
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CAM ĐOAN

LỜI CẢM ƠN

MỤC LỤC

Danh mục các ký hiệu và chữ viết tắt

Danh mục các bảng

Danh mục các hình

MỞ ĐẦU

1. CHƯƠNG 1: BÀI TOÁN TÌM TẬP THỐNG TRỊ NHỎ NHẤT CỦA MỘT ĐỒ THỊ

1.1. Bài toán tối ƣu tổ hợp tổng quát

1.2. Bài toán tìm tập thống trị nhỏ nhất của một đồ thị (MWDSP)

1.3. Các cách tiếp cận hiện nay giải quyết bài toán tìm tập thống trị nhỏ nhất của đồ thị

1.4. Thuật toán tham lam tìm tập phủ đỉnh nhỏ nhất. Thuật toán tham lam 1 (Greedy1)

1.5. Thuật toán tham lam 2 (Greedy2)

1.6. Một số ứng dụng trong thực tế về bài toán MWDSP

1.7. Kết luận chƣơng

2. CHƯƠNG 2: PHƢƠNG PHÁP TỐI ƢU ĐÀN KIẾN

2.1. Kiến tự nhiên và kiến nhân tạo

2.2. Kiến tự nhiên

2.3. Kiến nhân tạo

2.4. Phƣơng pháp ACO cho bài toán TƢTH tổng quát

2.5. Đồ thị cấu trúc. Thuật toán ACO tổng quát

2.6. Phƣơng pháp ACO giải bài toán ngƣời chào hàng

2.7. Bài toán TSP và đồ thị cấu trúc

2.8. Các thuật toán ACO giải bài toán TSP

2.9. Hệ kiến AS

2.10. Hệ đàn kiến ACS

2.11. Hệ kiến Max-Min

2.12. Phƣơng pháp Max-Min trơn: SMMAS (Smoothed Max Min Ant System)

2.13. Một số lƣu ý khi sử dụng các thuật toán ACO

2.14. Thông tin heuristic

2.15. Số lƣợng kiến

2.16. Tham số bay hơi

2.17. Kết luận chƣơng

3. CHƯƠNG 3: PHƢƠNG PHÁP TỐI ƢU HÓA ĐÀN KIẾN GIẢI BÀI TOÁN TÌM TẬP THỐNG TRỊ NHỎ NHẤT CỦA ĐỒ THỊ

3.1. Xây dựng lời giải

3.2. Cập nhật mùi cho bài toán MWDSP

3.3. Thực nghiệm và đánh giá

3.4. Kết luận chƣơng

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Tổng quan phương pháp Tối ưu đàn kiến giải bài toán MDS

Phương pháp Tối ưu đàn kiến (Ant Colony Optimization - ACO) là một metaheuristic mạnh mẽ thuộc nhóm thuật toán bầy đàn (swarm intelligence), lấy cảm hứng từ hành vi tìm kiếm thức ăn của loài kiến trong tự nhiên. Được giới thiệu lần đầu bởi Marco Dorigo vào năm 1991, thuật toán ACO đã chứng tỏ hiệu quả vượt trội trong việc giải quyết các bài toán tối ưu hóa tổ hợp (combinatorial optimization), đặc biệt là các bài toán NP-khó. Cốt lõi của phương pháp này nằm ở cơ chế giao tiếp gián tiếp thông qua một loại hóa chất gọi là pheromone. Những con kiến nhân tạo sẽ xây dựng các giải pháp tối ưu tiềm năng bằng cách di chuyển trên một đồ thị cấu trúc, nơi chúng ưu tiên những con đường có nồng độ pheromone cao hơn. Bài toán tìm Tập thống trị nhỏ nhất (Minimum Dominating Set - MDS) là một vấn đề kinh điển trong lý thuyết đồ thị (graph theory). Mục tiêu là tìm một tập hợp con các đỉnh có tổng trọng số nhỏ nhất, sao cho mọi đỉnh trong đồ thị đều thuộc hoặc kề với ít nhất một đỉnh trong tập hợp đó. Do tính chất NP-khó, việc tìm ra lời giải chính xác cho các đồ thị kích thước lớn là bất khả thi trong thời gian đa thức. Chính vì vậy, các thuật toán xấp xỉ như Tối ưu đàn kiến trở thành một hướng tiếp cận đầy hứa hẹn. Luận văn của Lê Thái Hòa (2015) đã trình bày chi tiết việc áp dụng ACO để giải bài toán MDS, đề xuất các cải tiến trong việc xây dựng lời giải và cập nhật mùi để nâng cao hiệu quả so với các phương pháp tham lam truyền thống. Việc kết hợp thông tin heuristic đặc thù của bài toán với cơ chế học tăng cường của đàn kiến cho phép thuật toán khám phá không gian lời giải một cách thông minh, tránh các cực tiểu địa phương và dần hội tụ về các giải pháp chất lượng cao.

1.1. Giới thiệu bài toán Minimum Dominating Set MDS

Bài toán Minimum Dominating Set (MDS), hay bài toán tìm tập thống trị nhỏ nhất, là một bài toán tối ưu hóa cơ bản trong lý thuyết đồ thị. Cho một đồ thị vô hướng G = (V, E) với V là tập đỉnh và E là tập cạnh, mỗi đỉnh v ∈ V có một trọng số w(v). Một tập thống trị là một tập con D ⊆ V sao cho mọi đỉnh u ∈ V \ D đều kề với ít nhất một đỉnh trong D. Bài toán MDS yêu cầu tìm ra một tập thống trị có tổng trọng số các đỉnh là nhỏ nhất. Bài toán này thuộc lớp NP-khó, nghĩa là không tồn tại thuật toán nào có thể tìm ra lời giải chính xác trong thời gian đa thức đối với các trường hợp tổng quát có kích thước lớn. Vấn đề này có nhiều ứng dụng thực tiễn, từ việc đặt các trạm phát sóng viễn thông, xây dựng kho hàng, đến phân tích mạng xã hội và sinh học phân tử.

1.2. Vai trò của thuật toán bầy đàn trong tối ưu hóa

Thuật toán bầy đàn là một nhánh của trí tuệ nhân tạo mô phỏng hành vi tập thể của các hệ thống phi tập trung, tự tổ chức. Các ví dụ điển hình bao gồm đàn kiến, bầy chim, hay đàn cá. Trong lĩnh vực tối ưu hóa tổ hợp, các thuật toán này, bao gồm Ant Colony Optimization (ACO) và Tối ưu hóa bầy đàn hạt (PSO), cung cấp một cách tiếp cận linh hoạt để tìm kiếm các giải pháp tối ưu hoặc gần tối ưu. Thay vì dựa vào một quy trình tìm kiếm duy nhất, chúng sử dụng một quần thể các "tác tử" đơn giản (như kiến, hạt) tương tác với nhau và với môi trường. Sự tương tác này tạo ra một hành vi thông minh tập thể, cho phép hệ thống khám phá một không gian tìm kiếm rộng lớn và phức tạp, hiệu quả hơn nhiều so với các phương pháp tìm kiếm vét cạn hoặc ngẫu nhiên.

II. Thách thức của bài toán Thống trị nhỏ nhất NP khó

Việc giải quyết bài toán Thống trị nhỏ nhất (MDS) đối mặt với những thách thức đáng kể, chủ yếu xuất phát từ bản chất NP-khó của nó. Độ phức tạp tính toán của bài toán tăng theo cấp số nhân với số lượng đỉnh của đồ thị. Không gian tìm kiếm lời giải là 2^n (với n là số đỉnh), khiến cho việc duyệt toàn bộ các tập con để tìm ra tập thống trị tối ưu trở nên bất khả thi ngay cả với các đồ thị có kích thước trung bình. Các phương pháp giải quyết truyền thống thường rơi vào hai nhóm: thuật toán chính xác và thuật toán heuristic. Các thuật toán chính xác chỉ hiệu quả với các đồ thị rất nhỏ. Trong khi đó, các thuật toán heuristic như thuật toán tham lam (Greedy) tuy nhanh nhưng thường không đảm bảo chất lượng lời giải. Ví dụ, một chiến lược tham lam đơn giản có thể chọn đỉnh "phủ" được nhiều đỉnh chưa bị phủ nhất, nhưng lựa chọn này có thể dẫn đến một giải pháp tối ưu cục bộ và bỏ lỡ lời giải toàn cục tốt hơn. Theo tài liệu của Lê Thái Hòa (2015), các thuật toán Greedy1 và Greedy2 cho bài toán MDS dù được cải tiến vẫn cho kết quả sai lệch nhiều so với thực tế. Những hạn chế này thúc đẩy nhu cầu nghiên cứu và áp dụng các phương pháp metaheuristic như Tối ưu đàn kiến, giải thuật di truyền, hay luyện kim mô phỏng, vốn được thiết kế để cân bằng giữa việc khai thác (exploitation) các vùng lời giải tốt và khám phá (exploration) các vùng mới, từ đó tăng cơ hội tìm ra lời giải chất lượng cao cho các bài toán NP-khó.

2.1. Phân tích độ phức tạp của bài toán NP khó

Một bài toán NP-khó (Non-deterministic Polynomial-time hard) là một bài toán mà ít nhất cũng khó bằng các bài toán khó nhất trong lớp NP. Về cơ bản, điều này có nghĩa là không có thuật toán hiệu quả nào (chạy trong thời gian đa thức) được biết đến để giải quyết chúng. Đối với bài toán MDS, không gian tìm kiếm bao gồm tất cả các tập con có thể có của tập đỉnh, với tổng số là 2^|V|. Việc kiểm tra một lời giải (một tập con D) có phải là một tập thống trị hay không có thể thực hiện trong thời gian đa thức, nhưng việc tìm ra tập nhỏ nhất đòi hỏi phải duyệt qua một không gian tìm kiếm khổng lồ. Sự bùng nổ tổ hợp này là rào cản chính ngăn cản các phương pháp giải quyết trực tiếp.

2.2. Hạn chế của các thuật toán xấp xỉ truyền thống

Các thuật toán xấp xỉ truyền thống, đặc biệt là các thuật toán tham lam, thường được sử dụng để tìm lời giải nhanh cho bài toán MDS. Một thuật toán tham lam điển hình tại mỗi bước sẽ chọn đỉnh mang lại lợi ích cục bộ lớn nhất (ví dụ, đỉnh có tỷ lệ số đỉnh trắng kề trên trọng số là tốt nhất). Tuy nhiên, quyết định tối ưu cục bộ ở một bước có thể dẫn đến một cấu hình tồi ở các bước sau. Theo luận văn gốc, các thuật toán như Greedy1 và Greedy2_new dù đã được cải tiến vẫn có thể mắc kẹt tại các cực tiểu địa phương. Chẳng hạn, một đỉnh có trọng số thấp phủ được ít đỉnh có thể bị bỏ qua, nhưng việc chọn nó lại có thể mở đường cho một cấu trúc thống trị hiệu quả hơn về sau. Sự thiếu tầm nhìn xa này là nhược điểm cố hữu của các phương pháp tham lam.

III. Cách thuật toán ACO mô phỏng hành vi bầy đàn tự nhiên

Cơ chế hoạt động của thuật toán ACO là một sự mô phỏng tinh vi hành vi tìm kiếm thức ăn của loài kiến. Trong tự nhiên, kiến giao tiếp với nhau không trực tiếp mà thông qua việc để lại dấu vết hóa học gọi là pheromone trên đường đi. Một con đường có nhiều kiến đi qua sẽ tích tụ nhiều pheromone hơn, và do đó, sẽ hấp dẫn các con kiến khác đi theo. Cơ chế phản hồi tích cực này giúp đàn kiến nhanh chóng tìm ra đường đi ngắn nhất từ tổ đến nguồn thức ăn. Trong Ant Colony Optimization, các "kiến nhân tạo" xây dựng lời giải cho một bài toán tối ưu hóa tổ hợp bằng cách di chuyển trên một đồ thị cấu trúc. Tại mỗi bước, một con kiến sẽ chọn thành phần tiếp theo của lời giải dựa trên một quy tắc xác suất. Xác suất này là sự kết hợp của hai yếu tố: (1) nồng độ pheromone trên cạnh (thông tin học được từ kinh nghiệm của cả đàn) và (2) một giá trị heuristic (thông tin có sẵn về bài toán). Sau khi một vòng lặp hoàn tất, nồng độ pheromone trên các cạnh sẽ được cập nhật. Các cạnh thuộc về những lời giải tốt hơn (ví dụ, các tập thống trị có tổng trọng số nhỏ hơn) sẽ được tăng cường pheromone, trong khi tất cả các cạnh đều bị "bay hơi" một lượng nhỏ. Quá trình bay hơi giúp thuật toán "quên" đi các lựa chọn tồi và tránh bị kẹt sớm, trong khi việc tăng cường pheromone giúp tập trung tìm kiếm quanh các vùng có lời giải hứa hẹn.

3.1. Cơ chế giao tiếp gián tiếp qua Pheromone

Pheromone trong thuật toán ACO là một dạng bộ nhớ tập thể, lưu trữ kinh nghiệm của đàn kiến qua các thế hệ. Mỗi cạnh (hoặc đỉnh, tùy thuộc vào mô hình hóa bài toán) trên đồ thị cấu trúc đều được gán một giá trị pheromone. Giá trị này biểu thị mức độ "mong muốn" của việc chọn thành phần đó vào lời giải. Khi một con kiến xây dựng một lời giải tốt, nó sẽ "thưởng" cho các thành phần đã chọn bằng cách tăng cường pheromone. Ngược lại, cơ chế bay hơi làm giảm dần pheromone trên tất cả các thành phần, ngăn chặn sự hội tụ quá sớm vào một giải pháp dưới tối ưu. Sự cân bằng giữa tăng cường và bay hơi là chìa khóa cho khả năng khám phá hiệu quả của ACO.

3.2. Quy trình xây dựng giải pháp của kiến nhân tạo

Mỗi kiến nhân tạo trong ACO hoạt động như một tiến trình xây dựng lời giải theo từng bước. Bắt đầu từ một trạng thái rỗng, kiến sẽ tuần tự thêm các thành phần vào lời giải của mình. Tại mỗi bước, kiến sẽ đối mặt với một tập hợp các lựa chọn khả dĩ. Lựa chọn sẽ được đưa ra theo một công thức xác suất, thường là sự kết hợp có trọng số của nồng độ pheromone và giá trị heuristic. Thông tin heuristic cung cấp một định hướng cục bộ dựa trên đặc điểm của bài toán, trong khi pheromone cung cấp một định hướng toàn cục dựa trên lịch sử tìm kiếm của cả đàn. Quá trình này tiếp tục cho đến khi một lời giải hoàn chỉnh và hợp lệ được hình thành.

IV. Hướng dẫn áp dụng Tối ưu đàn kiến cho bài toán MDS

Việc áp dụng Tối ưu đàn kiến để giải bài toán MDS đòi hỏi một sự điều chỉnh khác biệt so với các bài toán tuần tự như Bài toán người bán hàng (TSP). Thay vì tìm một chu trình, mục tiêu ở đây là chọn ra một tập hợp con các đỉnh. Quá trình này bắt đầu bằng việc mô hình hóa bài toán trên một đồ thị, nơi mỗi đỉnh có thể được chọn vào tập thống trị. Mỗi con kiến sẽ xây dựng một tập thống trị tiềm năng bằng cách lần lượt chọn các đỉnh cho đến khi tất cả các đỉnh trong đồ thị đều bị thống trị. Lựa chọn một đỉnh tại mỗi bước không phụ thuộc vào đỉnh vừa được chọn trước đó, mà phụ thuộc vào trạng thái hiện tại của toàn bộ đồ thị (tập các đỉnh chưa bị phủ). Xác suất để một con kiến chọn đỉnh i vào lời giải được tính toán dựa trên nồng độ pheromone trên đỉnh i và một giá trị heuristic. Giá trị heuristic này, như được đề xuất trong luận văn gốc, có thể dựa trên công thức của thuật toán tham lam Greedy2_new, kết hợp trọng số của đỉnh và tổng trọng số của các đỉnh "trắng" (chưa bị phủ) mà nó có thể phủ. Sau khi tất cả các kiến đã xây dựng xong lời giải của mình trong một vòng lặp, quá trình cập nhật pheromone diễn ra. Một trong những quy tắc cập nhật hiệu quả nhất, được đề xuất bởi Lê Thái Hòa (2015) dựa trên các nghiên cứu trước đó, là SMMAS (Smoothed Max-Min Ant System). Quy tắc này giúp ngăn chặn sự ứ đọng và duy trì sự đa dạng trong tìm kiếm, từ đó hướng đến một giải pháp tối ưu toàn cục.

4.1. Mô hình hóa bài toán MDS trên lý thuyết đồ thị

Trong mô hình hóa bài toán MDS cho ACO, đồ thị cấu trúc chính là đồ thị đầu vào G=(V, E). Không giống như TSP nơi pheromone được đặt trên các cạnh, đối với MDS, pheromone thường được liên kết với các đỉnh. Mỗi đỉnh v ∈ V có một giá trị pheromone τ(v), thể hiện mức độ hấp dẫn của việc đưa đỉnh v vào tập thống trị. Một con kiến sẽ xây dựng lời giải bằng cách chọn tuần tự các đỉnh từ tập V cho đến khi tập hợp các đỉnh đã chọn tạo thành một tập thống trị. Trạng thái của bài toán tại mỗi bước được xác định bởi tập các đỉnh đã được chọn và tập các đỉnh chưa bị thống trị.

4.2. Xây dựng hàm mục tiêu và thông tin heuristic

Hàm mục tiêu của bài toán MDS là tối thiểu hóa tổng trọng số của các đỉnh trong tập thống trị D, tức là min(Σ w(v)) với v ∈ D. Thông tin heuristic (η) đóng vai trò định hướng cho kiến. Một heuristic tốt cho MDS phải đánh giá được "chất lượng" của một đỉnh. Theo luận văn tham khảo, một công thức hiệu quả cho η(v) là tỷ lệ giữa tổng trọng số của các đỉnh chưa bị phủ mà v kề với và trọng số của chính đỉnh v. Công thức này ưu tiên các đỉnh có trọng số thấp nhưng có khả năng "phủ" được nhiều trọng số lớn, đây là một chiến lược thông minh để xây dựng một tập thống trị hiệu quả.

4.3. Quy tắc cập nhật Pheromone SMMAS cho giải pháp tối ưu

Quy tắc cập nhật pheromone quyết định khả năng học hỏi của thuật toán. Hệ kiến Max-Min (MMAS) giới hạn nồng độ pheromone trong một khoảng [τ_min, τ_max] để tránh sự hội tụ quá nhanh. Phương pháp SMMAS (Smoothed Max-Min Ant System) là một cải tiến, trong đó không chỉ các đỉnh thuộc lời giải tốt nhất được tăng cường pheromone, mà các đỉnh khác cũng nhận được một lượng nhỏ. Cụ thể, sau mỗi vòng lặp, pheromone trên các đỉnh của lời giải tốt nhất được cập nhật theo một công thức, trong khi pheromone trên các đỉnh không thuộc lời giải tốt nhất sẽ được làm "trơn" về phía giá trị τ_max. Cơ chế này duy trì sự đa dạng, khuyến khích sự khám phá và đã được chứng minh là rất hiệu quả trong việc tìm kiếm giải pháp tối ưu.

V. Ứng dụng và kết quả thực nghiệm của thuật toán ACO MDS

Bài toán Thống trị nhỏ nhất có vô số ứng dụng trong thế giới thực, và việc giải quyết nó hiệu quả bằng Tối ưu đàn kiến mang lại giá trị thực tiễn to lớn. Trong lĩnh vực viễn thông, bài toán có thể được mô hình hóa để xác định vị trí đặt các cột phát sóng sao cho phủ sóng toàn bộ khu vực với chi phí tối thiểu. Mỗi ngôi làng là một đỉnh, và chi phí xây dựng cột sóng là trọng số của đỉnh. Tương tự, trong logistics và quản lý chuỗi cung ứng, bài toán giúp xác định vị trí các trung tâm phân phối để phục vụ tất cả các khách hàng với tổng chi phí vận hành thấp nhất. Các ứng dụng khác bao gồm đặt cảm biến trong mạng không dây, thiết kế mạch điện, hay xác định các protein quan trọng trong mạng tương tác sinh học. Các kết quả thực nghiệm được trình bày trong luận văn của Lê Thái Hòa (2015) đã cho thấy hiệu quả vượt trội của phương pháp ACO đề xuất. Khi so sánh trên các bộ dữ liệu có kích thước và mật độ khác nhau, thuật toán ACO sử dụng quy tắc cập nhật SMMAS đã tìm ra các tập thống trị có tổng trọng số nhỏ hơn đáng kể so với các thuật toán tham lam như Greedy1_new và Greedy2_new. Điều này chứng tỏ khả năng của thuật toán bầy đàn trong việc thoát khỏi các cực tiểu địa phương và khám phá không gian lời giải một cách toàn diện hơn, khẳng định Ant Colony Optimization là một giải pháp tối ưu và mạnh mẽ cho các bài toán NP-khó.

5.1. So sánh hiệu quả với giải thuật di truyền và tham lam

Trong lĩnh vực metaheuristic, giải thuật di truyền (Genetic Algorithm - GA) là một đối thủ cạnh tranh chính của ACO. Mặc dù cả hai đều là các phương pháp lấy cảm hứng từ tự nhiên, chúng hoạt động theo các nguyên tắc khác nhau. GA hoạt động dựa trên các toán tử lai ghép và đột biến trên một quần thể lời giải, trong khi ACO xây dựng lời giải theo từng phần dựa trên pheromone. Các nghiên cứu thực nghiệm cho thấy, đối với một số cấu trúc bài toán, ACO có thể hội tụ nhanh hơn và cho kết quả tốt hơn nhờ việc sử dụng thông tin heuristic đặc thù. So với các thuật toán tham lam, ACO rõ ràng vượt trội về chất lượng lời giải, mặc dù phải đánh đổi bằng thời gian tính toán lớn hơn. Sự vượt trội này đến từ khả năng tìm kiếm toàn cục và tránh các quyết định thiển cận.

5.2. Đánh giá kết quả trên các bộ dữ liệu thử nghiệm

Hiệu quả của một thuật toán xấp xỉ phải được kiểm chứng qua thực nghiệm trên các bộ dữ liệu chuẩn. Luận văn gốc đã tiến hành thử nghiệm trên các đồ thị có kích thước và đặc điểm đa dạng (mật độ cạnh, phân phối trọng số). Kết quả cho thấy thuật toán ACO đề xuất luôn ổn định và cho ra các giải pháp tối ưu hơn so với các phương pháp tham lam. Đặc biệt, với các đồ thị lớn và phức tạp, khoảng cách về chất lượng lời giải giữa ACO và các thuật toán khác càng trở nên rõ rệt. Điều này khẳng định tính mạnh mẽ và khả năng mở rộng của phương pháp Tối ưu đàn kiến cho bài toán MDS.

VI. Kết luận Tương lai của Tối ưu đàn kiến trong TƯTH

Phương pháp Tối ưu đàn kiến đã chứng minh là một công cụ cực kỳ hiệu quả để giải quyết bài toán Thống trị nhỏ nhất, một đại diện tiêu biểu cho lớp bài toán NP-khó. Bằng cách mô phỏng hành vi thông minh tập thể của loài kiến, thuật toán ACO kết hợp một cách khéo léo thông tin heuristic cục bộ và kinh nghiệm học hỏi toàn cục (thông qua pheromone) để điều hướng quá trình tìm kiếm. Cách tiếp cận này giúp thuật toán tránh được những cạm bẫy của các cực tiểu địa phương mà các thuật toán tham lam thường mắc phải, đồng thời dần hội tụ về những giải pháp tối ưu hoặc gần tối ưu. Các cải tiến như việc sử dụng quy tắc cập nhật mùi SMMAS đã nâng cao đáng kể hiệu suất của thuật toán, giúp nó duy trì sự đa dạng và khả năng khám phá trong suốt quá trình chạy. Hướng đi tương lai cho Ant Colony Optimization trong lĩnh vực tối ưu hóa tổ hợp (combinatorial optimization) là rất rộng mở. Các nghiên cứu có thể tập trung vào việc lai ghép ACO với các kỹ thuật khác như tìm kiếm cục bộ (local search) để tạo ra các thuật toán memetic mạnh mẽ hơn. Ngoài ra, việc phát triển các phiên bản song song của ACO để tận dụng sức mạnh của tính toán hiệu năng cao cũng là một hướng đi đầy hứa hẹn. Việc áp dụng ACO cho các biến thể phức tạp hơn của bài toán MDS, chẳng hạn như tập thống trị có kết nối (Connected Dominating Set), cũng là một lĩnh vực nghiên cứu tiềm năng với nhiều ứng dụng trong mạng ad-hoc không dây.

6.1. Tóm tắt ưu điểm của phương pháp Ant Colony Optimization

Ant Colony Optimization sở hữu nhiều ưu điểm nổi bật. Thứ nhất, nó là một thuật toán mạnh mẽ, có khả năng áp dụng cho nhiều loại bài toán NP-khó khác nhau chỉ với những điều chỉnh nhỏ trong việc định nghĩa heuristic và đồ thị cấu trúc. Thứ hai, cơ chế phản hồi tích cực thông qua pheromone giúp nó nhanh chóng hội tụ về các vùng lời giải tốt. Thứ ba, việc tìm kiếm ngẫu nhiên và có xác suất giúp nó có khả năng thoát khỏi các tối ưu cục bộ. Cuối cùng, bản chất phi tập trung của nó rất phù hợp cho các cài đặt song song, cho phép giải quyết các bài toán quy mô lớn.

6.2. Hướng nghiên cứu mở rộng trong combinatorial optimization

Tương lai của ACO trong combinatorial optimization rất sáng sủa. Một hướng đi quan trọng là phát triển các thuật toán ACO tự thích ứng, nơi các tham số như tỷ lệ bay hơi hay trọng số của heuristicpheromone có thể tự động điều chỉnh trong quá trình thực thi để phù hợp với từng giai đoạn tìm kiếm. Một hướng khác là khám phá các cơ chế pheromone phức tạp hơn, chẳng hạn như sử dụng nhiều loại pheromone khác nhau để mã hóa các khía cạnh khác nhau của lời giải. Việc áp dụng ACO cho các bài toán tối ưu đa mục tiêu cũng là một lĩnh vực đang phát triển mạnh mẽ, hứa hẹn mang lại nhiều giải pháp tối ưu đột phá.

22/09/2025

Trích đoạn nội dung tài liệu

MỞ ĐẦU Hiện nay, có rất nhiều bài báo, luận văn, luận án hay các công trình nghiên cứu đề cập đến vấn đề giải quyết các bài toán tối ƣu tổ hợp. Đa số các bài toán này thuộc lớp các bài toán NP – khó. Trừ các bài toán cỡ nhỏ có thể tìm lời giải bằng cách tìm kiếm vét cạn, còn lại thì thƣờng không thể tìm đƣợc lời giải tối ƣu. Đối với các bài toán kích thƣớc lớn không có phƣơng pháp giải đúng.

Hiện nay, ngƣời ta thƣờng tìm lời giải gần đúng nhờ các thuật toán mô phỏng tự nhiên nhƣ giải thuật di truyền (Genetic Algorithm - GA), tối ƣu bầy đàn (Particle Swarm Optimization -PSO)… Trong các phƣơng pháp mô phỏng tự nhiên, tối ƣu hóa đàn kiến (Ant Colony Optimization - ACO) là cách tiếp cận metaheuristic tƣơng đối mới, đƣợc giới thiệu bởi Dorigo năm 1991 đang đƣợc nghiên cứu và ứng dụng rộng rãi cho các bài toán TƢTH - khó. Các thuật toán ACO mô phỏng cách tìm đƣờng đi của các con kiến thực. Trên đƣờng đi, mỗi con kiến thực để lại một vết hoá chất gọi là vết mùi (pheromone trail) và theo vết mùi của các con kiến khác để tìm đƣờng đi. Đƣờng có nồng độ vết mùi càng cao thì càng có nhiều khả năng đƣợc các con kiến chọn.

Nhờ cách giao tiếp gián tiếp này đàn kiến tìm đƣợc đƣờng đi ngắn nhất từ tổ tới nguồn thức ăn. Theo ý tƣởng đó, các thuật toán ACO sử dụng kết hợp thông tin kinh nghiệm (heuristic) và học tăng cƣờng qua các vết mùi của các con kiến nhân tạo để giải các bài toán TƢTH bằng cách đƣa về bài toán tìm đƣờng đi tối ƣu trên đồ thị cấu trúc tƣơng ứng của bài toán. Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.vn 2 Bài luận văn này em trình bày phƣơng pháp tối ƣu hóa đàn kiến ACO để giải quyết bài toán tìm tập thống trị nhỏ nhất của một đồ thị vô hƣớng. Em sẽ thử nghiệm trên các đồ thị với kích cỡ khác nhau, mật độ cạnh khác nhau, các chức năng phân phối trọng số trên các đỉnh khác nhau để thấy đƣợc hiệu quả của thuật toán đề xuất so với một số thuật toán đang đƣợc sử dụng.

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.vn 3 Chƣơng 1. BÀI TOÁN TÌM TẬP THỐNG TRỊ NHỎ NHẤT CỦA MỘT ĐỒ THỊ Trong các bài toán thực tế cũng nhƣ trong lý thuyết, ta thƣờng phải tìm các giá trị cho các biến rời rạc để cực trị hàm mục tiêu nào đó. Các bài toán này thƣờng dễ phát biểu nhƣng lại khó giải do chúng thuộc loại tối ƣu tổ hợp (TƢTH) NP - khó. Chƣơng này giới thiệu các bài toán tối ƣu tổ hợp dƣới dạng tổng quát, bài toán tìm tập thống trị nhỏ nhất và các cách tiếp cận hiện nay.

Bài toán tối ƣu tổ hợp tổng quát Trong đời sống thực tế ta thƣờng phải giải quyết nhiều bài toán TƢTH quan trọng. Chẳng hạn nhƣ: tìm đƣờng đi ngắn nhất nối hai điểm trên một đồ thị đã cho, lập kế hoạch phân phối nguồn hàng tới nơi tiêu thụ với chi phí cực tiểu, lập thời khóa biểu cho giáo viên và học sinh thuận lợi nhất, định tuyến cho các gói dữ liệu trong Internet, lập lịch hợp lý cho các hệ thống sản xuất, đối sánh các chuỗi gen trong sinh học phân tử v.v… Mỗi bài toán TƢTH ứng với một bộ ba ( S , f , ) trong đó: - S là tập hữu hạn trạng thái (lời giải tiềm năng hay phƣơng án); - f là hàm mục tiêu xác định trên ; -  là tập các ràng buộc. Mỗi phƣơng án s  S thỏa mãn các ràng buộc  gọi là phƣơng án trả lời (hay lời giải). Mục đích của ta là tìm phƣơng án chấp nhận đƣợc s* tối ƣu hóa toàn cục hàm mục tiêu , tức là một phƣơng án s* tốt nhất.

Chẳng hạn với bài toán cực tiểu thì ta phải tìm với mọi phƣơng án trả lời. Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.vn 4 Mỗi bài toán đều có thể chỉ ra một tập hữu hạn gồm thành phần { } sao cho mỗi phƣơng án trong đều biễu diễn đƣợc nhờ liên kết các thành phần trong nó. Cụ thể hơn, các tập và  có các đặc điểm sau: 1) Ký hiệu là tập các vectơ trên có độ dài không quá : { } Khi đó, mỗi phƣơng án trong đƣợc xác định nhờ ít nhất một vectơ trong. 2) Tồn tại tập con của và ánh xạ từ lên sao cho không rỗng với mọi , trong đó tập có thể xây dựng đƣợc từ tập con nào đó của nhờ thủ tục mở rộng tuần tự dƣới đây.

3) Từ ta mở rộng tuần tự thành nhƣ sau: i) Ta xem là mở rộng đƣợc với mọi. ii) Giả sử là mở rộng đƣợc và chƣa thuộc. Từ tập ràng buộc , xác định tập con của , sao cho với mọi ) thì là mở rộng đƣợc. iii) Áp dụng thủ tục mở rộng từ các phần tử cho phép ta xây dựng đƣợc mọi phần tử của.

Nhƣ vậy, mỗi bài toán TƢTH đƣợc xem là một bài toán cực trị hàm có biến, trong đó mỗi biến nhận giá trị trong tập hữu hạn kể cả giá trị rỗng. Nói một cách khác, nó là bài toán tìm kiếm trong không gian vectơ độ dài không quá trên đồ thị đầy đủ có các đỉnh có nhãn trong tập. Chú ý: Với các bài toán TƢTH có dạng giải tích: Tìm cực trị hàm trong đó mỗi biến nhận giá trị trong tập hữu hạn tƣơng ứng và các biến này thỏa mãn các ràng buộc  nào đó, thì là tập Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.vn 5 và là các vectơ - chiều, trong đó thành phần nhận giá trị trong tập , là tập còn là tập các vectơ thỏa mãn các ràng buộc . Bài toán tìm tập thống trị nhỏ nhất của một đồ thị (MWDSP) Cho một đồ thị vô hƣớng { } trong đó là tập đỉnh, là tập cạnh của đồ thị.

Với mỗi đỉnh có gắn một trọng số. Một tập thống trị của là một tập  sao cho mọi đỉnh thuộc đều kề với ít nhất một đỉnh thuộc tập. Trong các tập thống trị đó, tập thống trị nhỏ nhất là tập thống trị mà tổng trọng số của tất cả các đỉnh thuộc nhỏ nhất. Bài toán tìm tập thống trị nhỏ nhất của đồ thị thuộc lớp bài toán NP- khó và có nhiều ứng dụng trong thực tế.

Đã có nhiều nhà nghiên cứu đƣa ra các phƣơng pháp khác nhau để giải quyết bài toán trên, tuy nhiên các thuật toán này chƣa thực sự hiệu quả. Các cách tiếp cận hiện nay giải quyết bài toán tìm tập thống trị nhỏ nhất của đồ thị 1. Thuật toán tham lam tìm tập phủ đỉnh nhỏ nhất. Trƣớc hết ta xét đồ thị mà chƣa quan tâm đến trọng số của các đỉnh (coi mỗi đỉnh đều có trọng số bằng 1).

Khi đó bài toán trở thành “Tìm tập phủ đỉnh có số lƣợng đỉnh ít nhất”. Để dễ hình dung ta gọi: - Tập các đỉnh đã đƣợc chọn vào làm kết quả là các đỉnh tô màu đen ( ). - Tập các đỉnh không thuộc nhƣng kề với ít nhất một đỉnh thuộc gọi là các đỉnh tô màu xám ( ). Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.vn 6 - Các đỉnh còn lại là các đỉnh chƣa đƣợc phủ gọi là đỉnh tô màu trắng ( ).

Trong tài liệu [4] ngƣời ta đƣa ra ý tƣởng nhƣ sau: Tại mỗi lần lặp ta kết nạp thêm một đỉnh mới thuộc hoặc vào cho đến khi. Việc ƣu tiên chọn đỉnh nào đó kết nạp vào đƣợc xác định bởi giá trị của | |( là những đỉnh trắng kề với ). Thuật toán đƣợc mô ta nhƣ sau: ; ; ; While Do Begin Tìm (| | lớn nhất).1: Thuật toán tham lam tìm tập phủ đỉnh 1. Thuật toán tham lam 1 (Greedy1) Với ý tƣởng trình bày trong tài liệu [12] ngƣời ta biến đổi đồ thị ban đầu thành đồ thị đầy đủ bằng cách thêm các cạnh vào đồ thị.

Khi đó những cạnh ban đầu của đồ thị có trọng số bằng 1 (kí hiệu bằng màu đen), cạnh đƣợc thêm vào có trọng số bằng 0 (kí hiệu bằng màu đỏ). Khi thêm một đỉnh vào tập ta phải cập nhật lại đồ thị, tất cả những cạnh liên thuộc với đỉnh đó sẽ đƣợc tô màu đỏ, những đỉnh kề với nó bằng cạnh màu đen sẽ đƣợc tô thành màu xám. Nhƣ vậy sau khi ta kết nạp đƣợc đỉnh vào thì đồ thị đƣợc biến đổi thành. Khi đó trọng số của cạnh của đồ thị đƣợc biểu diễn nhƣ sau: (1.1) Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.vn 7 Lƣu ý chỉ nhận giá trị bằng 0 hoặc bằng 1.

Khi muốn kết nạp một đỉnh nào đó vào thì giải pháp đƣợc chọn để ƣu tiên nhƣ sau: ∑ (1.2) ta thấy thực chất là số lƣợng những đỉnh kề với mà chƣa đƣợc phủ (còn là đỉnh màu trắng). Nhƣ vậy việc chọn một đỉnh để kết nạp vào dựa trên hai tiêu chí: + Số lƣợng đỉnh màu trắng kề với nó càng nhiều càng tốt. + Trọng số của đỉnh đó càng nhỏ càng tốt. Phép cộng 1 vào tử số để đảm bảo đƣợc việc so sánh giữa các đỉnh không còn kết nối nữa, tức là những đỉnh cô lập (khi đó ta sẽ chọn đỉnh nào có trọng số nhỏ hơn).

Theo công thức (1.3) ta thấy rằng khi đồ thị chỉ gồm các đỉnh cô lập thì việc lựa chọn đỉnh nào chỉ phụ thuộc vào trọng số của nó chứ không phân biệt đỉnh đó đã đƣợc phủ hay chƣa. Tức là có thể chọn thêm vào kết quả đỉnh đã đƣợc tô màu xám mà không kề với bất kỳ đỉnh màu trắng nào. A 1 C 6 B 5 Một ví dụ về đồ thị làm cho Greedy1 sai kết quả. Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.vn 8 Ta có đỉnh A là đỉnh đã đƣợc chọn, bây giờ xét tiếp đỉnh B và C, ta có: Vì nên theo Greedy1 thì đỉnh tiếp theo đƣợc chọn vào làm kết quả là đỉnh B, sau đó mới chọn đỉnh C.

Kết quả cuối cùng bằng. Ta có thể cải tiến thuật toán này bằng cách thêm vào đồ thị ban đầu những cạnh khuyên với Khi đó nếu một đỉnh màu xám nằm cô lập (đã đƣợc phủ bởi đỉnh khác) thì giá trị của nó sẽ bằng không, trong khi một đỉnh màu trắng nằm cô lập thì giá trị của nó lại bằng 1. Vì vậy ta không cần cộng thêm 1 vào tử số, đồng thời tránh đƣợc sai sót nhƣ trong ví dụ trên (cải tiến này đƣợc minh họa trong chƣơng 3 bằng thuật toán Greedy1_new). Khi đó công thức (1.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ