You are on page 1of 52

Capitulo 14

Introduccion a la teoria de
Grafos y Caminos de Menor
Costo
High-Speed Networks and Internets, Second Edition
William Stallings
Traduccin Libre y comentarios de WYF
En lugar de Costo, el profesor prefiere mtrica.
1
Chapter 14 Overview of Graph Theory and Least-Cost Paths

Las siguientes lminas, y la clase


asociada, son material de apoyo para el
estudio de la materia. No son un
contenido exhaustivo del material.
Por lo tanto se les emplaza a
suplementar el estudio mediante el uso
de la bibliografa recomendada.

Introduccin

Las redes de comunicaciones se pueden


representar como grafos.
Los switches (ATM o FR) & Routers son
Vertices
Las lineas de comunicaciones son las aristas.
Se recomienda representar las redes de
Broadcast como Vertices ficticios

Los protocolos de enrutamiento usan


algoritmos de camino mas corto (el
profesor prefiere mtrica mas corta, o
de menor peso)

Chapter 14 Overview of Graph Theory and Least-C

Conceptos elementales

El grafo G(V,E) Es DOS conjuntos de Objetos


El conjunto de Vertices (o nodos) , V
El conjunto de Aristas, E

Definidas como un par no ordenado de vertices

Su representacion grafica es puntos o circulos


(vertices) unidos por lineas (aristas)
El Vertice i es adjacente al vertice j si (i,j) E
La Magnitude del grafo G es el numero de vertices |V|
(tambien se le llama el orden de G) y el numero de
Aristas |E|, (el tamao de G)
El tiempo que demoran los algoritmos en procesar un
grafo usualmente depende de |V| y/o |E|
4
Chapter 14 Overview of Graph Theory and Least-C

Grafo de Ejemplo

Chapter 14 Overview of Graph Theory and Least-C

Matriz de Adyacencias

Se emplea para representar grafos. En OPININ del


