1. GRAFOS : CONCEPTOS BASICOS

Anuncio
1. GRAFOS : CONCEPTOS BASICOS Sea V un conjunto finito no vacio y sea E V x V. El par (V, E) es un grafo no
dirigido, donde V es un conjunto de vértices o nodos y E es un conjunto de aristas.
Denotaremos el número de vértices del conjunto como |V|=n y el número de aristas del
mismo como |E|=m.
El grafo es dirigido si E es un conjunto de arcos, en lugar de ser un conjunto de aristas,
es decir, si las aristas pertenecientes a E tienen dirección. En este caso, el grafo puede
ser denominado dígrafo.
Figura 1: (1) Grafo no dirigido. (2) Grafo dirigido
Para cualquier arista, como por ejemplo, b-c (figura 1), decimos que la arista es
incidente en los vértices b y c; b es adyacente a c y c es adyacente a b. Para cualquier
arco, como puede ser g-f (figura 1), g es el origen o fuente de la arista (g, f) y el vértice f
es el término o vértice terminal. Se denomina bucle o lazo a una arista o un arco que
tiene como fuente y término el mismo nodo o vértice.
Supondremos, mientras que no se especifique lo contrario, que el grafo G=(V, E) es no
dirigido, y sean x e y vértices (no necesariamente distintos) del mismo.
Un camino x-y es una sucesión alternada finita (sin lazos)
,
,
,
,
,
,
……..,
,
,
,
,
de vértices y aristas de G, que comienzan en el vértice x y termina en el vértice y, y que
contiene las k-1 aristas
,
donde 0 ≤ i ≤ k-2.
Si suponemos que el número de nodos es k, la longitud de un camino es k-1, es decir, el
número de aristas que hay en ese camino. Si k = 1, no hay aristas, x es igual a y, y el
camino se denomina trivial. Cualquier camino en el que x = y, siendo k>2, se denomina
camino cerrado. En caso contrario, el camino es abierto.
16 Un camino puede repetir vértices y aristas. Si no se repite ninguna arista en el camino xy, entonces el camino es elemental. También se le denomina recorrido. Un recorrido
cerrado se llama circuito. Si ningún vértice del camino se presenta más de una vez, el
camino es simple. El término ciclo se usa para describir un camino simple cerrado.
Decimos que el grafo es conexo si existe un camino simple entre cada par de vértices
cualesquiera distintos de G. Un grafo que no es conexo es disconexo o no conexo.
Denotaremos por C (G) al número de componentes de G. Así, C (G) será uno si el grafo
es conexo.
Diremos que un grafo regular es aquel en el cual todos los vértices tienen el mismo
número de aristas incidentes, y aleatorio si sus aristas siguen una distribución aleatoria
y, por tanto, no ha sido diseñado con ningún criterio concreto.
Otros conceptos de gran importancia en un grafo son:
•
Distancia entre dos vértices: Longitud del camino más corto entre esos vértices.
Denotaremos entonces la distancia mínima entre los vértices i y j como dij, si se
suponen distancias reales y se consideran aspectos métricos, y uij si se suponen
distancias unidad y se consideran, por tanto, aspectos topológicos. Esta
magnitud se calcula realizando cualquier algoritmo de camino más corto como
el algoritmo de Dijsktra (visto posteriormente) desde cada vértice al resto.
•
Excentricidad de un vértice v: La excentricidad de v є V se define como la
distancia máxima desde v a cualquier otro vértice del grafo G siguiendo caminos
de longitud mínima. Se denotará por ξ (v).
•
Diámetro: Longitud del camino más corto para unir los dos vértices más
alejados de la red. También puede ser entendido como el máximo de las
excentricidades de todos los vértices del grafo. A partir de ahora lo denotaremos
con D.
•
Grado o valencia de un vértice: Número de aristas incidentes en el vértice. Se
denotará con k.
•
Valor medio del grado o valencia de los nodos del grafo:
17 k
k
∑
;
i = 1,…,n
(1)
donde ki es el grado correspondiente al nodo i.
•
Valor mínimo de grado o valencia: Número mínimo de aristas incidentes en un
vértice de entre todos los vértices existentes en el grafo. Se denotará como kmín.
•
Valor máximo de grado o valencia: Número máximo de aristas que inciden en
un vértice de entre todos los vértices del grafo. Se denotará como kmax.
•
Matriz de adyacencia: Matriz simétrica de orden n, donde n es el número de
vértices del grafo. Compuesta por unos y ceros, se define como:
.
•
1 , si los vertices i y j son adyacentes
0 , en caso contrario
(2)
P(k): Distribución de probabilidad de que un nodo arbitrariamente seleccionado
esté conectado con otros k nodos. Equivalentemente, también puede ser definida
como la fracción de vértices de una red que tiene grado k.
•
h-entorno de un vértice v: Conjunto de vértices con una distancia mínima menor
o igual a h desde v. Denotaremos la 1-entorno o 1-vecindad del vértice v como
N (v).
•
N(Vi), N(Ei): Concepto similar a la h-vecindad. Denominaremos N(Vi) al
conjunto de vértices adyacentes a los pertenecientes a Vi. Denominaremos N(Ei)
al conjunto de vértices incidentes a las aristas pertenecientes a Ei .
•
Vértice de corte de un grafo: Vértice que cuando se elimina (esto supone la
eliminación de todas las aristas incidentes en él) incrementa el número de
componentes conexas del grafo, es decir, escinde el grafo en dos o varios
subgrafos conexos.
18 •
Arista de corte de un grafo: Arista que cuando se elimina incrementa el número
de componentes conexas del grafo, es decir, escinde el grafo en dos o varios
subgrafos conexos.
•
Corte de un grafo: Supresión de un conjunto de nodos o aristas en el grafo que
produce el incremento en el número de componentes conexas del grafo. Si el
grafo no es ponderado, el corte se considera mínimo cuando el número de nodos
o aristas eliminados ha sido mínimo. Por el contrario, si el grafo es ponderado, el
corte mínimo es aquel que suprime el conjunto de menor peso, siendo obtenido
el peso del conjunto a partir de la suma de los pesos de las aristas y nodos
considerados independientemente. El corte es equilibrado cuando el grafo se
escinde en dos subgrafos que contienen aproximadamente el mismo número de
vértices, a saber
y
.
Por último, destacar o definir algunos tipos de grafos concretos:
- Un grafo conexo y sin ciclos es lo que se denomina árbol.
- Un grafo es completo (mallado total) si entre dos vértices cualesquiera de dicho
grafo existe una arista en el caso de un grafo no dirigido y un arco en el caso de un
grafo dirigido.
- Un grafo bipartito es aquel cuyos vértices se pueden separar en dos subconjuntos
disjuntos V1 y V2 y las aristas siempre unen vértices de un conjunto con vértices de
otro. Se cumplen:
1. ,
2. Φ
3. ,
siendo V el conjunto de todos los vértices del grafo.
,
,
, no existe ninguna arista
,
ni
,
- Un grafo es fuertemente conexo si para cada par de vértices u y v, existe un camino
desde u a v y otro desde v a u. Esta definición solo tiene sentido cuando el grafo es
dirigido.
19 • Algoritmo de Dijsktra Sea un grafo ponderado, G= (V, E) con un nodo v1 є V, en el que hemos asignamos a
cada arco aij un peso σij. Por tanto, el peso de un camino entre los nodos i y j
,
Γ
,…,
Como γ
,
,
,…,
,
.
El problema consiste en determinar el camino más corto desde v1 al resto de nodos de la
red.
Si llamamos gj al peso del camino más corto entre el nodo v1 y el j, el algoritmo sigue
los siguientes pasos:
1. Inicializa: P={1} , T={2,3,4,…,n} , g1 = 0 , gj =
si j
si j є 1-vecindad(1), gj = ∞
1-vecindad(1)
2. Designación de una etiqueta variable como fija:
Determinar k
. Hacer
T tal que
\
. Hacer
. Mientras exista algún nodo dentro del conjunto T, continuamos este paso
con el paso 3. Sino finalizamos el algoritmo.
3. Actualización:
,
1- vecindad (k)
min
,
y
pero
no contenido en la 1-vecindad (k), gj permanece con el mismo valor. Volvemos
al paso 2.
El coste del algoritmo es del orden de
|
|
de vértices y |A| el número de aristas.
• Ejemplo 20 | |
|
| , donde |V| es el número
En este punto de la memoria, calcularemos todos estos conceptos definidos en este
primer apartado sobre algún grafo sencillo. Con ello se pretende aclarar los conceptos y
dudas que pudieran surgir en su lectura.
El grafo tomado que se ha escogido como modelo es el mostrado en la figura 2.
Figura 2: Nodos numerados (negro), aristas numeradas (verde), peso de cada arista (rojo).
Este grafo, definido como G = (V,E), donde V = {1,2,3,4,5,6} y E = {1,2,3,4,5,6,7,8}
es conexo, no completo (faltan 7 aristas para obtener el grafo ideal: 1-5, 1-3, 6-2, 6-3, 64, 5-3, 4-2) y no dirigido (las aristas no tiene dirección. El peso de la arista en ambos
sentidos es el mismo).
La matriz de adyacencia es
0
1
0
1
0
1
1
0
1
0
1
0
0
1
0
1
0
0
1
0
1
0
1
0
0
1
0
1
0
1
1
0
0
0
1
0
Las distancias mínimas topológicas entre vértices son:
‐
0 ; 1 ; 2 ; 1 ; 2 ; 1
‐
1 ; 0 ; 1 ; 2 ; 1 ; 2
‐
2 ; 1 ; 0 ; 1 ; 2 ; 3
‐
1 ; 2 ; 1 ; 0 ; 1 ; 2
‐
2 ; 1 ; 2 ; 1 ; 0 ; 1
‐
1 ; 2 ; 3 ; 2 ; 1 ; 0
Matricialmente, esto se puede expresar:
21 0
1
2
1
2
1
1
0
1
2
1
2
2
1
0
1
2
3
1
2
1
0
1
2
2
1
2
1
0
1
1
2
3
2
1
0
Las distancias mínimas reales entre sus vértices son más complejas de calcular. Para
hacerlo, emplearemos el algoritmo de Dijsktra:
Origen: Vértice 1
‐ Paso 1: P = {1}, T = {2, 3, 4, 5, 6},
0 ; 3 ; 2 ; ∞ ; 4 ∞ ; ‐ Paso 2: Determinar k
T tal que
2. Añadimos
, es decir,
el nodo 4 al conjunto P y lo extraemos del conjunto T. P = {1,4} y T = {2, 3, 5,6}.
Como seguimos teniendo elementos en T, continuamos.
‐ Paso 3: Actualización,
Γ
,
min
,
min ∞,
min ∞, 2
min ∞,
min ∞, 2
, es decir,
9
11 5
7
, pero no adyacente a k, gj permanece con el mismo valor, es decir,
y
3y
4.
‐ Paso 2: El mínimo valor de gk es ahora g2 = 3. Luego, P = {1, 2,4} y T = {3,
5,6}.
‐ Paso3: El nodo 2 está conectado con los vértices contenidos en T, 3 y 5. Luego,
4 , mientras que
min 11,
min 11,3
min 7,
min 7,3
1
2
4
5
‐ Paso 2: Existen dos valores mínimos. Sería indiferente que cogiéramos uno u
otro. Añadiremos al conjunto P el nodo 3, con lo que P = {1, 2, 3,4} y T = {5,6}.
‐ Paso 3: El nodo 3 no está conectado ni al vértice 5 ni al 6, luego en este caso no
habría que actualizar ningún valor.
‐ Paso 2: Añadimos el nodo 6 al conjunto. P = {1, 2, 3, 4,6} y T = {5}.
22 ‐ Paso 3: El nodo 5 está conectado al 6. Actualizamos el valor de distancia:
min 5,
min 5,4
6
5
El vector de distancias mínimas del vértice 1 al resto es:
0
3
4
2
5
4
Origen: Vértice 2
Los razonamientos seguidos han sido los mismos, por lo que se realizarán los
cálculos de forma más esquemática.
‐ Paso 1: P = {2}, T = {1, 3, 4, 5, 6},
2 ; 0 ; 3 ; 1 ; ∞ ; ∞ ‐ Paso 2: El nodo más cercano al nodo 2 es el 3. P = {2,3} y T = {1, 4, 5,6}. Como
seguimos teniendo elementos en T, continuamos.
‐ Paso 3: Al vértice 3 es adyacente tan solo el 4. Con lo cual,
min ∞,
min ∞, 1
El resto de los valores permanecen igual: 3 ; 9
10 10 ; 2 ; ∞
‐ Paso 2: El mínimo valor de gk es ahora g5 = 2. Luego, P = {2, 3,5} y T = {1,
4,6}.
‐ Paso3: El nodo 5 está conectado con los vértices contenidos en T, 4 y 6. Luego,
3 , mientras que
min 10,
min 10,2
5
7
min ∞,
min ∞, 2
6
8
‐ Paso 2: Añadiremos al conjunto P el nodo 1, con lo que P = {1, 2, 3,5} y T =
{4,6}.
7 , mientras que
‐ Paso 3: El nodo 1 está conectado al 6, luego en este caso,
min 8,
min 8,3
‐ Paso 2: P = {1, 2, 3, 5,6} y T = {4}.
23 4
7
‐ Paso 3: Al no estar el nodo 6 conectado al 4 no he de actualizar el valor.
El vector de distancias mínimas del vértice 2 al resto es:
3
0
1
5
2
7
Origen: Vértice 3
El vector de distancias mínimas del vértice 3 al resto se calcula siguiendo el
mismo razonamiento que ha sido realizado cuando tomábamos los vértices 1 ó 2
como origen. El vector obtenido es:
4
1
0
7
3
8
Origen: Vértice 4
El vector de distancias mínimas del vértice 4 al resto se calcula siguiendo el
mismo razonamiento que ha sido realizado cuando tomábamos los vértices 1 ó 2
como origen. El vector obtenido es:
2
5
7
0
5
6
Origen: Vértice 5
Aplicando las propiedades de simetría que debe tener la matriz resultante,
podemos obtener los valores de las mínimas distancias del nodo 5 al 1, 2,3 y 4. La
única que falta es la distancia al nodo 6, pero esta se aprecia fácilmente que es 6.
Origen: Vértice 6
Por simetría se obtiene la distancia de este nodo a todos los demás.
Por lo tanto, la matriz de distancias mínimas entre cada par de nodos es:
24 0
3
4
2
5
4
3
0
1
5
2
7
4
1
0
7
3
8
2
5
7
0
5
6
5
2
3
5
0
6
4
7
8
6
6
0
De acuerdo con estos resultados, las excentricidades de los vértices son:
ξ(1) = 5 , ξ(2) = 7 , ξ(3) = 8 , ξ(4) = 7 , ξ(5) = 6 , ξ(6) = 8
Y el diámetro, D = 8.
El grado o valencia de los nodos es
k(1) = 3 , k(2) = 3 , k(3) = 2 , k(4) = 3 , k(5) = 3 , k(6) = 2
Por lo que, kmin = 2 y kmáx = 3. El valor medio de grado kmed = 1/6*(3*4+2*2) =16/6 =
2,66667.
Si tomamos, por ejemplo, el vértice 1, veremos cómo su 1-entorno es el conjunto
formado por los nodos {2, 4,6}. La 2-entorno sería el conjunto formado por {3,5}.
Si suponemos un conjunto de vértices Vi formado por el vértice 1, N(Vi) sería
equivalente a la 1-entorno. Si el conjunto, sin embargo, estuviese formado por los nodos
{1,2}, N(Vi) contendría los vértices restantes que constituyen el grafo, es decir,
{3,4,5,6}, ya que cualquiera de ellos es accesible o desde 1 o desde 2.
Si definimos, por ejemplo, un conjunto E1 formado por las aristas {2,5}, N(E1) estaría
formado por los vértices {1,2,4,5}.
25 
Descargar