Design and Analysis of Algorithms: phân tích thuật toán Multi-UAV SAR

Mục tiêu học tập

Sau note này, cần giải thích được đầu vào, đầu ra, ý tưởng, chứng minh đúng, độ phức tạp và giới hạn của từng thuật toán trong Risk-Sensitive Mean-Field Control of Large-Scale UAV Swarms và Đề xuất SOTA của nhóm - HA-ALNS và RS-HA-ALNS cho Multi-UAV SAR. Đây là cách nối hai tài liệu với các chủ đề thường gặp của học phần Design and Analysis of Algorithms; không giả định một đề cương môn học cụ thể.

Nguồn và mức chắc chắn

Công thức và kết quả của paper được gắn link PDF theo trang. OHR, HA-ALNS và RS-HA-ALNS đến từ các báo cáo tuần 1–10 trong /Users/vinhlq2512/code/multi-uav-sar/report/. Kết quả thực nghiệm của nhóm là số liệu report, chưa được chạy lại trong lần tạo note này. Các diễn giải dưới đây là phần giải thích học tập, không phải ghi chép trải nghiệm đọc của người học.

Bản đồ các chủ đề của môn học

Chủ đề DAAThuật toán/cơ chế trong hai nguồnCâu hỏi phân tích quan trọngMức bảo đảm
Quy hoạch độngBellman và backward Riccati nhạy rủi ro của paperBài toán có trạng thái, chuyển trạng thái và phương trình truy hồi nào?Tối ưu trên mô hình tuyến tính–toàn phương cục bộ khi các điều kiện đúng; không chứng minh tối ưu toàn cục của hệ phi tuyến
Tham lam và exchange argumentOHR: chọn lợi ích biên lớn nhấtVì sao lựa chọn cục bộ dẫn đến tối ưu trên tuyến cố định?Tối ưu chính xác cho subproblem hover với chi phí mỗi lượt bằng nhau
Bài toán khó và phép giảmTeam Orienteering nằm trong bài tuyến–hoverTrường hợp đặc biệt nào đã NP-hard?Chứng minh tính khó của bài toán tổng, không nói mọi instance đều khó
Tìm kiếm chính xácBranch-and-bound và CP-SAT trên instance nhỏKhi nào bộ giải chứng minh tối ưu; khi nào chỉ có cận?Nghiệm/cận có chứng nhận nếu solver hoàn tất điều kiện tương ứng
Local search và metaheuristic2-opt, ALNS, simulated annealing, ACO-MTSKhám phá không gian nghiệm thế nào; có thể kẹt ở đâu?Khả thi và chất lượng thực nghiệm; không có bảo đảm tối ưu toàn cục được nêu
Xấp xỉ mô hìnhMean-field của paperGiảm chiều bài toán bằng thống kê nào, đánh đổi sai số gì?Bảo đảm trong các giả định giới hạn đàn lớn; cần đánh giá finite-
Thuật toán phân tán trên đồ thịCovariance consensus của paperMỗi UAV biết gì, gửi cho ai, khi nào đồng thuận?Phụ thuộc kết nối đồ thị, bước cập nhật và forcing term
Tối ưu ngẫu nhiên/nhạy rủi roTiêu chí log–exp và RS-HA-ALNSPhân phối kịch bản xấu ảnh hưởng lời giải ra sao?OHR còn chính xác với bảng có trọng số cố định; tầng tìm tuyến vẫn heuristic

Phân loại cho đúng: submodularity là tính chất của hàm mục tiêu; entropy duality là cách diễn giải mục tiêu; mean-field là phép rút gọn mô hình. Chúng hỗ trợ thiết kế và phân tích thuật toán, nhưng bản thân chúng không phải cùng một kiểu thuật toán tìm tuyến.

Hai bài toán và biến quyết định

Paper Sayeed et al.Bài tập của nhóm
Đầu vào chínhTrường thảm hoạ động, trạng thái UAV, nhiễu, đồ thị liên lạcBản đồ xác suất nạn nhân , xác suất phát hiện , số UAV, tốc độ, pin/thời gian
Biến quyết địnhTín hiệu điều khiển theo thời gianTuyến , thứ tự ô, số lượt quan sát
Mục tiêuGiảm chi phí tracking, độ trễ, năng lượng và rủi roTăng xác suất phát hiện PoD trong ngân sách
Đầu raLuật phản hồi và quỹ đạo UAVTuyến khả thi và phân bổ hover

