Professional Documents
Culture Documents
Un problema que intrigaba a sus habitantes era si exista un camino para poder cruzar todos los puentes pasando
una sola vez por cada uno. Si bien esto era solamente un entretenimiento dominical para muchos, en 1736 el
matemtico Leonhard Euler descubri y desarroll la teora de Grafos, con la cual pudo responder este interrogante.
Esta teora signific adems un gran avance para la matemtica.
La teora de Grafos actualmente se utiliza en diversos campos y tiene muchas aplicaciones, tanto en Ciencias
Sociales, Lingstica, Fsica, Qumica, Arquitectura y, tal vez lo que ms nos interesa a nosotros, en
Comunicaciones, Ingeniera e Informtica.
Los grafos son muy utilizados para modelar problemas pertenecientes a distintas disciplinas.
En ellos, como en todo modelo, se representan las caractersticas relevantes del problema o la aplicacin del mundo
real y se ignoran los detalles irrelevantes.
Para comenzar con una idea de lo que es un grafo, pensemos que es un conjunto de puntos o vrtices unidos por
aristas, que pueden tener sentido o no.
Ejemplo
Supongamos que nos interesa encontrar la distancia mnima entre dos ciudades dadas.
Las ciudades sern los vrtices del grafo y las carreteras que la comunican se representarn como aristas.
Unidad 7
Tenemos que encontrar el camino mnimo entre dos vrtices. Para ello existen algoritmos que nos permiten hacerlo.
A modo de ejemplo, tomamos el grafo de las autopistas principales del oeste de Canad:
De mismo modo, para los diseos urbansticos y de transportes tambin se utilizan grafos que a travs de la
simulacin por computadora de sistemas de trnsito (desde redes nacionales, calles en una ciudad e incluso
circulacin de puentes o cruce de carreteras) tienen por objetivo detectar puntos negros para sugerir cambios o
nuevos sistemas.
Tambin podemos pensar que en un pueblo, la ubicacin del cuartel de bomberos debe hacerse de forma tal de
minimizar las distancias o recorridos hacia el resto del pueblo. Y esto se logra mediante el anlisis de un grafo que
modeliza tal situacin.
Una de las primeras aplicaciones por computadora de los grafos se orient a la planificacin de proyectos para
describir, representar y analizar situaciones muy complejas que constan de muchas actividades relacionadas entre s.
Ejemplo
Consideremos una compaa constructora de casas prefabricadas que se trasladan y se asientan sobre cimientos de
hormign en las parcelas adquiridas al efecto.
El proyecto comienza por la seleccin y adquisicin de un terreno edificable y por la seleccin del tipo de casa que
se desee (con la preparacin de planos).
Luego se van encadenando las actividades, algunas de las cuales es necesario completar antes de comenzar la
siguiente tarea.
El grafo de tareas resultante es el siguiente:
Unidad 7
Con este grafo, se pueden identificar las tareas crticas, es decir aquellas cuya demora en su inicio afecta la
duracin del proyecto total, y obtener con ellas un camino crtico.
P
A
0.10
P
P
0.05
0.05
.05
0.05
0.10
D
0.10
0.10
P
Tambin hay un tipo especial de grafos que se llaman rboles y tienen muchas aplicaciones. Por ejemplo, con ellos
se puede representar el organigrama de una empresa, los niveles sintcticos de una frase, utilizar rboles como
estructuras de datos en informtica, y muchas aplicaciones ms.
Ahora que hemos visto algunas aplicaciones de grafos y nos planteamos ciertas cuestiones como la de los puentes
de Konigsberg o cmo hallar un camino mnimo, veamos las definiciones y propiedades principales de los grafos,
dgrafos y rboles.
Unidad 7
Un grafo es una estructura formada por vrtices unidos a travs de aristas y se utiliza para representar
determinadas situaciones. Formalmente se define como una estructura algebraica de la siguiente forma:
Un grafo es una terna G = ( V ; A ;
) siendo:
V: el conjunto de vrtices V
A: el conjunto de aristas A
: la funcin de incidencia : A
V(2)
Ejemplo:
V = {v1, v2, v3, v4, v5}
(a1)={v1,v2} ,
(a2) ={v3} ,
(a3)={v4,v2} ,
(a4)={v1,v3 } ,
(a5)={ v1,v2}
a5
a1
a3
v2
v1
v4
a2
a4
v3
v5
VRTICES ADYA
ADYACENTES:
ACENTES: vi es adyacente a vj
ak
Es decir son aquellos vrtices unidos por alguna arista.
A tal que
(ai) =
(aaj) siendo ai
aj
Unidad 7
Es importante observar que en la definicin de grafo no se especifica la longitud o forma de las aristas ni su
posicin, como as tampoco el orden o ubicacin de los vrtices.
Por ello, NO EXISTE un NICO DIAGRAMA que represente un grafo.
El mismo grafo del ejemplo anterior puede representarse por este otro diagrama
V5
V4
a2
a5
a3
a1
V1
a4
V3
V2
...y de muchas formas ms, pero siempre respetando las incidencias entre aristas y vrtices.
Cuando se quieren programar algoritmos que utilizan grafos se necesita una representacin no grfica que pueda
utilizarse en la computadora, por ello a continuacin veremos la forma matricial de los grafos. Ellos pueden
representarse a travs de dos matrices: la de adyacencia y la de incidencia.
Unidad 7
MATRIZ DE ADYACENCIA:
Sea un grafo G = ( V ; A ;
si v es adyacente a v
i
j
0 si v no es adyacente a v
i
j
Ejemplo:
0 1 0 1 1
a6
2
a3
Ma(G) =
a7
a4
a2
0 1 0 1 1
1 1 1 0 1
1 0 1 1 0
a8
a1
1 0 1 1 0
a5
5
MATRIZ DE INCIDENCIA:
Sea un grafo G = ( V ; A ;
si v i es incidente a a j
0 si v i no es incidente a a j
Ejemplo:
1 1 0 1 0 0 0 0
1 0 1 0 0 1 0 0
Para el mismo grafo anterior:
Mi(G) = 0 0 1 0 0 0 1 1
0 0 0 1 1 1 1 0
0 1 0 0 1 0 0 1
Unidad 7
Otro concepto muy importante y til en relacin con los grafos es la cantidad de aristas incidentes en un vrtice. Por
ejemplo, si los vrtices son computadoras unidas en red, queremos conocer con cuntas se conecta cada una. Ello
se define como grado o valencia de cada vrtice. Veamos la definicin:
Sea un grafo G = ( V ; A ; )
La funcin grado: g: V
N0 tal que g(vi) = cantidad de aristas incidentes en vi
En el ejemplo anterior:
U
a5
g(v1) = 3
g(v2) = 3
g(v3) = 3
g(v4) = 1
g(v5) = 0
a1
a3
v2
v1
v4
a2
a4
v3
v5
g(vi)= 2 A
consulta con el
Unidad 7
Ejemplo:
Cul es la cantidad total de vrtices de un grafo que tiene 2 vrtices de grado 4, 1 de grado 3, 5 de grado 2 y el
resto colgantes (de grado 1) sabiendo que en total hay 12 aristas?
Solucin:
Usando la propiedad anterior: 2 4 + 1 3 + 5 2 + x 1 = 2 12
0B
Resolviendo: 21 + x = 24
V = 11
Supongamos que tenemos un grafo cuyos vrtices representan distintas ciudades y las aristas son las carreteras que
las unen. Puede interesarnos encontrar un camino entre dos ciudades dadas, aunque entre ellas no exista una
carretera que las una, pero s pasando en forma intermedia por otras ciudades. Ello nos lleva al concepto de
caminos en un grafo.
CAMINO: sucesin de aristas adyacentes distintas.
CICLO o circuito: camino cerrado. El vrtice inicial coincide con el final.
LONG
del camino: cantidad de aristas que lo componen.
CAMI
LE: si todos los vrtices son distintos.
CAMINO ELEMENTA
ELEMENTAL:
TAAL: si todas las aristas son distintas
Ejemplo:
e
c
g
f
Unidad 7
Si queremos sealar:
a) Grado de cada vrtice
b) 3 caminos de a hacia f
c) Ciclos de longitud 3, 4, 5 y 7
Tenemos que:
Muchas veces resulta til nombrar los vrtices y las aristas. En el ejemplo anterior quedara:
C1= (a; 1; b; 2; c; 3; f)
C2= (a; 5; d; 6; c; 4; e; 8; e; 9; f)
Long(C2) = 5
a
4
c
10
7
Te animas a indicar otro?
8
c) Indiquemos algunos ciclos:
C1=(a; 1; b; 2; c; 6; d; 5; a)
Long(C1) = 4
2
c
3
f
10
Unidad 7
C2=(c; 4; e; 9; f; 3 c)
Long(C2) = 3
4
c
10
C3=(a; 1; b; 2; c; 6; d; 7; d; 5; a)
Long(C3) = 5
4
c
e
9
3
f
10
C4=(a; 1; b; 2; c; 4; e; 9; f; 3; c; 6; d; 5; a)
Long(C4) = 7
8
1
a
2
c
6
d
3
f
10
7
Sintetizando:
Un grafo
grafo esesuna
unaestructura
estructura
formada
formada
porpor
un conjunto
un conjunto
de vrtices,
de vrtices,
un conjunto
un conjunto
de
s y arista
una
de
unaaristas
funcin de incidencia.
Los vrt
vrtices
ices que
queestn
estnun
idos
unidos
porpor
alguna
alguna
arista
ta aris
se dicen
dicenadyacentes,
adyacentes,
laslas
aristas
aristas
queque
itenetienen
n
un vrtice en comn son adyacentes.
En un grafo puede haber aristas paralel
paralelas,
las, bucles,
bucles,
vrtices
vrtices
aislados,
aislados,
etc.
etc.
Losgrafos
grafossesepueden
puedenrepresentar
representarforma
en
en forma
grfica a travs
a travs
de dia
gramas,
de diagramas,
y enforma
y en forma
matricial aa travs
travs de
de las
las matrices
matrices de
de adyacencia
adyacencia yy de
de incidencia
incidencia.
matricial
.
El grado
gradodedeun
unvrt
vrtice
ice es la
escant
la cantidad
idad de aristas
de aristas
queinciden
que inciden
en l. Laen
suma
l. La
de suma
todos los
de todos los
grados de
de los
los vrtices
vrtices de
de grafo
un grafo
es igual
al doble
la cantidad
de aristas.
grados
un
es igual
al doble
de lade
cantidad
de aristas.
Un camino entre dos vrtices degrafo
un grafo
es una
essecuencia
una secuencia
de aristas
deadyacentes
aristas adyacentes
entr
e
entre
camino
lo forman.
dichos vrtices. La longitud de un camin
o es la cantidad de aristas queforman.
Los ciclos son caminos cerrados, es rdecir
deci
que
e comienzan
comienzan
qu
yyterminan
terminanen
enel
elmismo
mismoevrtice
vrtic
.
10
Unidad 7
A continuacin, veremos algunos tipos de grafos especiales: los grafos regulares, los completos y los bipartitos:
GRAFO K-REGULAR:
N0
V: g(v) = k
Sea n
v, w
V: v
A:
(a) = {v, w}
O sea, los Kn son grafos simples de n vrtices en los cuales cada vrtice es adyacente a todos los
dems.
K3
K4
K5
Ejercicio:
En una fiesta hay 8 personas que en un determinado momento llenan sus copas de sidra y brindan entre ellos,
todos con todos. Cuntos choques de copas hay en total?
Solucin:
Podemos considerar en K8, donde los vrtices son las personas y las aristas representan los choques de copas, ya
que cada persona choca su copa con todos los dems excepto con s mismo.
Utilizando la propiedad:
g(vi) = 2 A
11
Unidad 7
8 7=2
A = 28
2)
GRAFOS BIPARTITOS:
Sea un grafo simple G = (V; A; ) con V ={v1, v2, ... , vn} y A ={a1, a2, ... , am}
Se dice que G es BIPARTITO
ai
A:
V = V1
(ai) = {v
vj , vk} con vj
V2 con V1
V1
vk
V2
V2 o vk
V1
V1
vj
V2 =
V2
Es decir, los grafos BIPARTITOS son grafos cuyo conjunto de vrtices est particionado en dos subconjuntos no
vacos y disjuntos: V1 y V2 tales que los vrtices de V1 pueden ser adyacentes a los vrtices de V2 pero los de un
mismo subconjunto no son adyacentes entre s.
Ejemplo:
V1 = {1, 2, 3}
V2 = {4, 5}
4
2
5
3
Tengamos en cuenta que la definicin no exige que deba haber arista entre todo par de vrtices (uno de V1 y el
otro de V2) sino que pide que las aristas que existan deben estar comprendidas entre un vrtice de cada
subconjunto. En este ejemplo, no hay arista entre 2 y 4, lo cual estaba permitido.
12
Unidad 7
Ejemplos:
K3,3
K3,2
Dado un grafo G = (V; A; ) , se denomina subgrafo al grafo G = (V; A ; /A) tal que
/A es la funcin
restringida a A.
~
Si se suprime un vrtice v, el subgrafo restante es G v
~
Si se suprime una arista a, el subgrafo restante es G a
Veamos algunos y tengamos en cuenta que un sugrafo es parte de un grafo
13
Unidad 7
e
c
G1:
G2:
c
d
~
G1 = G B siendo B = { a, e, g }
e
g
~
G2 = G c
Muchas veces, especialmente en el diseo de redes de comunicacin, es importante conocer si dos nodos
(vrtices) de la red estn conectados, es decir si existe algn camino entre ambos. Asimismo, en el diseo de
dichas redes se trata de evitar los puntos de corte, es decir aquellos nodos que si tienen algn problema de
funcionamiento interrumpen la comunicacin entre los otros (como el vrtice c del ejemplo anterior). Estos son
conceptos de grafos que veremos a continuacin:
RELACION DE CONEXIN:
Dado un grafo G = (V; A; ) , en el conjunto de vrtices se define la siguiente relacin:
camino de vi a vj vi = vj
vi R vj
14
Unidad 7
Esta relacin es de equivalencia y por lo tanto pueden hallarse las clases de equivalencia, a las que se denomina
COMPONENTES CONEXAS.
GRAFOS CONEXOS:
Un grafo es conexo si y slo si tiene una nica componente conexa.
Es decir, un grafo es conexo si y slo si existe algn camino entre todo par de vrtices.
Ejemplo 1:
x
z
y
Ejemplo 2:
Este grafo NO es conexo pues no existe ningn camino entre los vrtices a y c.
c
a
15
Unidad 7
Sin embargo, est formado por dos subgrafos que cada uno de ellos s es conexo. Se llaman COMPONENTES
CONEXAS:
La otra:
d
c
f
Continuemos con definiciones que nos permiten reconocer caractersticas en los grafos.
~
G v es no conexo
V es istmo
A es puente
~
G a es no conexo
A es desconectante
~
G B es no conexo
B, C no es desconectante.
O sea, para ser conjunto de corte debe estar formado por el mnimo nmero de aristas, o bien solamente
por las necesarias para desconectar al grafo.
CONECTIVIDAD
Es el menor nmero de vrtices cuya supresin desconecta al grafo.
16
Unidad 7
Ejemplos:
t
x
z
y
En los grafos conexos, tienen especial importancia algunos caminos que se denominan Eulerianos y otros
Hamiltonianos. Con ellos se pueden resolver problemas como el de los puentes de Konigsberg que citamos al
principio de esta unidad. Los veremos a continuacin:
GRAFOS EULERIANOS:
Se denomina c
ciclo que pasa por
uleriano al camino que pasa por todas las aristas una sola vez; y ciclo euleriano al
las aristas una sola vez.
La condicin necesaria y suficiente para que en un grafo exista camino euleriano es:
El grafo debe ser conexo, y
todos los vrtices deben tener grado par, o a lo sumo dos grado impar.
La condicin necesaria y suficiente para que en un grafo exista ciclo euleriano es:
El grafo debe ser conexo, y
todos los vrtices deben tener grado par.
17
Unidad 7
Ejemplos:
Ejemplo
Pensemos que queremos indicar un ciclo de Euler en el siguiente grafo.
A
1
11
6
9
B
10
7
C
5
D
E
3
4
F
18
Unidad 7
Se denomina c
a vez por
ce.
Importante: no necesariamente va a pasar por todas las aristas, pues en muchos casos repetira vrtices y no sera
hamiltoniano.
Ejemplo:
En el mismo grafo anterior, marquemos algn ciclo hamiltoniano.
Un posible ciclo hamiltoniano es: ( A ; 1 ; B ; 2 ; D ; 3 ; F ; 4 ; E ; 5 ; C ; 6 ; A )
ISOMORFISMOS DE GRAFOS:
Dados dos grafos: G1 = (V1; A1;
1)
y G2 = (V2 ; A2 ;
2)
f: V1
tales que:
V2
A1 :
2(
g : A1
A2
g(a) ) = f( 1(a))
u, v
V1 : {u, v}
A1
{ f(u), f(v) }
A2
19
Unidad 7
Esto significa que si en el primer grafo hay una arista entre dos vrtices, los correspondientes a estos vrtices en el
segundo grafo tambin deben estar unidos por una arista.
En pocas palabras, dos grafos son isomorfos cuando tienen la misma estructura, es decir sus vrtices estn
relacionados de igual forma aunque estn dibujados de manera distinta.
Condiciones necesarias para que dos grafos sean isomorfos:
Deben tener la misma cantidad de vrtices.
Deben tener la misma cantidad de aristas.
Deben tener los mismos grados de los vrtices.
Deben tener cadenas de las mismas longitudes.
Si uno tiene ciclos, el otro tambin debe tenerlos.
Etc.
Observacin: las condiciones mencionadas son necesarias (es decir que s o s se deben cumplir para que los grafos
sean isomorfos) pero no son suficientes ( o sea que aunque se cumplan puede ser que los grafos no sean
isomorfos)
Para estar seguros que dos grafos son isomorfos, una condicin suficiente es que tengan la misma matriz de
adyacencia.
Por ejemplo:
Sean los grafos:
G1:
y G2:
A
C
20
Unidad 7
Por ejemplo entre A y B hay una arista en G1, y tambin hay una arista entre f(A) y f(B) en G2.
Lo mismo habra que comprobar para cada arista. Podemos comprobarlo para todas las aristas juntas con la matriz
ORDENANDO CONVENIENTEMENTE los vrtices, de acuerdo a la funcin biyectiva definida entre los vrtices
A
B
C
D
A
1
1
1
0
B
1
0
1
1
C
1
1
0
0
D
0
1
0
0
Y
Z
X
W
Y
1
1
1
0
Z
1
0
1
1
X
1
1
0
0
W
0
1
0
0
Como las matrices son iguales podemos asegurar que G1 es isomorfo a G2.
Importante: Si dadas dos matrices de adyacencia correspondientes a dos grafos, ellas no son iguales, no significa
que los grafos no sean isomorfos, pues tal vez reordenando una de ellas se pueda lograr que sean iguales. Para
poder afirmar que dos grafos no son isomorfos hay que mostrar alguna propiedad estructural no compartida o bien
probar que todos los ordenamientos posibles de las matrices no coinciden. Esto ltimo no es prctico pues como
sabemos la cantidad de ordenamientos posibles de n elementos es igual al factorial de n, lo cual es una cantidad
bastante elevada.
Sintetizando:
Los grafos
grafosreregulares,
gulares, loslos
grafos
grafos
completo
completos
s Kn y los grafos
grafosbipartitos
bipartitosyylos
los
grafos
grafos
bipartitos
bipartitos
completosKn,m son tipos especiales de gra
grafos.
fos.
Un subgrafo
subgra
fo esesuna
unaparte
partededeunungra
fografo
dado,dado,
sse
e puede obtener suprimiendo vrtices o aristas.
Los grafos
grafosconexos
conexosson
sonaquellos
aquellosen
enlos
losque
queexiste
existe
gnalcamino
algn camino
entre todo
entre
r pa
de
todo
vrtices.
par SiSi
grafo
noesesconexo
conexotiene
tiene
componentes
conexas.
un gra
fo no
mponentes
co
conexas.
Un istmo es un vrtice cuya supresin
desconecta
desconecta aa un
un gra
grafo
fo conexo
conexo.
.
Un puente es una arista cuya supresin desconecta
grafo
a un
conexo
grafo. conexo.
Un con
conjunto
juntodesconectante
desconectante
es
un
es
un
conjunto
con
juntodede
aristas
aristas
cuya supresin desconecta a unfogra
grafo
necesa
rias para
denomina
conexo.Si contiene solamente las
necesarias
para desconectar
desconectar al
grafo,
al grafo,
se se
denomina
con
juntodede
corte.
conjunto
corte.
Un camino o ciclo se dice Euleriano si pasa por todas las aristas una .sola
Puede
vez.repetir
vez
vrtices. La condicin necesaria y
paraexista ciclo de Euler es que el grafo
rte
a que
par
sea conexo y todos los vrtices tengan gradoPara
par.camino de Euler puede haber
s do
dos
vrticesde
degra
grado
impar.
vrtices
do impar.
Un cam
camino
ino oociclo
ciclo
sese
dice
dice
Ham
Hamiltoniano
iltoniano si pasa
si pasa
por to
dpor
os los
todos
vrt
vrtices
ices una
unaso
sola
la vez.
vez.
En En
este
este
casono hace
hacefalta
faltarecorrer
recorrertodas
todaslas
lasarista
aristas
casono
s
Dos grafos
Dos
grafosson
sonisomor
isomorfos
fos si estructuralmente
si estru
cturalmente son
son elel mismo
mismo
grafo
grafo
con con
distint
distinto
o nom
nombre.
bre.
Formalmente debe existir una
funcin
biyectiva
ambos
conserve
la. estructura.
funcin
biyectiva
entreentre
ambos
que que
conserve
la estructura
21
Unidad 7
Antes de continuar con el prximo tema, te proponemos que realices los ejercicios correspondientes a esta primera
parte de la unidad.
Hasta ahora hemos analizado los grafos no dirigidos, pero para muchas aplicaciones es necesario indicar el sentido
de las aristas.
Pensemos que las aristas representan calles de un pueblo y los vrtices son las esquinas. Para poder obtener el
camino ms corto entre dos esquinas dadas sin transitar en contramano, necesitamos conocer el sentido de las
calles.
Por ello vamos a definir los dgrafos o grafos dirigidos:
DGRAFOS
Un dgrafo es una terna G = (V ; A ; )
siendo: V el conjunto de vrtices V
: A
VXV
Observaciones:
La funcin de incidencia le hace corresponder a cada arista un PAR ORDENADO de vrtices, al primero se lo
llama EXTREMO INICIAL de la arista, y el segundo es el VERTICE FINAL.
Los caminos y los ciclos se definen de la misma forma que para los grafos no dirigidos, pero hay que respetar
el sentido de las aristas.
Si todos los vrtices son distintos se trata de un camino simple.
Si todas las aristas son distintas, se trata de un camino elemental.
Ejemplo:
V = {w1,w2,w3,w4}
(a1)=(w1 ; w2)
(a4)=(w2 ; w1)
A = {a1,a2,a3,a4,a5,a6}
(a2)=(w2 ; w3)
(a5)=(w4; w1)
(a3)=(w4 ; w4)
(a6)= (w2 ; w3)
22
Unidad 7
a3
a4
w3
a2
a5
w1
a1
w4
w2
a6
En el ejemplo anterior:
a3
a4
w3
a2
w1
a1
a5
w4
w2
a6
g+(w1) = 2 ; g+(w2) = 1 ;
g+(w3) = 2
g-(w1) = 1 ; g-(w2) = 3 ;
g-(w3) = 0
; g-(w4) = 2
g(w1) = 3 ; g(w2) = 4 ;
g(w3) = 2 ;
g(w4) = 3
gN(w1) = 1
; gN (w3) = 2
; gN (w2) = -2
; g+(w4) = 1
; gN (w4) = -1
23
Unidad 7
Propiedades:
1)
g+(vi)= A
2)
g-(vi)= A
3)
g(vi)= 2 A
4)
gN(vi)= 0
Todas estas propiedades se pueden demostrar. Te proponemos que lo intentes y si tienes dificultades puedes
recurrir al tutor.
En los dgrafos puede haber vrtices especiales de los que no sale ninguna arista y se denominan pozos. Otros, a
los que no les llega ninguna arista, se denominan fuentes.
Veamos las definiciones formalmente:
POZO: es un vrtice v tal que g-(v) = 0
O sea, v no es extremo inicial de ninguna arista.
FUENTE: es un vrtice v tal que g+(v) = 0
O sea, v no es extremo final de ninguna arista.
Los pozos y las fuentes son importantes en muchos casos. Por ejemplo si un camino conduce a un pozo, ya no se
puede salir de all. Cuando estudiemos las mquinas de estado finito en la ltima unidad, veremos que los pozos
son los sumideros a los que se va cuando la palabra ingresada no es aceptada por la mquina.
Ma(G) = (( mij ))
si a
A : (a)
(v ; v )
i j
0 en caso contrario
24
Unidad 7
Ejemplo:
a6
a9
a3
a7
Ma(G) =
a8
a1
1
a4
a2
0 1 0 1 1
0 1 1 1 0
0 0 0 0 0
0 0 1 0 0
0 0 1 1 0
a5
5
MATRIZ DE INCIDENCIA:
Sea un dgrafo G = ( V ; A ; ) con V = { v1, v2, , vn } y A = { a1, a2, , am }
Si no tiene bucles ni aristas paralelas, se define la matriz de incidencia de G a una matriz de nxm:
1 si v i es vrtice inicial de a j
Mi(G) = (( mij )) tal que mij = - 1 si v i es vrtice final de a j
0
si v i no es extremo de a j
Ejemplo:
Para el mismo dgrafo anterior pero sin el bucle:
Mi(G) =
1
1
0
0
0
1
0
0
0
1
0
1
1
0
0
1
0
0
1
0
0
0
0
1
1
0
1
0
1
0
0
0
1
1
0
0
0
1
0
1
25
Unidad 7
Ejemplo:
Dgrafo:
Grafo asociado:
CONEXIDAD EN DGRAFOS
Todo dgrafo cuyo grafo asociado sea conexo, se denomina DGRAFO CONEXO.
Todo dgrafo en el que exista algn camino entre todo par de vrtices se denomina DGRAFO
FUERTEMENTE CONEXO
Ejemplo 1:
Ejemplo 2:
B
26
Unidad 7
GRAFO ASOCIADO
Pero el dgrafo NO es FUERTEMENTE CONEXO, ya que, por ejemplo, no existe camino alguno que salga del vrtice
C y llegue al vrtice B.
Lo que s hay son dos COMPONENTES FUERTEMENTE CONEXAS:
Se definen de forma similar que para grafos no dirigidos, pero hay que respetar el sentido de las aristas.
Condicin necesaria y suficiente para que exista ciclo de Euler en un dgrafo:
v V : g+(v) = g-(v)
Ejemplo:
En este dgrafo existe ciclo de Euler:
C = (A;1;B;2;D;3;C;4;B;5;C;6:A)
y un posible ciclo de Hamilton:
C = (A;1;B;2;D;3;C;6;A)
4
C
D
3
27
Unidad 7
ISOMORFISMO DE DGRAFOS
El concepto de isomorfismo de dgrafos es igual que para grafos, pero hay que tener en cuenta la direccin de las
aristas, es decir el grado positivo y negativo de cada vrtice y, por lo tanto eso debe respetarse para la asignacin,
es decir la correspondencia debe establecerse entre los vrtices del mismo grado positivo o negativo.
Ejemplo:
5
D1
D2
3
V2 tal que
Matriz de D1
1
2
3
4
5
6
1
0
0
0
0
0
0
Matriz de D2
2
1
0
1
0
1
0
3
0
0
0
0
0
0
4
1
0
1
0
1
0
5
0
0
0
0
0
0
6
1
0
1
0
1
0
A
D
B
E
C
F
A
0
0
0
0
0
0
D
1
0
1
0
1
0
B
0
0
0
0
0
0
E
1
0
1
0
1
0
C
0
0
0
0
0
0
F
1
0
1
0
1
0
Como las matrices son iguales, entonces los dgrafos son isomorfos.
28
Unidad 7
A continuacin, estudiaremos un tipo especial de grafos que se utilizan mucho en computacin, especficamente en
Estructuras y Bases de Datos. Son los denominados rboles.
Ejemplos:
De los siguientes grafos son rboles nicamente G2 y G4 pues G1 tiene un ciclo y G3 no es conexo.
G1
G2
G3
G4
29
Unidad 7
Ejemplo:
RBOLES DIRIGIDOS
Un dgrafo se denomina
De los rboles dirigidos nos interesa estudiar los rboles con raz.
El rbol con raz es un rbol dirigido en el cual el grado entrante (positivo) de cada vrtice es igual a 1,
salvo un nico vrtice con grado positivo igual a cero, llamado raz.
Ejemplo: De los siguientes rboles dirigidos tienen raz los dos ltimos.
30
Unidad 7
Ejemplo:
a
b
31
Unidad 7
n(v) = n(p) + 1
ARBOLES N-ARIOS
Un rbol con raz es n-ario
v V: g-(v) n
Es decir, cada vrtice puede tener a lo sumo n hijos.
Sea G = ( V ; A ; ) un rbol con raz r. Sea v V, se llama subrbol con raz v, y se indica T(v),
al rbol que consta de v, todos sus descendientes y las aristas entre ellos.
32
Unidad 7
RECORRIDOS DE RBOLES
Recorrer un rbol significa nombrar todos los vrtices del rbol siguiendo un determinado orden.
Ello es muy importante si consideramos una base de datos de forma arborescente. Cada vrtice del rbol es un
nodo de informacin, o sea un registro de la base. Por ejemplo, si tenemos una base de datos de clientes, cada
nodo representa a un cliente, tiene su nmero de cliente, apellido, nombre, direccin, etc. Para poder tener un
listado de todos los clientes, debemos poder recorrer el rbol, nombrando a cada cliente una vez.
Como veremos hay varias formas de hacerlo.
Las siguientes son las definiciones recursivas de los recorridos de rboles:
ORDEN PREVIO O PREORDEN
ORDEN SIMETRICO
O IN-ORDEN
ORDEN POSTERIOR O
POST-ORDEN
Ejemplo:
a
e
e
33
Unidad 7
34
Unidad 7
2
2) Luego viene el 4 y lo guarda tambin:
4
2
3) Lo mismo ocurre al ingresar el 3:
3
4
2
4) Pero al ingresar el + , como es un operador, extrae los dos ltimos elementos de la pila, en este caso, entre el
4 y el 3, los opera y dicho resultado lo coloca en la pila:
3
4
2
7
2
9
7
2
2
9
7
2
3
2
9
7
2
35
Unidad 7
6) Cuando ingresamos el
8
9
7
2
7) Con el - hace lo mismo, toma el 9 y el 8, los resta y el resultado lo pone en la pila:
1
7
2
8) Al ingresar el signo , opera los dos ltimos que hay ahora, el 7 y el 1, el resultado lo coloca en la pila:
7
2
9) Por ltimo, con el signo / hace lo mismo, operando el 2 y el 7, y quedando el resultado final en la base de la
pila:
0.2857
Sea la expresin: 5 3 - 2
a)
6 28
d) Es balanceado?
e)
Recrrelo en preorden.
f)
36
Unidad 7
Tambin los rboles tienen mltiples usos, ya que con ellos se pueden representar datos de una manera
organizada. Por ejemplo, los organigramas de las organizaciones son rboles dirigidos con raz, y el hecho de
que el grado positivo (entrante) de cada nodo o vrtice sea 1 significa la unidad de mando.
Si no tienes dudas sobre los temas que abarca esta Unidad, te invitamos a iniciar el estudio de la ltima unidad del
Programa.
37
Unidad 7