Teoría de grafos: problemas de práctica con soluciones paso a paso

Problemas gratis de Teoría de grafos con diagramas, pistas y soluciones completas. Valores nuevos cada vez, en tres niveles: grados y aristas, caminos eulerianos y árboles, caminos mínimos y árboles generadores.

Problema de práctica gratisFácil

Un árbol tiene 12 vértices. ¿Cuántas aristas, |E|, tiene?

|V| = 12

Respuesta exacta: un número entero, sin redondear.

Siguiente problema →

Qué practicas

  1. Fácilgrados y aristas
  2. Mediacaminos eulerianos y árboles
  3. Difícilcaminos mínimos y árboles generadores

Cómo resolver problemas de Teoría de grafos

  1. Anota el grado de cada vértice; los grados suman el doble del número de aristas.
  2. En las preguntas de Euler, comprueba que el grafo sea conexo y cuenta los vértices de grado impar.
  3. En los árboles, usa n − 1 aristas y el lema del apretón de manos.
  4. En Dijkstra, lleva una tabla de distancias provisionales y fija en cada ronda el vértice no fijado de menor distancia.
  5. Para un árbol generador mínimo, ordena las aristas por peso y descarta toda arista que cierre un ciclo (Kruskal), o haz crecer un único árbol desde un vértice inicial (Prim).

Errores frecuentes

  • Olvidar dividir la suma de grados entre 2.
  • Decir que un grafo es euleriano sin comprobar la conexidad.
  • Fijar un vértice en Dijkstra antes de que su distancia sea la menor.
  • Tomar las aristas más ligeras sin comprobar si forman ciclos.
  • Contar los circuitos de Hamilton de Kn como n! en lugar de (n − 1)!/2.

Fórmulas clave

Lema del apretón de manos
Σ deg(v) = 2|E|
Grafos completos
|E(Kn)| = n(n − 1)/2, |E(Km,n)| = m·n
Grafo regular
|E| = n·k/2
Árbol y bosque
|E| = n − 1, |E| = n − c
Hojas de un árbol
L = 2 + Σ (deg(v) − 2) over deg(v) ≥ 3
Euler
circuito: todos los grados pares; camino: exactamente 2 grados impares
Circuitos de Hamilton en Kn
(n − 1)!/2
Actualización de Dijkstra
d(v) = min(d(v), d(u) + w(u, v))
Recorridos de longitud L
(Mᴸ)ij

Aprende Teoría de grafos desde cero

Antes de esto: Conjuntos, relaciones y funciones

1Vértices, aristas y grados

Un grafo consta de vértices (puntos) y aristas (líneas entre dos vértices). En un grafo simple no hay lazos ni aristas dobles.

El grado de un vértice es el número de aristas que inciden en él. Cada arista tiene dos extremos, así que suma 1 al grado de cada uno. Eso da el lema del apretón de manos:

Σ deg(v) = 2·|E|

Dos consecuencias: la suma de los grados es siempre par, y el número de vértices de grado impar también es par.

  • El grafo completo Kn une cada par de vértices: n(n − 1)/2 aristas.
  • El grafo bipartito completo Km,n une cada vértice de un lado con cada vértice del otro: m·n aristas.
  • Un grafo k-regular de n vértices tiene n·k/2 aristas.

La matriz de adyacencia tiene un 1 en (i, j) cuando i y j están unidos. En un grafo no dirigido es simétrica, la suma de una fila es un grado, y la entrada (i, j) de Mᴸ cuenta los recorridos de longitud L de i a j.

Autoevaluación Un grafo tiene grados 3, 3, 2, 2, 2. ¿Cuántas aristas tiene?
  1. 10
  2. 12
  3. 5
  4. 6

Respuesta: 6. Los grados suman 12 y cada arista se cuenta dos veces, así que hay 12/2 = 6 aristas. 5 es el número de vértices.

2Euler y Hamilton