Paper dùng mô hình trường động và phản hồi liên tục; bài nhóm là bài chọn điểm và phân bổ tài nguyên rời rạc. Vì vậy kết quả coverage/energy của paper không được so trực tiếp với PoD của nhóm. PDF, tr. 9 PDF, tr. 23

1. Phép giảm về Team Orienteering: vì sao bài tuyến–hover khó?

Trường hợp tổng quát của nhóm: với ô , nếu đã quan sát lần, đóng góp vào PoD là

Ta phải chọn ô, phân cho UAV, xếp thứ tự để không vượt ngân sách bay và chọn . Report tuần 10 lập luận: đặt và thời gian một lượt quan sát , mỗi ô cho một phần thưởng cố định nếu được ghé; ta còn bài Team Orienteering: nhiều tuyến có giới hạn chiều dài, chọn điểm có tổng phần thưởng lớn nhất. Team Orienteering là NP-hard, nên bài tổng quát chứa nó cũng NP-hard.

Ý nghĩa DAA: ta không thể suy ra một thuật toán đa thức tối ưu cho mọi trường hợp chỉ từ việc tìm được lời giải nhanh cho phần hover. Tách một subproblem có nghiệm chính xác sẽ giảm lượng tìm kiếm, còn tầng tuyến vẫn cần solver chính xác cho bài nhỏ hoặc heuristic cho bài lớn. Nguồn: report/BaoCao_CuoiKy_Tuan10.md, mục 3.1–3.2.

2. OHR: tham lam có chứng minh tối ưu

2.1. Từ PoD đến lợi ích biên

Lần quan sát thứ tại ô làm PoD tăng:

Với , ta có : lần quan sát sau không có lợi ích lớn hơn lần trước. Đây là diminishing returns. Trên tập các lượt quan sát, nó là cơ sở cho tính submodular của reward. Lưu ý: submodularity tự nó không khiến bài định tuyến NP-hard thành dễ; ràng buộc tuyến vẫn còn. Nguồn: report/BaoCao_Tuan1-2.md, mục 6.2 và report/BaoCao_CuoiKy_Tuan10.md, mục 3.1.

2.2. Bài toán con sau khi tuyến cố định

Giả sử UAV đã biết tuyến và thời gian bay . Nếu mỗi lượt quan sát mất giây, số slot còn lại là:

OHR chọn số lượt để tối đa với . Vì mỗi slot tốn cùng một lượng thời gian, thuật toán lấy lợi ích biên lớn nhất trên mọi ô thuộc tuyến.

Với mỗi ô j trên tuyến:
    tạo m[0,j], m[1,j], ..., m[H-1,j]
Chọn M giá trị lớn nhất, giữ tiền tố số lượt của từng ô khi có hoà
Đếm số giá trị đã chọn theo ô → h[j]
Trả lại phân bổ h và tổng lợi ích

2.3. Chứng minh bằng exchange argument

Giả sử một lời giải chọn giá trị nhưng bỏ giá trị . Thay bằng không đổi số slot và tăng tổng lợi ích. Nếu là lượt nhìn thứ của một ô, các lượt trước đó có giá trị lớn hơn hoặc bằng ; ta có thể chọn các tiền tố tương ứng, xử lý trường hợp bằng nhau bằng một quy tắc phá hoà ưu tiên lượt trước. Do đó tồn tại nghiệm tối ưu gồm lợi ích lớn nhất và mỗi ô được nhìn theo đúng thứ tự. Nguồn: report/BaoCao_Tuan3-6.md, mục 3.2.

2.4. Ví dụ số

Tuyến có A , B , C và còn bốn slot:

ÔLượt 1Lượt 2Lượt 3
A0,012000,008400,00588
B0,016000,003200,00064
C0,020000,012000,00720

Bốn số lớn nhất là . Vậy A nhận 1 lượt, B nhận 1 lượt, C nhận 2 lượt. Đây là đóng góp PoD của các slot được chọn trong ví dụ. Chi tiết đối chiếu: /Users/vinhlq2512/code/multi-uav-sar/report/ThuatNgu_VietTat_Keywords.md, mục 6.

2.5. Chi phí và phạm vi bảo đảm

