You are on page 1of 25

OPTIMIZACIÓN

Tema 5. GRAFOS y REDES


- Formalización de Modelos.

- Definiciones y Terminología Básica.

- Tipos de Grafos.

- Representación de los Grafos

- Problemas de coloración.

Dpto. de Estadística, Investigación Operativa y Computación. Universidad de La Laguna.


Formalización de Modelos

El problema de los siete puentes


de Köenisgberg:
3
¿Es posible salir y llegar a un
determinado punto pasando sólo
1
4 una vez por cada uno de los
puentes?

Leonhard Euler publicó en 1736 la solución a este


problema apoyándose el modelo de un grafo:

2 1 3

4
Formalización de Modelos

Red de comunicaciones aéreas y marítimas en las Islas Canarias

Su abstracción es un grafo (Multigrafo)


Definiciones y terminología básica

Grafos Dirigidos

Un grafo dirigido G=(V,A) está definido por un conjunto V de nodos o


vertices y un conjunto de A cuyos elementos denominados arcos son
pares ordenados de nodos.

Denotamos por V  n al número de nodos de un Grafo.

Denotamos por A  m al número de arcos de un Grafo dirigido.

Si a  (i, j)  A es un arco de G, entonces i es el nodo incial y j el nodo


final de a. Un arco cuyo nodo inicial y final coinciden se denomina
Bucle o Lazo.

Un p-grafo es un grafo que contiene no más de p arcos (i, j) entre


cualquier par de nodos i y j en este orden. Un 1-grafo contiene a lo
sumo un arco (i, j) para todo par de nodos i y j.

Un multigrafo es un grafo que posee más de un arco entre algún par


de nodos. Un grafo es simple si es un 1-grafo y no contiene bucles.
Definiciones y terminología básica

2 4

Grafo dirigido o
1-grafo
1 5 6
3

7
2 4

1 5 6 2-grafo dirigido o
multigrafo
3

7
Definiciones y terminología básica

Grafos No Dirigidos

Un grafo no dirigido G=(V,E) está definido por un conjunto V de nodos


o vertices y un conjunto E cuyos elementos denominados aristas son
pares no ordenados de nodos.

Denotamos por E  m al número de aristas de un Grafo no dirigido.

2 5 2 5

8 8
1 3 6 1 3 6

9
9
4 4 7
7

Grafo no dirigido simple Multigrafo no dirigido


Definiciones y terminología básica

Decimos que j es un sucesor de i si existe (i,j) en A (o {i, j} en E).

Decimos que i es un predecesor de j si existe (i,j) en A (o {i, j} en E).

Dado un grafo dirigido:

i   j | (i, j)  A es el conjunto de los sucesores del nodo i o la


Lista de adyacencia de los sucesores de i.

i   j | ( j, i )  A es el conjunto de los predecesores del nodo i o la


lista de adyacencia de los predecesores de i.

Dado un grafo no dirigido:


Se definen los nodos adyacentes del nodo i por i  j | i, j  E . 
La versión dirigida de un grafo no dirigido se obtiene considerando el
mismo conjunto de nodos y por cada arista {i, j} en E se añaden los
arcos (i, j) y (j, i) en A. Por tanto, i  i para la versión dirigida de un
grafo no dirigido.
Definiciones y terminología básica
El grado de salida de un nodo i es  (i )  i .

El grado de entrada de un nodo i es   (i )  i .

El grado de un nodo i es  (i )    (i)    (i).

Dado un grafo no dirigido   (i)  2m


i V

Dado un grafo dirigido 


i V

(i )  
i V

(i )  m

Ejercicio: Calcular el conjunto de los adyacentes, las listas de


adyacencia de los sucesores y de los predecesores, los grados, grados
de salida y de entrada de los nodos de los siguientes grafos según
corresponda.
2 4 2 5
8
1 5 6 1 3 6
3
9
7 4 7
Definiciones y terminología básica
S u b g r a f o : U n g r a f o G  (V , A) e s u n s u b g r a f o d e G = ( V , A ) s i
V  V y A  A . D i r e m o s q u e G  (V , A) e s e l s u b g r a f o d e G
inducido por V si A c o n t i e n e c a d a a r c o d e A c o n a m b o s
extremos en V. Un grafo G  (V , A) es un s u b g r af o
g e n e r a d o r d e G = ( V , A ) s i V   V y A  A .

