Fundamentos

Grafos Simples y Multigrafos Explicados

Dos concesiones los separan: una arista de un vértice a sí mismo y una segunda arista entre el mismo par. Esta guía recorre lo que cambia cada una, qué cotas estándar dejan de cumplirse sin avisar, por qué el problema fundacional de la disciplina no puede ser un grafo simple y cuándo es seguro fusionar duplicados.

16 Min de lectura Actualizado: Septiembre 2026 Nivel Principiante
Mohammed Islam Hadjoudj
Mohammed Islam Hadjoudj
Expert Operations Research Engineer

1. Tres definiciones, dos concesiones

Hay dos cosas que un conjunto de pares no ordenados no puede expresar: una arista que une un vértice consigo mismo y dos aristas distintas que unen el mismo par. Permitirlas o no da tres objetos diferentes, y conviene usar bien los nombres, porque los teoremas se enuncian sobre objetos concretos.

El grafo simple es la opción por defecto en casi toda la literatura, y su definición es la de la guía de vértices y aristas:

G = (V, E)      con   E ⊆ [V]²      cada arista es un subconjunto de 2 elementos de V

Como E es un conjunto de subconjuntos de 2 elementos, {v, v} no es admisible (tiene un solo elemento) y el mismo par no puede aparecer dos veces (un conjunto contiene cada elemento una sola vez). Ambas restricciones son consecuencias de la notación, no decisiones que alguien tomara.

Para levantarlas hace falta otro formalismo. El libro Graph Theory de Bondy y Murty da a las aristas una identidad propia y añade una función que indica qué par une cada una:

G = (V, E, ψ)      con   ψ: E → pares no ordenados de vértices (no necesariamente distintos)

Ahora e1 y e2 pueden ser elementos distintos de E con ψ(e1) = ψ(e2) = {u, v}, lo que forma un par de aristas paralelas, y ψ(e) = {v, v} es un lazo. Diestel llega al mismo punto con dos aplicaciones que envían cada arista a sus extremos, y West con una relación que asocia cada arista con sus extremos. El formalismo cambia; el contenido no.

ObjetoLazosAristas paralelasRequiere
Grafo simpleNoNoE ⊆ [V]²
MultigrafoNormalmente noUna función de incidencia
PseudografoUna función de incidencia
Tres paneles con los mismos cuatro vértices. El primero es un grafo simple con cuatro aristas únicas y sin lazos. El segundo es un multigrafo con una arista doble entre dos de los vértices, con la nota de que necesita una función de incidencia. El tercero es un pseudografo que añade un lazo en un vértice, con la nota de que el lazo aporta dos al grado de ese vértice.
Los mismos cuatro vértices bajo las tres definiciones. Cada paso a la derecha compra una concesión y cuesta un formalismo.

Dos advertencias sobre el propio vocabulario, porque causan confusión real al leer artículos:

2. La teoría de grafos nació de un multigrafo

No es un caso marginal añadido después. El problema con el que empezó la disciplina es un multigrafo, y deja de ser el mismo problema si lo simplificas.

El artículo de Euler de 1736 sobre los puentes de Königsberg modela cuatro masas de tierra unidas por siete puentes. Dos puentes conectan la orilla norte con la isla y otros dos conectan la orilla sur con la isla. Son aristas paralelas, y ningún grafo simple puede contenerlas.

Dos paneles. A la izquierda, el multigrafo de Königsberg: cuatro vértices, orilla norte, isla, orilla sur e isla este, unidos por siete aristas que incluyen dos pares paralelos, con grados 3, 5, 3 y 3, los cuatro impares, y el veredicto de que no existe un camino euleriano. A la derecha, la misma estructura con las aristas paralelas fusionadas en aristas únicas, lo que da cinco aristas y grados 2, 3, 2 y 3, de los que solo dos son impares, y el veredicto de que sí existe un camino euleriano. Un pie de figura señala que simplificar el multigrafo cambia la respuesta a la pregunta fundacional de la teoría de grafos.
A la izquierda, los puentes reales: cuatro masas de tierra de grado impar, así que ningún paseo cruza cada puente exactamente una vez. A la derecha, el mismo mapa con los puentes paralelos fusionados: solo dos vértices impares, y el paseo se vuelve posible.