Nếu tuyến có ô và xét tối đa lượt mỗi ô, bảng có giá trị. Report dùng selection (numpy.partition) và nêu cho một lần chấm tuyến; sắp xếp toàn bộ sẽ tốn . OHR chỉ chính xác khi tuyến đã cố định, cùng chi phí thời gian cho mỗi slot và reward có dạng lợi ích biên nêu trên. Nếu thời lượng quan sát khác nhau giữa ô, bài toán có thể thành một dạng knapsack và quy tắc chọn top- không còn đủ.

3. Giá bóng: heuristic chèn ô dựa trên chi phí cơ hội

OHR cho ngưỡng , tức lợi ích thấp nhất trong các slot hiện đang được chọn. Nhóm đặt:

Nếu chèn ô giữa và , thời gian bay thêm xấp xỉ . Một ứng viên hấp dẫn nếu lợi ích các lượt nhìn ở vượt giá trị các slot bị thay thế và giá trị thời gian bay thêm, thường viết:

Cách đọc DAA: đây là scoring heuristic để chọn và lọc ứng viên, không phải một chứng minh rằng net > 0 luôn làm hàm mục tiêu thật tăng. Số slot là số nguyên nên việc mất thêm vài giây bay có thể đột ngột làm mất cả một slot. Sau thay đổi tuyến, phải tính lại OHR và so giá trị thật. Nguồn: report/BaoCao_Tuan3-6.md, mục 3.3; report/GiaiThich_HA-ALNS.md, mục 6–7.

4. HA-ALNS: local search trên tầng tuyến

ALNS (Adaptive Large Neighborhood Search) là metaheuristic thay đổi nhiều ô của nghiệm cùng lúc, giúp khám phá xa hơn phép đổi cục bộ một cạnh. Bản HA-ALNS của nhóm dùng OHR làm hàm chấm tuyến:

theo ràng buộc các tuyến không dùng chung ô trong mô hình report. Một vòng chạy:

  1. Bắt đầu từ Greedy có hover và rút đường bằng 2-opt.
  2. Chọn một toán tử destroy: bỏ ngẫu nhiên 5–20% ô (random), bỏ ô kém hiệu quả (worst), bỏ cả cụm gần nhau (cluster) hoặc bỏ một đoạn tuyến (segment).
  3. Dùng repair để thử chèn ô trên các UAV/vị trí; bản greedy chọn điểm net cao, bản noisy thêm nhiễu để khám phá.
  4. Dùng 2-opt đổi hai cạnh nếu đường mới ngắn hơn. Thời gian bay tiết kiệm có thể mở thêm slot hover.
  5. Chạy OHR trên tuyến mới; bỏ ô không nhận lượt quan sát nào; kiểm tra khả thi và tính lại .
  6. Giữ nghiệm tốt nhất đã thấy. Với nghiệm hiện tại, simulated annealing vẫn có thể nhận một nghiệm kém hơn với xác suất , giúp thoát vùng kẹt cục bộ.
  7. Cập nhật trọng số các destroy/repair operator theo điểm thưởng; report cập nhật sau mỗi 25 vòng.

Phân tích độ phức tạp

Report ước lượng một vòng là , với ô bị bỏ, ứng viên chèn và ô đang có trên tuyến. Với vòng, chi phí là theo cách cài đặt được mô tả; đây là ước lượng cho các bước chính, không phải cận phổ quát của mọi ALNS. 2-opt có khoảng cặp cạnh trong một lượt quét.

Điều được bảo đảm

OHR tối ưu phần hover ở từng tuyến ứng viên. HA-ALNS không chứng minh sẽ thăm tuyến tốt nhất, nên không có bảo đảm tối ưu toàn cục hay approximation ratio được nêu. Đây là mẫu DAA hữu ích: exact inner solver + heuristic outer search. Nguồn: report/BaoCao_Tuan3-6.md, mục 3.4–3.5; report/BaoCao_CuoiKy_Tuan10.md, mục 3.4.

5. RS-HA-ALNS: tối ưu theo kịch bản rủi ro

Khi chưa biết chính xác, nhóm lấy mẫu nhiều kịch bản . Các ô cùng loại địa hình chia sẻ sai số của lớp đó, nên một kịch bản xấu ở “nền rừng” ảnh hưởng đồng thời nhiều ô rừng. Với kế hoạch và ở kịch bản , nhóm dùng:

Do tối đa reward, dấu trong hàm mũ là âm; paper Sayeed tối thiểu cost, dùng dấu dương. Khi , về PoD trung bình; với nhỏ, . Đây là đánh đổi giữa trung bình và sự ổn định, không phải một cải thiện đồng thời mọi metric.