Una cadena de longitud q es una secuencia de q arcos (aristas)


C={e1,...,eq}, tal que un arco (arista) er de la secuencia (2  r  q–1) tienen
un extremo común con el arco (arista) er–1 (er–1er) y otro extremo común
con el arco (arista) er+1 (er+1er). El primer vértice del primer arco (arista) y
el último vértice del último arco (arista) se denominan los extremos de la
cadena.
Una cadena simple es una cadena que no atraviesa una arista cualquiera
más de una vez. Una cadena elemental es una cadena que no atraviesa
ningún vértice más de una vez. O, de otro modo, una cadena en la que sus
vértices no tienen grado mayor que 2. Toda cadena elemental es simple.
Un ciclo es una cadena en la que en la que sus extremos coinciden.
Un grafo se dice acíclico si no contiene ciclos.
Definiciones y terminología básica

Un camino de longitud q es una secuencia de q arcos orientados


P={e1,...,eq} con:
e1=(i1, i2) e2=(i2, i3) ... eq=(iq, iq+1)
El vértice i1 se denomina vértice inicial y el vértice iq+1 vértice final.

Un camino simple es el que no atraviesa ningún arco del grafo más de una
vez. Un camino elemental es un camino en el que no se repite ningún
vértice. También se puede definir como un camino en el que sus vértices no
tienen grado mayor que 2. Es evidente que cada camino elemental también
es simple.

Un circuito o ciclo dirigido es un camino que contiene al menos un arco y


en el que los vértices inicial y final coinciden. Un circuito es elemental si
todos sus vértices tienen grado 2.

Un grafo se dice sin circuitos o acíclico dirigido si no contiene circuitos.


Definiciones y terminología básica
Un circuito euleriano de un grafo no dirigido G en un circuito simple
que contiene todas las aristas de G.
Un camino euleriano de un grafo no dirigido G es un camino simple que
contienen todas las aristas de G.
1 2 1 2 1 2

3 4 3 4 3 4 5
G1 G2 G3
G1 tiene un circuito euleriano, G2 no tiene un circuito euleriano ni camino
euleriano. G3 tiene un camino euleriano.

Propiedad 1. Un multigrafo conexo no dirigido tiene un circuito euleriano sí, y sólo


si, cada uno de sus vértices tiene grado par.

Propiedad 2. Un multigrafo conexo no dirigido tiene un camino euleriano pero no


un circuito euleriano sí, y sólo si, tiene, exactamente, dos vértices de grado impar.

Problema del cartero chino


Definiciones y terminología básica
Un camino hamiltoniano de un grafo no dirigido G es aquel que pasa
exactamente una vez por cada uno de los vértices de G.
Un circuito hamiltoniano de un grafo no dirigido G es aquel que pasa
exactamente una vez por cada uno de los vértices de G
5 7
5 7

1 2
1 2
6 8
6 8

3 4
3 4
G2
G1
G1 tiene un camino hamiltoniano pero no un circuito hamiltoniano,
G2 tiene un circuito hamiltoniano.

La determinación de circuitos hamiltonianos motiva uno de los


problemas más importantes en optimización: EL PROBLEMA DEL
VIAJANTE (TSP)
Definiciones y terminología básica
C on e c t i v i d a d : De c im o s q u e d o s no d o s i y j e s t á n co n e c t a d os
s i e l g r a f o c o n t ie n e a l m e n o s u n a c a d e n a d e s d e e l n o d o i a l
nodo j. Un g r a fo es co n e x o si todo par de nodos están
c o n e c t a d os ; e n ot r o c a s o e l g r a f o e s n o c o n e x o . L l a m a r e m o s
c o m p o n e n t es co ne x a s d e u n g r a f o n o co n e x o a lo s s u b g r a f o s
d e m á x im a c o n e x io n e s d e d ic h o g r a f o . P o r e j e m p lo , e l g r a f o
m o s t r a d o e n la F i g u r a a ) e s c o n e x o y e l d e la F ig u r a b ) e s n o
conexo. Este ú l t im o t ie n e 2 componentes co ne x a s que
c o n s is t e n d e lo s c o n j u n t o s d e n o do s { 1 , 2 , 3 } y { 4 } .

2 2

1 4 1 4

3 3

a) b)
Definiciones y terminología básica

