Pengantar dan notasi:
Berikut ini adalah versi baru dan sederhana dari algoritma saya yang tampaknya berakhir (menurut eksperimen saya), dan sekarang saya ingin membuktikannya.
Biarkan notasi mengacu pada data titik dimensi (vektor). Saya punya tiga set A, B dan C, sedemikian rupa sehingga , , :
Dengan , misalkan d A x i menunjukkan jarak Euclidean rata-rata dari x i ke k titik terdekatnya di A ; dan d C x i menyatakan rata-rata jarak Euclidean dari x i ke nya k terdekat poin di C .
Algoritma:
Saya memiliki algoritma berikut yang secara iteratif memodifikasi set A dan B dengan memindahkan beberapa elemen yang dipilih dari A ke B dan sebaliknya, dan C tetap selalu sama (tidak berubah). Untuk membuatnya sederhana: tujuan algoritma adalah untuk lebih baik memisahkan set dan B sedemikian rupa sehingga "titik-titik B lebih mirip dengan yang dari set tetap diketahui C " dan "titik-titik A akhirnya mirip sendiri dan lebih jauh dari C dan set terakhir B ":
- ... (1)
- ; B = B ∪ A ′ ... (2)
- } ... (3)
- ; A = A ∪ B ′ ... (4)
- Ulangi (1), (2), (3), dan (4) sampai: (tidak ada elemen yang bergerak dari ke B atau dari B ke A , yaitu A 'dan B' menjadi kosong) atau ( | A | ≤ k atau | B | ≤ k )
Algoritma berakhir dalam dua kasus:
- kapan atau | B | menjadi kurang dari atau sama dengan k
- atau kasus paling standar, ketika , yang berarti bahwa tidak ada lagi elemen yang bergerak antara A dan B.
Pertanyaan:
Bagaimana membuktikan bahwa algoritma ini akhirnya berakhir? Saya tidak menemukan fungsi potensial yang mudah yang dapat diminimalisasi atau dimaksimalkan oleh algoritma. Saya telah gagal mencoba beberapa fungsi: fungsi tetapi tidak meningkat pada setiap iterasi. Fungsi ∑ x ∈ A d A x + ∑ x ∈ B d C x tetapi tidak menurun pada setiap iterasi. Fungsi ∑ x ∈ A tampaknya tidak menurun pada setiap iterasi. Fungsi ∑ x ∈ A d B x + ∑ x ∈ B d A x tampaknya tidak akan meningkat pada setiap iterasi. Jadi apa fungsi potensial yang nyaman yang dapat ditunjukkan untuk menambah atau mengurangi pada setiap iterasi? Atau haruskah kita menunjukkan bahwa fungsi berkurang tetapi tidak pada setiap iterasi (setelah beberapa iterasi lebih tepatnya)? Bagaimana?
Catatan:
- Titik terdekat ke x dalam himpunan S , berarti: titik k (selain x ) di S , memiliki jarak Euclidean terkecil ke x . Anda bisa mengambil k = 1 untuk menyederhanakan analisis.
- Saya tidak tahu apakah ini bisa membantu atau tidak, tetapi saya memiliki properti berikut untuk set awal : awalnya ∀ x i ∈ B , x j ∈ A , jika x b ∈ C adalah titik terdekat ke x i dan x suatu ∈ C adalah titik terdekat x j kemudian selalu d i s t a n c e ( x i , x b ) . Intuitif ini berarti bahwa poin di B lebih dekat ke C dari titik di A .
- Jika itu membuat analisis lebih mudah: sangat mungkin untuk mempertimbangkan versi Algoritma yang sedikit berbeda di mana segera setelah titik dari harus dipindahkan ke B , itu dipindahkan dari A ke B (tanpa melewati A ′ ), dan vis versa untuk B .