profesor, no es una buena representacion, pero es la mas
simple :-(
Para un grafo con un nmero de vertices arbitrario. 1,2,3,
,|V|

La matriz de adyacencia A=(ai,j) es de tamao |V| x |V| y se


define como:
ai,j = 1 if (i,j) E
0 en cualquier otro caso
La matriz es simetrica en la diagonal principal.
Esto se debe a que cada arista esta definida como un par no
ordenado.
Chapter 14 Overview of Graph Theory and Least-C

Ejemplo de la matriz de
adyacencia

Chapter 14 Overview of Graph Theory and Least-C

Glosario

Paralelas: Dos aristas que inciden en el mismo par de


vertices.
Una arista que empieza y termina en el mismo vertice es
un lazo.
Un grafo sin aristas paralelas ni lazos es un Grafo
Simple
El camino desde el vertice i al vertice j es:
Una secuencia alterna de vertices y aristas
Que comienza en i y termina en j
Cada Arista junta los vertices que vienen antes y despues de ella

Hay un camino simple Ningun vertice ni arista se repite


mas de una vez
En un grafo SIMPLE, el camino de i a j se puede
expresar como una lista SOLO de vertices

Chapter 14 Overview of Graph Theory and Least-C

Caminos Simples (1)

Desde V1 a V6 (Lista incompleta)

V1,V2,V3,V4,V5,V6
V1,V2,V3,V5,V6
V1,V2,V3,V6
V1,V2,V4,V3,V5,V6
V1,V2,V4,V5,V6
V1,V3,V2,V4,V5,V6
V1,V3,V6
V1,V4,V3,V6

El total son 14 caminos. Pueden encontrar los


otros sin mirar la guia?

Chapter 14 Overview of Graph Theory and Least-C

Caminos Simples (2)

V1,V3,V6 es el mas corto (WYF: esta es la


terminologia que se emplea en
computacin y matemticas, pero no me
parece la mejor para telecom)

El (o los) caminos mas cortos en un grafo


simple son los que atraviezan el menor numero
de aristas
Un camino ciclico empieza y termina en el
mismo vertice

E.g. V1,V3,V4,V1
Chapter 14 Overview of Graph Theory and Least-C

10

DIgrafos

Un grafo DIrigido (doble mayuscula intencional)


G(V,E) donde cada arista se define como un par
ORDENADO de vertices.
Las lineas que representan los vertices ahora tienen
flechas para indicar la direccion
Se permiten aristas paralelas si van en direcciones
opuestas
Segn Stallings, son buenos para representar redes de
comunicaciones, segn Yousef, NO.
Su virtud es que aun podemos usar la matriz de
adyacencia
No son simetricos a menos que cada par de vertices este
conectado por 2 aristas paralelas DE IGUAL PESO.

Chapter 14 Overview of Graph Theory and Least-C

11

Digrafo con pesos

Se asocia un numero con cada arista


La matriz de adyacencia se define como
ai,j = wi,j si (i,j) E
0 en cualquier otro caso
donde wi,j es el peso asociado con la arista (i,j) (que es
distinta de la arista (j,i) )

La longitud del camino es la suma de los pesos


de las aristas que lo componen.
El camino de menor distancia no necesarimante es
el camino de menor longitud (Veanse las siguientes
dos laminas)(WYF ven porque hablar de Longitud
y distancia no es una buena idea para ustedes?)

Chapter 14 Overview of Graph Theory and Least-C

12

Digrafo con pesos y su matriz


de adyacencia

Chapter 14 Overview of Graph Theory and Least-C

13

Distancias y longitudes de
camino desde V1 a V6
Camino
V1,V2,V3,V4,V5,V6
V1,V2,V3,V5,V6
V1,V2,V3,V6
V1,V2,V4,V3,V5,V6
V1,V2,V4,V5,V6
V1,V3,V2,V4,V5,V6
V1,V3,V6
V1,V4,V5,V6

Distancia
5
4
3
5
4
5
2
3

Longitud
11
8
10
10
7
16
10
4

Chapter 14 Overview of Graph Theory and Least-C

14

El MultiDIgrafo

Este es el que nos sirve en


Telecom!
No tanto por los lazos,
sino por las multiples
aristas entre dos Vertices,
pero no es suceptible de
representacion Matricial.
http://ebpelcha.stu.cofc.ed
u/part2.htm
Chapter 14 Overview of Graph Theory a
nd Least-Cost Paths

15

rboles (1)

Un subconjunto de los Grafos


Definiciones equivalentes:
Un grafo simple tal que si los vertices i & j T, hay
un nico camino simple entre i & j
Un grafo simple con N vertices es un rbol si tiene N1 aristas y no tiene ciclos
Un grafo simple de N vertices es un arbol si tiene N-1
aristas y esta conectado
Un vertice puede ser designado como la raiz.
Se dibujan de arriba a abajo, usualmente en niveles
ordenados.

Chapter 14 Overview of Graph Theory and Least-C

16

rboles (2)

Cada vertice (menos la raz) tiene un unico padre


El vertice adyacente que este mas cercano a la raiz

Cada vertice tiene cero o mas vetices hijos


Los vertices adyacentes mas lejanos de la raiz
Un vertice sin hijo se denomina hoja (no mamn
macho)

A la raiz se le asigna el nivel 0, los hijos de la


raiz son nivel 1, los nietos son nivel 2, ....

Chapter 14 Overview of Graph Theory and Least-C

17

rbol Ejemplo

Chapter 14 Overview of Graph Theory and Least-C

18

Subgrafo

Un subgrafo de G se obtiene seleccionando un


conjunto de vertices y aristas de G
Para cada arista que se seleccione, los vertices que la
componen deben ser seleccionados

Dado un grafo G(E,V), el grafo G(E,V) es un


subgrafo de G si:

Chapter 14 Overview of Graph Theory and Least-C

19

Spanning Tree

El Subgrafo T del grafo G es un spanning


tree si
T es un rbol (Doh!)
T incluye TODOS los vertices de G

En otras palabras, eliminamos todas las


aristas de G de forma tal que:
Removamos todos los ciclos
Mantengamos la conectividad

Usualmente no son nicos


Chapter 14 Overview of Graph Theory and Least-C

20

Ejemplos de Spanning Trees para


el grafo anterior

Tambien el rbol de
la lam. 17)

Chapter 14 Overview of Graph Theory and Least-C

21

