Se me ha pinchado por el mismo problema desde hace algún tiempo. La solución es el consenso obvio dado en publicaciones anteriores: encuentre la mediana (mx, my) de forma independiente y luego encuentre el punto más cercano en los N puntos dados y ese es el lugar de reunión. Para ver por qué esta es realmente la solución, primero debes considerar la distancia.
d = sum (| xi-x |) + sum (| yi-y |) sobre todo 1 < = i < = N,
que es independiente en x e y. Por lo tanto, podemos resolver el caso 1-D para xey. Voy a omitir la explicación dada ^^ y por lo tanto concluir que (mx, mi) es la mejor solución si tenemos en cuenta todos los puntos posibles.El mayor desafío es demostrar que podemos pasar de (mx, my) a la más cercana (xi, yi) tal que (xi, yi) es uno de los puntos dados, sin cambiar (aumentar) la distancia. La prueba dice:
Considere que hemos ordenado las coordenadas x (a modo de prueba) y que X1<X2<...<Xn
. También Xj<mx<X(j+1)
donde j = N/2
, ahora vamos a mover mx
un paso hacia la izquierda, es decir mx' <- mx-1
. Por lo tanto, d' = |X1-mx+1| + .. + |Xj-mx+1| + |X(j+1)-mx+1| + .. + |Xn-mx+1|
Sabemos que mx-1 aumentará los valores N/2 (para k> = j + 1 y disminuirá para < = j) por lo que el efecto es el mismo. Por lo tanto (mx-1, my) da la misma solución . Significa que hay un espacio entre Xj<mx<X(j+1)
y Yj<my<Y(j+1)
donde la distancia no cambia. Por lo tanto, podemos encontrar el punto más cercano que es la respuesta.
He ignorado el caso sutil de nodos pares/impares, pero espero que las matemáticas funcionen cuando se den cuenta de la prueba básica.
Esta es mi primera publicación, ayúdame a mejorar mis habilidades de escritura.
Es un problema de minimización en el dominio Integers. Las pruebas generalmente no son triviales ... –