Un circuito euleriano usa cada arista exactamente una vez y vuelve al inicio. Un camino euleriano usa cada arista una vez pero puede terminar en otro lugar. Para un grafo conexo:

  • todos los grados pares: existe un circuito euleriano;
  • exactamente dos grados impares: existe un camino euleriano, de un vértice impar al otro;
  • más de dos grados impares: ninguno de los dos.

Un circuito hamiltoniano visita cada vértice exactamente una vez. No existe un criterio sencillo de grados para él. En Kn hay (n − 1)!/2 circuitos hamiltonianos distintos: se fija el inicio, se ordenan los otros n − 1 vértices y se divide entre 2 por los dos sentidos.

Autoevaluación Un grafo conexo tiene grados 2, 3, 4, 3, 2. ¿Qué tiene?
  1. Ninguno de los dos
  2. Tanto un circuito euleriano como un camino euleriano que no es un circuito
  3. Un camino euleriano, pero ningún circuito euleriano
  4. Un circuito euleriano

Respuesta: Un camino euleriano, pero ningún circuito euleriano. Exactamente dos vértices tienen grado impar (los dos 3), así que hay un camino euleriano entre ellos, pero ningún circuito.

3Árboles

Un árbol es un grafo conexo sin ciclos. Todo árbol con n vértices tiene exactamente n − 1 aristas. Añadir cualquier arista crea un ciclo; quitar cualquier arista lo desconecta.

Un bosque de c árboles con n vértices tiene n − c aristas. Un grafo conexo con m aristas conserva un árbol generador tras quitarle m − n + 1 aristas.

El lema del apretón de manos cuenta las hojas: Σ gr = 2(n − 1). Una forma breve es L = 2 + Σ (d − 2) sobre los vértices de grado d ≥ 3. Un árbol con dos vértices de grado 3 y el resto hojas tiene 2 + 1 + 1 = 4 hojas.

4Dijkstra y árboles generadores mínimos

El algoritmo de Dijkstra halla las distancias más cortas desde un vértice inicial en un grafo con pesos no negativos.

  1. Da al inicio la distancia 0 y a todos los demás vértices ∞.
  2. Fija el vértice no fijado de menor distancia; su distancia ya es definitiva.
  3. Para cada vecino v, actualiza d(v) = min(d(v), d(u) + w(u, v)).
  4. Repite hasta que se fije el destino.

Un árbol generador mínimo conecta todos los vértices con el menor peso total. Kruskal ordena las aristas de la más ligera a la más pesada y toma cada una salvo que cierre un ciclo. Prim hace crecer un único árbol desde un vértice inicial, añadiendo siempre la arista más ligera que sale de él. Ambos se detienen tras n − 1 aristas.

Ejemplo resuelto

Halla la distancia más corta de A a E en el grafo de abajo.

1

Inicio

412581ABCDE

d(A) = 0. Sus vecinos reciben d(B) = 4 y d(C) = 1.

2

Fija C (1)

A través de C: d(B) = min(4, 1 + 2) = 3 y d(E) = 1 + 8 = 9.

3

Fija B (3)

A través de B: d(D) = 3 + 5 = 8.

4

Fija D (8)

A través de D: d(E) = min(9, 8 + 1) = 9. No hay mejora, es un empate.

5

Fija E (9)

E queda fijado: su distancia es definitiva.

Respuesta

La distancia más corta es d(E) = 9, por A → C → E. La ruta A → C → B → D → E tiene la misma longitud, 1 + 2 + 5 + 1 = 9.

Autoevaluación El algoritmo de Kruskal ha tomado las aristas de peso 1, 2 y 3. La siguiente arista más ligera, de peso 4, une dos vértices que ya están conectados. ¿Qué ocurre?
  1. El algoritmo se detiene
  2. Se descarta porque cerraría un ciclo
  3. Se elimina en su lugar la arista de peso 3
  4. Se toma porque es la más ligera que queda

Respuesta: Se descarta porque cerraría un ciclo. Kruskal nunca cierra un ciclo: una arista entre dos vértices de la misma componente se descarta y el algoritmo pasa a la siguiente arista.