El Sink Tree
En el Spanning Tree, tenemos el camino
desde un unico origen, a todos los destinos
posibles, de acuerdo a un cierto criterio
(usualmente, menor peso o mtrica).
En el SINK TREE tenemos el camino
desde todas las fuentes/origenes posibles
hacia un unico destino.
El SINK TREE se emplea en Multicast
para efectos comparativos con soluciones
heuristicas

Chapter 14 Overview of Graph Theory and Least-C

22

Determinacin del camino mas


corto

Para una red (Internet o intranet)


Cada router, swtich ATM/FR, etc, es un vertice
Se recomienda representar los medios de Broadcast como un
Router ficticio
Si los routers estan directamente conectados, cada enlace se
representa por un par de aristas paralelas

La decisin de entrutamiento necesita llevar paquetes de


fuente a destino

Y esto es equivalente a encontar un camino a traves de


un Grafo!

Chapter 14 Overview of Graph Theory and Least-C

23

Decisiones de Enrutamiento
Minimo nmero de saltos
Cada arista (salto) tiene un costo de 1 (1
que, $?)
Corresponde al camino de menor
distancia (en la terminologia de los grafos)
O, si se asocia un costo a cada arista, el costo
del camino es la suma de los costos de las
aristas que lo componen.
Want least cost path
Corresponde al camino de menor longitud
en el digrafo con pesos
Chapter 14 Overview of Graph Theory and Least-C

24

Costo de un salto
WYF: Ejemplos de asignacin
del peso/mtrica

Inversamente proporcional a la velocidad en


Mbits/seg del enlace
Proporcional a la carga actual.
Costo monetario del enlace
Una combinacion
Pueden ser diferente en el mismo enlace
dependiendo de la direccin (ADSL, DOCISS,
eGPRS, WCDMA, CDMA 2000 1x RTT)

Chapter 14 Overview of Graph Theory and Least-C

25

Y aqui nos paramos


PCCS

Chapter 14 Overview of Graph Theory and Least-C

26

TCP Traffic and Congestion Control in ATM Networks

Capitulo 14
Introduccion a la teoria de
Grafos y Caminos de Menor
Costo
High-Speed Networks and Internets, Second Edition
William Stallings
Traduccin Libre y comentarios de WYF
En lugar de Costo, el profesor prefiere mtrica.
1
Chapter 14 Overview of Graph Theory and Least-Cost Paths

Chapter 13

Las siguientes lminas, y la clase


asociada, son material de apoyo para el
estudio de la materia. No son un
contenido exhaustivo del material.
Por lo tanto se les emplaza a
suplementar el estudio mediante el uso
de la bibliografa recomendada.

Introduccin

Las redes de comunicaciones se pueden


representar como grafos.
Los switches (ATM o FR) & Routers son
Vertices
Las lineas de comunicaciones son las aristas.
Se recomienda representar las redes de
Broadcast como Vertices ficticios

Los protocolos de enrutamiento usan


algoritmos de camino mas corto (el
profesor prefiere mtrica mas corta, o
de menor peso)

Chapter 14 Overview of Graph Theory and Least-C


ost Paths

Conceptos elementales

El grafo G(V,E) Es DOS conjuntos de Objetos


El conjunto de Vertices (o nodos) , V
El conjunto de Aristas, E

Definidas como un par no ordenado de vertices

Su representacion grafica es puntos o circulos


(vertices) unidos por lineas (aristas)
El Vertice i es adjacente al vertice j si (i,j) E
La Magnitude del grafo G es el numero de vertices |V|
(tambien se le llama el orden de G) y el numero de
Aristas |E|, (el tamao de G)
El tiempo que demoran los algoritmos en procesar un
grafo usualmente depende de |V| y/o |E|
4
Chapter 14 Overview of Graph Theory and Least-C
ost Paths

Grafo de Ejemplo

Chapter 14 Overview of Graph Theory and Least-C


ost Paths

Matriz de Adyacencias

Se emplea para representar grafos. En OPININ del


