[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [obm-l] Funcao distancia
On Wed, Jan 21, 2004 at 07:48:46PM -0200, Eduardo Lourenco Apolinario wrote:
> Oi pra todos dessa honrosa lista,
> estava resolvendo um problema proposto por um amigo
> que dizia o seguinte: dada uma sequencia de n pontos
> nalgum plano, ache qual o ponto cuja soma das distancias
> para os pontos dados eh minima.
>
> Nao consegui chegar a algum resultado muito
> 'matematico' (com esse sentido quero dizer q n cheguei a
> uma formula fechada).
> E gostaria d pedir ajuda a vcs na mesma.
Eu não vou dar uma fórmula para o seu problema, mas observe que
mesmo para n=3 há dois casos bem diferentes:
Se os três pontos p1, p2, p3 formam um triângulo com todos os
ângulos internos menores do que 120 graus, o ponto desejado q
é o único ponto no interior do triângulo para o qual os ângulos
p1-q-p2, p2-q-p3 e p3-q-p1 são todos iguais a +- 120 graus,
onde o sinal depende da orientação do triângulo.
Se os pontos p1, p2, p3 formam um um triângulo com o ângulo em p1
maior do que 120 graus, q será o próprio p1.
Uma maneira "física" de resolver o problema (e de verificar
o que eu falei acima) é a seguinte. Tome uma mesa e faça furos
nos pontos p1, p2, ..., pn. Passe por cada furo um barbante e
amarre na ponta do barbante que fica abaixo da mesa um peso
de 1 kg. Amarre todos os n barbantes que ficam acima da mesa
em um único ponto, o nó. Agora solte o nó: ele buscará a posição
em que a energia potencial dos pesos é mínima, logo aquela
em que a soma das distâncias é mínima. Ou seja, o nó acabará
parando no ponto que você procura.
Mas o ponto de vista matemático é antes de mais nada perguntar
se a solução existe e é única. Mais precisamente,
seja f: R^2 -> R a função dada por f(q) = f1(q) + ... + fn(q)
onde fi(q) = d(q,pi). Eu afirmo que a função f tem um único
ponto de mínimo local (logo global) *exceto* se n for par e
todos os ponto pi estiverem sobre uma linha reta. Neste caso
muito especial, supondo os pontos indexados em ordem de p1 até pn
com n = 2m, qualquer ponto no segmento de pm até p(m+1) é um mínimo.
Para verificar isso, observe que cada função fi é convexa logo f também é.
Assim, f assume seu valor mínimo em um subconjunto convexo Q de R^2.
Por outro lado cada fi é estritamente convexa sobre qq segmento
que não estiver alinhado com pi. Assim, se o conjunto Q for mais do que
um ponto ele contem um segmento e este segmento deve estar alinhado
com todos os pontos pi, donde estamos no caso especial que descrevi acima.
[]s, N.
=========================================================================
Instruções para entrar na lista, sair da lista e usar a lista em
http://www.mat.puc-rio.br/~nicolau/olimp/obm-l.html
=========================================================================