Cách thuật toán chạy

  1. Rút kịch bản từ mô hình bất định theo lớp địa hình; report dùng .
  2. Khởi tạo trọng số kịch bản bằng nhau, rồi tính bảng lợi ích biên có trọng số.
  3. Dùng HA-ALNS tìm tuyến theo bảng này. Tổng số vòng ALNS được giữ bằng bản danh nghĩa, chia qua các vòng ngoài.
  4. Chấm kế hoạch trên từng kịch bản, rồi cập nhật:

Kịch bản có PoD thấp được trọng số cao. Lặp lại việc lập bảng và tìm tuyến; trả nghiệm có tốt nhất trong các nghiệm đã xét. Nguồn: report/BaoCao_Tuan7-9.md, mục 1.2–1.5.

Vì sao OHR vẫn dùng được?

Với trọng số cố định , lợi ích biên mới của ô là:

Mỗi số hạng giảm theo , nên tổng có trọng số không âm cũng giảm. OHR vẫn chọn top- chính xác cho bài toán tuyến cố định với bảng trọng số đó. Đây là bảo đảm cục bộ; cập nhật và tìm tuyến không được chứng minh tối ưu toàn cục cho .

6. Riccati của paper: quy hoạch động trên mô hình xấp xỉ

Paper đặt bài toán điều khiển hữu hạn chân trời với trường thảm hoạ động, nhiễu và ngân sách năng lượng. Nếu giải Bellman trực tiếp trên trạng thái ghép của toàn đàn, không gian trạng thái lớn. Paper tuyến tính hoá động lực và xấp xỉ chi phí thành toàn phương:

Từ thời điểm cuối với , backward Riccati tính lần lượt . Ở mỗi bước, nó kiểm tra miền rủi ro khả chấp và tính gain ; khi chạy online, điều khiển dùng . Ý tưởng DP là “nghiệm của phần đuôi từ được gói trong ma trận ; dùng nó để giải quyết bước ”. PDF, tr. 10 PDF, tr. 13

Paper nêu chi phí offline vì các phép toán ma trận bậc ba trên bước. Điều kiện cần có để phép tích phân hàm mũ theo nhiễu Gaussian hữu hạn. Khi , ta trở về Riccati trung hoà rủi ro. Phạm vi tối ưu: mô hình tuyến tính–toàn phương được dùng sau xấp xỉ, không phải toàn bộ hệ phi tuyến ban đầu. PDF, tr. 11 PDF, tr. 12

Điểm phản biện toán học

Paper viết rằng cross term theo nhiễu biến mất chỉ vì nhiễu có trung bình bằng 0. Trong kỳ vọng của hàm mũ, lập luận đó chưa đủ: cần tích phân Gaussian đầy đủ. Vì vậy nên trình bày Riccati như công thức paper đề xuất, đồng thời giữ câu hỏi kiểm tra derivation ở trang 12. PDF, tr. 12

7. Mean-field và consensus: xấp xỉ mô hình + thuật toán đồ thị

Mean-field. Paper dùng phân phối thực nghiệm rồi lấy giới hạn đàn lớn để làm việc với phân phối hoặc moment chung như covariance . Đây là cách giảm phụ thuộc vào từng cặp UAV. DAA cần hỏi: chiều ma trận sau rút gọn là bao nhiêu, sai số finite- thế nào và điều gì xảy ra nếu UAV không đồng nhất? Paper mô phỏng 10 UAV, chưa cung cấp cận finite- đủ chi tiết trong note nguồn. PDF, tr. 13 PDF, tr. 22

Consensus. Mỗi UAV giữ ước lượng ; nó trao đổi với láng giềng trên đồ thị truyền thông, kéo ước lượng về gần giá trị của họ và thêm cập nhật cục bộ . Đây là phép lặp phân tán trên đồ thị. Paper nêu chi phí truyền thông mỗi UAV mỗi bước khoảng theo số láng giềng, chưa tính kích thước ma trận được gửi. Hội tụ về covariance chung cần điều kiện liên thông, bước phù hợp và kiểm soát tác động của ; chỉ biết bị chặn chưa đủ để suy ra sai số đồng thuận bằng 0. PDF, tr. 15 PDF, tr. 16

8. Các baseline và bộ giải chính xác trong góc nhìn DAA