profesor, no es una buena representacion, pero es la mas
simple :-(
Para un grafo con un nmero de vertices arbitrario. 1,2,3,
,|V|

La matriz de adyacencia A=(ai,j) es de tamao |V| x |V| y se


define como:
ai,j = 1 if (i,j) E
0 en cualquier otro caso
La matriz es simetrica en la diagonal principal.
Esto se debe a que cada arista esta definida como un par no
ordenado.
Chapter 14 Overview of Graph Theory and Least-C
ost Paths

Ejemplo de la matriz de
adyacencia

Chapter 14 Overview of Graph Theory and Least-C


ost Paths

Glosario

Paralelas: Dos aristas que inciden en el mismo par de


vertices.
Una arista que empieza y termina en el mismo vertice es
un lazo.
Un grafo sin aristas paralelas ni lazos es un Grafo
Simple
El camino desde el vertice i al vertice j es:
Una secuencia alterna de vertices y aristas
Que comienza en i y termina en j
Cada Arista junta los vertices que vienen antes y despues de ella

Hay un camino simple Ningun vertice ni arista se repite


mas de una vez
En un grafo SIMPLE, el camino de i a j se puede
expresar como una lista SOLO de vertices

Chapter 14 Overview of Graph Theory and Least-C


ost Paths

Caminos Simples (1)

Desde V1 a V6 (Lista incompleta)

V1,V2,V3,V4,V5,V6
V1,V2,V3,V5,V6
V1,V2,V3,V6
V1,V2,V4,V3,V5,V6
V1,V2,V4,V5,V6
V1,V3,V2,V4,V5,V6
V1,V3,V6
V1,V4,V3,V6

El total son 14 caminos. Pueden encontrar los


otros sin mirar la guia?

Chapter 14 Overview of Graph Theory and Least-C


ost Paths

Caminos Simples (2)

V1,V3,V6 es el mas corto (WYF: esta es la


terminologia que se emplea en
computacin y matemticas, pero no me
parece la mejor para telecom)

El (o los) caminos mas cortos en un grafo


simple son los que atraviezan el menor numero
de aristas
Un camino ciclico empieza y termina en el
mismo vertice

E.g. V1,V3,V4,V1
Chapter 14 Overview of Graph Theory and Least-C
ost Paths

10

DIgrafos

Un grafo DIrigido (doble mayuscula intencional)


G(V,E) donde cada arista se define como un par
ORDENADO de vertices.
Las lineas que representan los vertices ahora tienen
flechas para indicar la direccion
Se permiten aristas paralelas si van en direcciones
opuestas
Segn Stallings, son buenos para representar redes de
comunicaciones, segn Yousef, NO.
Su virtud es que aun podemos usar la matriz de
adyacencia
No son simetricos a menos que cada par de vertices este
conectado por 2 aristas paralelas DE IGUAL PESO.

Chapter 14 Overview of Graph Theory and Least-C


ost Paths

11

Digrafo con pesos

Se asocia un numero con cada arista


La matriz de adyacencia se define como
ai,j = wi,j si (i,j) E
0 en cualquier otro caso
donde wi,j es el peso asociado con la arista (i,j) (que es
distinta de la arista (j,i) )

La longitud del camino es la suma de los pesos


de las aristas que lo componen.
El camino de menor distancia no necesarimante es
el camino de menor longitud (Veanse las siguientes
dos laminas)(WYF ven porque hablar de Longitud
y distancia no es una buena idea para ustedes?)

Chapter 14 Overview of Graph Theory and Least-C


ost Paths

12

Digrafo con pesos y su matriz


de adyacencia

Chapter 14 Overview of Graph Theory and Least-C


ost Paths

13

Distancias y longitudes de
camino desde V1 a V6
Camino
V1,V2,V3,V4,V5,V6
V1,V2,V3,V5,V6
V1,V2,V3,V6
V1,V2,V4,V3,V5,V6
V1,V2,V4,V5,V6
V1,V3,V2,V4,V5,V6
V1,V3,V6
V1,V4,V5,V6

Distancia
5
4
3
5
4
5
2
3

Longitud
11
8
10
10
7
16
10
4

Chapter 14 Overview of Graph Theory and Least-C


ost Paths

14

El MultiDIgrafo

Este es el que nos sirve en


Telecom!
No tanto por los lazos,
sino por las multiples
aristas entre dos Vertices,
pero no es suceptible de
representacion Matricial.
http://ebpelcha.stu.cofc.ed
u/part2.htm
Chapter 14 Overview of Graph Theory a
nd Least-Cost Paths

15

rboles (1)

Un subconjunto de los Grafos


Definiciones equivalentes:
Un grafo simple tal que si los vertices i & j T, hay
un nico camino simple entre i & j
Un grafo simple con N vertices es un rbol si tiene N1 aristas y no tiene ciclos
Un grafo simple de N vertices es un arbol si tiene N-1
aristas y esta conectado
Un vertice puede ser designado como la raiz.
Se dibujan de arriba a abajo, usualmente en niveles
ordenados.

Chapter 14 Overview of Graph Theory and Least-C


ost Paths

16

rboles (2)

Cada vertice (menos la raz) tiene un unico padre


El vertice adyacente que este mas cercano a la raiz

Cada vertice tiene cero o mas vetices hijos


Los vertices adyacentes mas lejanos de la raiz
Un vertice sin hijo se denomina hoja (no mamn
macho)

A la raiz se le asigna el nivel 0, los hijos de la


raiz son nivel 1, los nietos son nivel 2, ....

Chapter 14 Overview of Graph Theory and Least-C


ost Paths

17

rbol Ejemplo

Chapter 14 Overview of Graph Theory and Least-C


ost Paths

18

Subgrafo

Un subgrafo de G se obtiene seleccionando un


conjunto de vertices y aristas de G
Para cada arista que se seleccione, los vertices que la
componen deben ser seleccionados

Dado un grafo G(E,V), el grafo G(E,V) es un


subgrafo de G si:

Chapter 14 Overview of Graph Theory and Least-C


ost Paths

19

Spanning Tree

El Subgrafo T del grafo G es un spanning


tree si
T es un rbol (Doh!)
T incluye TODOS los vertices de G

En otras palabras, eliminamos todas las


aristas de G de forma tal que:
Removamos todos los ciclos
Mantengamos la conectividad

Usualmente no son nicos


Chapter 14 Overview of Graph Theory and Least-C
ost Paths

20

Ejemplos de Spanning Trees para


el grafo anterior

Tambien el rbol de
la lam. 17)

