Tìm khoảng cách tổng nhỏ nhất bằng cách ghép các phần tử duy nhất của một bộ với các phần tử của bộ khác


8

Là đầu vào, tôi có hai bộ điểm trong R N , thường là N lớn, ví dụ N = 40. Giả sử cả hai bộ có m phần tử:

S = s 1 ... s m

T = t 1 ... t m

Về mặt ngữ nghĩa, cả hai bộ đều bằng nhau, nhưng do nhiễu (dưới bất kỳ hình thức nào) trên các điểm R ^ N, các phần tử giống nhau về mặt ngữ nghĩa vẫn có khoảng cách lớn hơn 0.

Điều tôi muốn tìm là m tuples (s i , t j ) sao cho tổng khoảng cách (s i , t j ) được thu nhỏ và sao cho s k và t k xảy ra chính xác một lần trong tập các tuple cho k = 1 ... M. Về cơ bản (i, j) phải được chọn làm tháp trên bàn cờ không thể đánh nhau trong khi thu nhỏ khoảng cách tổng.

Nói cách khác, tôi muốn tìm một bản đồ một-một giữa S và T, 'là một loại bản đồ nhận dạng, nhưng mạnh đến nhiễu'. Chúng tôi giả định rằng thước đo khoảng cách là một dấu hiệu tốt về mức độ các yếu tố tương tự.

Về cơ bản tôi cần tìm một hoán vị 1 ... N, và do đó tôi nghĩ vấn đề này là NP-hard hoặc NP-perfect, vì nó 'cảm thấy' khá giống với TSP; tuy nhiên tôi chưa thể viết lại vấn đề TSP thành một tập hợp con của vấn đề của tôi ở đây.

Là vấn đề này thực tế có thể giải quyết cho N lớn? Có một tên cho vấn đề này? Điều gì sẽ là một giải pháp khả thi? Có tiêu chí nào khác có thể tốt hơn khoảng cách tổng hợp không?

Tôi nghĩ về một cách tiếp cận tham lam, hãy để D là một ma trận của các khoảng cách, d ij = distance (s i , t j ).

T = {}
while D is not empty:
    (i,j) = argmin-(i,j) dij
    append (i,j) to T
    set row i and column j to infinity.

Điều này không dẫn đến giải pháp tối ưu, nhưng tìm ra giải pháp. Đây sẽ là đặt cược tốt nhất của tôi? Tôi nên sử dụng mô phỏng ủ, hoặc nó là quá mức cần thiết?

PS: theo quan điểm của tôi, đây chỉ là một vấn đề nhỏ trong một vấn đề ML lớn hơn, tuy nhiên, tôi rất quan tâm đến nền tảng CS của nó.


Không chắc chắn, nhưng có lẽ chủ đề này có thể giúp bạn?

Tôi rất quan tâm đến vấn đề này vì tôi cũng gặp phải vấn đề này khi thiết kế một số thuật toán ML ...
daaxix

Tôi không thể thấy bất kỳ cách nào để tránh giải quyết vấn đề tổng bình phương là một phần của vấn đề này. (Tôi cũng không thấy bất kỳ đối số nào cho rằng vấn đề này là SoSR-hard.)

"Về cơ bản tôi cần tìm một hoán vị 1 ... N, và do đó tôi nghĩ vấn đề này là NP-hard hoặc NP-perfect" - giống như sắp xếp, hm?
Raphael

@Raphael: Điểm tốt. Đó là một cảm giác ruột thịt, giống như đã nêu trong OP tôi không thể tìm thấy đối số. Do đó, câu hỏi "Vấn đề này có thể giải quyết được thực tế cho N lớn không?"
Herbert

Câu trả lời:


6

Đây là vấn đề tìm kiếm sự phù hợp tối đa trong biểu đồ lưỡng cực có trọng số. Có các thuật toán hiệu quả giải quyết vấn đề này trong thời gian đa thức.

2mSTTôi,jSTôitjd(si,tj)sitj

(si,tj)


3

Đây là một phương pháp xác suất nhanh có thể phù hợp với bạn.

  1. Chiếu điểm của bạn lên một dòng ngẫu nhiên và giải quyết vấn đề khớp 1D trong dòng này.

  2. Lặp lại quy trình cho một số dòng ngẫu nhiên khác nhau để có được bộ sưu tập các ứng cử viên phù hợp.

  3. Yêu cầu ứng cử viên của bạn "bỏ phiếu" từng điểm để đưa ra kết quả phù hợp nhất "tốt nhất".

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.