Sebagai input, saya memiliki dua set poin dalam R N , biasanya untuk N besar, misalnya N = 40. Andaikan kedua set memiliki elemen m:
S = s 1 ... s m
T = t 1 ... t m
Secara semantik kedua set sama, tetapi karena noise (dalam bentuk apa pun) pada titik R ^ N, elemen yang seharusnya secara semantik sama masih memiliki jarak lebih besar dari 0.
Apa yang ingin saya temukan adalah m tupel (s i , t j ) sedemikian rupa sehingga jumlah jarak (s i , t j ) diminimalkan dan sedemikian sehingga s k dan t k persis terjadi sekali dalam set tupel untuk k = 1 ... m Pada dasarnya (i, j) harus dipilih sebagai menara di papan catur yang tidak dapat saling menabrak sambil meminimalkan jarak yang dijumlahkan.
Dengan kata lain, saya ingin menemukan satu ke satu peta antara S dan T yang 'semacam peta identitas, tetapi kuat untuk noise'. Kami mengasumsikan bahwa ukuran jarak merupakan indikasi yang baik tentang bagaimana elemen yang sama berada.
Pada dasarnya saya perlu menemukan permutasi 1 ... N, dan karenanya saya pikir masalah ini adalah NP-hard atau NP-complete, karena 'rasanya' sangat mirip dengan TSP; namun saya belum dapat menulis ulang masalah TSP ke subset dari masalah saya di sini.
Apakah masalah ini secara realistis dapat dipecahkan untuk N besar? Apakah ada nama untuk masalah ini? Apa yang akan menjadi solusi yang layak? Apakah ada kriteria lain yang mungkin lebih baik daripada jarak yang dijumlahkan?
Saya memikirkan pendekatan serakah, misalkan D menjadi matriks jarak, d ij = jarak (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.
Ini tidak menghasilkan solusi optimal, tetapi menemukan solusi. Apakah ini taruhan terbaik saya? Haruskah saya menggunakan anil simulasi, atau itu berlebihan?
PS: dari sudut pandang saya, ini hanya masalah kecil dalam masalah ML yang lebih besar, namun, saya sangat tertarik dengan latar belakang CS itu.