

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
Una investigación sobre los principales algoritmos de recorrido y búsqueda en grafos, incluyendo el algoritmo de dijkstra para encontrar el camino más corto, el algoritmo de búsqueda en anchura (bfs) y el algoritmo de búsqueda en profundidad (dfs). Se explican los conceptos, aplicaciones, ventajas y desventajas de cada algoritmo, así como ejemplos de uso en sistemas de navegación gps, resolución de puzzles y web crawlers. El documento proporciona una visión general de cómo estos algoritmos pueden ser utilizados para modelar y analizar conexiones entre objetos, personas o entidades representadas en forma de grafos.
Tipo: Esquemas y mapas conceptuales
1 / 3
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!
Concepto: El algoritmo de Dijkstra permite encontrar la ruta más corta o el camino más corto entre los nodos de un grafo. Específicamente, puede encontrar el camino más corto desde un nodo (llamado el nodo de origen) a todos los otros nodos del grafo, generando un árbol del camino más corto. Este algoritmo usa los valores de los arcos para encontrar el camino que minimiza el valor total entre el nodo de origen y los demás nodos del grafo.
Dónde se aplica: El algoritmo de Dijkstra solo puede aplicarse a grafos con arcos cuyos valores o pesos son positivos. Esto se debe a que, durante el proceso, los valores de los arcos deben ser sumados para encontrar el camino más corto. Este algoritmo es usado por los dispositivos GPS para encontrar el camino más corto entre la ubicación actual y el destino del usuario. Tiene amplias aplicaciones en la industria, especialmente en aquellas áreas que requieren modelar redes.
Ventajas: - Analiza cada métrica de coste para elegir la mejor ruta con el mínimo coste. - Cada uno de los routers posee una información sobre la topología de la red. - Admiten CIDR y VLSM. - Puede informar sobre cualquier cambio en la topología mediante el protocolo LSA.
Desventajas: - Requiere un administrador de red con conocimientos suficientes para administrar la red. - Debe tener un diseño jerárquico estricto para poder dividir la red en áreas más pequeñas y reducir las tablas topológicas. - Inunda la red mediante el protocolo VLSA la primera vez para conocer la topología.
Ejemplo: Un ejemplo del uso del algoritmo de Dijkstra sería en un sistema de navegación GPS. Cuando el usuario ingresa su destino, el GPS busca el camino más corto para llegar a ese destino. Para ello, analiza diferentes caminos posibles, calcula la distancia total de cada uno y elige el que tiene la menor distancia o tiempo de recorrido.
Concepto: El algoritmo de recorrido en anchura o BFS (Breadth-First Search) explora sistemáticamente todas las ramas o aristas del grafo de manera que primero se visitan los nodos o vértices más cercanos a un nodo inicial. Para la implementación de este algoritmo se utiliza globalmente un contador y un vector de enteros para marcar los vértices ya visitados y almacenar el recorrido. También se requiere un vector de cola auxiliar para gestionar los vértices no visitados.
Dónde se aplica: La búsqueda por anchura se usa para aquellos algoritmos en donde resulta crítico elegir el mejor camino posible en cada momento del recorrido. Algunas aplicaciones del algoritmo BFS incluyen: - Encontrar el camino más corto entre 2 nodos, medido por el número de nodos conectados. - Probar si un grafo de nodos es bipartito (si se puede dividir en 2 conjuntos). - Encontrar el árbol de expansión mínima en un grafo no ponderado. - Hacer un Web Crawler. - Sistemas de navegación GPS, para encontrar localizaciones vecinas.
Ventajas: - Es completo, siempre encuentra la solución si existe dentro del espacio de búsqueda. - Fácil programación. - Es óptimo si el costo de cada rama es constante. - Garantiza encontrar la mejor solución de un problema de costo uniforme antes que ninguna otra.
Desventajas: - La complejidad principal es el alto orden de complejidad computacional, lo que puede hacer que los requerimientos crezcan rápidamente. - Requiere de mucha memoria para almacenar los nodos. - Complejidad aún mayor en el tiempo.
Ejemplo: Un ejemplo del uso del algoritmo BFS sería en un sistema de navegación GPS para encontrar lugares cercanos de interés. Si tenemos un conjunto de lugares turísticos y servicios representados por nodos conectados entre sí en base a su proximidad geográfica, entonces podemos usar BFS para obtener un listado de lugares turísticos cercanos, lo cual puede ser útil para planear un viaje o una excursión.
Concepto: Una búsqueda en profundidad (DFS) es un algoritmo de búsqueda que recorre los nodos de un grafo. Su funcionamiento consiste en ir expandiendo cada uno de los nodos que va localizando, de forma recurrente (desde el nodo padre hacia el nodo hijo). Cuando ya no quedan más nodos que visitar en dicho camino, regresa al nodo predecesor y repite el mismo proceso con cada uno de los vecinos del nodo.
Dónde se aplica: La búsqueda en profundidad se usa cuando queremos probar si una solución entre varias posibles cumple con ciertos requisitos, como sucede en el problema del camino que debe recorrer un caballo en un tablero de ajedrez para pasar por las 64 casillas del tablero. Otras aplicaciones del algoritmo DFS incluyen: - Encontrar nodos conectados en un grafo. - Ordenamiento topológico en un grafo acíclico dirigido. - Encontrar puentes en un grafo de nodos. - Resolver puzzles con una sola solución, como los laberintos. - Encontrar nodos fuertemente conectados.
Ventajas: - Requisitos modestos de memoria. - Fácil implementación. - Tiene menor complejidad espacial que la búsqueda en amplitud. - Es completa si no existen ciclos repetitivos.
Desventajas: - Puede tener ciclos infinitos y no encontrar el resultado. - Puede encontrar soluciones que están más alejadas de la raíz que otras. - No es óptima. - No es completa.