GRAFOS
NOCIONES BÁSICAS
Un grafo es un par G=(V,A), donde V es un conjunto finito no vacío (a cuyos elementos llamaremos
vértices) y A es una familia finita de pares no ordenados de vértices de V (a cuyos elementos llamaremos
aristas o arcos). Un grafo simple es un par G=(V,A) donde V es un conjunto finito no vacío y A es un
conjunto finito de pares no ordenados de vértices distintos de V.
Si a={u,v} es una arista de G escribiremos sólo a=uv, y diremos que a une los vértices u y v o que u y v
son extremos de a. Una arista a=uu se llama bucle. Una arista que aparece repetida en A se llama arista
múltiple.
(En otros textos llaman grafo al que aquí se denomina grafo simple, permitiendo la presencia de aristas
múltiples en los multigrafos y de bucles en los seudografos).
Dos vértice son adyacentes si son extremos de una misma arista. Dos aristas son adyacentes si tienen un
extremo común. Un vértice y una arista son incidentes si el vértice es extremo de la arista. Un vértice es
aislado si no tiene otros vértices adyacentes.
Un grafo completo es un grafo simple en el que todo par de vértices está unido por una arista. (Se
representa con Kn al grafo completo de n vértices).
Un grafo G=(V,A) se llama bipartido si existe una partición de V, V=X∪Y, tal que cada arista de G une
un vértice de X con otro de Y. (Se designa por Kr,s al grafo bipartido completo en que X= r e
Y= s, y hay una arista que conecta cada vértice de X con cada vértice de Y)
Dos grafos G=(V,A) y G’=(V’,A’) son isomorfos si existe una biyección f:V→V’ que conserva la
adyacencia. (Es decir, ∀ u,v∈V, u y v son adyacentes en G ⇔ f(u) y f(v) son adyacentes en G’.
Un subgrafo de G=(V,A) es otro grafo H=(V’,A’) tal que V’⊆V y A’⊆A. Si V’=V se dice que H es un
subgrafo generador.
GRADO
Se llama grado de un vértice v al número de aristas que lo tienen como extremo, (cada bucle se cuenta,
por tanto, dos veces). Se designa por d(v)
Un grafo regular es un grafo simple cuyos vértices tienen todos el mismo grado.
A la sucesión de los grados de los vértices de G se le denomina sucesión de grados del grafo G. Una
sucesión de enteros no negativos se dice sucesión gráfica si es la sucesión de grados de un grafo.
Propiedades: 1) La relación entre los grados y el número de aristas en G es: ∑
d( v ) = 2 A
v∈ V
2) Hay grafos no isomorfos con la misma sucesión de grados
3) La sucesión (d1,d2,...,dn) es gráfica ⇔ Σdk es par.
4) Para grafos simples se tiene que:
la sucesión no creciente (s,t1,...,ts,d1,...dr ) es gráfica ⇔ lo es la sucesión (t1 −1,...,ts −1,d1,...dr )
MATRICES
La matriz de adyacencia de un grafo G con n vértices {v1,...,vn} es la matriz nxn , M(G)=(aij), donde aij
es el nº de aristas que unen vi con vj. La matriz de incidencia de un grafo simple G con n vértices
{v1,...,vn} y k aristas {e1,...,ek} es la matriz nxk, I(G)=(bij), donde bij=1 si vi es incidente con ej y bij=0 en
caso contrario.
1
Matemática Discreta Curso 02-03
Dpto. Matemática Aplicada Facultad de Informática. UPM.
CAMINOS Y CONEXIÓN
RECORRIDOS EN UN GRAFO
Un camino euleriano en un grafo es un camino que contiene a todas las aristas del grafo exactamente
una vez. Un grafo es euleriano si contiene un camino euleriano cerrado.
Teorema: Un grafo conexo G es euleriano ⇔ Todos los vértices de G tienen grado par.
Consecuencia: Un grafo conexo G tiene un camino euleriano no cerrado ⇔ G tiene, exactamente, dos
vértices de grado impar.
Algoritmo de Fleury (para construir un camino euleriano cerrado en un grafo euleriano).
Paso 1.- Se comienza en un vértice cualquiera v0 .
Paso 2.- Si se ha construido el camino v0 a1 v1 a2...vk-1 ak vk con aristas distintas, se elige la arista siguiente
ak+1 con las condiciones: (1) ak+1 incidente con vk y (2) no ser puente en el grafo G−{a1,a2,...,ak} (salvo
que no haya alternativa).
Paso 3.- Se sigue hasta que el camino contenga todas las aristas.
Un camino hamiltoniano en un grafo es un camino que contiene a todos los vértices del grafo
exactamente una vez (salvo v0=vn, si el camino es cerrado). Un grafo hamiltoniano es aquel que
contiene un ciclo hamiltoniano.
Propiedad: Un grafo bipartido G=(V1 ∪V2 , A) con V1≠V2 no es hamiltoniano.
Teorema: Sea G un grafo simple de n vértices. Si para todo par de vértices x e y no adyacentes se cumple
que d(x)+d(y) ≥ n , entonces G es hamiltoniano.
Teorema: Si G es un grafo hamiltoniano entonces, para todo S⊂V se cumple que el número de
componentes conexas de G − S, es menor o igual que S.
Observación: NO hay caracterización para los grafos hamiltonianos.
Problema del viajante: No hay algoritmo eficiente para resolver el problema de hallar el camino
hamiltoniano de longitud mínima que conecta n ciudades.
ÁRBOLES
2
Matemática Discreta Curso 02-03
Dpto. Matemática Aplicada Facultad de Informática. UPM.
Un grafo ponderado (o con pesos) es un grafo junto con una función w:A→N, que asigna a cada arista
un nº natural llamado peso de la arista.
Un árbol generador mínimo en un grafo conexo y ponderado es un árbol generador que minimiza la
suma de pesos de las aristas.
Dos métodos para construir un árbol generador mínimo:
Algoritmo de Prim: Se parte de un vértice y se elige la arista de menor peso incidente en él.
Una vez construido un árbol Tk con k vértices, se elige la arista de menor peso entre las que conectan
vértices de Tk con vértices que no son de Tk. Se continúa hasta alcanzar todos los vértices.
Algoritmo de Kruskal: Se parte de la arista de menor peso. Se sigue eligiendo en cada paso la
arista de menor peso, (de las que resten), que no forme ciclo con las aristas anteriores. Se termina al
elegir n-1 aristas.
Un árbol con raíz es un árbol T con un vértice distinguido al que se denomina raíz. Este vértice se
representa encima de los restantes, que se colocan por niveles según su distancia a la raíz. Se llama
altura (o profundidad) de un árbol con raíz a la máxima distancia de un vértice a la raíz. Para cada
vértice u, que no sea la raíz, se llama padre de u al único vértice adyacente a u que se encuentra en el
camino de u a la raíz. Se llaman hijos de u a los restantes vértices adyacentes, (que se encuentran por
debajo de u). Los vértices sin hijos son las hojas del árbol, y los vértices que no son hojas ni raíz se
denominan vértices interiores.
Un árbol m-ario es un árbol con raíz en el que cada padre tiene, a lo sumo, m hijos.
Propiedades: 1) El número de hojas de un árbol m-ario es, a lo más, mh.
2) La altura de un árbol m-ario de l hojas es, al menos, log m l
BÚSQUEDA EN GRAFOS
Para efectuar una búsqueda de los vértices de un grafo, se pueden emplear dos estrategias diferentes:
Búsqueda en anchura (BEA). A diferencia con la BEP ahora se visitan todos los vecinos de un vértice
antes de pasar al siguiente. Por tanto no hay necesidad de retroceder. Una vez etiquetados todos los
vecinos de un vértice x, se continúa con el primer vértice alcanzado después de x en la búsqueda.
Esta técnica se utiliza para resolver problemas en los que se pide hallar una solución óptima entre varias.
3
Matemática Discreta Curso 02-03
Dpto. Matemática Aplicada Facultad de Informática. UPM.
PLANARIDAD
Un grafo G es planar si admite una representación en el plano de tal forma que las aristas no se cortan,
salvo en sus extremos. A dicha representación se le denomina grafo plano
Fórmula de Euler: Si G es un grafo plano, conexo, con n vértices, e aristas y que descompone al plano
en f regiones (o caras), entonces se cumple que n−e+f = 2.
Consecuencias: Si G es un grafo simple y planar con n vértices y e aristas se tiene que:
1.- Si n≥3, entonces e≤ 3n−6.
2.- Si n≥3 y G no tiene ciclos de longitud 3 (por ej., G bipartido), entonces e≤ 2n−4.
3.- G tiene, al menos, un vértice v con grado d(v) ≤ 5.
4.- Los grafos K5 y K3,3 no son planares.
5.- Todo grafo simple y planar admite una representación plana en la que cada arista es un
segmento
Teorema de Kuratowski: Un grafo G es planar ⇔ G no contiene subgrafos homeomorfos a K5 ni a K3,3.
(Dos grafos, G y G’, son homeomorfos si uno puede obtenerse del otro por inserción o borrado de
vértices de grado dos en sus aristas).
Teorema de Wagner: Un grafo G es planar ⇔ G no contiene ningún subgrafo tal que identificando
extremos de aristas se convierta en K5 ó K3,3.
COLORACIÓN
Una coloración de un grafo simple G, es una asignación de colores a sus vértices tal que vértices
adyacentes reciben colores diferentes. Si se utilizan k colores se llama una k-coloración. El número
cromático de G es el menor natural k para el que existe una k-coloración de G. Se designa por ℵ(G).
Propiedades: 1.- ℵ(Kn)=n.
2.- ℵ(G)=2 ⇔ G es bipartido.
3.- Si ∆(G) es el grado máximo de los vértices de G, entonces ℵ(G) ≤ ∆(G) +1
Si G es conexo y no regular entonces ℵ(G) ≤ ∆(G)
Algoritmo voraz de coloración.
Si los vértices de G son {v1,...,vn} y se dispone de la lista de colores {c1, c2, c3,...}, se colorean los
vértices según el orden en que aparecen en la lista asignándole a un vértice x el color de índice más bajo
que no aparece entre los adyacentes a x ya coloreados.
EMPAREJAMIENTOS
Un emparejamiento en un grafo bipartido G=(X∪Y,A) es un subconjunto M⊂A tal que dos aristas
cualesquiera de M no tienen un vértice común. Un emparejamiento es máximo si no hay otro de cardinal
mayor. Un emparejamiento es completo para X si M=X. También tiene sentido hablar de
emparejamientos en grafos no bipartidos. Un emparejamiento M es perfecto si todos los vértices de G
son extremo de alguna arista de M.
4
Matemática Discreta Curso 02-03
Dpto. Matemática Aplicada Facultad de Informática. UPM.
DIGRAFOS
Un digrafo o grafo dirigido es un par D=(V,A) donde V es un conjunto no vacío (a cuyos elementos
llamaremos vértices) y A es una familia finita de pares ordenados de vértices de V (a cuyos elementos
llamaremos aristas o arcos).
Un digrafo simple es un par D=(V,A) donde V es un conjunto no vacío y A es un conjunto finito de
pares ordenados de vértices distintos de V.
Si a=(u,v) es un arco escribiremos a=uv, y diremos que u es extremo inicial de a y que v es extremo
final de a.
Se llama grado de entrada de un vértice v al número de arcos que lo tienen como extremo final y se
llama grado de salida de v al número de arcos que lo tienen como extremo inicial.
La matriz de adyacencia de un digrafo D con n vértices {v1,...,vn} es una matriz nxn, M(D)=(aij) donde
es el número de aristas que tienen a vi como extremo inicial y a vj como extremo final.
ACCESIBILIDAD
Un camino dirigido en un digrafo es una sucesión de vértices y aristas de la forma v0e1v1e2...vn-1 envn ,
donde la arista ei tiene como extremos inicial y final vi-1 y vi , respectivamente. Dicho camino se llama
camino de v0 a vn y su longitud es n.
Observación: Si D es un digrafo con n vértices y C un camino de u a v de longitud mayor que n, siempre
existe otro camino C’ de longitud menor o igual que n.
Diremos que el vértice u es k-accesible desde v si existe un camino dirigido, de longitud k, que va de de
v a u. Designaremos este hecho con la notación (v,u) ∈Rk.
Diremos que el vértice u es accesible desde v si existe un camino dirigido que va de de v a u, sin
especificar su longitud. Designaremos este hecho con la notación (v,u) ∈R∞
Tanto R∞ como Rk (para k≥0) son relaciones definidas en el conjunto de vértices V.
M(R∞ )= I∨ A∨A2∨ ... ∨An , siendo A la matriz de la relación asociada al digrafo.
BIBLIOGRAFÍA
ROSEN, Kenneth H.: Discrete Mathematics and its applications, Ed. McGraw-Hill, 1991.
GRIMALDI, Ralph P.: Matemáticas Discreta y Combinatoria, Ed. Addison-Wesley, 1997.
BIGGS, Norman L.: Matemática Discreta, Ed. Vicens Vives, 1994.