Chọn hầu hết các điểm phân tán từ một tập hợp các điểm


15

Có thuật toán (hiệu quả) nào để chọn tập hợp con của các điểm từ một tập hợp các điểm ( ) sao cho chúng "bao phủ" hầu hết diện tích (trên tất cả các tập hợp con có thể có kích thước ) không?MNM<NM

Tôi giả sử các điểm là trong mặt phẳng 2D.

Thuật toán ngây thơ là đơn giản, nhưng nghiêm cấm về độ phức tạp thời gian:

for each subset of N points
    sum distance between each pair of points in the subset
    remember subset with the maximum sum

Tôi đang tìm kiếm một phương pháp hiệu quả hơn hoặc thậm chí gần đúng.

Ví dụ, đây là một mặt phẳng có một số điểm ngẫu nhiên trong đó:

nhập mô tả hình ảnh ở đây

Với , tôi mong đợi chọn các điểm như sau:M= =5

nhập mô tả hình ảnh ở đây

Lưu ý các điểm được chọn (màu đỏ) nằm rải rác trên mặt phẳng.

Tôi đã tìm thấy một bài viết " HIỆU QUẢ LỰA CHỌN PHÂN PHỐI KHAI THÁC PHÂN PHỐI ĐỂ THEO D VISI THỰC TẾ " có liên quan đến vấn đề này. Tuy nhiên, điều này giả định các điểm có trọng số.


2
Đối với trường hợp hãy xem điều này từ StackOverflow: Thuật toán để tìm các điểm cách xa nhau nhất - tốt hơn O (n ^ 2)? . M=2
hardmath

Thật không may, thường khoảng 1500-5000 và giống như 10-50. NM
Libor

Được và cả cố định, hoặc bạn đang thay đổi cũng như (ví dụ, bởi vì bạn muốn tối đa hóa trung bình của khoảng cách, trong đó trường hợp tăng tiếp tục có thể mang lại một giảm)? MNMM
Wolfgang Bangerth

1
Tôi hoàn toàn nghi ngờ đây là NP-hard. Nó gần giống với một vấn đề phân nhóm trọng lượng tối đa trong đó trọng lượng của cạnh giữa hai đỉnh là khoảng cách Euclide giữa chúng. (Tôi tin rằng có những heuristic hiệu quả thực tế được biết đến với max-clique. Tôi không chắc chúng là cái gì.)
tmyklebu

1
@hardmath Xin lỗi đó là một lỗi đánh máy. Tôi đã cố gắng để minh họa những gì tôi cần phải đạt được. Vấn đề xuất phát từ việc trích xuất tính năng hình ảnh trong đó tôi chỉ cần lấy một số tính năng điểm nhưng chúng bị phân tán trên tất cả hình ảnh vì chúng được sử dụng để ước tính biến đổi và khi chúng bị phân tán không gian, việc ước tính ổn định hơn. Có lẽ "entropy" là một biện pháp tốt hơn - tôi muốn chọn điểm sao cho chúng ở khắp mọi nơi, giống như một chất khí ở trạng thái entropy tối đa. Mặt khác, tôi đang cố gắng tránh các điểm được chọn sẽ được nhóm lại. M
Libor

Câu trả lời:


11

Đây là một giải pháp gần đúng. Vì N quá lớn và M quá nhỏ, nên như sau:

  1. Tính vỏ lồi của N
  2. Chọn tối đa điểm M từ thân tàu thỏa mãn tiêu chí khoảng cách tối đa của bạn.
  3. Nếu Bước 2 khiến bạn có ít hơn điểm M thì hãy chọn 1 điểm từ bên trong để tối đa hóa khoảng cách của nó với các điểm đã chọn trước đó.
  4. Lặp lại Bước 3 cho đến khi số điểm được chọn là M

Trực giác đằng sau nó là vì N >> M và bạn muốn các điểm càng xa nhau càng tốt, chúng có thể sẽ ở gần các cạnh của dữ liệu, vì vậy bạn cũng có thể bắt đầu với thân tàu và sau đó lặp đi lặp lại làm việc theo cách của bạn từ đó.

Ngoài ra, bằng cách bắt đầu với thân tàu, bạn giảm tìm kiếm ban đầu của mình từ N xuống N 1/2 .


CẬP NHẬT

