Professional Documents
Culture Documents
1
Dr. Said Polanco Martagn
Tipos de Grafos
Un grafo G es un par (V,E) donde:
V ={v1,,vn} es un conjunto de vrtices
E = {e1,,em} es un conjunto de aristas,
con cada ek {vi, vj}, con vi, vj V, vi vj
Tipos de grafos
Es importante recordar que un mismo grafo puede
tener diferentes representaciones grficas
Ejemplo:
Tipos de Grafos
Si el orden influye en la aristas se habla
de grafos dirigidos:
Tipos de Grafos
Si se permite que haya ms de una arista
se habla de multigrafos:
Tipos de Grafos
Cuando las aristas tienen un valor numrico asociado se
llama de grafos valorados:
Tipos de Grafos
Los tipos anteriores pueden combinarse,
dando lugar por ejemplo a multigrafos
valorados, o grafos dirigidos
valorados, etc.
En el resto del tema cuando no se diga lo
contrario G representar un grafo o
multigrafo no dirigido
Conceptos Bsicos
Dos vrtices se dicen adyacentes si
existe una arista que los une
Los vrtices 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 vrtice v, gr(v) es el
nmero de aristas incidentes en v. Si
hace falta indicar el grafo en el que est
v escribiremos gr(G,v)
8
Conceptos Bsicos
Ejemplo:
gr(6)= _______
gr(1) = ________
Conceptos Bsicos
Teorema (de los apretones de manos)
Sea G=(V,A) un grafo. Entonces: gr(v) =
2|A|
v V
Conceptos Bsicos
Ejemplo:
gr(a)+gr(b)+gr(c)+gr(d)+gr(e)+gr(f) =
3+4+5+2+4+4 = 22
2|A| = 2 ____ = _____
11
Conceptos Bsicos
Para cada n1 se llama grafo completo de orden n, y se
representa por Kn, al grafo de n vrtices conectados de todas
las formas posibles:
Conceptos Bsicos
Se llama ciclo de grado n, y se denota
Cn, a G=({v1,,vn},
{{v1, v2}, {v2, v3},, {vn-1, vn},
{vn, v1}} )
13
Representacin de Grafos
Para representar los grafos a menudo se utiliza la llamada
matriz de adyacencia
Se construye imaginando que en las filas y las columnas
corresponden a los vrtices. Se pone un 0 para indicar
que 2 vrtices no son adyacentes, y1un21 para
indicar que
3
4
1
s lo son:
5 6
2
3
4
5
6
Matriz
de
Adyacencia de G
Representacin de Grafos
En el caso de un grafo no dirigido la
matriz ser simtrica. No ocurre lo mismo
para grafos dirigidos:
Representacin de Grafos
La matriz de adyacencia tambin permite
representar grafos valorados
Representacin de Grafos
En informtica a menudo en lugar de la
matriz se usa la lista de adyacencia
A cada vrtice le corresponde una lista
con sus adyacentes:
G
Lista de Adyacencia
de G
17
Subgrafos
18
Subgrafos
Ejemplo:
G1 y G2 son subgrafos de G
19
Subgrafos
Un grafo se dice cclico cuando contiene algn
ciclo como subgrafo
Ejemplo:
Grafo Complementario
El complementario G de un grafo
G=(V,A) tiene:
Los mismos vrtices que G
Si {u,v} G, entonces {u,v} G
Si {u,v} G, entonces {u,v} G
Grafo complementario
Ejemplo : Complementario de
1 Representar
K6
2 Marcar
las aristas
de G
3
Eliminarlas
22
Caminos y conectividad
Un recorrido en un grafo G = (V,A) es una
sucesin de vrtices v0, v1, , vk tal que
{vi,vi+1} A para todo 0 i < k
La longitud de un recorrido v0, v1, , vk
es k
Ejemplo:
f,b,c,f,e,d es un
recorrido de longitud 5
sobre G
23
Caminos y conectividad
Observacin: Un recorrido puede repetir
vrtices, y puede comenzar y acabar en
vrtices 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 vrtices
son distintos entre s, excepto quizs el
primero y el ltimo
24
Caminos y conectividad
Ejemplo:
a,b,e,c,d es un
camino
25
Caminos y conectividad
Si existe un camino entre dos vrtices se
dice que estn conectados
Sea G=(V,A) un grafo. La relacin
xRy x e y estn conectados
es de equivalencia (R ___)
Si para todo par de vrtices de un grafo
estn conectados se dice que el grafo es
conexo g
Las componentes conexas de un grafo
G son los mayores subgrafos conexos de
26
G
Caminos y conectividad
Ejemplo. Consideramos el grafo:
Se tiene que:
G no es conexo: no hay camino entre a y b,
por ejemplo.
[a] = {a,c,e} [c] = {a,c,e} [e]={a,c,e}
[b]={b,d} [d]={b,d}
G/R = {[a],[b]}
G tiene dos componentes conexas:
27
Caminos y conectividad
Un recorrido v0, v1, ,vk tal que v0 = vk
es un circuito
Un camino v0, v1, , vk tal que v0 = vk
es un ciclo
a,b,f,c,e,f,a es un
circuito
f,c,b,e,f es un
ciclo
28
Recorridos eulerianos
Ciudad de Knisberg, en XVIII:
29
Recorridos eulerianos
Representacin propuesta por Leonard
Euler en 1736:
Recorridos eulerianos
31
Recorridos eulerianos
Ejemplo: Grafo euleriano.
Recorridos eulerianos
Cmo saber si un grafo (o multigrafo) es
euleriano?
Teorema de Euler: Un grafo conexo es
euleriano no tiene vrtices de grado
impar
Ejemplo:
33
Recorridos eulerianos
Si el grafo/multigrafo tiene slo dos
vrtices de grado impar se llama semieuleriano. Se puede convertir en
euleriano aadindole una arista:
Semi-euleriano
(__,__ grado
impar)
Euleriano
34
Recorridos hamiltonianos
Un grafo se dice hamiltoniano si existe
un ciclo que recorre todos sus vrtices. Al
ciclo se le llama ciclo hamiltoniano
Ejemplos:
35
Recorridos hamiltonianos
No existe un mtodo sencillo para saber
si un grafo es no hamiltoniano
problema muy complejo
Ejemplo: Este grafo es hamiltoniano
36
Isomorfismo de grafos
Idea: En ocasiones dos grafos con diferentes vrtices
presentan la misma estructura:
Isomorfismo de grafos
Ejemplo:
Isomorfismo de grafos
Y como saber si dos grafos no son
isomorfos?
Hay que buscar alguna caracterstica que
diferencie la estructura de los dos grafos,
como por ejemplo:
Distinto nmero de vrtices o de aristas
Distinto nmero de ciclos de una longitud dada
Distinto nmero de vrtices con un mismo
grado n
Aristas conectando vrtices con dos grados
tales que no existan aristas de las mismas
caractersticas en el otro grafo
39
Isomorfismo de grafos
Ejemplo: son isomorfos estos dos
grafos?
Isomorfismo de grafos
Son isomorfos? ___
41
rboles
42
rboles
Ejemplo: rbol
43
rboles
Ejemplo: Una estructura de carpetas y
ficheros es un rbol
44
rboles
Ejemplos:
Anlisis de
expresiones
rboles de
bsqueda
45
rboles
Un poco de terminologa
Los vrtices de un rbol se llaman nodos
Los nodos descendientes inmediatos de un
nodo son sus hijos, y el nodo superior es el
padre
A una secuencia descendente de nodos se le
llama rama
Los nodos sin hijos se llaman hojas, y los
que s tienen hijos nodos internos
Un conjunto de rboles es un bosque
46
rboles
Algunas propiedades.
Sea G =(V,A) un rbol. Entonces:
Entre cada par de vrtices x,y hay un nico
camino
Al quitar de A cualquier arista resulta un
bosque con 2 rboles
Al aadir una arista nueva siempre se
obtiene un ciclo
|A| = |V| -1
47
rboles recubridores
Dado un grafo conexo G =(V,A) decimos
que un rbol T =(V,A) es un rbol
recubridor de G si V=V, y A A.
En el caso de grafos valorados interesa
que la suma de pesos de las aristas del
rbol sea lo ms pequea posible:
rbol de recubrimiento
mnimo.
48
rbol de recubrimiento
mnimo
49
Algoritmo de Prim