El problema del viajante de comercio: el vendedor de droides astromecánicos
Escrito en la categoría Búsqueda, General, Inteligencia Artificial Aplicada
22 de Diciembre del 2008
En mi anterior post intentamos definir lo que eran los problemas y cuál era el camino a seguir para solucionarlos. Hoy vamos a plantear un problema típico y muy sencillo, pero con una resolución compleja: el problema del viajante de comercio. El enunciado es el siguiente:
Suetorp es un vendedor de una remesa de droides astromecánicos de la serie R3. Quiere hacer una ruta por el planeta Tatooine recorriendo su principales ciudades, y parte de la capital, Bestine.
Las líneas en rojo marcan las rutas seguras para viajar en este planeta. Nuestro intrépido comerciante debe pasar por todas las ciudades y debe plantearse cuál es el recorrido más barato, es decir, el que gaste menos combustible sin pasar dos veces por el mismo lugar. ¿Cuál es la ruta que debe elegir el comerciante para minimizar el coste?
El problema aparentemente es sencillo, pero el número de combinaciones que tenemos que sopesar es bastante amplio.
Evidentemente nos encontramos ante un grafo con pesos. Estos pesos tendrán el valor de la distancia que tenemos que recorrer para llegar a la ciudad de destino.
¿Qué es un grafo con pesos?
Un grafo es una representación de la información compuesta por nodos, los cuales guardan una información sobre el elemento, y arcos, que unen a los nodos y aportan información sobre la relación que existe entre ellos. Esta información puede ser numérica, y en ese caso es llamada peso.
Gracias a este grafo podemos representar el mapa y analizaremos cuál es el camino óptimo.
Muy bien, ¿y cómo encontramos el camino más corto?
Es muy difícil alcanzar la solución óptima probando todas las opciones porque nos encontramos con una infinidad de casos, por lo que tendremos que utilizaremos una serie de algoritmos que nos permitan alcanzar la resolución del problema. Éstos son llamados algoritmos de búsqueda. Durante las siguientes semanas intentaremos resolver el problema aplicando diferentes métodos y analizaremos cómo son de eficientes.


