



Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Los mejores documentos en venta realizados por estudiantes que han terminado sus estudios
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Descubre las mejores universidades de tu país según los usuarios de Docsity
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Este informe técnico presenta un análisis comparativo de dos algoritmos para aproximar la solución del problema del agente viajero en un grafo completo desde dos orígenes. Se describe el algoritmo del vecino más cercano con y sin partición del grafo, se evalúa su eficiencia en términos de tiempo de ejecución y se comparan las rutas y distancias obtenidas. El informe también incluye información sobre el equipo utilizado para la ejecución de los algoritmos.
Tipo: Esquemas y mapas conceptuales
1 / 5
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!
El presente escrito pretende mostrar y justificar el algoritmo utilizado para aproximar la solución del problema del agente viajero para un grafo completo desde dos orígenes.
Para poder obtener una solución aproximada (no la más optima que se puede tener) se utilizó el concepto de vecino más cercano, pero primero se realizaron dos subconjuntos del grafo, donde cada subconjunto contenía un origen, y los nodos más cercanos a él. Después de hacer la partición del grafo, para cada subconjunto se va a construir una ruta que abarque todos los nodos incluidos en el mismo, para ello se escoge el nodo cuya distancia con el nodo actual es mínima en comparación con los otros del subconjunto actual, el nodo actual se actualiza al nodo encontrado previamente, cabe recalcar que el nodo inicial con el cual se hacen las comparaciones es el nodo de origen (sea del subconjunto 1 o el subconjunto 2). Antes y después de realizar el proceso mencionado se toma registro del tiempo, para así dar cuenta de la eficiencia del algoritmo, he aquí una tabla que muestra el tiempo de ejecución en distintas ocasiones. TIEMPO DE EJECUCIÓN (ms) 30 33 36 33 30 32 44 Como se puede ver, dados los datos de la tabla se concluye que, en promedio, el algoritmo tarda en ejecutarse 34 milisegundos, lo cual es un tiempo óptimo.
No se puede decidir si un algoritmo es óptimo o no sin antes compararlo con otro, para eso escogimos el mismo algoritmo, pero sin hacer la partición entre subconjuntos, es decir, dados los orígenes, la ruta se calculaba obteniendo el nodo más cercano a los nodos actuales, teniendo en cuenta todos los nodos del grafo. Para este algoritmo se hicieron varias ejecuciones y en promedio el resultado fue el siguiente.
Algoritmo uno Algoritmo dos
La máquina utilizada cuenta con un procesador Intel Celeron 5205U 2-Core , a su vez está equipado con una memoria de acceso aleatorio de 4GB DDR4 , tiene unos gráficos integrados Intel UHD y finalmente el sistema operativo utilizado fue Ubuntu , en su versión 20.04.6 LTS.