You are on page 1of 20

TEOR

IA DE GRAFOS Y REDES
ELISA SCHAEFFER
Programa de Posgrado en Ingeniera de Sistemas (PISIS)
elisa@yalma.fime.uanl.mx
INVESTIGACI

ON DE OPERACIONES
DEFINICIONES B

ASICAS
Grafo G = (V, E)
V = un conjunto de n v ertices (o sea, nodos), u, v, w V
E = un conjunto de aristas m (o sea, arcos) conectando pares de
v ertices, (u, v) E
Notaci on: |V | = n, |E| = m
VISUALIZACI

ON DE UN GRAFO
n = |V | = 8, m = |E| = 10
CASOS ESPECIALES
si las aristas tienen direcci on, G es dirigido
un bucle es una arista reexiva donde coinciden el v ertice
inicio y el n
E puede ser un multiconjunto, pudiendo haber m as de una
arista entre cada par de v ertices (multigrafo)
si no se permiten aristas m ultiples, el grafo es simple
si se asignan pesos (o costos o longitudes) a las aristas, el
grafo es ponderado
si se asigna identidad a los v ertices y/o las aristas, es decir
que sean distinguibles, el grafo es etiquetado
ADYACENCIA
dos aristas de un grafo son llamadas adyacentes si tienen un
v ertice en com un
dos v ertices son llamados adyacentes si una arista los une
v ertices adyacentes son llamados vecinos
el conjunto de vecinos de v se llama el vecindario de v y se
denota con (v)
una arista es incidente a un v ertice si esta lo une a otro v ertice
el grado de un v ertice v es el n umero de aristas incidentes a v
si todos los v ertices tienen grado k, el grafo es regular
EJEMPLO: GRADOS
4
3
3
4
2
1
2
3
GRAFO BIPARTITO
= un grafo G = (V, E) cuyos v ertices se pueden separar en dos
conjuntos disjuntos U y W,
U W = , U W = V
as que las aristas solamente unen v ertices de un conjunto con
v ertices de otro:
(u, w) E (u U w W) (u W w U)
En un grafo bipartito completo est an presentes todas las aristas
entre U y W se denota tal grafo por K
a,b
donde a = |U| y
b = |W|.
Nota que para K
a,b
, siempre m = a b.
EJEMPLO: GRAFO BIPARTITO
b
a
E
c
F
e
D
e
c
b
a
A
A
B
d
D
C
d
F
E
C
B
Los v ertices azules son U y los verdes V . Los dos dibujos
representan exactamente el mismo grafo lo unico que cambia
son las ubicaciones de las v ertices.
DENSIDAD
un grafo simple es completo si existen aristas uniendo todos
los pares posibles de v ertices
se denota un grafo completo de n v ertices por K
n
el n umero m aximo de aristas de un grafo simple es
m
max
=

n
2

=
n(n 1)
2
la densidad de G es =
m

n
2

un grafo denso tiene 1 y un grafo escaso 1


CAMINOS
una sucesi on de aristas adyacentes que empieza en v y
termina en w se llama un camino de v a w
el largo de un camino es el n umero de aristas que contiene
la distancia de v y w es el largo mnimo de todos los caminos
de v a w
la distancia de un v ertice a si mismo es cero
un ciclo es un camino donde se regresa al v ertice inicial
un camino simple solamente recorre la misma arista una vez,
nunca dos veces o m as
el di ametro de G es la distancia m axima en todo el grafo
CONECTIVIDAD
G es conexo si cada par de v ertices est a conectado por un
camino
si no existe ning un camino de v a w en G, el grafo est a no
conexo
G es fuertemente conexo si cada par de v ertices
est a conectado por al menos dos caminos disjuntos
un grafo desconectado se puede dividir en componentes
conexos

ARBOLES
un arbol es un grafo conexo que no contiene ciclos
un arbol cubriente es un subgrafo de G = (V, E) que es un
arbol y contiene todos los v ertices de G
G es un bosque si cada componente conexo de G es un arbol
EJEMPLOS
A
B
En azul: un arbol cubriente. En verde: un 7-ciclo. Los v ertices rojos
est an en el camino m as corto de A a B con largo 3. El diametro
del grafo es cuatro.
ALGORITMOS DE B

USQUEDA
Un algoritmo de b usqueda es un m etodo sistem atico para
recorrer un grafo de entrada G = (V, E) con el prop osito de
descubrir o computar alguna propiedad estructural del G.
Los dos algoritmos fundamentales son
b usqueda en anchura (BFS)
b usqueda en profundidad (DFS)
B

USQUEDA EN ANCHURA (BFS)


Dado G y un v ertice inicial v V , el procedimiento general es el
siguiente:
1. crea una lista vaca L
2. asigna u := v
3. marca u visitado
4. a nade cada v ertice no marcado en (v) al n de L
5. si L est a vaca, termina
6. asigna u := el primer v ertice en L
7. quita el primer v ertice de L
8. continua de paso (3)
EJEMPLO: BFS
Empezando del v ertice rojo, la b usqueda primero visita todos los
v ertices amarillos, despu es los verdes, y por ultimo el azul.
Algunas aristas encontradas apuntan a v ertices ya visitados.
B

USQUEDA EN PROFUNDIDAD (DFS)


Dado G y un v ertice inicial v V , el procedimiento general es el
siguiente:
1. crea una lista vaca L
2. asigna u := v
3. marca u visitado
4. a nade cada v ertice no marcado en (v) al comienzo de L
5. si L est a vaca, termina
6. asigna u := el primer v ertice en L
7. quita el primer v ertice de L
8. continua de paso (3)
(permite implementaci on recursiva f acil)
EJEMPLO: DFS
DFS puede progresar en varias maneras; el orden de visitas
depende de c omo se elige a cu al vecino se va. Algunas aristas
encontradas apuntan a v ertices ya visitados.
USOS T

IPICOS DE BFS Y DFS


construcci on de caminos
computaci on de distancias
detecci on de ciclos
componentes conexos
A CONTINUACI

ON...
Acoplamientos de grafos y ujos en redes.

You might also like