You are on page 1of 12

3004597 Estructuras de Datos Modulo 10

Universidad Nacional de Colombia Sede Medelln

MODULO 10
OBJETIVOS
Por medio de este mdulo se pretende:

Introducir el TAD Grafo e ilustrarlo con ejemplos, particularmente con los puentes de la Isla
de Kueiphof.

CONTENIDO
1

Grafos: Los puentes de la Isla de Kueiphof


1.1. Usos de los grafos
1.2. Definicin formal de grafo
1.3. Definiciones Bsicas

A Referencias

01 - 2006

3004597 Estructuras de Datos Modulo 10

Universidad Nacional de Colombia Sede Medelln

GRAFOS: LOS PUENTES DE LA ISLA DE KUEIPHOF

En la isla Kueiphof en Koenigsberg (hoy Kaliningrado, Alemania) el ro Pregel que la rodea se


divide en dos brazos.
Sobre los brazos estaban construidos siete puentes y para los habitantes era motivo de distraccin
descubrir un itinerario de manera que pudieran regresar al punto de partida, despus de haber
cruzado por los siete puentes pero pasando slo una vez por cada uno de ellos.
Leonardo Euler estudi el asunto, represent las distintas zonas A, B, C y D por medio de puntos,
mientras que los puentes estaban representados por lneas que unan estos puntos. A la figura la
llam grafo, a los puntos los llam vrtices y a las lneas las denomin aristas.
Estudi si una figura lineal se poda dibujar con un solo trazo, sin levantar el lpiz del papel y sin
pasar dos veces por el mismo sitio.
Un vrtice se dice que es Impar si de l parten un nmero impar de caminos.
Euler lleg a las siguientes conclusiones:
1. Es imposible si hay ms de dos vrtices impares.
2. Es posible cuando:
a) Todos los vrtices son pares y el punto de partida puede ser cualquiera.
b) Cuando no hay ms de dos vrtices impares y en este caso el comienzo del recorrido
comienza en uno de ellos y termina en el otro.

C
5

B
D

01 - 2006

3
3

3004597 Estructuras de Datos Modulo 10

Universidad Nacional de Colombia Sede Medelln

A la isla A llegan 5 puentes; a la B llegan 3 puentes; a la orilla C llegan 3 puentes y a la orilla D


llegan 3 puentes, por tanto, segn las conclusiones anteriores, el problema no tiene solucin.
Estos dibujos pueden hacerse de un solo trazo:

Estos dibujos NO pueden hacerse de un solo trazo:

1.1 USO DE LOS GRAFOS


Este estudio de Euler dio origen a la teora de los grafos, que se emplean en el estudio de los
circuitos elctricos, en problemas de transporte (en investigacin de operaciones), programacin,
entre otras reas del conocimiento.
El fsico Kirchhoff fue el primero que us la Teora de Grafos en el campo de la inteligencia
elctrica cuando en 1847 us un modelo estructural G = (V,E) considerando los lados como
elementos elctricos pasivos (resistores, capacitores e inductores) y los nodos fueron las uniones
donde dos o ms elementos confluyen.
Tambin Kirchhoff parece ser el primero en introducir el concepto de rbol en su estudio de rboles
generadores.
El matemtico ingls Arthur Cayley fue el primero que us la teora de Grafos en el campo de la
Qumica, cuando en uno de sus artculos sobre enumeracin grfica determin el nmero de
parafinas CnH2n+2 (ahora llamados alcanos) usando un modelo estructural G = (V,E)
considerando los tomos como nodos y los enlaces como lados.
Uno de los problemas ms conocidos en la teora de Grafos es el problema de los cuatro colores
en el cual los nodos son naciones en un mapa y los lados indican las fronteras.

01 - 2006

3004597 Estructuras de Datos Modulo 10

Universidad Nacional de Colombia Sede Medelln

El problema de los cuatro colores consiste bsicamente, en que cualquier mapa puede ser
coloreado solamente con cuatro colores distintos de tal manera que dos regiones adyacentes (es
decir, que tienen una frontera en comn y no slo un punto) no tengan el mismo color.
Este problema fue planteado por primera vez por Francis Guthrie en 1850 y resuelto recientemente
en 1996 por Neil Robertson, Daniel P. Sanders, Paul Seymour y Robin Thomas.

El problema de los 4 colores.


