El problema del viajante (TSP por Traveling Salesperson Problem) consiste en “dado cierto número de ciudades en un mapa conectadas por cierto número de carreteras, encontrar el camino más corto que un viajante de comercio debe tomar para visitar todas las ciudades exactamente una sola vez y retornar a la ciudad de origen.”
|
etiquetas: hemeroteca , informática , computación cuántica , complejidad computacional
ABCA
ACBA
BACB
BCAB
CABC
CBAC
Es decir 3! (3 factorial): 3*2*1 = 6
De esas 6 rutas se evalúa cuál es la menos costosa (sumando cuanto cuesta ir de una ciudad a otra y donde el valor del pasaje es distinto, inclusive hay diferencia de costo ir de A a B que de B a A)
¿Y si son 5 ciudades? Entonces son 5! Rutas: 5*4*3*2*1=120 rutas
Hacerlo para 30 ciudades y la cantidad es enorme: 265252859812191058636308480000000
Así un computador evaluará 1 billón de rutas por segundo, tardaría 265252859812191058636 segundos = 8,4111130077E12 años, eso es mucho tiempo.
En fin, que en el caso de 3 ciudades todos los recorridos son iguales.
En el caso de 5 ciudades tus 120 rutas se reducen a 12.
Para 30 ciudades por tanto divide esos años entre 60, y en menos de 2 meses habrás terminado
es.wikipedia.org/wiki/Problema_del_viajante
Ir de A a B cuesta €1
Ir de A a C cuesta €5
Ir de B a A cuesta €3
Ir de B a C cuesta €4
Ir de C a A cuesta €2
Ir de C a B cuesta €6
Tome una ruta: A,B,C,A vale €1+€4+€2=€7
Tome otra ruta: B,A,C,B vale €3+€5+€6=€14
La ruta menos costosa es la primera.
Pero habrá que probar las 6 rutas para estar seguros. Por eso es N!
Para 3 ciudades por tanto 2 rutas.
Para 5 ciudades 60.
Para 30 hay que dividir esos años por 30, menos de 4 meses.
Igual es que tengo mentalidad de ingeniería inversa, pero se me da mejor desgranar una cosa "para atrás" que entender los conceptos directamente, me hago demasiadas preguntas.
Si no llegaran estas noticias ni siquiera quieren tener esa puta idea cómo otros.
Tres ciudades: A, B, C
COSTOS
A->B 9
A->C 10
B->A 11
B->C 1
C->A 8
C->B 2
RUTAS POSIBLES
A->B->C 9 + 1 = 10
A->C->B 10 + 2 = 12
B->A->C 11 + 10 = 21
B->C->A 1 + 8 = 9
C->A->B 8 + 9 = 17
C->B->A 2 + 11 = 13
Son seis rutas y todas con costos distintos, la ruta menos costosa es B->C->A
La verdadera España.
Aunque cuesten diferente se siguen pudiendo eliminar, porque ABCA tiene los mismos viajes que BCAB y que CABC
ABCA BCAB CABC
ABCA BCAB CABC
ABCA BCAB CABC
Y lo mismo para las otras 3.
#19