C on e c t i v i d a d f u e r t e : U n g r a f o c on e x o e s f u e r t e m en t e c o n e x o
s i e x is t e a l m e n o s u n c a m in o e n t r e c u a lq u ie r p a r d e n o d o s d e l
g r a f o . E n la F ig u r a a ) a n t e r io r la c o m p o n e n t e d e f in i d a p o r e l
conjunto de n od o s {1,2,3} es fuertemente co n e x a , s in
e m b a r g o e l g r a f o n o e s f u e r t e m e nt e c o n e x o d e b id o a q u e n o
c o n t ie n e c a m in o s d e s d e e l n o d o 4 a l r e s t o d e lo s n o d o s .

Á r b o l : u n á r b o l es u n g r a f o c o n e x o q u e n o co n t ie n e c ic lo s . E l
c o n c e p t o d e á r b o l e s m u y im p o r t a n t e e n t e o r ía d e g r a f o s .
A s u m ir e m o s , la s s ig u ie n t e s p r o p i e d a d e s e le m e n t a l e s d e lo s
á r b o le s :

a ) U n á r b o l d e n n o d o s c o n t ie n e e x a c t a m e n t e n - 1 a r c o s .

b ) U n á r b o l t ie n e a l m e n o s d o s n o do s h o j a ( n o do s co n
grado 1)

c ) C a d a d o s n o d o s d e u n á r b o l e s t á n c o n e c t a d os p o r u n a
ú n ic a c a d e n a o c a m in o .
Definiciones y terminología básica

B o s qu e : U n g r a fo q u e n o c o n t ie n e c ic lo s e s u n b o sq u e . D ic h o
de otra manera, un bosque es una c o le c c ió n de á r b o le s .
S u b á r b o l : U n s u b g r a f o c o n e x o d e u n á r b o l e s u n s u b á r b o l.

Á r b o l g e n er a d o r : u n á r b o l T e s un á r b o l g e n e r a d o r d e l g r a f o
G si T es un subgrafo generador de T. Todo árbol generador de
u n g r a f o c o n e x o G d e n n o d o s t ie n e ( n - 1 ) a r c o s .
Tipos de Grafos

G r a f o b i p a r t i t o : u n g r a f o G = ( V , A ) e s u n g r a f o bip a r t it o s i
p o d e m o s d iv id ir s u c o n j u n t o d e n od o s e n d o s s u b con j u n t o s V1
y V2 t a l q u e c a d a a r c o (i, j)  A t ie n e u n e x t r e m o e n V1 y e l o t r o
e n V2 . L a F ig u r a m u e s t r a u n g r a f o bip a r t it o c o n V1 = { 1 , 2 , 3 } y
V2 = { 4 , 5 } . La s ig u i e n t e p r o p ie d a d c a r a c t e r iz a a lo s grafos
b ip a r t it o s : U n g r a f o G e s b ip a r t it o s i y s ó lo s i t o d o c ic lo e n G
c o n t ie n e u n n ú m e r o p a r d e a r c o s .

1
4

5
3

Grafo bipartito.
Tipos de Grafos

Un grafo G=(V, E) se dice completo si cada par de vértices es adyacente.


Un grafo simple y completo con N vértices se denota por KN.

1 1 2 1 2 1 2

3 3 4

Un grafo bipartito G=(UV, E) se dice completo si cada par de vértices de


los conjuntos U y V son adyacentes. Un grafo bipartito simple y completo
con n,m vértices se denota por Kn,m.

1 1 2

2 3 3 4 5 6
Tipos de Grafos

Grafos planares
Un grafo es planar si se puede representar en el plano de forma que sus
aristas no se corten.
Por tanto, pueden existir formas alternativas de representación de un
grafo que lo transformen en plano.

1 2 1 2
G2 es la representación
planar de G1
3 4 3 4
G1 G2
Para determinar si un grafo es no planar se utilizan las siguientes
Propiedades:

Propiedad 1. Si G es conexo y planar con n ≥ 3 entonces m ≤ 3n - 6

Propiedad 2. Si G es conexo, bipartito y planar con n ≥ 3,


entonces m < 2n - 4
Representación de Grafos

Matriz de incidencia vértice–arco