Chapter 14 Overview of Graph Theory and Least-C


ost Paths

21

El Sink Tree
En el Spanning Tree, tenemos el camino
desde un unico origen, a todos los destinos
posibles, de acuerdo a un cierto criterio
(usualmente, menor peso o mtrica).
En el SINK TREE tenemos el camino
desde todas las fuentes/origenes posibles
hacia un unico destino.
El SINK TREE se emplea en Multicast
para efectos comparativos con soluciones
heuristicas

Chapter 14 Overview of Graph Theory and Least-C


ost Paths

22

Determinacin del camino mas


corto

Para una red (Internet o intranet)


Cada router, swtich ATM/FR, etc, es un vertice
Se recomienda representar los medios de Broadcast como un
Router ficticio
Si los routers estan directamente conectados, cada enlace se
representa por un par de aristas paralelas

La decisin de entrutamiento necesita llevar paquetes de


fuente a destino

Y esto es equivalente a encontar un camino a traves de


un Grafo!

Chapter 14 Overview of Graph Theory and Least-C


ost Paths

23

Decisiones de Enrutamiento
Minimo nmero de saltos
Cada arista (salto) tiene un costo de 1 (1
que, $?)
Corresponde al camino de menor
distancia (en la terminologia de los grafos)
O, si se asocia un costo a cada arista, el costo
del camino es la suma de los costos de las
aristas que lo componen.
Want least cost path
Corresponde al camino de menor longitud
en el digrafo con pesos
Chapter 14 Overview of Graph Theory and Least-C
ost Paths

24

Costo de un salto
WYF: Ejemplos de asignacin
del peso/mtrica

Inversamente proporcional a la velocidad en


Mbits/seg del enlace
Proporcional a la carga actual.
Costo monetario del enlace
Una combinacion
Pueden ser diferente en el mismo enlace
dependiendo de la direccin (ADSL, DOCISS,
eGPRS, WCDMA, CDMA 2000 1x RTT)

Chapter 14 Overview of Graph Theory and Least-C


ost Paths

25

Y aqui nos paramos


PCCS

Chapter 14 Overview of Graph Theory and Least-C


ost Paths

26

You might also like