En el campo de las ciencias sociales, Cartwright y otro siclogos modelaron la estructura de un
grupo social como un grafo en el cual los nodos son las personas y los lados o arcos son las
relaciones interpersonales.
Pueden modelarse usando la Teora de Grafos, problemas de trfico, redes de transporte, circuitos
en fsica, problemas en sociologa, economa, lingstica, antropologa, biologa, estadstica, las
ingenieras, entre otros.
En conclusin, la Teora de Grafos sirve como un modelo matemtico para estructuras en cualquier
campo. Pero una de su ms importante rea de aplicacin es la ciencia de la computacin. Estos
modelos son aplicados especialmente en lenguajes de computacin, circuitos lgicos, redes e
interconexin de redes para procesadores paralelos, inteligencia artificial entre otros.
1.2 DEFINICIN FORMAL DE GRAFO
Un Grafo G es un par de conjuntos (V, E), donde V es un conjunto no vaco de elementos
llamados vrtices o nodos y E es un conjunto formado por pares no ordenados de elementos de
V, llamados lados o aristas. Se denota por G = (V, E). Cuando E est formado por pares
ordenados (es decir, importa cual de los 2 vrtices del par se coloca primero) de elementos de V,
sus elementos son llamados arcos y se habla de grafo dirigido o dgrafo: D = (V, E).

01 - 2006

3004597 Estructuras de Datos Modulo 10

Universidad Nacional de Colombia Sede Medelln

1.3 DEFINICIONES BSICAS

G = (X, A)
X = {Huelva, Sevilla, Cdiz, Crdoba, Mlaga, Granada, Jan, Almera}
A = {(H, S), (S, Ca), (S, Co), (S, M), (S, G), (Co, G), (M, G), (G, J), (G, A)}
(Se han usado abreviaturas en A para denotar los nombres de las ciudades)

1.3.1.

Orden del grafo G (nro. de vrtices).


Extremo inicial (origen, cola) y final (destino, cabeza) de un arco;
Concepto de ciclo o bucle.
Dos vrtices son adyacentes si existe un arco que los une.
Grafo conexo: Grafo en el cual es posible desde cualquier vrtice llegar a cualquier
otro vrtice presente en el grafo (aunque para ello haya que pasar por otros vrtices)
Grado de un vrtice (nmero de lados a los que est conectado el vrtice).
En dgrafos se habla de:
- Grado entrante (nmero de lados que llegan al vrtice)
- Grado saliente (nmero de lados que salen del vrtice)
La suma del grado entrante ms el saliente da el grado total del vrtice
Grafo regular (todos los vrtices son del mismo grado).
Grafo completo (todos los vrtices estn conectados entre s).
Grafo simple (no contiene ciclos y no hay ms de 1 lado entre un par de vrtices dado).
Concepto de Camino, Longitud y Distancia.

Concepto de camino o trayectoria


La longitud de un camino es el nmero de lados presentes en l.

01 - 2006

3004597 Estructuras de Datos Modulo 10

Universidad Nacional de Colombia Sede Medelln

La distancia entre dos nodos es la longitud del camino ms corto existente entre ellos
1.3.2.

Concepto de red

Sea G=(X, A) un grafo de orden n. Diremos que es una red si se cumple:

1.3.3.

G es conexo y no tiene ciclos.


Hay definido un valor numrico no negativo sobre cada uno de los lados del grafo, que
se denotar C, y que se llamar capacidad
Lados no orientados

Un lado (a,b) definido por los vrtices a y b es idntico al lado (b,a). Es decir el orden de los
vrtices no importa en la definicin del lado.

1.3.4.

Lados orientados

Un lado (a,b) definido por los vrtices a y b es diferente al lado (b,a). Es decir el orden de los
vrtices importa en la definicin del lado. El vrtice que aparece primero se denomina origen y
el otro destino.

01 - 2006

3004597 Estructuras de Datos Modulo 10

1.3.5.

Universidad Nacional de Colombia Sede Medelln

Cuantificacin de un lado

Se pueden asignar valores a los lados representando as atributos cuantitativos:

Intensidad de la relacin
Capacidad informativa del lado
Volmenes de flujo o trfico a travs del lado
Distancias entre nodos
Probabilidades de pasar informacin
Frecuencia de interaccin

1.3.6.

Matriz de adyacencia

Es una matriz de n x n (n= Nro de vrtices del grafo) en la cual se coloca un 1 si existe lado
entre los vrtices correspondientes (fila, columna).
Si el grafo es no dirigido se colocan unos tanto en la posicin (i,j) como en la (j,i).
En vez de un 1 tambin se puede colocar el signo +.
Para definir un grafo G, se debe proporcionar:
1. Los vrtices que lo componen
2. Los arcos que tiene el grafo
su matriz de adyacencia.

01 - 2006

3004597 Estructuras de Datos Modulo 10

Universidad Nacional de Colombia Sede Medelln

1
2
3
4

1
2
3
4
Matriz de adyacencia

1.3.6.1 La matriz de vrtices


Se utiliza adicionalmente cuando se desea guardar la posicin (x,y) en el plano cartesiano
de cada vrtice.

1
2
3
4

Y la matriz de adyacencia es:

1
2
3
4