Nếu các bước 3 và 4 ở trên mất quá nhiều thời gian (vì bạn đang kiểm tra lặp lại phần bên trong của tập dữ liệu của bạn) thì sẽ có thêm hai ý tưởng xảy ra với tôi để tăng tốc vấn đề của bạn.

  1. Tìm kiếm ngẫu nhiên : Giả sử bạn đã tìm thấy điểm P trên thân tàu trong Bước 2. Sau đó rút ngẫu nhiên các điểm M - P từ bên trong. Chọn bộ tốt nhất sau X thử nghiệm.
  2. Mô phỏng luyện kim : Tính toán hộp giới hạn nhỏ nhất bao gồm tập dữ liệu của bạn (không phải căn chỉnh với các trục, có thể nghiêng). Sau đó xác định một tập hợp các điểm lưới phân bố đồng đều M trên hộp giới hạn đó. Lưu ý, những điểm này không nhất thiết trùng với bất kỳ điểm dữ liệu nào của bạn. Sau đó, cho mỗi điểm lưới tìm hàng xóm k -gần nhất trong tập dữ liệu của bạn. Chạy qua mọi kết hợp M x k và chọn một kết hợp thỏa mãn tiêu chí khoảng cách tối đa của bạn. Nói cách khác, bạn đang sử dụng lưới ban đầu làm bootstrap để tìm giải pháp ban đầu tốt .

Cảm ơn. Có lẽ một công thức sai câu hỏi. Tôi đang nhắm đến tập hợp các điểm sao cho chúng "bao phủ" hầu hết diện tích. Tôi nghĩ chỉ cần tiêu chí khoảng cách là đủ nhưng có vẻ như cần thêm một thứ gì đó.
Libor

M

1
Có lẽ một cách chính thức hơn để nêu rõ vấn đề của bạn là bạn muốn một phần tử có kích thước M bao phủ N và giảm thiểu diện tích khía cạnh trung bình? Giảm thiểu các khu vực khía cạnh dường như là một cách để truyền bá các điểm xung quanh và đảm bảo chúng không bị vón cục lại với nhau.
dpmcmlxxvi

Đúng. Tôi muốn tránh sử dụng lưới vì nếu các điểm có thể bị tai nạn tụ lại xung quanh các đường lưới và sau đó chúng sẽ được phân cụm trong vùng chọn.
Libor

Một vấn đề với thuật toán tham lam của bạn mà bạn đề cập là nó sẽ rất nhạy cảm với điểm gốc ban đầu. Các thuật toán trồng hạt giống (nơi bạn bắt đầu từ trong ra ngoài) có vấn đề đó. Cách tiếp cận thân tàu mà tôi đề cập có lẽ sẽ ổn định hơn vì nó hoạt động từ bên ngoài.
dpmcmlxxvi

6

NM

MM

M1M=3,4,5

M=31M=4M=51

Nếu chúng ta muốn tránh việc chiếm ưu thế trong việc lựa chọn các điểm ở ngoại vi, một mục tiêu khác có thể chứng minh sự hữu ích. Tối đa hóa khoảng cách tối thiểu giữa các điểm là một tiêu chí như vậy. Các vấn đề liên quan đã được giới thiệu tại StackOverflow , tại Computer Science SE , tại Math.SE và tại MathOverflow .

MDMD


1

OK, vì vậy bạn muốn chọn điểm M từ một tập hợp điểm N đã cho trong mặt phẳng Euclide, sao cho tổng khoảng cách theo cặp của các điểm được chọn là tối đa, đúng không?

Thuật toán tìm kiếm cục bộ tiêu chuẩn là khá nhanh và cung cấp một xấp xỉ khá tốt. Thời gian chạy là tuyến tính theo N và bậc hai tính theo M. Tỷ lệ gần đúng của nó là 1 - 4 / M. Điều này có nghĩa là tỷ lệ sẽ tốt hơn khi M tăng. Chẳng hạn, với M = 10, nó nhận được 60% giá trị tối ưu và với M = 50, nó nhận được 92% giá trị tối ưu.

Thuật toán cũng hoạt động cho các không gian Euclide có kích thước chung. Trong trường hợp này, vấn đề là NP-hard. Nhưng trên máy bay, không biết nó có phải là NP-hard hay không.

Nguồn là giấy này . Hi vọng điêu nay co ich! Tốt nhất, Alfonso



1
Tôi đã giải quyết vấn đề này bằng thuật toán "Loại bỏ thông qua việc che đĩa" từ bài báo "Lựa chọn hiệu quả các điểm chính được phân phối không gian để theo dõi trực quan" Hội nghị quốc tế IEEE lần thứ 18 năm 2011 về Xử lý hình ảnh. IEEE, 2011
Libor

1
Alfonso, xin vui lòng làm rõ liên kết của bạn cho các giấy đề nghị.
nicoguaro

0

Một giải pháp là:

  • Ôi(n)

  • Tạo M nhân tạo ngay cả các điểm phân phối bên trong hình chữ nhật giới hạn này, một số M khó khăn hơn các điểm khác. Trong trường hợp của bạn bốn trong các góc của hình chữ nhật và một ở trung tâm

  • Ôi(n(tôiog(n)))

  • Ôi(m(tôiog(n)))

Ôi(n(tôiog(n)))MN

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.