El criterio de Euler trata de la paridad de los grados, y son los puentes paralelos los que llevan los grados a donde están:

Multigrafo de Königsberg   7 aristas    grados 3, 5, 3, 3    cuatro impares  → no hay camino euleriano
Grafo simple subyacente    5 aristas    grados 2, 3, 2, 3    dos impares     → existe un camino

Elimina los duplicados y la respuesta se invierte. La multiplicidad no es un adorno del modelo: es el modelo, y el detalle histórico de la historia de la teoría de grafos es inseparable del formalismo. Quien cargue los siete puentes en una estructura de datos que elimine aristas duplicadas en silencio concluirá que Euler se equivocó.

3. Qué le hace un lazo al grado

El grado cuenta extremos de aristas que llegan a un vértice, no aristas. Un lazo tiene dos extremos y ambos caen en el mismo vértice, así que:

Un lazo en v aporta 2 a deg(v). Las aristas paralelas aportan 1 cada una, exactamente igual que aristas separadas.

Esa convención viene forzada, no elegida. El lema del apretón de manos cuenta de dos maneras los pares (vértice, extremo de arista en él), y toda arista, incluido un lazo, tiene exactamente dos extremos, así que ∑ deg(v) = 2m se cumple sin cambios en los pseudografos. Da a un lazo grado 1 y el teorema más antiguo de la disciplina se rompe de inmediato.

Algunas consecuencias que conviene tener presentes:

4. Qué cambia la multiplicidad, y qué no puede cambiar

La pregunta útil no es «¿mi grafo es simple?», sino «¿la propiedad que calculo depende de la multiplicidad?». Las respuestas se dividen con claridad, y la división no es obvia.

Dos vértices u y v unidos por una sola arista a la izquierda y por dos aristas paralelas a la derecha. Una tabla debajo los compara: ambos son conexos, ambos bipartitos y ambos tienen número cromático 2, pero el corte mínimo sube de 1 a 2, el número de árboles de expansión sube de 1 a 2 y la cintura baja de infinito a 2.
El experimento más pequeño posible. Duplicar una arista no toca la conexidad ni la coloración, y cambia el corte mínimo, el número de árboles de expansión y la cintura.
PropiedadAristas paralelasLazosPor qué
Conexidad, componentesSin efectoSin efectoLa alcanzabilidad solo necesita una arista entre un par
PlanaridadSin efectoSin efectoUn multigrafo es planar exactamente cuando lo es su grafo simple subyacente
BiparticiónSin efectoLa destruyeUn lazo es un recorrido cerrado impar de longitud 1
Coloración propia de vérticesSin efectoLa hace imposibleLas aristas paralelas imponen dos veces la misma restricción; un lazo exige que un vértice difiera de sí mismo
Grado, apretón de manosCada una cuenta 1Cuenta 2Extremos de aristas, no aristas
Cintura (ciclo más corto)Baja a 2Baja a 1Dos aristas paralelas forman un ciclo de longitud 2
Conexidad por aristas, corte mínimoCambiaSin efectoCada copia paralela también debe cortarse
Número de árboles de expansiónCambiaSin efectoCada copia paralela da un árbol distinto
Flujo máximoCambiaSin efectoLas capacidades paralelas se suman
Camino o circuito eulerianoCambiaSuma 2 a un gradoLa paridad de los grados es todo el criterio

Tres de esas filas merecen que se explique su razonamiento.

La coloración ignora las aristas paralelas, pero muere con los lazos. Una coloración propia exige que los extremos de cada arista reciban colores distintos. Una segunda copia de {u, v} repite una restricción que ya existe, así que el conjunto de coloraciones propias, y por tanto el número cromático y el polinomio cromático, son exactamente los del grafo simple subyacente. Un lazo exige c(v) ≠ c(v), que nada cumple, así que un pseudografo con un lazo no tiene ninguna coloración propia y su polinomio cromático es idénticamente cero. Por eso la coloración de grafos se enuncia casi siempre para grafos sin lazos.

El número de árboles de expansión sí depende de la multiplicidad. Dos vértices unidos por una sola arista tienen un árbol de expansión; unidos por dos aristas paralelas tienen dos, porque elegir una u otra arista da un árbol distinto. El teorema matriz-árbol de Kirchhoff, de 1847, los cuenta a partir de la matriz laplaciana, y se enuncia para multigrafos precisamente porque las multiplicidades entran en la matriz como conteos fuera de la diagonal. Las redes eléctricas, donde Kirchhoff se encontró con el problema, tienen con frecuencia componentes en paralelo.

