Estoy buscando el algoritmo que localice eficientemente a la "persona más solitaria del planeta", donde "más solitaria" se define como:
Distancia mínima máxima a otra persona, es decir, la persona para la que la otra persona más cercana está más lejos.
Supongamos una entrada (milagrosa) de la lista de la latitud/longitud exacta de cada persona en la Tierra en un momento determinado.
Toma también como proporcionada una función d(p1,p2) que devuelve la distancia en la superficie de la tierra entre p1 y p2 - Sé que esto no es trivial, pero es "sólo geometría esférica" y no la parte importante (para mí) de la pregunta.
¿Cuál es la forma más eficaz de encontrar a la persona más solitaria?
Sin duda, una solución es calcular d(…) para cada par de personas en el globo, luego ordena la lista de distancias de cada persona en orden ascendente, toma el primer elemento de cada lista y ordénalos en orden descendente y toma el mayor. Pero eso implica n(n−1) invocaciones de d(…) , n tipos de n−1 y un último tipo de n artículos. La última vez que lo comprobé, n en este caso está en algún lugar al norte de seis mil millones, ¿verdad? ¿Así que podemos hacerlo mejor?