Camino (teoría de grafos)

Ajustar Compartir Imprimir Citar

En teoría de grafos, un camino (walk), ruta (path) o recorrido en un gráfico es una secuencia finita o infinita de aristas que se une a una secuencia de vértices que, según la mayoría de las definiciones, son todos distintos (y dado que los vértices son distintos, también lo son las aristas). Un camino dirigido (a veces llamado dipath) en un gráfico dirigido es una secuencia finita o infinita de aristas que une una secuencia de vértices distintos, pero con la restricción añadida de que todas las aristas están dirigidas en la misma dirección.

Los caminos son conceptos fundamentales de la teoría de grafos, descritos en las secciones introductorias de la mayoría de los textos de teoría de grafos. Véase, por ejemplo, Bondy y Murty (1976), Gibbons (1985) o Diestel (2005). Korte et al. (1990) cubren temas algorítmicos más avanzados relacionados con rutas en grafos.

Definiciones

Caminar, sendero y sendero

Sea G = (V, E, ϕ) una gráfica. Un recorrido finito es una secuencia de aristas (e 1, e 2, …, e n − 1) para las cuales existe una secuencia de vértices (v 1, v 2, …, v n) tal que ϕ (e i) = { v yo, v yo + 1 } para yo = 1, 2,..., norte - 1. (v 1, v 2, …, v n) es la secuencia de vértices de la caminata. El camino está cerrado si v 1 = v n, y está abierto en caso contrario. Un recorrido infinito es una secuencia de aristas del mismo tipo descrito aquí, pero sin primer ni último vértice, y un recorrido semi-infinito (o rayo) tiene un primer vértice pero no un último vértice.

Si w = (e 1, e 2, …, e n − 1) es un recorrido finito con secuencia de vértices (v 1, v 2, …, v n) entonces se dice que w es un recorrido de v 1 a v n. Del mismo modo para un sendero o un camino. Si hay una caminata finita entre dos vértices distintos, entonces también hay un sendero finito y un camino finito entre ellos.

Algunos autores no exigen que todos los vértices de un camino sean distintos y, en cambio, utilizan el término camino simple para referirse a un camino en el que todos los vértices son distintos.

Un gráfico ponderado asocia un valor (peso) con cada borde del gráfico. El peso de una caminata (o sendero o ruta) en un gráfico ponderado es la suma de los pesos de los bordes recorridos. A veces se usan las palabras costo o longitud en lugar de peso.

Caminata dirigida, sendero dirigido y camino dirigido

Sea G = (V, E, ϕ) un grafo dirigido. Un recorrido dirigido finito es una secuencia de aristas (e 1, e 2, …, e n − 1) para las cuales existe una secuencia de vértices (v 1, v 2, …, v n) tal que ϕ (e i) = (v yo, v yo + 1) para yo = 1, 2, …, norte− 1. (v 1, v 2, …, v n) es la secuencia de vértices de la caminata dirigida. El camino dirigido es cerrado si v 1 = v n, y está abierto en caso contrario. Una caminata dirigida infinita es una secuencia de aristas del mismo tipo que se describe aquí, pero sin primer ni último vértice, y una caminata dirigida (o rayo) semi-infinita tiene un primer vértice pero no un último vértice.

Si w = (e 1, e 2, …, e n − 1) es una caminata dirigida finita con secuencia de vértices (v 1, v 2, …, v n) entonces se dice que w es una caminata de v 1 a v norte _ Del mismo modo para un sendero dirigido o un camino. Si hay una caminata dirigida finita entre dos vértices distintos, entonces también hay un camino dirigido finito y un camino dirigido finito entre ellos.

Algunos autores no requieren que todos los vértices de un camino dirigido sean distintos y, en su lugar, usan el término camino dirigido simple para referirse a dicho camino dirigido.

Un gráfico dirigido ponderado asocia un valor (peso) con cada borde del gráfico dirigido. El peso de una caminata dirigida (o sendero o ruta) en un gráfico dirigido ponderado es la suma de los pesos de los bordes atravesados. A veces se usan las palabras costo o longitud en lugar de peso.

Ejemplos

Encontrar caminos

Existen varios algoritmos para encontrar las rutas más cortas y más largas en los gráficos, con la importante distinción de que el primer problema es computacionalmente mucho más fácil que el segundo.

El algoritmo de Dijkstra produce una lista de las rutas más cortas desde un vértice de origen a cualquier otro vértice en gráficos dirigidos y no dirigidos con pesos de borde no negativos (o sin pesos de borde), mientras que el algoritmo Bellman-Ford se puede aplicar a gráficos dirigidos con pesos de borde negativos.. El algoritmo de Floyd-Warshall se puede utilizar para encontrar los caminos más cortos entre todos los pares de vértices en gráficos dirigidos ponderados.