Các vấn đề zap tối thiểu dưới đây là tập 11 trong bài giảng Jeff Erickson về "tham lam Algorithm" .
Các vấn đề tối thiểu zap thể nói chính thức hơn như sau. Đưa ra một bộ của các vòng tròn trong mặt phẳng, mỗi vòng tròn được chỉ định bởi bán kính của nó và tọa độ tâm của nó, tính toán số lượng tia tối thiểu từ gốc tọa độ mọi đường tròn trong . Mục tiêu của bạn là tìm ra một thuật toán hiệu quả cho vấn đề này. (Xem ví dụ "9 bóng bay với 4 tia" trong hình bên dưới)
Câu hỏi: Giả sử có thể bắn một tia không giao nhau với bất kỳ quả bóng bay nào. Mô tả và phân tích một thuật toán tham lam giải quyết vấn đề zap tối thiểu trong trường hợp đặc biệt này.
Tôi gặp khó khăn khi tiếp cận vấn đề này. Tôi nghĩ rằng một cách tiếp cận tham lam sẽ là sử dụng tia giao nhau với hầu hết các vòng tròn và tái diễn, nhưng tôi đã nói rằng điều này là sai. Tại sao lại thế này?
Và điểm của thực tế là có một tia không giao nhau với bóng bay là gì? Tôi có phải chứng minh rằng một số giải pháp tối ưu sử dụng thực tế này?
Bất kỳ trợ giúp sẽ được đánh giá cao! Tôi mới bắt đầu học thuật toán :)
Thuật toán dựa trên câu trả lời của hengxin: https://cs.stackexchange.com/a/52293/42816
Chứng minh bằng cảm ứng toán học
Lưu ý: Không sử dụng triển khai O (n log n)
Bây giờ chúng tôi sẽ chứng minh tính đúng đắn của thuật toán này bằng cách sử dụng quy nạp toán học. Chúng tôi sẽ chỉ ra rằng thuật toán tham lam của chúng tôi không thể làm tồi tệ hơn giải pháp tối ưu.
Để cho là tập hợp các tia bắn bởi thuật toán tham lam của chúng tôi. Để cho là tập hợp các tia bắn bởi một giải pháp tối ưu khác.
Trường hợp cơ sở của chúng tôi là khi . Chỉ có một đối tượng để tiêu diệt và thuật toán tham lam của chúng tôi sử dụng 1 tia, điều này cũng xảy ra là tối ưu. Vì vậy, điều này kiểm tra ra.
Bây giờ đối với giả thuyết cảm ứng của chúng tôi, chúng tôi sẽ cho rằng thuật toán tham lam của chúng tôi là tối ưu cho tối đa các đối tượng.
Bây giờ chúng tôi tuyên bố rằng tia đầu tiên từ của không thể làm tồi tệ hơn .
Bây giờ hãy xem xét một tình hình đối tượng. Sau đó, chúng tôi sắp xếp và dựa theo , theo chiều kim đồng hồ. Bây giờ hãy kiểm tra các tia đầu tiên xảy ra từchiều kim đồng hồ. Trong, tia đầu tiên này, gọi nó , không thể làm tồi tệ hơn , gọi nó đi , bởi vì thuật toán tham lam của chúng tôi nói rằng tia này sẽ giao nhau với hầu hết các đối tượng, bao gồm cả vật thể đầu tiên từ . Vì thế, hoặc giao nhau nhiều hoặc ít đối tượng hơn . Vì vậy, chúng ta có thể thay thế với trong giải pháp tối ưu .
Bây giờ, chúng ta phải tìm ra nếu phần còn lại của là tối ưu, cắt ra , mà chúng tôi sẽ gọi . Tuy nhiên, vì hiện tại có nhiều nhất các đối tượng, giả thuyết cảm ứng của chúng tôi nói rằng thuật toán tham lam của chúng tôi tìm ra một giải pháp tối ưu để . Như vậy,vấn đề có một giải pháp tối ưu từ thuật toán tham lam của chúng tôi. QED