La matriz de incidencia vértice–arco de un grafo dirigido G=(V, A) es una
matriz A=(ave), con v=1,...,ny e=1,...,m. El elemento ave es de la forma
ave=+1 si v es vértice inicial del arco e, ave=–1 si v es vértice final de la
arco e, y ave=0 en otro caso.

1 e1 2
 1 1 0 0 0 1 
 
e6 e3  1 0 1 1 0 0
A 
0
e2
e4 0 1 1 0 1
 
 
4 e5 3 0 0 0 1 1 1 
Representación de Grafos

Matriz de incidencia vértice–arista


La matriz de incidencia vértice–arista de un grafo no dirigido G=(V, E)
una matriz B=(bve), con v=1,...,n y e=1,...,m. El elemento bve es de la
forma bve=1 si v es un vértice extremo de la arista e, y bve=0 en otro
caso.

1 1 0 0 0 1 
Si no consideramos 1 0 1 1 0 0 
las direcciones de B  
los arcos del grafo
0 1 1 0 1 0 
dirigido anterior
 
0 0 0 1 1 1 
Representación de Grafos

Matriz de adyacencia o matriz de incidencia vértice–vértice


Sea G=(V, A) un 1–grafo dirigido (no existe más de un arco entre dos
vértices i y j). La matriz de adyacencia, o matriz de incidencia vértice–
vértice, es una matriz A=(aij) cuyos elementos son de la forma aij=1 si
existe el arco (i, j), y aij=0 en caso contrario. Si el grafo es no dirigido, la
matriz de adyacencia asociada a su grafo dirigido es simétrica.

1 e1 2
0 1 1 0
 
e3  0 0 1 1
e6 A
e4
e2 0 0 0 1
 
4 e5 3
1 0 0 0
Representación de Grafos

Matriz de costos: Los grafos suelen llevar asociado en cada arco un


número que puede indicar, una longitud, un coste, un peso, un tiempo,
etc. La forma más simple de representar un grafo con costos en los
arcos A es la matriz de pesos o costos, la cual es una matriz W=(wij) en
la que cada elemento wij es igual al costo de la arista (i, j). Si no existe
la arista (i, j) en el grafo G, wij=. Los elementos de la diagonal wii se
suele establecer a cero (o a otro valor según el algoritmo).

18
0  35  43
1
35
3
1 9 0  85  
43 19
 
43
W  1 8 4 3 0 1 1  
16 11    0 
5
2 85  
77   16  77 0 
4
Representación de Grafos en un ordenador

- Lista de arcos o aristas


La representación del grafo se puede almacenar en tres listas de forma
que las dos primeras listas T=(i1, i2,...,im) y H=(f1, f2,...,fm) contienen los
vértices extremos de cada arco (arista) (i, j), y la tercera C=(c1, c2,...,cm)
contiene los costos de cada una de ellas. Por ejemplo, para el grafo de la
figura anterior tenemos la siguientes listas:

18

1 3
35
43
T=(1, 1, 2, 2, 3, 3, 3, 5, 5)
19
43
H=(3, 5, 1, 4, 1, 2, 4, 2, 4)
16 11
2 85 C=(35, 43, 19, 85, 18, 43, 11, 16, 77)
5
77

4
Representación de Grafos en un ordenador

- Lista de adyacencia enlazada


En muchas ocasiones, la representación de un grafo es más eficiente si
todas los arcos que emanan de un vértice se agrupan juntas. En esta
representación se guardan n listas enlazadas (una por cada vértice), con
el origen de cada lista dentro de un array. Para cada sucesor de un vértice
se guarda la información del vértice destino, del costo del arco (arista) y
un puntero al siguiente adyacente dentro de la lista.
Vértice Costo Enlace
1 3 35 5 43 NULL

2 1 19 4 85 NULL

3 1 18 2 43 4 11 NULL

4 NULL

5 2 16 4 77 NULL
Problemas de Coloración de Grafos
La construcción de mapas, en los que regiones limítrofes deben tener
colores distintos, es un problema de interés en el estudio de los grafos.
2
3
2 1
1 3
5 6
4 6 5
4
7

Una coloración de un grafo simple implica la asignación de colores a


los vértices de forma que dos vértices adyacentes tengan colores
distintos. El Número cromático de un grafo es el mínimo de colores
necesarios para realizar una coloración.

Propiedad: El número cromático de un grafo planar es, como máximo, cuatro.

You might also like