Autor Tema: Ayuda para calcular la distancia mínima a recorrer entre varios puntos

0 Usuarios y 1 Visitante están viendo este tema.

11 Diciembre, 2012, 10:41 am
Leído 3596 veces

javimaravillas

  • $$\Large \color{#6a84c0}\pi$$
  • Mensajes: 4
  • Karma: +0/-0
  • Sexo: Masculino
Buenas,
Tenemos que quedar un grupo de compañeros que estamos geolocalizados por España, y quiero sacar por curiosidad cual sería el punto medio entre todos, que minimiza la distancia a recorrer entre todos.

No quiero un solución completa, sino un pequeño planteamiento para resolverlo. Parto de coordenadas X,Y.

11 Diciembre, 2012, 12:22 pm
Respuesta #1

mentortecnico

  • $$\Large \color{#6a84c0}\pi$$
  • Mensajes: 5
  • Karma: +0/-0
  • Sexo: Masculino
    • Mentor Técnico. Ayuda con matemáticas.
Buenas,

¿supones que los desplazamientos son en línea recta? Si sí, basta con calcular la media de todos los vectores de posición respecto a una referencia arbitraria.
Es decir, el punto medio (x,y) será:
 x -> La suma de todas las coordendas x de los puntos de cada uno de tus amigos, dividido por el número de amigos (es decir, la media, vamos :-) ).
 y -> Igual que para x.

Un saludo!

11 Diciembre, 2012, 12:30 pm
Respuesta #2

javimaravillas

  • $$\Large \color{#6a84c0}\pi$$
  • Mensajes: 4
  • Karma: +0/-0
  • Sexo: Masculino
Suponemos que son en línea recta, porque sino ya se iría de madre.

Muchas gracias, sabía que tenía que calcular la media pero llevo 10 años sin trabajar con vectores.

Saludos.

11 Diciembre, 2012, 02:53 pm
Respuesta #3

javimaravillas

  • $$\Large \color{#6a84c0}\pi$$
  • Mensajes: 4
  • Karma: +0/-0
  • Sexo: Masculino
Con que me refiero que ser iría de madre sería porque tengo que hacerlo con Bing Maps y no con Google Maps, y corregirme si no me equivoco, tendría que calcular la distancia iterativamente haciendo peticiones a ellos con rutas por carretera.

¿Me equivoco?

11 Diciembre, 2012, 05:11 pm
Respuesta #4

Luis Fuentes

  • el_manco
  • Administrador
  • Mensajes: 58,907
  • País: es
  • Karma: +0/-0
Hola

¿supones que los desplazamientos son en línea recta? Si sí, basta con calcular la media de todos los vectores de posición respecto a una referencia arbitraria.
Es decir, el punto medio (x,y) será:
 x -> La suma de todas las coordendas x de los puntos de cada uno de tus amigos, dividido por el número de amigos (es decir, la media, vamos :-) ).
 y -> Igual que para x.

No, no. Cuidado ese punto no cumple que la suma de distancia a los restantes sea mínima.

El problema no es sencillo; y de hecho no existe una fórmula cerrada para hallar tal punto en el caso general; sino algortimos iterativos para llegar a su solución. Puedes leer sobre el tema aquí:

http://en.wikipedia.org/wiki/Geometric_median#Special_cases

Incluso en el caso sencillo de tres puntos, el punto no es el indicado por mentortecnico (sería el baricentro el suyo) sino el punto de Fermat:

http://en.wikipedia.org/wiki/Fermat_point

Citar
Con que me refiero que ser iría de madre sería porque tengo que hacerlo con Bing Maps y no con Google Maps, y corregirme si no me equivoco, tendría que calcular la distancia iterativamente haciendo peticiones a ellos con rutas por carretera
.

Cosa distinta sería minimizar la distancias por carretera; entonces es un problema también clásico de teoría de grafos. Pero primero habría que hacer el grafo con todas las posibles caminos y sus longitudes. Supongo que poco viable en la práctica.

Saludos.

11 Diciembre, 2012, 05:40 pm
Respuesta #5

mentortecnico

  • $$\Large \color{#6a84c0}\pi$$
  • Mensajes: 5
  • Karma: +0/-0
  • Sexo: Masculino
    • Mentor Técnico. Ayuda con matemáticas.
Me disculpo, javimaravillas, si mi respuesta te ha llevado a error. Cuando has dicho "el punto medio entre todos" entendí que te referías al punto medio entre todos, y no al punto que minimiza la suma de distancias (que no sería el punto "medio" en el sentido común de la palabra, y cuyo cálculo dista de trivial para un polígono de n lados).

Un saludo!

11 Diciembre, 2012, 06:56 pm
Respuesta #6

javimaravillas

  • $$\Large \color{#6a84c0}\pi$$
  • Mensajes: 4
  • Karma: +0/-0
  • Sexo: Masculino
Buenas,
Un conocido mío Bi-Doctor y matemático me comenta que:

La solución matemática al problema es conocida y explícita, cuando las distancias son euclídeas (medidas con el teorema de pitágoras).
Es la media.
Se llama teorema de König, y te cito la página:
http://www.bioestadistica.uma.es/baron/libro/node15.htm#SECTION00221400000000000000


11 Diciembre, 2012, 07:05 pm
Respuesta #7

Luis Fuentes

  • el_manco
  • Administrador
  • Mensajes: 58,907
  • País: es
  • Karma: +0/-0
Hola

Buenas,
Un conocido mío Bi-Doctor y matemático me comenta que:

La solución matemática al problema es conocida y explícita, cuando las distancias son euclídeas (medidas con el teorema de pitágoras).
Es la media.
Se llama teorema de König, y te cito la página:
http://www.bioestadistica.uma.es/baron/libro/node15.htm#SECTION00221400000000000000

No. En el enlace está localizando un valor que minimiza la distancia cuadrática a otros valores: es decir como si todos tus puntos estuviesen sobre una recta y quisises hallar el punto sobre la misma que minimice la suma del cuadrado de las distancias.

Pero o he entendido muy mal o ese no es tu problema en absoluto (a no ser que se de la bendita casualidad de que todas vuestras geolocalizaciones estén sobre una misma recta).

¿Has leído los enlaces que te indiqué?.

Saludos.