14. Caminos, trayectorias y recorridos

Una secuencia de vértices conectados describe un desplazamiento por el grafo. Según se repitan aristas o vértices, esa secuencia puede clasificarse como recorrido, trayectoria o camino.

14.1 Introducción

Una arista representa un paso directo entre dos vértices. Al combinar varios pasos obtenemos una secuencia que permite desplazarnos por el grafo.

Estas secuencias son fundamentales para buscar rutas, explorar redes, analizar conectividad y resolver problemas de navegación. Su clasificación depende de qué elementos pueden repetirse.

14.2 Terminología utilizada

La traducción de los términos ingleses walk, trail y path varía entre libros. En este curso utilizaremos la siguiente convención:

Término del cursoInglésRepeticiones permitidas
Recorrido o paseoWalkPuede repetir vértices y aristas
Trayectoria o senderoTrailNo repite aristas
Camino simplePathNo repite vértices

Cuando consultes otra fuente, conviene revisar sus definiciones antes de comparar resultados.

14.3 Recorrido o paseo

Un recorrido es una secuencia de vértices donde cada par consecutivo está conectado por una arista. Puede pasar varias veces por el mismo vértice o por la misma arista.

A → B → C → B → E

En esta secuencia, B se repite y la arista B—C se utiliza en ambos sentidos. Sigue siendo un recorrido válido.

14.4 Trayectoria o sendero

Una trayectoria es un recorrido que no repite aristas. Puede visitar nuevamente un vértice siempre que llegue y salga mediante conexiones diferentes.

A → B → E → F → C → B

El vértice B aparece dos veces, pero ninguna arista se reutiliza. Por eso es una trayectoria, aunque no es un camino simple.

14.5 Simulación interactiva: construye un recorrido

Pulsa un vértice para comenzar y continúa seleccionando nodos adyacentes. La aplicación analizará las repeticiones y clasificará automáticamente la secuencia.

Secuencia

Selecciona un vértice

Clasificación

Longitud: 0 aristas
Vértices repetidos: 0
Aristas repetidas: 0
Selecciona cualquier vértice para comenzar.

Todo camino es también una trayectoria y un recorrido. Toda trayectoria es un recorrido, pero las implicaciones inversas no siempre se cumplen.

14.6 Camino simple

Un camino simple es un recorrido que no repite vértices. Como repetir una arista obligaría a repetir sus extremos, tampoco repite aristas.

A → B → C → D
Todos los vértices son diferentes

Los caminos simples son especialmente importantes porque eliminan vueltas innecesarias y ciclos internos.

14.7 Longitud

La longitud de un recorrido es la cantidad de aristas utilizadas, no la cantidad de vértices escritos.

A → B → C → D
4 vértices y longitud 3

Un recorrido formado por un único vértice tiene longitud cero y se denomina recorrido trivial.

14.8 Extremos y recorridos cerrados

El primer y el último vértice son los extremos del recorrido. Si ambos coinciden y la longitud es mayor que cero, el recorrido es cerrado.

SecuenciaExtremosTipo
A → B → CA y CAbierto
A → B → C → AA y ACerrado

14.9 En grafos dirigidos

En un dígrafo, cada paso debe respetar la orientación del arco. La existencia de A→B no permite utilizar B→A salvo que ese arco también exista.

A → B → C es válido si existen los arcos (A,B) y (B,C)

Las definiciones de recorrido, trayectoria y camino se mantienen, pero consideran arcos orientados.

14.10 Validar un recorrido con JavaScript

const aristas = [["A", "B"], ["B", "C"], ["C", "D"]];

function sonAdyacentes(a, b) {
  return aristas.some(([x, y]) =>
    (x === a && y === b) || (x === b && y === a)
  );
}

function recorridoValido(secuencia) {
  return secuencia.slice(0, -1).every((v, i) =>
    sonAdyacentes(v, secuencia[i + 1])
  );
}

console.log(recorridoValido(["A", "B", "C", "D"]));

14.11 Detectar repeticiones

function esCaminoSimple(secuencia) {
  return new Set(secuencia).size === secuencia.length;
}

function claveArista(a, b) {
  return [a, b].sort().join("-");
}

function esTrayectoria(secuencia) {
  const usadas = secuencia.slice(0, -1).map((v, i) =>
    claveArista(v, secuencia[i + 1])
  );
  return new Set(usadas).size === usadas.length;
}

console.log(esCaminoSimple(["A", "B", "C"]));
console.log(esTrayectoria(["A", "B", "C", "B"]));

14.12 Errores comunes

  • Contar vértices en lugar de aristas al calcular la longitud.
  • Suponer que todo recorrido es un camino simple.
  • Confundir repetir un vértice con repetir una arista.
  • Ignorar la dirección de los arcos en un dígrafo.
  • Considerar que dos aristas paralelas son la misma en un multigrafo.
  • Comparar términos entre libros sin revisar la convención utilizada.

14.13 Qué debes recordar de este tema

  • Todo par consecutivo de un recorrido debe ser adyacente.
  • Un recorrido puede repetir vértices y aristas.
  • Una trayectoria no repite aristas.
  • Un camino simple no repite vértices.
  • La longitud es la cantidad de aristas utilizadas.
  • Un recorrido es cerrado cuando comienza y termina en el mismo vértice.

14.14 Conclusión

Los recorridos describen movimientos posibles a través de un grafo. Restringir la repetición de aristas produce trayectorias, y restringir además la repetición de vértices produce caminos simples.

En el próximo tema estudiaremos ciclos y circuitos, que son recorridos cerrados con propiedades especiales.