Tema2 Fundamentos y aplicaciones de la teoria de grafos. Diagramas en árbol

Anuncio
Tema2
Fundamentos y aplicaciones de la teoria de
grafos. Diagramas en árbol
Tema 2. grafos
Indice:
1.Introducción y definiciones
1.1.Introducción
1.2. Grafo simple
1.3.Multigrafo de orden p
1.4.Grafo dirigido
1.5.Redes
1.6. Orden, tamaño y grado de incidencia.
1.7 Cadenas y ciclos
1.8 Caminos y circuitos
1.9 subgrafos
2. Grafos conexos
2.1 Definición grafos conexos.
2.2 Caracterización de los grafos conexos.
Grafo orientado fuertemente conexo
3. Grafo euleriano, puentes de könisguer.
3.1 El probrela de los puentes de Krönisguer
3.2 Grafo euleriano y semieuleriano
4. grafos hamiltonianano
5 Grafos planos
6. Diagramas de árbol.
7. Matrices asociadas a un grafo
2
Tema 2. grafos
1.-INTRODUCCIÓN
La teoría de grafos nació como una rama de la Topología, y hoy en día se ha
convertido en una herramienta matemática indispensable en campos muy diversos.
De forma general puede decirse que los grafos se utilizan par representar las
relaciones entre los elementos de un conjunto.
Mediante los grafos podemos resolver y plantear numerosos problemas reales de la
vida diaria, como pueden ser de circulación (aérea, carreteras, de gas...) o de redes
(informáticas, eléctricas...). Los grafos son usados en campos tan dispares como pueden ser
la Química, Genética, Informática, Teoría de Sistemas.
2. DEFINICIONES
1.1.GRAFO SIMPLE
Definición1: Un grafo simple es un par (V,E), donde V es un conjunto de
elementos, y E es grupo de pares de elementos de V, donde no se permite la repetición de
ninguno y no importa la ordenación del par de elementos.
E={ej=ej1,ej2: ej1, ej2V}
Ejemplo: V={1,2,3} E={{1,2},{2,3}}
1
Puede representar las conexiones aéreas entre 3
ciudades, ordenadores conectados por red, o los números del 1 al 3
cuyas diferencias tengan modulo 1.
2
3
Elementos de un grafo simples:
 Un vértice o nodo son cada uno de los elementos de V
 Ejes o aristas son cada una de las uniones entre dos pares de elementos
de V(vértices); son las parejas de V que forman E.
 Vértices adyacentes: Dos vértices i, j V son adyacentes si están
conectados por algún eje  {i,j} ó {j,i} E
 Bucle: Cuando en un eje los extremos coinciden, {i,i}.
Tipos de grafos:
 Grafo simple: cuando no contiene ningún bucle.
 Grafo nulo: cuando no contiene ejes, E=
 Grafo completo cuando tiene todos los ejes posibles, incluyendo los
bucles.
 Grafo simplemente completo cuando todos los vértices son adyacentes,
