Está en la página 1de 6

UNIVERSIDAD AUTÓNOMA DE NUEVO LEÓN

FACULTAD DE INGENIERÍA MECÁNICA Y ELÉCTRICA

Temas Selectos de Optimización.

Algoritmo del vecino más cercano.

ITS

Hora: Martes-v1-v3

Salón: 4-109 Grupo: 005

Dra. Iris Abril Martínez Salazar

A (13) de septiembre de 2021, San Nicolás de los Garza, Nuevo


León.
Introducción

Para el desarrollo de la siguiente actividad se tiene en mente utilizar un software en


este caso un IDE con su respectivo lenguaje de programación para realizar la
elaboración de un algoritmo que nos ayudara a elegir una ruta para el problema del
agente viajero, en este caso la del algoritmo del vecino más cercano, pero hay
diversos aspectos que hay que tomar en cuenta para utilizar este algoritmo y es que
no siempre utiliza el camino ideal para realizar los recorridos entre los nodos dado
un valor, pero a pesar de esto suele ser el más rápido y fácil de implementar.
Teniendo en cuenta lo anterior se busca encontrar la mejor solución optima que
pueda beneficiar en los gastos de la gasolina.

Descripción del problema


Un turista debe de visitar 5 ciudades para pasar el resto de las vacaciones
entretenido, sin embargo, el costo de ciudad en ciudad varía según la tarifa del costo
del viaje en kilómetros.

Descripción del algoritmo


El algoritmo del vecino más cercano es fácil de implementar y ejecutar rápidamente,
pero algunas veces puede perder rutas más cortas, que son fácilmente notadas con
la visión humana, debido a su naturaleza más "ávida". Como norma general, si los
últimos pasos del recorrido son comparables en longitud al de los primeros pasos,
el recorrido es razonable; si estos son mucho mayores, entonces es probable
que existan caminos mucho mejores.

El clasificador KNN, por sus siglas en inglés, es también un algoritmo de aprendizaje


no paramétrico y basado en instancias:

No paramétrico significa que no hace suposiciones explícitas sobre la forma


funcional de los datos, evitando modelas mal la distribución subyacente de los
datos. Por ejemplo, supongamos que nuestros datos son altamente no gaussianos,
pero el modelo de Machine Learning que elegimos asume una forma gaussiana. En
este caso, nuestro algoritmo haría predicciones extremadamente pobres.

El aprendizaje basado en la instancia significa que nuestro algoritmo no aprende


explícitamente un modelo. En lugar de ello, opta por memorizar las instancias de
formación que posteriormente se utilizan como “conocimiento” para la fase de
predicción. Concretamente, esto significa que solo cuando se realiza una consulta
a nuestra base de datos, es decir, cuando le pedimos que predique una etiqueta
con una entrada, el algoritmo utilizará las instancias de formación para dar una
respuesta.

Descripción de la implementación

Para empezar la implementación del programa primero se debe de declarar


un array y esto dependiendo de los datos a cargar de un problema, cabe señalar
que los datos del array vienen dentro de un archivo de
texto(5_nodes,48_nodes,101_nodes) del cual se carga al programa, después se
declaran las variables y vectores que se van a necesitar para guardar los datos del
archivo de texto, mediante ciclos se va leyendo e imprimiendo los datos de la matriz,
y esto con el fin de calcular la distancia y coordenadas de los puntos y mediante
condiciones if se logra filtrar de cierta manera algunos valores.
Resultados y conclusiones
Como se muestra las tomas los resultados correspondientes es base a las formulas
vistas en clase, que fueron implementadas en el código con la finalidad de realizar
el resultado optimo KNN es un algoritmo de clasificación simple pero poderoso. No
requiere entrenamiento para hacer predicciones, que suele ser una de las partes
más difíciles de un algoritmo de Machine Learning. El algoritmo KNN se ha utilizado
ampliamente para encontrar similitudes de documentos y reconocimiento de
patrones. También se ha empleado para desarrollar sistemas de recomendación y
para la reducción de dimensionalidad y los pasos de preprocesamiento para visión
por computadora, en particular tareas de reconocimiento facial.
Con la explicación que aparece en el documento del que hemos obtenido
éste método no cabe otra implementación posible del algoritmo. Por tanto,
pensamos que la diferencia está en las bases de datos utilizadas para medir
el rendimiento del método.

Como se puede observar en la pantalla de corrida la matriz ingresada es la


misma que se agrega en el archivo (5_nodes,48_nodes,101_nodes).txt así
mismo se imprimen los valores de la misma ahora se puede visualizar el
cálculo la distancia y así mismo nos arroja los costos de las distancias entre
ciudades, se puede ver que es la misma distancia para todas las ciudades.

Sin duda alguna podemos decir que el algoritmo puede ser fácil en cuanto a
la comprensión, ya que no requiere de un gran esfuerzo lograr comprender
el funcionamiento del mismo

También podría gustarte