Phương phápCách hoạt độngDùng để kiểm tra điều gì?
Random, lawnmower, partition-sweep, concentric sectorsKhám phá ngẫu nhiên hoặc quét có cấu trúc; partition-sweep chia vùng rồi quétGiá trị của việc biết và khai thác bản đồ
Greedy/Greedy có hoverChọn bước hoặc ô có lợi ích trước mắt caoHA-ALNS có hơn lựa chọn cục bộ không?
LHC-GW-CONVLeo đồi trên bản đồ xác suất được làm mượt và thay ngưỡngSo sánh với heuristic UAV đã công bố, qua bản cài lại của nhóm
ACO-MTSĐàn kiến xây tuyến bằng pheromone và heuristicSo sánh với tìm kiếm ngẫu nhiên có học từ lời giải trước, qua bản cài lại của nhóm
Branch-and-boundDuyệt nhánh; cắt nhánh nếu cận trên không thể vượt nghiệm tốt nhấtMốc tối ưu cho instance rất nhỏ; worst-case có thể tăng theo hàm mũ
CP-SATMã hoá bài tuyến–hover bằng biến nguyên/ràng buộc, tìm nghiệm và cậnPhân biệt nghiệm tối ưu đã chứng minh với nghiệm tốt nhất sau timeout
GA, clustering, swarm optimization trong paperCác baseline tác giả paper cài lại cho điều khiển/bao phủ thảm hoạSo sánh trong protocol của paper, không trộn với PoD của nhóm

Report tuần 10 cho biết CP-SAT chứng minh tối ưu hầu hết bài lưới nhỏ 4×4 đến 6×6, nhưng với một bài không chứng minh kịp thì mốc so sánh là cận trên, không phải giá trị tối ưu đã biết. Nguồn: report/BaoCao_CuoiKy_Tuan10.md, mục 4.6. Paper Sayeed mô tả ba baseline tự cài lại ở PDF, tr. 23.

9. Cách trình bày trong bài tập môn học

Với mỗi phương pháp, nên trả lời cùng sáu câu:

  1. Input/output: nhận gì, trả gì?
  2. Invariant hoặc ý tưởng đúng: sau một bước, điều gì còn đúng?
  3. Độ phức tạp: theo số ô , số UAV , số slot , số kịch bản , số vòng là bao nhiêu?
  4. Bảo đảm: tối ưu chính xác, cận xấp xỉ, chỉ là heuristic, hay chứng minh dưới giả định?
  5. Phản ví dụ/giới hạn: giả định nào nếu bỏ đi làm lập luận sai?
  6. Evidence: số liệu đến từ paper, report của nhóm, hay được chạy lại?

Một kết luận ngắn có thể dùng: Bài tuyến–hover là NP-hard. Nhóm tách nó thành phần hover OHR giải chính xác và phần tuyến tìm bằng HA-ALNS. RS-HA-ALNS giữ tính chính xác của OHR trong mỗi bài toán có trọng số kịch bản, nhưng cả quá trình tìm tuyến dưới rủi ro vẫn là heuristic. Paper Sayeed dùng dynamic programming/Riccati cho bài điều khiển khác và dùng mean-field cùng consensus để mở rộng theo số UAV.

Câu hỏi tự kiểm tra

  1. Chứng minh bằng đổi chỗ rằng OHR chọn top- là tối ưu. Nếu mỗi lượt hover có thời gian khác nhau, chứng minh đó hỏng ở bước nào?
  2. Tại sao chứng minh bài tổng NP-hard không mâu thuẫn với OHR chạy ?
  3. net(j)>0 có đủ để khẳng định chèn ô làm PoD thật tăng không? Giải thích vai trò của phép lấy phần nguyên trong .
  4. 2-opt cải thiện thành phần nào của nghiệm, và vì sao có thể tăng số slot hover dù không thêm ô?
  5. Tại sao simulated annealing đôi khi nhận nghiệm xấu hơn?
  6. Chứng minh khi .
  7. Tại sao ở report nhóm không thể so trực tiếp với của paper?
  8. Phân biệt “CP-SAT tìm được nghiệm tốt”, “CP-SAT cho cận trên” và “CP-SAT chứng minh tối ưu”.
  9. Phân biệt nghiệm tối ưu trên mô hình tuyến tính–toàn phương với tối ưu toàn cục của hệ UAV phi tuyến.

Liên kết