el grafo tiene todos los ejes excepto los bucles
3
Tema 2. grafos
Grafo Nulo
Grafo completo
Grafo simplemente completo
1.2.MULTIGRAFO DE ORDEN P
Definición: Un p-grafo es un par (V,E) donde V es un conjunto de elementos y E es
un conjunto de pares de V, donde el orden de los parejas no importa, y donde una pareja
puede aparecer un máximo de p veces en E.
E={ej={ej1,ej2}, ej1, ej2E : I(ej)=vecesj1p j}
Con esta definición un grafo simple es un 1-grafo.
Los elementos de los p-grafos son los mismos de los grafos simples.
Un ejemplo clásico es el multigrafo de orden 2 que pretende estudiar los 7 puentes
de Königsberg(Prusia) que une las orillas A,C y dos islas B,D:
e6
B
e3
e2
A
V={A,B,C,D}
C
E={(A,B),(A,B),(A,D),(A,D),(A,C),(B,C),(D,C)}
e1
e4
e5
e7
D
La mayoría de autores coinciden en considerar el nacimiento del nacimiento del
grafo cuando Euler(S XVIII) estudiaba este 2-grafo como pasatiempo, viendo la forma de
cruzar todos los puentes sin pasar dos veces por el mismo.
4
Tema 2. grafos
1.3.GRAFO DIRIGIDO U ORIENTADO
A veces las relaciones entre los vértices no son simétricas y no es equivalente
{ei,ej} a {ej,ei} como era en el caso de los p-grafos. Por ejemplo la relación de “hijos de”,
“divisores de” no tienen esa bidireccionalidad; surge así los grafos orientados.
Definición: Grafo orientado es un par (V,A) donde V es un conjunto de elementos
y A es un conjunto formado por parejas de elementos de V, donde si importa el orden de
los elementos del par, siendo distinto {ei,ej} a {ej,ei}con ej y ei pertenecientes a V.
Ejemplo: V={a,b,c,d} A={(a,b),(b,a),(d,b),(c,b)}.
En los grafos orientados el eje se llama arco. Arco es cada par de elementos que
forma parte de A. Los demás elementos son los mismos que en grafos no oriebtados
Todo grafo no orientado se puede considerar orientado si a cada eje {i,j} lo
sustituimos por dos arcos {i,j} y {j,i}. i
j i
j
Dado un arco {i,j}, i será el vértice inicial y j el vértice final. Se dice que i es
predecesor de j y j sucesor de i.
ij
1.4. OPERACIONES Y APLICACIONES EN LOS GRAFOS.
1.4.1. Isomorfismo
Muchas veces tenemos grafos (o p-grafos) de apariencia diferente, pero que nos dan
la misma información. La diferencia entre estos reside en la distinta numeración de ejes y/o
vértices. Cuando tenemos dos grafos con misma información decimos que estos son
isomórficos. Veamos como podemos determinar si dos grafos so isomórficos:
Isomorfismo de grafos: dos grafos son isomórficos si existe alguna aplicación
:V  V´ que cumpla que :
Si {ei,ej}E  {(ei),(ej)}E´
1.4.2 Aplicaciones Adyacente, Antecesor y Predecesor.
La aplicación adyacente  es una aplicación de los grafos (p-grafo) dirigidos o no.
Esta aplicación nos relaciona los vértices que están unidos a otro dado mediante un eje
(arco si es grafo dirigido).
: V
ei
(ei,ej}εA)
V
ej
: (ei)={ej : (ej,ei}ó (ei,ej)E}
(En los p-grafos nos tienen que decir las veces que
5
Tema 2. grafos
Así como la anterior aplicación válida tanto para grafos orientados como no, las dos
siguientes sólo definidas en los grafos orientados:
La aplicación sucesor ,s, de un vértice de un grafo (p-grafo) orientado, es una
aplicación que nos lleva al conjunto de vértices que están unidos con el vértice dado
mediante un arco que sale de él.
s :V  V : s(ei)={ej, : (ei,ej)A}
La aplicación predecesor p, es igual que la aplicación sucesor, con la diferencia
que ahora los arcos llegan al vértice, y no salen de él:
p:V  V : p(ej)={ei : (ei,ej)A}
Para conocer un grafo orientado basta con conocer V y la aplicación s o p.
1.5. REDES
Podemos establecer que a cada eje o arco le pueda asignar un valor numérico
(asociarle una medida) que nos indique la longitud, tensión entre los nudos... Esto nos da
lugar al concepto de redes o redes dirigidas.
Definición: Una red(dirigida) es una terna (V,E,l) donde (V,E) es un grafo(dirigido)
y la aplicación l:Ek que asocia a cada eje(arco) un valor numérico, pudiendo ser
multivaluado.
Ejemplo: (V,E,l)
V={León, Salamanca, Valladolid};
E={(León, Salamanca),(Salamanca,Valladolid), (León,Valladolid)}
l= aplicación que nos da la distancia en Km y el tiempo medio de camino
por un autobús entre las 3 ciudades en horas:
l(León,Valladolid)=170km,1,8h;
l(León,Valladolid)=200km,2,2h
l(Valladolid, Salamanca)=140km,1,1h.
1.6.ORDEN, TAMAÑO Y GRADO DE INCIDENCIA.
Definición: Orden de un grafo(dirigido) G=(V,E) es el número de vértices y se
denota como O(G).
Definición: Tamaño de un grafo(dirigido) G=(V,E) es el número de ejes (arcos) que
tiene, se denota como T(G)
6
Tema 2. grafos
Ejemplos:
n
Un grafo completamente simple tiene   de tamaño, siendo n el orden del
 2
grafo.
n
Un grafo completo tiene   +n donde estos n a mayores respecto al grafo
 2
completamente simple son debidos a los bucles que hay por cada uno de los n
vértices.


n
Un grafo completamente simple dirigido tiene 2   =n(n-1) de tamaño, siendo n
 2
el orden del grafo.
n
Un grafo completo dirigido tiene 2   +n=n2 donde estos n a mayores respecto
 2
al anterio son debidos a los bucles que hay por cada uno de los n vértices.


Grado de incidencia de un vértice i de un grafo(dirigido) es el nª de ejes(arcos) en
los que interviene el vértice i, considerando que el bucle {i,i} cuenta doble. Se denota como
g(i).
En Grafos dirigidos:
 Grado de salida g+(i) es el número de arcos donde i extremo inicial.
 Grado de entrada g-(i) es el número de arcos donde i es extremo final.
Propiedades:
1. El tamaño de un grafo es igual a la semisuma de todos los grados de incidencia:
1
t (G )  iV g (i ) . Es consecuencia de que cada eje (arco) contribuye 2 veces
2
en el grado de incidencia(uno por cada vértice)
2. En todo grafo dirigido y para todo vértice i, g(i)=g+(i)+g-(i), ya que tanto g+(i)
como g-(i) contribuyen una vez en el grado de incidencia.
3. En todo grafo hay un nº par de vértices con grado impar:
Demostración:
 g (i)  2t (G) separam osgra dos par e im par
iV
´`
´´
´´
iV
iV
iV
 g (i)   g (i)   g (i)  2t (G)   g (i) sum a g (i) par
iV
´´
´´
 g (i) sum a g (i)im par
iV
´
 g (i)  2t (G)   g (i)  par
iV
iV


par
g(i) es impar, luego para
´´
 g(i)
iV
que sea par debe haber un numero par de g(i).
7
Tema 2. grafos
1.7. CADENAS Y CICLOS.
Definición: Dado un grafo (E,V) llamamos cadena a una secuencia elemental de
vértices y ejes que comienza y acaba en un vértice(no necesariamente el mismo)
Ejemplo: v1,(v1,v2),v2,(v2,v4),v4, decimos que la cadena une v1 con v4.
Tipos de cadenas:
 Cadena simple : no se repite ningún eje
 Cadena elemental: No se repite ningún vértice.
Definición: un ciclo es una cadena donde el 1º y el último vértice es el mismo
Ejemplo: v1,(v1,v2),v2,(v2,v4),v4,(v4,v1),v1.
Tipos:
 Elemental si solo coinciden el primer y último vértice.
Nota: Si trabajamos con ,multigrafos no debemos denotar los ejes como (vi,vj), pues
puede ocurrir que con esta notación se encuentren varios ejes. Tendremos que representarlo
como el nombre del eje.
1.8 CAMINOSY CIRCUITOS
Definición: Sea un grafo dirigido (V,A), llamamos camino a una secuencia de arcos
a1,a2...donde el vértice final de cada arco coincide con el inicial del siguiente:
final(ai)=origen(ai+1) i.
Tipos :
 Camino simple. No se repite ningún arco.
 Camino elemental: No se repite ningún vértice.
Definición: Circuito es un camino donde el primer vértice coincide con el final
e3
A
e1
e2
B
C
e4
e5
Simple: e1,e2,e4
Elemental: e1,e2,
Circuito: e1,e2,e5; e2,e4; e3,e4.
8
Tema 2. grafos
1.9. SUBGRAFOS
Definición: diremos que (V´,E´) es un subgrafo de (V,E) si se cumple que V´V y
E´E.
Ejemplo: G1=(V1, E1), V1=(1,2,3); E1={(1,2),(2,3)}
G2=(V2,E2), V2=(1,2); E2={(1,2)}
G2 subgrafo de G1
Definición: Diremos que (V´,E´) es el grafo complementario de (V,E) si se cumple
que V=V´y E´=Ec(complementario de E).
Ejemplo: G={V=(1,2,3);E={(1,2),(2,3),(1,1)}}
G´={V´=(1,2,3); E´={(1,3},(2,2),(3,3)}
1
2
3
Definición: Grafo de unión de dos grafos (V,E), (V´,E´) es el grafo resultante de
unir V y V´(VV´),y E y E´ (EE´)
Ejemplo: G1={V1=(1,2,3); E1={(1,2)}}
G2=(V2=(2,3,4); E2={(2,4)}
G=G1G2={V=(1,2,3,4),E={(1,2},(2,4)}
2.-GRAFOS CONEXOS
2.1 DEFINICION GRAFOS CONEXOS
Definición: Grafo G=(V,E) es conexo si no se puede poner como unión de 2 grafos
disjuntos (no vértices en común), esto ocurre si en el grafo todos los vértices unidos
formando un bloque.
Definición: grafo inconexo es aquel que no es conexo.
Ejemplo:
1
2
3
Conexo
4
Inconexo(generado
dos componentes conexas)
1
2
3
por
4
9
Tema 2. grafos
2.2.CARACTERIZACIÓN DE LOS GRAFOS CONEXOS.GRAFO ORIENTADO
FUERTEMENTE CONEXO
Podemos caracterizar los grafos conexos mediante las cadenas: Un grafo es conexo
si y sólo si para cualquier pareja de vértices existe una cadena que los une siendo esta
simple y elemental.
Demostración:
1)Si un vértice no unido con otro habrá un vértice( no final ni inicial de la cadena)
que sólo unido con otro vértice, y no será conexo.
2)Elemental: si en la cadena se repite un vértice eliminamos el ciclo que empieza y
acab en este vértice., y ahora la cadena será elemental.
3) Simple: de igual forma si no es simple es porque hay un bucle que podemos
eliminar y la cadena que nos queda es simple.
Ejemplo:
1
2
e1
e2
e3
4
5
6
3
1-2e1
1-3e1,e2
1-4e1,e4
2-3e2
2-4e3
3-4e2,e3
En grafos dirigidos la nueva definición no válida pues pueden ser conexos y no
haber camino entre dos vértices (debido al sentido)
Ejemplo:
es conexo y 3 no se puede unir con 1, ni con 2.
1
2
3
Definición: un grafo dirigido es fuertemente conexo si hay algún camino que une
todos sus vértices. Este concepto interés para saber si en una ciudad todos sus rincones
están unidos, ya que hay calles con sentido único.
Ejemplo:
10
Tema 2. grafos
3. GRAFO EULERIANO, PUENTES DE KÖNISGUER.
En el siglo XVIII Euler demostró la imposibilidad de recorrer los 7 puentes de su
ciudad sin pasar dos veces por el mismo puente. A partir de aquí se crea un tipo de grafos,
los Eulerianos.
3.1 EL PROBLEMA DE LOS PUENTES DE KÖNISGUER
Euler demostró el siguiente teorema
Teorema: todo grafo es recorrible sin repetición de ninguno de sus arcos, si el numero
de vértices impares( llegan un nº impar de ejes) no es mayor que 2, es decir que no sean 4,
6,8...(ya que como vimos en un teorema anterior, hay un numero par de vértices impares)
Demostración Si un camino no empieza y termina en un mismo vértice, cada vez
que llega a un eje, este ha de salir por otro eje no utilizado. De este vértice han de salir
entonces un numero par de arcos, luego es un vértice par. Puede haber dos vértices impares,
en donde el camino empieza y termina, pero no puede haber mas de dos (sólo hay un
comienzo y un final), pues sino tendrían que pasarse por algún eje más de una vez para
pasar por todos los vértices.
Si no tenemos vértices impares, entonces el recorrido no tiene principio ni fin,
pudiendo empezar y acabar en cualquier vértice.
Ejemplos:
B 1
A
(grafo1)
(grafo2)
C
5
2
6
E
C
3
4
A
D
Los vértices A y D son impares y en ellos
empieza y termina el circuito.
B
Como no tiene vértices impares no
tiene ni principio ni fin
11
Tema 2. grafos
(Grafo 3)
1
D
5
2,6
A
B
4
3,7
8
C
Puente de Könisguer donde hay 4 vértices impares, luego no puede ser recorrido sin
repetición de alguno de sus ejes, como es le caso de los ejes {B,C} y {B,D}
3.2. GRAFO EULERIANO Y SEMIEULERANO
Definición: Cola es una secuencia de aristas V0, V1,....,Vn-1, Vn, en la que todas las
aristas son diferentes. Si los vértices final e inicial coinciden, se dice que es una cola
cerrada.
Definición: se dice grafo euleriano a un grafo conexo G que tiene una cola cerrada
que incluye todas las aristas de G
Definición: se dice grafo semieuleriano si la cola no es cerrada.
Teorema de Euler:
1. Un grafo es euleriano si y solo si cada vértice es de grado par.
2. Un grafo es semieuleriano si y solo si tiene dos vértices impares
Demostración:
1.  Sea un grafo euleriano, entonces tiene una cola cerrada, luego de cada
arista entra el mismo número de arcos que salen, y como estos arcos no están
repetidos, todos los vértices son pares.
 Sea un grafo sin vertices impares, como vimos este se puede recorrer
pasando por todos los arcos sin repetición de ninguno, de forma que el circuito
no tiene principio ni fin, es decir es un recorrido cerrado., luego tiene una cola
cerrada y por tanto es euleriano.
12
Tema 2. grafos
2.  Sea un grafo semieuleriano, entonces tiene una cola no cerrada, luego hay
un vertice donde empieza la cola, que tiene un nº imapar de arcos, pues de él sale uno
más que entra; de igual forma tendra un vertice final donde llegue un un arco mas que
salga, luego tambien sera impar. El resto de vertices salen el mismo numero de arcos
que llegan, por lo que son pares. Asi tenemos que todo grafo semieuleriano tiene 2
vértices imapares.
 Si tenemos un grafo con 2 vértices impares, y el resto pares, podemos
generar un recorrido que empieza en uno de los vértices impares, y acaba en el otro, de
forma que por el resto de vértices salga el mismo número de arcos que entre, ya que son
pares. Así generamos una cola abierta, y con ello un grafo semieuleriano
4.GRAFOS HAMILTONIANANO
En el año 1859 el matemático Hamilton puso en circulación un rompecabezas
basado en dodecaedro regular (sólido formado por 12 pentágonos iguales). El juego
consistía en ver si se era capaz de recorrer los 20 vértices sin repetir ninguno, salvo el
inicial y el final que eran los mismos, moviéndose por las aristas. El juego tenia solución, y
había varios ciclos que pasaban por todos los vértices una sola vez salvo el primero y el
ultimo. Otro juego similar propuesto por Hamilton era el de recorrer todas las casillas del
ajedrez con un caballo sin repetir ninguna. En este caso los vértices serian las casillas del
ajedrez y las aristas todos los posibles movimientos del caballo. Los dos problemas se
pueden plantear a partir de la definición de grafo hamiltoniano:
Definición: se denomina grafo hamiltoniano a todo aquel en el que existe un
camino cerrado que contiene todos los vértices una sola vez ( no tiene por que contener
todas las aristas ). Un grafo que posea una trayectoria que pase a través de cada vértice es
denominado semihalmintoniano
Es evidente que al igual que ocurre con los Eulerianos, los grafos hamiltonianos
deben ser conexos. Sin embargo no se ha conseguido una propiedad sencilla para
caracterizar los grafos hamiltonianos como ocurría en lo eulerianos.
Sin embargo puede comprobarse que hay grafos eulerianos que no son
hamiltonianos y viceversa.
Ejemplos
No Hamiltoniano
semihalmintoniano
Hamiltoniano
13
Tema 2. grafos
5.- GRAFOS PLANOS
Para introducir los grafos planos empezaremos con un problema: Suponer que
tenemos que unir tres granjas (a,b,c) y tres pozos de agua (1,2,3), pero como los granjeros
enemistados, los caminos no se pueden cruzar. Este problema consiste en representar el
grafo
V={a,b,c,1,2,3}
con
los
vértices
G={{a,1}{b,2}{c,3}{a,2}{b,2}{c,2}{a,3}{b,3}{c,3}{a,4}{b,4}{c,4}} de forma que nos e
corten los ejes, tan solo en los vértices. Se puede comprobar que esto es imposible, lo que
nos lleva a la definición siguiente:
Definición: Un grafo plano es un grafo donde se puede representar en el plano de
forma que los cortes entre los ejes coincidan con vértices del mismo. Si existe dicha
representación la llamaremos mapa.
Estos grafos son importantes a la hora de diseñar circuitos electrónicos, ya que si
dos conexiones se cruzan producen cortocircuito. Se puede comprobar que los 5 sólidos
platónicos, son planos. Es bastante complicado determinar si un grafo es plano o no. El
teorema mas sencillo es el de Kuratowski, que dice que un grafo es plano si y solo si, no
contiene grafo pentagonales o hexagonal tras eliminar vértices superfluos existentes en el
medio de los ejes.
Los grafos planos conexos descomponen el plano en trozos poligonales, que
llamaremos caras. La parte externa del grafo suele considerarse también una cara de este.
Proposición: En un grafo plano conexo el numero de vértices o(G), el numero de
ejes t(G) y el numero de caras c(G) cumplen la siguiente relación:
o(G)+c(G)=t(G)+2.
Demostración: la haremos por inducción sobre el numero de caras.
a) el grafo tiene una sola cara, luego no tiene ciclos con lo que o(G)=t(g)+1
o(G)+c(G)=t(G)+2, ya que c(G)=1.
b) Suponer valida la regla para k-1 caras. o(Gk-1)+k-1=t(Gk-1)+2
c) Si tenemos un grafo co k caras, podemos construirlo añadiendo la cara exterior a
un grafo con k-1 caras. Tenemos que si la cara tiene r vétices, tenmos que hay
r+1 ejes nuevos, ya que tenemo que unir los r vertices entre si (r-1 ejes) y dos de
ellos con los vértices antiguos. Así el nuevo grafo tendra k caras, o(Gk-1) +r
vértices y t(Gk-1)+r+1 ejes.
o(Gk)+k=o(Gk-1)+r+k; t(Gk)=t(Gk-1)+r+1
o(Gk-1)+r+k-1+1 ¿=? t(Gk-1)+r+1+r+1=r+12
Como por hipotesis de
inducción
o(Gk-1)+k-1=t(Gk-1)+2, entonces la formula anterior queda
r+1=r+1. Luego es cierto
14
Tema 2. grafos
6.-DIAGRAMAS DE ARBOL
Un caso especial en los grafos son las estructuras denominados diagramas de árbol,
introducir por primera vez en los trabajos de Kirchoff (1847) de redes eléctricas.
Definición: Un árbol es un grafo conexo sin ciclos.
Definición: Bosque es un grafo no conexo sin ciclo (unión varios árboles).
Como no hay ciclo en el árbol, una vez que 2 cadenas se separan no vuelven ya a
juntarse, al igual que ocurren en las ramas de un árbol al separarse del tronco o de ramas
anteriores.
Generalmente para representar un árbol se elige un vértice cualesquiera(vértice
raíz), a continuación se representan los que están directamente unidos a el por un eje
descendente, consiguiendo así que estén unidos hasta los vértices finales(sin
descendientes).
(1)
1
2
3
4
2
(1)=(2) , pero el árbol se
suele representar como (2)
(2) 1
4
3
Conociendo el vértice raíz y la aplicación “hijos de “ de cada vértice, que nos lleva a
los vértices que están unidos a éste en sentido descendente, conocemos el árbol entero.
Hijos: V
1
4
V*=V-{Vértice raíz}
2,4
3
Proposición 1: Un árbol con n vértices tienen n-1 ejes.
Demostración: Colocando el árbol en forma padre-descendiente, se observa que
todo vértice tiene un padre, menos el vértice raíz que no tiene ascendente. Luego la
aplicación padre de es un biyeción entre ejes y vértices excluyendo al vértice raiz. Luego
cada vértice tiene asociado un eje, menos el vértice raíz, luego n vértices n-1 ejes.
15
Tema 2. grafos
Proposición 2: un bosque con k componentes conexas y con n vétices tiene n-k ejes.
Demostración: Como el bosque tiene k árboles no conectadas: ejes=kejes árbol=
=k(nk´-1)= knk´- k= n-k
Los usos árboles son muy variados:
 Almacenamiento de información
- Ordenadores(disco duro)
- Redes ordenadores(Internet)
- Biblioteca
 Redes suministro eléctrico, agua...
 Resolución de circuitos eléctricos
 Clasificación de especies.
 Programación y análisis de algoritmos
 Reducción de problemas de probabilidad.
Relación árboles y numeración: por ejemplo en codigo decimal(o binario en los
ordenadores). Para guardar un número de 3 cifras en código decimal no necesitamos 1000
“almacenamiento de memoria”, sino 3 elementos con posibilidad de almacenar 10
diferentes valores(0,1,2,3,4,5,6,7,8,9), estructurados en forma de árbol.
0
1
2
......
3
4
5
6
7
8
9
0123456789 0123456789 0123456789 0123456789 0123456789 01 23456789 0123456789 0123456789 0123456789 0123456789
..... ..
................................ 0 1 2 3 4 5 6 7 8 9...........................................................................................
Número:225
.
La ordenación por árbol permite decodificar la información de forma rápida a partir
de un vértice raíz dado..
Por ejemplo en un árbol homogéneo(mismas ramas cada vértice), como es el caso
anterior del nº de 0 a 100., en donde a cada vértice le salen 10 ramas(tantos como cifras),
las posibilidades disminuyen de forma logarítmica en base10:
1. Inicialmente tenemos 1000 posibilidades (del 0 al 999)
2. Después del primer paso(1er nivel), al elegir el 2 tenemos 100 posibilidades(del
200 al 299).
3. Después del segundo paso(2º nivel), al elegir el 2 tenemos 10 posibilidades (del
220 al 229).
4. Después del 4º paso(3er nivel),al elegir el 5 tenemos el numero buscado(una
posibilidades)
16
Tema 2. grafos
Mediante un diagrama de árbol hemos llegado al número en tres pasos,
disminuyendo logarítmicamente las posibilidades: paso=log10(posibilidades).
Si codificáramos la información en código binario, en forma de estructura de árbol
sería semejante sólo que ahora el número de posibilidades desciende logarímicamente pero
en base 2.
3
1000
log(pos)
posibilidades
1000
500
100
0
0
10
1
1
2
3
3
2
2
1
1
0
4
Pasos
0
0
1
2
3
Pasos
En árboles no homogéneos, donde cada vértice no tiene el mismo nº de ramas
descendientes, la gráfica no es tan simple pues el nº de posibilidades desciende de diferente
forma según el camino elegido. Pero en todo caso el decrecimiento Posib-pasos es grande.
7.-MATRICES ASOCIADAS A UN GRAFO
Definición: Dado un grafo (V,E) llamamos matriz de adyacentes a la matriz
MMnxn(N) donde n son los vértices de V y definida como:
 1 si arco (i, j )  E (unidos)
mij  
0 si arco (i, j )  E (no unidos)
La matriz en grafos no orientados es simétrica, pues todo par de vértices (i,j) unidos
en los dos sentidos.
En grafos orientados la definición de la matriz de adyacente es la misma, pero ahora
no es simétrica.
Ejemplo:
1
2
3
0 1 1


M=  1 0 1 
1 1 0


1
2
3
17
4
Tema 2. grafos
0 1 1


0
0
0

M´= 
0 1 0


En el caso de p-grafos hay vértices que pueden estar unidos por p arcos, luego los
valores de mij van de 0 a p.
Teorema: Si en la matriz M o M´ del grafo la elevamos al cuadrado tenemos una
matriz, que nos indica el número de cadenas con 2 ejes que unen dos vértices. Si lo
elevamos al cubo la matriz resultado nos indica el número de cadenas con 3 ejes que unen
cada par de vértices. Así Mk nos informa del número de cadenas con k ejes que unen cada
par de vértices.
2 1 1


M 2  1 2 1
1 1 2


 2 3 3


M 3   3 2 3
 3 3 2


Demostración: Por inducción podemos ver la veracidad del teorema:
1) Para k=1 se cumple M=1, M2,M3...=1
2) Supongamos que para k-1 se cumple y que A=Mk-1 cumple la proposición.
3) El nº de cadenas con k ejes uniendo i y j será la suma de cadenas con k-1 ejes
uniendo i con cualquier vértice s, donde exista el eje (s,j). denotaremos el nº de
cadenas que une con k-1 ejes i con s como ais.
Cadk(i,j)=  ais , como msj=1 si (i,j)E y msj=0 si (i,j)E, tenemos que la
( s , j )E
expresión anterior se reduce a la siguiente:
cadk (i, j )  s ais  msj  bij , elemento i,j de la matriz.
Pero la matriz B es la definición de producto entre la matriz A y la M B=AM,
pero A=Mk-1 con lo que B=Mk, y nos define el número de cadenas que estan
construidas con k ejes y que nos unen los vértices i con j.
18
Descargar