Introdução e anotações:
Aqui está uma versão nova e simples do meu algoritmo que parece terminar (de acordo com meus experimentos), e agora eu gostaria de provar isso.
Deixe a notação referir-se a um ponto de dados dimensionais (um vetor). Eu tenho três conjuntos A, B e C, de modo que , , : p | Um | = n | B | = m | C | = l A = { x i | i = 1 , . . , n } B = { x j | j = n + 1 , . . , n + m } C = { x u |
Dado , deixe denotar a distância euclidiana média de até seus pontos mais próximos em ; e denotar a distância Euclidiana significativo de a sua mais próxima pontos em . d A x i x i k A d C x i x i k C
Algoritmo:
Eu tenho o seguinte algoritmo que modifica iterativamente os conjuntos A e B movendo alguns elementos selecionados de A para B e vice-versa, e C permanece sempre o mesmo (não mude). Para simplificar: o objetivo do algoritmo é separar melhor os conjuntos e modo que "os pontos de sejam mais semelhantes aos de um conjunto fixo conhecido " e "os pontos de finalmente sejam auto-similares e mais distantes dos de e do conjunto final ":B B C A C B
- ... (1)
- ; ... (2)
- } ... (3)
- ; ... (4)
- Repita (1), (2), (3) e (4) até: (nenhum elemento se move de para ou de para , ou seja, A 'e B' ficam vazios) ou ( ou )
O algoritmo termina em dois casos:
- quandooutorna-se menor ou igual a
- ou o caso mais padrão, quando , o que significa que não mais elementos se movem entre A e B.
Questão:
Como provar que esse algoritmo termina eventualmente? Não encontrei uma função potencial conveniente que possa ser estritamente minimizada ou maximizada pelo algoritmo. Tentei, sem êxito, algumas funções: a função mas não está aumentando a cada iteração. A função mas não está diminuindo a cada iteração. A função parece não estar diminuindo a cada iteração. A funçãoparece não estar aumentando a cada iteração. Então, qual é a função potencial conveniente que pode ser mostrada para aumentar ou diminuir a cada iteração? Ou devemos mostrar que a função diminui, mas não a cada iteração (após algumas iterações)? Como ?
Notas:
- Os pontos mais próximos de em um conjunto significam: os pontos (exceto ) em , tendo a menor distância euclidiana de . Você pode usar para simplificar a análise.x S k x S x k = 1
- Não sei se isso pode ajudar ou não, mas tenho a seguinte propriedade para meus conjuntos iniciais : inicialmente , se for o ponto mais próximo para e é o ponto mais próximo de então sempre . Isto intuitivamente significa que os pontos em estão mais perto de de pontos em .
- Se isso facilita a análise: é totalmente possível considerar uma versão ligeiramente diferente do algoritmo em que, assim que um ponto de deve ser movido para , ele é movido de para (sem passar por ), e vis versa para .