5Errores frecuentes

  • Olvidar dividir la suma de grados entre 2 para obtener el número de aristas.
  • Comprobar si hay un circuito euleriano sin verificar que el grafo sea conexo.
  • Fijar un vértice en Dijkstra antes de que tenga la menor distancia provisional.
  • Tomar las n − 1 aristas más ligeras sin comprobar si forman ciclos.
  • Contar los circuitos de Hamilton de Kn como n! en lugar de (n − 1)!/2.

6Cómo son las preguntas de examen

  • Fácil: grados y aristas. Usas el lema del apretón de manos, cuentas las aristas de Kn, Km,n, grafos regulares y árboles, lees una matriz de adyacencia o haces clic en el vértice con un grado dado.
  • Medio: caminos eulerianos y árboles. Decides si un grafo tiene un circuito o un camino euleriano, cuentas las hojas de un árbol, cuentas las aristas que hay que quitar para obtener un árbol generador o cuentas los circuitos de Hamilton en Kn.
  • Difícil: caminos mínimos y árboles generadores. Ejecutas el algoritmo de Dijkstra, hallas el vértice fijado en una ronda dada, hallas el peso de un árbol generador mínimo, haces clic en la arista que Kruskal o Prim añade a continuación o cuentas recorridos con la matriz de adyacencia.

Apréndelo paso a paso en la appApréndelo paso a paso en la app

Ejemplos resueltos

Ejemplo 1Fácil
AABBCCDDEE0010000001100010000101110

Se muestra la matriz de adyacencia de un grafo simple no dirigido. ¿Cuántas aristas, |E|, tiene el grafo?

Calcula |E|

Mostrar pistas
  1. La entrada (i, j) es 1 cuando los vértices i y j están unidos por una arista.
  2. Cada arista {i, j} da dos 1: uno en (i, j) y otro en (j, i).
  3. La matriz contiene 8 unos.
Mostrar la respuesta y la solución paso a paso

Grados: el grado de un vértice es el número de aristas que inciden en él. Cada arista tiene dos extremos, así que los grados suman el doble del número de aristas: Σ gr(v) = 2|E| (el lema del apretón de manos). Por tanto, el número de vértices de grado impar es par. Kn tiene n(n − 1)/2 aristas, un grafo k-regular de n vértices tiene nk/2, y un árbol de n vértices tiene n − 1 aristas.

Cuenta los unos

sumas de las filas: 1 + 1 + 2 + 1 + 3 = 8
|E| = 8/2 = 4

Respuesta

|E| = 4
Ejemplo 2Media
ABCDEFGCircuito eulerianoCamino euleriano, sin circuitoninguna de las dos

¿Tiene el grafo conexo un circuito euleriano, un camino euleriano que no es un circuito, o ninguno de los dos? Haz clic en tu respuesta.

|V| = 7|E| = 10
  1. 1Circuito euleriano
  2. 2Camino euleriano, sin circuito
  3. 3ninguna de las dos
Mostrar pistas
  1. El teorema de Euler solo necesita los grados de los vértices (el grafo es conexo).
  2. Todos los grados pares: circuito euleriano. Exactamente dos grados impares: camino euleriano entre ellos. Más: ninguno de los dos.
  3. Cuenta los vértices de grado impar.
Mostrar la respuesta y la explicación

Euler, Hamilton y árboles: un grafo conexo tiene un circuito euleriano (cada arista una vez, volviendo al inicio) cuando todos los vértices tienen grado par, y un camino euleriano que no es un circuito cuando exactamente dos vértices tienen grado impar; entonces el camino va de un vértice impar al otro. Un circuito hamiltoniano visita cada vértice una vez; Kn tiene (n − 1)!/2 de ellos. Un árbol de n vértices tiene n − 1 aristas, y un grafo conexo con m aristas conserva un árbol generador tras quitarle m − n + 1 aristas.

Grados

deg(A) = 1, deg(B) = 4, deg(C) = 2, deg(D) = 4, deg(E) = 4, deg(F) = 2, deg(G) = 3

Vértices impares