Los cortes y los flujos dependen de la multiplicidad. El número mínimo de aristas cuya eliminación separa u de v es 1 cuando las une una sola arista y 2 cuando las unen dos. Como el flujo máximo es igual al corte mínimo, lo mismo vale para el flujo: k aristas paralelas de capacidad unitaria transportan k unidades. Esa es exactamente la razón por la que un multigrafo con capacidades unitarias es el modelo no ponderado natural de una red de flujo.

5. Todas las cotas de grafos simples dejan de cumplirse

Una gran parte de los resultados estándar lleva una hipótesis implícita de simplicidad, y sin ella no se degradan poco a poco. Fallan del todo.

Resultado estándarGrafo simpleMultigrafo
Número máximo de aristasm ≤ n(n-1)/2Sin cota: las copias paralelas pueden repetirse libremente
Clasificación en disperso o densom = O(n) frente a Θ(n²)Sin sentido sin una cota de multiplicidad
La matriz de adyacencia es 0/1No: las entradas son conteos
El grado es igual al tamaño de la vecindaddeg(v) = |N(v)|Falla; el grado puede superar el número de vecinos
Fórmula de Euler para grafos planaresn - m + f = 2Se sigue cumpliendo, ya que cuenta caras, no simplicidad
Cota de aristas para grafos planaresm ≤ 3n - 6 para n ≥ 3Falla: las aristas paralelas delimitan caras de longitud 2
Lema del apretón de manos∑ deg(v) = 2mSe sigue cumpliendo, contando los lazos dos veces

Las dos filas que sobreviven merecen tanta atención como las que fallan. El lema del apretón de manos y la fórmula poliédrica de Euler se demuestran contando incidencias, y a los argumentos de conteo no les importa si dos aristas unen por casualidad el mismo par. Las cotas que fallan son las que se demuestran eligiendo pares distintos de vértices, que es precisamente el paso que un multigrafo invalida.

La versión práctica de esta sección: cuando consultes una cota, comprueba si su demostración cuenta incidencias o cuenta pares. La primera clase se traslada a los multigrafos; la segunda, no.

6. Almacenamiento: donde la matriz de adyacencia se queda corta

Las tres representaciones estándar se degradan de forma muy distinta, y las diferencias deciden cuál usar.

La matriz de adyacencia deja de ser una matriz 0/1. La extensión natural guarda el número de aristas que unen cada par, así que la entrada (u, v) pasa a ser un conteo, y un lazo pone por convención 2 en la diagonal para que las sumas de filas sigan dando los grados. Funciona, pero tiene una limitación fatal para datos reales: un conteo no puede llevar información por arista. Si tus tres vuelos paralelos tienen cada uno un precio distinto, una matriz de conteos no tiene dónde guardarlos.

simple        A[u][v] ∈ {0, 1}
multigrafo    A[u][v] = número de aristas que unen u y v
pseudografo   A[v][v] = 2 × (número de lazos en v)      para que las sumas de filas sean los grados

La lista de adyacencia conserva los duplicados. La lista de u simplemente contiene a v tantas veces como aristas los unan. El código de recorrido no cambia, y BFS o DFS considerarán el mismo vecino varias veces, lo cual es inofensivo cuando la comprobación de visitados es sobre vértices.

La lista de aristas se convierte en el formato natural. Es la representación que realmente encaja con las matemáticas: cada arista es un registro con identidad propia, así que las aristas paralelas son simplemente registros distintos y los atributos por arista tienen dónde vivir. Es la definición mediante función de incidencia de la sección 1 expresada como estructura de datos.

De aquí se deduce un principio de diseño, y es lo más útil que puedes llevarte de esta sección:

En un multigrafo, las aristas necesitan identidades. Un par de extremos ya no identifica una arista, así que todo lo que se refiera a una arista, sea un emparejamiento, un árbol de expansión, un flujo o un borrado, debe referirse a un ID de arista y no a (u, v).

Casi todos los errores con multigrafos vienen de esa única frase. Guardar un árbol de expansión como un conjunto de pares de vértices, o un conjunto de aristas visitadas con clave (u, v), confunde en silencio las aristas paralelas y produce respuestas erróneas que ningún comprobador de tipos detectará.

