Вступ та позначення:
Ось нова і проста версія мого алгоритму, яка, здається, припиняється (згідно моїх експериментів), і тепер я хотів би це довести.
Нехай позначення посилається на розмірну точку даних (вектор). У мене є три множини A, B і C, такі, що , , :
З огляду на , нехай Позначимо середнє евклідова відстань від його найближчої точки в ; і позначають середній евклідова відстань від його найближчої точки в .
Алгоритм:
У мене є наступний алгоритм, який ітеративно змінює множини A і B, переміщуючи деякі вибрані елементи з A в B і навпаки, і C залишається завжди однаковим (не змінювати). Щоб спростити: мета алгоритму полягає в тому, щоб краще розділити множини і таким чином, щоб "точки були більш схожі на ті, що знаходяться у відомому фіксованому множині " і "точки , нарешті, є самоподібними і далі від і остаточного набору ":
- ... (1)
- ; ... (2)
- } ... (3)
- ; ... (4)
- Повторюйте (1), (2), (3) і (4), поки: (жоден елемент не рухається від до або від до , тобто A 'і B' стають порожніми) або ( або )
Алгоритм припиняється у двох випадках:
- колиабостає менше або дорівнює
- або самий стандартний випадок, коли , це означає, що більше A елементів не рухається між A і B.
Питання:
Як довести, що цей алгоритм зрештою припиняється? Я не знайшов зручну потенційну функцію, яку алгоритмом можна суворо мінімізувати або максимально збільшити. Я безуспішно намагався виконувати деякі функції: функцію але вона не збільшується при кожній ітерації. Функція але вона не зменшується при кожній ітерації. Функція схоже, не зменшується при кожній ітерації. Функціясхоже, не збільшується при кожній ітерації. Отже, яка зручна потенційна функція, яку можна показувати або збільшувати, або зменшувати при кожній ітерації? Або ми повинні показати, що функція зменшується, але не при кожній ітерації (швидше після деяких ітерацій)? Як?
Примітки:
- найближчим точкам для в безлічі , означає: точок (інші , ніж ) в , що має найменшу евклідова відстань до . Ви можете просто взяти для спрощення аналізу.
- Я не знаю, чи це може допомогти чи ні, але для моїх початкових множин є наступне властивість : спочатку , якщо найближча точка до і - найближча точка до тоді завжди . Це інтуїтивно означає , що точки в знаходяться ближче до , ніж в точках .
- Якщо це полегшує аналіз: цілком можливо розглянути дещо інший варіант алгоритму, коли, як тільки точка з повинна бути переміщена до , вона переміщується з в (не проходячи ), і Vis Versa для .