A, G → 2
Camino euleriano, sin circuito

Respuesta

Camino euleriano, sin circuito

El camino euleriano empieza en un vértice impar y termina en el otro.

Ejemplo 3Difícil
ABCDEF

¿Cuántos recorridos cerrados de longitud 3 empiezan y terminan en E? Un recorrido puede repetir vértices y aristas. Llama al número N.

M = matriz de adyacenciaL = 3

Calcula N

Mostrar pistas
  1. Con la matriz de adyacencia M, el número de recorridos de longitud L de i a j es la entrada (i, j) de Mᴸ.
  2. Cuenta primero los recorridos de longitud 2 desde E hasta cada vértice y luego da un paso más.
  3. Recorridos de longitud 2 desde E: A: 2, B: 1, C: 0, D: 2, E: 4, F: 1.
Mostrar la respuesta y la solución paso a paso

Grados: el grado de un vértice es el número de aristas que inciden en él. Cada arista tiene dos extremos, así que los grados suman el doble del número de aristas: Σ gr(v) = 2|E| (el lema del apretón de manos). Por tanto, el número de vértices de grado impar es par. Kn tiene n(n − 1)/2 aristas, un grafo k-regular de n vértices tiene nk/2, y un árbol de n vértices tiene n − 1 aristas.

Matriz de adyacencia

A: 0 1 1 0 0 0
B: 1 0 0 1 1 0
C: 1 0 0 0 1 0
D: 0 1 0 0 1 1
E: 0 1 1 1 0 1
F: 0 0 0 1 1 0

Un paso más

(M³)EE = 2·0 + 1·1 + 0·1 + 2·1 + 4·0 + 1·1 = 4

Respuesta

N = 4

Preguntas y respuestas

Teoría de grafos: ¿qué es?

Un grafo consta de vértices (puntos) y aristas (líneas entre dos vértices). En un grafo simple no hay lazos ni aristas dobles.

El grado de un vértice es el número de aristas que inciden en él. Cada arista tiene dos extremos, así que suma 1 al grado de cada uno. Eso da el lema del apretón de manos:

Teoría de grafos: ¿cómo se resuelven los ejercicios paso a paso?
  1. Anota el grado de cada vértice; los grados suman el doble del número de aristas.
  2. En las preguntas de Euler, comprueba que el grafo sea conexo y cuenta los vértices de grado impar.
  3. En los árboles, usa n − 1 aristas y el lema del apretón de manos.
  4. En Dijkstra, lleva una tabla de distancias provisionales y fija en cada ronda el vértice no fijado de menor distancia.
  5. Para un árbol generador mínimo, ordena las aristas por peso y descarta toda arista que cierre un ciclo (Kruskal), o haz crecer un único árbol desde un vértice inicial (Prim).
Teoría de grafos: ¿cuáles son los errores más comunes?
  • Olvidar dividir la suma de grados entre 2.
  • Decir que un grafo es euleriano sin comprobar la conexidad.
  • Fijar un vértice en Dijkstra antes de que su distancia sea la menor.
  • Tomar las aristas más ligeras sin comprobar si forman ciclos.
  • Contar los circuitos de Hamilton de Kn como n! en lugar de (n − 1)!/2.
Teoría de grafos: ¿qué se practica?
  • Fácil: grados y aristas
  • Media: caminos eulerianos y árboles
  • Difícil: caminos mínimos y árboles generadores

Cada problema tiene valores nuevos, así aprendes el método y no una respuesta. ¿Te has atascado? Abre primero una pista pequeña y la explicación completa solo cuando la necesites.

Cómo funciona la práctica

  • Cada problema tiene valores nuevos, así aprendes el método y no una respuesta.
  • ¿Te has atascado? Abre primero una pista pequeña y la explicación completa solo cuando la necesites.
  • Tu progreso, tus errores y tus problemas guardados se conservan para que puedas repasar antes del examen.

Temas antes y después de este

Aprende primero

Asignaturas con este tema

Más temas de Matemáticas y estadística

Hoja de ejercicios imprimible