7. A qué algoritmos les importa

La mayoría de los algoritmos de tipo recorrido son indiferentes a la multiplicidad, porque marcan vértices. Los que marcan o seleccionan aristas necesitan atención.

AlgoritmoEn un multigrafoQué vigilar
BFS y DFSFuncionan sin cambiosVisitan dos veces un vecino duplicado y lo saltan; el conjunto de visitados es de vértices
DijkstraFunciona sin cambiosLa relajación conserva de forma natural la más barata de varias aristas paralelas
Kruskal, PrimFuncionan sin cambiosLa prueba de ciclos rechaza automáticamente las copias redundantes
Camino o circuito eulerianoNecesita el multigrafoCada arista debe recorrerse una vez, así que las aristas paralelas son obligaciones separadas; marca IDs de arista, no pares
Problema del cartero chinoNecesita el multigrafoTodo el método del algoritmo consiste en duplicar aristas, creando copias paralelas a propósito
Flujo máximoFunciona, y la multiplicidad importaLas capacidades paralelas se suman; mantenlas separadas o súmalas explícitamente
Corte mínimo de KargerProduce multigrafosContraer una arista fusiona vértices y crea aristas paralelas; eliminar los duplicados destruye la corrección
EmparejamientoRequiere cuidadoLas aristas paralelas dan opciones alternativas para el mismo par; los lazos nunca forman parte de un emparejamiento
Coloración de vérticesIgnora las aristas paralelasSimplifica primero; un lazo significa que no existe coloración

La fila de Karger es la que sorprende, y merece explicarse entera porque invierte el instinto habitual. El algoritmo aleatorizado de corte mínimo de Karger contrae repetidamente una arista elegida uniformemente al azar, fusionando sus dos extremos en un único vértice. La contracción convierte dos aristas que apuntaban a los dos vértices fusionados en dos aristas paralelas que apuntan al nuevo, y el análisis probabilístico del algoritmo depende de conservar todas las copias, porque la probabilidad de contraer una arista es proporcional a cuántas copias hay. Simplifica el grafo intermedio y el algoritmo deja de ser correcto. Lo mismo ocurre con el paso de contracción del algoritmo de árbol de expansión de Borůvka.

8. Cuándo un multigrafo no es opcional

Los multigrafos no son una rareza que haya que normalizar. Son el modelo honesto siempre que dos entidades puedan relacionarse más de una vez y las relaciones individuales importen:

9. Simplificar, y lo que cuesta

Convertir un multigrafo en un grafo simple suele ser la decisión correcta, y solo es seguro si sabes cuáles de las propiedades de la sección 4 estás a punto de cambiar. Hay tres formas estándar, y responden preguntas distintas:

MétodoConservaPierdeAdecuado para
Fusionar las aristas paralelas en una, quitar los lazosConexidad, planaridad y número cromático, aunque quitar un lazo convierte un grafo no coloreable en uno coloreableCortes, flujos, número de árboles de expansión, estructura eulerianaPreguntas estructurales
Fusionar y sumar los pesosLa capacidad total, así que el flujo máximo y el corte mínimo sobrevivenLos atributos de cada aristaProblemas de flujo y corte
Fusionar y tomar el peso mínimoDistancias de camino más cortoLas alternativas, así que los cortes y los flujos se rompenEnrutamiento

Fíjate en que la segunda y la tercera regla son incompatibles: sumar es correcto para capacidades e incorrecto para distancias, y tomar el mínimo es correcto para distancias e incorrecto para capacidades. Cuál se aplica depende de cómo se combinan los pesos a lo largo de un camino, que es el tema de la guía complementaria sobre grafos ponderados y no ponderados. Elegir la fusión equivocada responde en silencio a otra pregunta, y después el grafo parecerá perfectamente razonable.

Una cuarta opción suele ser mejor que todas ellas: conserva el multigrafo y deja que el algoritmo lo gestione. BFS, DFS, Dijkstra, Kruskal y Prim funcionan correctamente sobre multigrafos tal como están, así que simplificar a menudo no aporta nada y cuesta información.

10. Multigrafos dirigidos