1
0
0
0
0

2
1
0
0
0

3
0
1
0
0

4
0
1
1
0

Matriz de adyacencia

1.3.7

Puntos de corte

Vrtices que si se quitan desconectan la red

01 - 2006

3004597 Estructuras de Datos Modulo 10

1.3.8

Universidad Nacional de Colombia Sede Medelln

Lados de corte

Un lado que si se quita desconecta la red

1.3.9

Recorridos sobre grafos

Recorrer un grafo consiste en visitar (pasar) por cada uno de los nodos que son alcanzables a
partir de un nodo de inicio dado. Si el grafo es conexo entonces est garantizado que todos los
nodos sern visitados. Si el grafo es no conexo, por ejemplo con subgrafos s1 y s2, un recorrido
que inicie en un nodo s1 slo visitar todos los vrtices de s1 y ninguno de s2.

B
s1

01 - 2006

s2

3004597 Estructuras de Datos Modulo 10

Universidad Nacional de Colombia Sede Medelln

Un grafo no conexo con 2 subgrafos


Si se trata de un grafo dirigido (dgrafo), el recorrido se realiza a partir del concepto de "ser
alcanzable desde", es decir, suponga el siguiente dgrafo:

Si se inicia el recorrido en Z, se alcanzan a visitar todos los dems nodos (Q, W y R)


Si se inicia el recorrido en W no se pueden visitar otros nodos porque a partir de W no se puede ir
hacia otro vrtice. Igual sucede si se inicia en R.
Si se inicia en Q se alcanzan a visitar R y W pero no Z.
El recorrido se puede hacer de 2 maneras: DFS y BFS.
1.3.9.1 DFS (Depth First Search)
Literalmente traduce Bsqueda del Primero en Profundidad.
Consiste en lo siguiente: A partir de un vrtice inicial dado, determinar sus vrtices adyacentes
(recurdese que un vrtice es adyacente a otro si existe un lado definido entre ellos), de esos
vrtices adyacentes elegir uno que no haya sido visitado y a partir de all iniciar nuevamente el
recorrido DFS. Como puede verse se trata de una definicin recursiva.
Para ir controlando cuales vrtices ya han sido visitados se define un vector de banderas
(swithches) de tamao n (n = nro. de vrtices del grafo) el cual se inicializa todo en ceros. A este
vector se le llamar Visitados. Por lo tanto:
Si Visitados[i]=0 significa que el vrtice i no ha sido visitado.
Si Visitados[i]=1 significa que el vrtice i ya ha sido visitado.
El algoritmo es el siguiente:

  


       !#"$ %'&)(*&,+- $ ./,01%'023054 .!#623&" !#01.%'.7,.1/&38'&!9 $ 8'$ " .,/0
=
>'?3@A,B'>'?-CD ?13
:';-<
E F
G
,  @H JI1K9L5M N
 @H
M NE 
M N
M NO

01 - 2006

10

3004597 Estructuras de Datos Modulo 10

Universidad Nacional de Colombia Sede Medelln

1.3.9.2 BFS (Breath First Search)


Literalmente traduce Bsqueda del Primero en Anchura.
La diferencia con el recorrido DFS consiste en que: En el recorrido DFS no se visitan
inmediatamente todos los nodos adyacentes a un nodo, en el BFS por el contrario si se hace esto.
Luego de visitar todos los adyacentes de un vrtice dado, entonces se elige uno de ellos y se
contina de la misma forma.
Igualmente se maneja un vector Visitados para ir controlando el orden de impresin.
Se requiere manejar una cola para lograr el efecto de visita expuesto.
El algoritmo es el siguiente:

   


       !#"$ %'&)(*&,+- $ ./,01%'023054 .!#623&" !#01.%'.7,.1/&38'&!9 $ 8'$ " .,/0
QR ? :  < HHR HST-R 1U U ?3V-WD < 1X?-C3R HST R 
Y1
? CD <  ZST R [NT\ : > ] 
^_`M,a' ?
a
d*
=
>?1?HR HST-R 
< <Tb < c
:';-<
=
>'?3@eB'>'?-Cf ?1^
:';-<
E F
G
,  @H JI1K9L5M N


  @Hg
QR ? :  < @AHR HST R 
M NE 
M N

M NhY1
? CD < 
P
M N 

01 - 2006

11

3004597 Estructuras de Datos Modulo 10

Universidad Nacional de Colombia Sede Medelln

ANEXOS
A REFERENCIAS
1.

http://www.geocities.com/Athens/Acropolis/4329/puentes.htm

2.

http://www.analytictech.com/networks/Teoriadegrafos.pdf

3.

http://centros5.pntic.mec.es/ies.ortega.y.rubio/Mathis/Colores/4colores.htm

01 - 2006

12

You might also like