Beruflich Dokumente
Kultur Dokumente
Grafos: Formalización
Un Grafo G consiste de dos conjuntos finitos: Un conjunto V llamado
de vértices o nodos y de otro conjunto E llamado de aristas o lados.
Asociado a cada elemento de E existe un conjunto de uno o dos
vértices que se llamarán extremos del lado.
La correspondencia entre lados y extremos del lado se llamará
función lado-extremos. Un lado que sólo tiene un vértice asociado
en el conjunto de vértices extremos se dice ciclo o loop. Dos lados
que tiene el mismo conjunto de vértices
extremos se dicen lados paralelos. v3
e3
v5 v7
e2
v2 e4 e6
v6
e
v1 1 v4 e
5
Grafos: Conceptos
v3
e3
v5 v7
e2
v2 e4
e6
v6
e1
v1 v4
e5
Grafos (graphs)
• Grafos: los hay de dos “sabores” grafos dirigidos y grafos no dirigidos.
• Un Grafo Dirigido (o digrafo) G es un par (V,A), donde V es un conjunto finito y E
es una relación binaria sobre V. Es decir, A es una subconjunto del producto
cartesiano VxV.
• V es llamado el conjunto de vértices de G, y cada elemento es llamado vértice
o nodo.
• E es llamado el conjunto de arcos de G, y cada elemento es llamado arco.
• En un grafo dirigido es posible tener arcos apuntando al mismo nodo de salida
(u,v), con u=v.
• Un Grafo No Dirigido G =(V,A) de arcos E consiste de pares no ordenados. Es
decir, un arco es un conjunto {u, v}. Se acostumbra anotar (u,v) en lugar de
{u,v}; (u,v) y (v,u) son considerados el mismo arco.
• No hay arcos al mismo nodo en un grafo no dirigido. u v.
Grafo dirigido. Llamado también dígrafo tienen un conjunto de vértices V (nodos)
y un conjunto de aristas E (arcos o lados), tal que cada arista se asocia a un par
ordenado de vértices. Ejemplo:
{x3,x6}={x6,x3}
x2
x1
V={x1,x2,x3,x4,x5,x6}
x3 A={{x1,x2},{x1,x3},{x1,x6},{x2,x3},{x2,x4},
{x3,x4},{x3,x6},{x4,x5},{x4,x6},{x5,x6}}
x6
x4
x5
x1
V={x1,x2,x3,x4,x5,x6}
x3 A={{x1,x2},{x1,x3},{x1,x6},{x2,x3},{x2,x4},
{x3,x4},{x3,x6},{x4,x5},{x4,x6},{x5,x6}}
x6
x4
x5
x1 es adyacente a x2 pero no a x4
x1
V={x1,x2,x3,x4,x5,x6}
x3 A={{x1,x2},{x1,x3},{x1,x6},{x2,x3},{x2,x4},
{x3,x4},{x3,x6},{x4,x5},{x4,x6},{x5,x6}}
x6
x4
x5
x1 es adyacente a x2 pero no a x4
x2
x1
V={x1,x2,x3,x4,x5,x6}
x3 A={{x1,x2},{x1,x3},{x1,x6},{x2,x3},{x2,x4},
{x3,x4},{x3,x6},{x4,x5},{x4,x6},{x4,x6},
x6
x4 {x4,x6},{x5,x6}}
x5
Seudografo G(V,A): admite aristas múltiples y lazos
x2
x1
V={x1,x2,x3,x4,x5,x6}
x3 A={{x1,x2},{x1,x3},{x1,x6},{x2,x3},{x2,x4},
{x3,x4},{x3,x6},{x4,x5},{x4,x6},{x4,x6},
x6
x4 {x4,x6},{x5,x6},{x1,x1},{x1,x1},{x5,x5}}
x5
Grafo dirigido o digrafo G(V,A): consiste en un conjunto de vértices V y un conjunto
A de pares ordenados de vértices
( x3 , x5 ) ( x5 , x3 )
x2
x1
V={x1,x2,x3,x4,x5}
x3
A={(x1,x2),(x1,x3),(x1,x4),(x1,x5),(x3,x2),
x5 (x4,x3),(x5,x3),(x5,x4)}
x4
Grafo pesado, ponderado ó etiquetado
20 20
a b a b
25 30 25 30
40 40
c 15 d c d
15
Grafo Dirigido con Grafo No Dirigido con
Costo Costo
Si A,B, C, D, E , F, G, H (los vértices ) fueran ciudades,
entonces los números serían ponderaciones que podrían
indicar los kilómetros que existen de una ciudad a otra o
tal vez lo que cuesta un pasaje de una ciudad a otra. Por
ejemplo de la ciudad A a la ciudad H hay 10 kilómetros
de distancia.
Conceptos Básicos
• Dos vértices se dicen adyacentes si existe una arista
que los une
• Los vértices que forman una arista son los extremos
de la arista
• Si v es un extremo de una arista a, se dice que a es
incidente con v
• El grado de un vértice v, gr(v) es el número de
aristas incidentes en v. Si hace falta indicar el grafo
en el que está v escribiremos gr(G,v)
• El número de vértices se denomina el orden p
de un grafo.
• El número de aristas es el tamaño q del grafo.
Z V
Orden=6
Tamaño=5
Y
f e d
gr(a)+gr(b)+gr(c)+gr(d)+gr(e)+gr(f) = 3+4+5+2+4+4 = 22
2|A| = 2 ____ = _____
Teorema. Sea G un grafo de orden p y tamaño q, con
V(G)={v1, v2, …, vp}. Entonces ∑ gr(vi)=2q
W
Observación:
grad(x)+grad(y)+grad(z)+grad(u)+grad(v)+grad(w)=10= 2q.
v2 v1 Vértice Grado
v1
v2
v3
v3 v4
v5
v4
v5
24
Resultados Básicos en Grafos
Ejemplos
G1 G2 G3 G4
v2 v2 v3 v2 v4 v2 v4
v1 v1 v1 v3 v1 v3
Grafo nulo: Se dice que un grafo es nulo
cuando los vértices que lo componen no están
conectados, esto es, que son vértices aislados.
Grafo Lineal: nN , se llama Grafo Lineal a Ln , grafo
con n vértices y aristas {vi, vi+1} para 1 ≤ i < n.
Ejemplos:
L2 L4
v1 v2 v1 v2 v3 v4
Grafo regular. Aquel con el mismo grado en todos
los vértices. Si ese grado es k lo llamaremos
k-regular.
2-REGULAR
Grafos r-regulares
x5
x2 x11
x6
x2 x7
x1 x12
x1 x3 x8 x14
x3
x4 x9 x13
x4 x10
K4: 3-regular
Grafo 3-regular
Nota: A menudo sólo se consideran ciclos para n≥3
Grafo rueda, que tiene n + 1 vértices.
Vemos inmediatamente que el vértice
central es especial.
Grafo bipartito: Es aquel con cuyos vértices
pueden formarse dos conjuntos disjuntos de
Un grafo G es bipartito si puede expresarse como
modo que no haya adyacencias entre vértices
pertenecientes al mismo conjunto.
a b a b c
Grafos Bipartitos
c d e
• Idea de cómo pintarlo:
o Empezar por un vértice cualquiera, de color C1
o Dibujar todos los adyacentes de color C2
o Seguir este proceso hasta haber terminado
Parece que No es
bipartito, pero …
¿cómo estar
seguros?
• Teorema: Una grafo es bipartito si y sólo si no tiene
ciclos de longitud impar
• Ejemplos:
K5
K1,5
Grafos Platónicos: Son los Grafos formados por
los vértices y aristas de sólidos regulares
(Sólidos Platónicos), como el tetraedro, el cubo,
el octaedro, el dodecaedro, el icosaedro, etc..
Subgrafos
• Sea G=(V,A). G’=(V’,A’) se dice subgrafo de G si:
1. V’ V
2. A’ A
3. (V’,A’) es un grafo
• Resultado fácil de comprobar:
o Si G’=(V’,A’) es subgrafo de G, para todo v G se
cumple gr(G’,v)≤ gr(G,v)
Ejemplo:
G1 y G2 son subgrafos de G
Grafo G Subgrafo G NO es subgrafo G
Ejercicio
Determinar cual de los siguientes grafos es subgrafo de G
a H1 a H2 a
f b f b
f g
b
e c c
e
g d d
a a
f b
c b
e g
e c h
d G H3 d H4
50
• Un grafo se dice cíclico cuando contiene algún
ciclo como subgrafo
• Ejemplo:
Subgrafo NO es NO es
Grafo G
Recubridor Subgrafo Subgrafo
de G Recubridor Recubridor
de G de G
Se define el subgrafo inducido por un conjunto de vértices V
de G <V>, como el MAXIMO subgrafo de G que tiene los
vértices de V.
G
f,b,c,f,e,d es un recorrido de
longitud 5 sobre G
• Observación: Un recorrido puede repetir vértices, y
puede comenzar y acabar en vértices diferentes
• Un camino es un recorrido v0, v1, …, vk en el que vi ≠
vj para 0 ≤i,j ≤ k, con i ≠0 o j ≠k
• Es decir en un camino todos los vértices son
distintos entre sí, excepto quizás el primero y el
último.
• Ejemplo:
a,b,e,c,d es un camino
G
Ciclo / Circuito (camino cerrado)
Es un camino que inicia y termina en el mismo nodo
No se recorre dos veces por la misma arista
A B C
D E F
Camino A y A
P = {A, E, B, F, A}
4 5 6
4 5 6
b
d
Ejemplo de grafo conexo c
e
f
71
• Ejemplo. Consideramos el grafo:
• Se tiene que:
o G no es conexo: no hay camino entre a y b, por
ejemplo.
o [a] = {a,c,e} [c] = {a,c,e} [e]={a,c,e} [b]={b,d}
[d]={b,d}
o G/R = {[a],[b]}
o G tiene dos componentes conexas:
Grafo Dirigido 3
5
Fuertemente Conexo
9
Existe un camino entre cualquier par
de nodos 2 7
Conexo
Existe un recorrido entre cualquier
par de nodos
1 2 3 1 2 3
4 5 6
4 5 6
v1 v3
e1 e2 e3
e10 v0 e9 v2 e4
e8 e5
e7
v5 v4
e6
e10 v0
e10 v0 e9e7 v2 e4
e9 v2 e4
e8
e7
v5 v4
v5 v4 e6
Componentes Conexas
Digamos que una componente conexa de una grafo es un subgrafo conexo de G
que es lo más grande posible.
Grafo con Una Componente Conexa Grafo con Dos Componentes Conexas
v1 v3 v1 v3
e1 e2 e3 e1 e2
e10 v0 e10 v0 e9 v2 e4
e9 v2 e4
e8 e5 e8
e7 e7
v5 v4 v5 v4
e6
v1 v3
e1
e10 v0 e9 v2 e4
e8
v5 v4
Definiciones
• Un Grafo no dirigido es conexo si cada par de vértices están
conectados por un camino.
• Las componentes conexas de un grafo son las clases de
equivalencia bajo la relación “es alcanzable”. En otras palabras,
son los conjuntos de vértices alcanzables entre sí.
• Un grafo dirigido es fuertemente conexo si cada par de nodos es
alcanzable de uno al otro.
• Las componentes fuertemente conexas de un grafo dirigido son
los conjuntos de vértices mutuamente alcanzables.
Un punto de articulación en un grafo conexo es un vértice
que, si es eliminado, hace que se quiebre el grafo en dos o
más partes. Un grafo sin puntos de articulación se dice que
es bi-conexo. En un grafo bi-conexo dos caminos distintos
conectan cada par de vértices.
La figura muestra un grafo
conexo pero no bi-conexo.
Los puntos de articulación d
este grafo son: A (porque
conecta a B al resto del grafo),
H (porque conecta a I al resto
del grafo), J (porque conecta a
K al resto del grafo) y G
(porque el grafo se partiría en
tres si se borrara G). Hay seis
componentes bi-conexas: {A C
G D E F}; {G J L M}; y los
nodos individuales B; H; I y K.
Nodos Puente: Definición
En un grafo G un nodo se dice puente si cuando se remueve del
grafo junto con los lados que inciden en él, el grafo resultante
aumenta su número de componentes conexas. En el caso de
que el grafo original fuera conexo, esto quiere decir que el grafo se
vuelve no conexo.
e2
e1 e3 e5
v1 v2 v3 v4
e4
Nodos puente: v2 y v3 .
Determine los vértices puente del grafo:
v0 v1 v2
v7 v3
v8 v4
v6 v5
Respuesta: v1 , v3 , v4 y v7 .
Un grafo dirigido, y sus componentes
fuertemente conexos.
Recorridos eulerianos
• Ciudad de Könisberg, en XVIII:
Nodos:
Porciones de tierra (orillas, islas)
Arcos:
Puentes
Ciclo de Euler
Recorre TODOS los ARCOS sin repetirlos
Los vértices se pueden repetir
Inicia y termina en el mismo vértice
Grafo Semieuleriano
Es aquel grafo conexo que admite un camino de Euler
Grafo Euleriano
Es el aquel grafo conexo que admite un circuito de Euler
• Ejemplo: Grafo euleriano.
e11
v1 v3
e1 e2 e3
e10 e9 e4 e12
v0 v2
e5
e8
e7
v5 v4
e6
Encuentre un Circuito de Euler para el grafo:
e11
v1 v3 Iniciamos con un circuito
e1 e2 e3 cualquiera:
v5 v4
e11 e12 e4 e3 e5 e6 e9
e6
Como hay lados sin abar-
car (verdes) se busca otro
cirtuito (verdes) con un
punto en común con el
llevado:
e1 e8 e7 e2
e11 Se combinan los circuitos
v1 v3
para hacer uno mayor.
e1 e2 e3 Recuerde que los vértices
repetidos no importan. El
e10v0 e9 v2 e4 e12 vértice en común sirve en
e8 el enlace. Como hay lados
e5
e7 sin abarcar (verdes) se
v5 v4 busca otro cirtuito (verdes)
e6 con un punto en común
con el llevado:
e11 e12 e4 e3 e5 e6 e8 e1 e2 e7 e9
e10 e9 e4 e12
v0 v2
e5
e8
e7
v5 v4
e6
Circuito de Euler:
e11 e12 e4 e3 e5 e 6e 8e 10 e1 e2 e7 e9
Teoremas de Euler
Teorema 1 (Grafo Euleriano)
Si G es un grafo conexo y TODOS sus vértices tienen grado PAR, entonces existe
un circuito de Euler en G.
Nodos= ciudades
Arcos=caminos entre ciudades
• El problema de determinar un circuito Hamiltoniano
en un grafo parece similar al de determinar un
circuito de Euler. Un circuito de Euler visita cada
arista una vez, mientras que un circuito
Hamiltoniano visita cada vértice una vez; sin
embargo, en realidad estos problemas son un poco
distintos.
• Además, a diferencia de los circuitos de Euler, no se
conocen condiciones necesarias y suficientes
fácilmente verificables para la existencia de un
circuito Hamiltoniano en un grafo.
Recorridos hamiltonianos
• Ejemplos:
G1 G2 G3
Teorema1:
Corolario
Teorema 2
hamiltoniano si m 1/2(n2-3n+6)
CICLO DE HAMILTON
109
Clique
• Grafo completo: cada par de nodos distintos son
adyacentes
• Conjunto completo: subconjunto W de G que induce
un subgrafo completo de G
• Clique: subconjunto de nodos que es conjunto
completo y máximo (no hay un conjunto completo
que lo contenga)
Ordenamiento Perfecto
• Un ordenamiento O = [v1, v2, ...., vn] de los nodos es
perfecto si todos los vecinos anteriores al nodo
están completamente conectados
2 3
4 5
Ordenamiento de Cliques
• Un ordenamiento de cliques [C1, C2, ... Cp]
tiene la propiedad de intersección secuencial
si todos los nodos comunes con cliques
previos están contenidos en el mismo clique
(padre)
3
2
C3
C2 4 5