Todo lo anterior se traslada a los grafos dirigidos, con una distinción adicional que conviene nombrar. En un digrafo, los arcos (u, v) y (v, u) ya son objetos distintos, lo cual no es multiplicidad sino dirección: ese par es un dígono, y un digrafo ordinario ya puede contener uno sin ampliar su definición. Muchos digrafos no contienen ninguno: un DAG nunca lo hace. La multiplicidad en el caso dirigido significa dos o más arcos con la misma cola y la misma cabeza, lo que de nuevo requiere una definición al estilo de la función de incidencia, como en el libro Digraphs de Bang-Jensen y Gutin.

Las consecuencias prácticas se trasladan directamente: el grado de entrada y el de salida cuentan arcos y no vecinos distintos, un lazo dirigido suma 1 a ambos, y las condiciones eulerianas en un multigrafo dirigido siguen comparando el grado de entrada con el de salida en cada vértice.

11. Errores comunes

12. Glosario

TérminoSignificado
Grafo simpleSin lazos ni aristas paralelas; E ⊆ [V]²
MultigrafoSe permiten aristas paralelas; los lazos, según el autor
PseudografoSe permiten lazos y aristas paralelas
Aristas paralelasDos o más aristas distintas con el mismo par de extremos; también llamadas aristas múltiples
MultiplicidadEl número de aristas que unen un par dado de vértices
LazoUna arista cuyos dos extremos son el mismo vértice; aporta 2 a su grado
Función de incidencia ψAsigna a cada arista el par de vértices que une, dando a las aristas identidad propia
Grafo simple subyacenteLo que queda tras fusionar las aristas paralelas y eliminar los lazos
Grafo sin lazosSe permiten aristas paralelas, pero no lazos
CinturaLongitud del ciclo más corto; 2 con aristas paralelas, 1 con un lazo

13. Preguntas frecuentes

¿Cuál es la diferencia entre un grafo simple y un multigrafo?

Un grafo simple permite como mucho una arista entre cada par de vértices y ninguna arista de un vértice a sí mismo, porque su conjunto de aristas es un conjunto de subconjuntos de 2 elementos del conjunto de vértices. Un multigrafo permite varias aristas distintas que unen el mismo par, lo que requiere otra definición en la que las aristas tienen identidad propia y una función de incidencia indica qué par une cada una. Un pseudografo permite además lazos.

¿El problema de los puentes de Königsberg es un multigrafo?

Sí, y necesariamente. Dos puentes unen la orilla norte con la isla y otros dos unen la orilla sur con la isla, así que el modelo tiene aristas paralelas y no puede ser un grafo simple. Y eso importa: el multigrafo de los siete puentes tiene grados 3, 5, 3 y 3, los cuatro impares, así que no existe camino euleriano, que fue la respuesta de Euler en 1736. Fusiona los puentes paralelos y los grados pasan a ser 2, 3, 2 y 3, de los que solo dos son impares, así que existiría un camino. Simplificar cambia la respuesta.

¿Un lazo cuenta una o dos veces en el grado?

Dos veces. El grado cuenta los extremos de aristas que llegan a un vértice, y un lazo tiene dos extremos, ambos unidos al mismo vértice. La convención viene forzada, no elegida: el lema del apretón de manos dice que los grados suman el doble del número de aristas, y su demostración cuenta los dos extremos de cada arista, así que dar a un lazo grado 1 lo rompería. Un vértice que solo tiene un lazo tiene grado 2 y no está aislado.

¿Las aristas paralelas cambian el número cromático?

No. Una coloración propia exige que los dos extremos de cada arista sean distintos, y una arista duplicada solo repite una restricción que ya existe, así que las coloraciones propias de un multigrafo son exactamente las de su grafo simple subyacente, y el número cromático y el polinomio cromático no cambian. Un lazo es distinto: exigiría que un vértice tuviera un color distinto del suyo, así que un grafo con un lazo no tiene ninguna coloración propia.

¿Puedo simplificar un multigrafo antes de ejecutar un algoritmo?

Solo para propiedades que no dependan de la multiplicidad. La conexidad, la planaridad y la coloración sobreviven a la simplificación. Los cortes mínimos, los flujos máximos, el número de árboles de expansión, la cintura y los caminos eulerianos no. Si tienes que fusionar aristas paralelas ponderadas, suma los pesos para capacidades y toma el mínimo para distancias, y ten en cuenta que esas dos reglas son incompatibles. A menudo la mejor respuesta es no simplificar en absoluto, ya que BFS, DFS, Dijkstra, Kruskal y Prim funcionan correctamente sobre multigrafos sin cambios.

