Introducción y anotaciones:
Aquí hay una versión nueva y simple de mi algoritmo que parece terminar (según mis experimentos), y ahora me gustaría probarlo.
Deje que la notación refiera a un punto de datos dimensional (un vector). Tengo tres conjuntos A, B y C, de modo que , , : p | A | = n | B | = m | C | = l A = { x i | i = 1 , . . , n } B = { x j | j = n + 1 , . . , n + m } C = { x u |
Dado , deje que denote la distancia euclidiana media desde a sus puntos más cercanos en ; y denota la distancia media euclidiana de a su más cercano puntos en . d A x i x i k A d C x i x i k C
Algoritmo:
Tengo el siguiente algoritmo que modifica iterativamente los conjuntos A y B moviendo algunos elementos seleccionados de A a B y viceversa, y C permanece siempre igual (no cambia). Para simplificarlo: el propósito del algoritmo es separar mejor los conjuntos y modo que "los puntos de sean más similares a los de un conjunto fijo conocido " y "los puntos de finalmente sean autosimilares y más lejos de los de y el conjunto final ":B B C A C B
- ... (1)
- B = B ∪ A ′ ; ... (2)
- } ... (3)
- A = A ∪ B ′ ; ... (4)
- Repita (1), (2), (3) y (4) hasta que: (ningún elemento se mueva de a o de a , es decir, A 'y B' se vacíen) o ( o )B B A | A | ≤ k | B | ≤ k
El algoritmo termina en dos casos:
- cuandoose vuelve menor o igual aEl | B | k
- o el caso más estándar, cuando , lo que significa que no se mueven más elementos entre A y B.
Pregunta:
¿Cómo demostrar que este algoritmo finalmente termina? No encontré una función potencial conveniente que pueda ser estrictamente minimizada o maximizada por el algoritmo. He intentado sin éxito algunas funciones: la función pero no aumenta en cada iteración. La función pero no está disminuyendo en cada iteración. La función parece no estar disminuyendo en cada iteración. La función ∑ x ∈ A d A x + ∑ x ∈ B d C x ∑ x ∈ A d A x + ∑ x ∈ B d B x ∑ x ∈ A d B x + ∑ x ∈ B d A xparece no estar aumentando en cada iteración. Entonces, ¿cuál es la función potencial conveniente que se puede mostrar que aumenta o disminuye en cada iteración? ¿O deberíamos mostrar que la función disminuye pero no en cada iteración (después de algunas iteraciones)? Cómo ?
Notas:
- Los puntos más cercanos a en un conjunto , significa: los puntos (distintos de ) en , que tienen la distancia euclidiana más pequeña a . Simplemente puede tomar para simplificar el análisis.x S k x S x k = 1
- No sé si esto puede ayudar o no, pero tengo la siguiente propiedad para mis conjuntos iniciales : inicialmente , si es el punto más cercano a y es el punto más cercano a entonces siempre . Esto intuitivamente significa que los puntos en están más cerca de de puntos en .∀ x i ∈ B , x j ∈ A x b ∈ C x i x a ∈ C x j d i s t a n c e ( x i , x b ) < d i s t a n c e ( x j , x a ) B C A
- Si eso facilita el análisis: es totalmente posible considerar una versión ligeramente diferente del Algoritmo en la que tan pronto como un punto de se mueva a , se mueva de a (sin pasar por ), y vis inversa de .B A B A ′ B