¿Cómo guardo un multigrafo en código?

Da a cada arista una identidad. Una lista de aristas formada por registros, cada uno con su propio ID, extremos y atributos, es la expresión directa de la definición mediante función de incidencia y el formato que escala a datos por arista. Una lista de adyacencia también sirve, guardando un vecino una vez por cada arista paralela. Una matriz de adyacencia solo puede guardar conteos, así que no puede llevar atributos por arista, y una matriz de booleanos borra la multiplicidad en silencio. Elijas lo que elijas, nunca uses el par de extremos como clave de un conjunto de aristas visitadas o seleccionadas.

14. Referencias

Las definiciones, teoremas y atribuciones anteriores proceden de estas fuentes, ordenadas cronológicamente.

  1. Euler, L. (1736). "Solutio problematis ad geometriam situs pertinentis." Commentarii Academiae Scientiarum Petropolitanae 8 (publicado en 1741), 128 a 140. Los puentes de Königsberg, modelados como multigrafo.
  2. Kirchhoff, G. (1847). "Über die Auflösung der Gleichungen, auf welche man bei der Untersuchung der linearen Vertheilung galvanischer Ströme geführt wird." Annalen der Physik 148(12), 497 a 508. El teorema matriz-árbol, desarrollado sobre redes eléctricas con componentes en paralelo.
  3. Harary, F. (1969). Graph Theory. Reading, Massachusetts: Addison-Wesley. Distingue grafos, multigrafos y pseudografos.
  4. Karger, D. R. (1993). "Global Min-cuts in RNC, and Other Ramifications of a Simple Min-cut Algorithm." Proceedings of the 4th Annual ACM-SIAM Symposium on Discrete Algorithms, 21 a 30. El algoritmo de contracción que crea aristas paralelas mientras se ejecuta.
  5. Karger, D. R. y Stein, C. (1996). "A New Approach to the Minimum Cut Problem." Journal of the ACM 43(4), 601 a 640.
  6. Bollobás, B. (1998). Modern Graph Theory. Graduate Texts in Mathematics 184. Nueva York: Springer.
  7. West, D. B. (2001). Introduction to Graph Theory, 2.ª edición. Upper Saddle River: Prentice Hall. Define un grafo mediante un conjunto de vértices, un conjunto de aristas y una relación de extremos, lo que admite lazos y aristas paralelas.
  8. Bondy, J. A. y Murty, U. S. R. (2008). Graph Theory. Graduate Texts in Mathematics 244. Londres: Springer. Origen de la definición mediante función de incidencia de la sección 1.
  9. Bang-Jensen, J. y Gutin, G. (2009). Digraphs: Theory, Algorithms and Applications, 2.ª edición. Londres: Springer. Multigrafos dirigidos.
  10. Cormen, T. H., Leiserson, C. E., Rivest, R. L. y Stein, C. (2009). Introduction to Algorithms, 3.ª edición. Cambridge, Massachusetts: MIT Press.
  11. Wilson, R. J. (2010). Introduction to Graph Theory, 5.ª edición. Harlow: Prentice Hall. Desarrolla los multigrafos junto a los grafos simples desde el primer capítulo.
  12. Chartrand, G., Lesniak, L. y Zhang, P. (2015). Graphs & Digraphs, 6.ª edición. Boca Raton: CRC Press.
  13. Diestel, R. (2017). Graph Theory, 5.ª edición. Graduate Texts in Mathematics 173. Berlín: Springer. Origen de la definición de grafo simple y de la formulación de multigrafo con dos aplicaciones de extremos.

Construye tú mismo los siete puentes

Coloca las cuatro masas de tierra, añade los puentes paralelos hacia la isla y comprueba los grados. Después elimina un duplicado y mira cómo cambia la paridad.

Abrir el visualizador

Cruza Cada Puente Una Vez

Coloca las cuatro masas de tierra, añade los puentes paralelos hacia la isla y comprueba los grados. Después elimina un duplicado y mira cómo la paridad pasa de imposible a posible.

Abrir el Visualizador de Caminos Eulerianos