Ejemplo: Si tenemos 20 aristas y queremos construir un grafo donde todos los
vértices tienen grado 4, cuantos vértices debería tener el grafo
Ejemplo: ¿Es posible que en un grupo de 7 personas cada una conozca
exactamente a 3 del grupo?
? grad(vi) =2 q=40
4p=40
p=10
El grafo tendría 10 vértices.
? grad(vi) =2 q
3*7=2q
21=2q
q=21/2 lo cual es absurdo. Por tanto no es posible
Grafos especiales
Un grafo se dice regular de grado r si todo vértice de G tiene grado r.
(Gp:) P=4
Regular 0
(Gp:) P=4
Regular 1
(Gp:) P=4
Regular 2
(Gp:) P=4
Regular 3
Observación:
– SI G tiene orden p y es regular de grado r entonces 0 < r < p-1.
– Si G tiene orden p y r es un numero entero puede ocurrir que no existan grafos
regulares para este orden p y grado r.
Por ejemplo p=5 y r =3.(numero impar de vértices impares) (ver Havel-Hakimi)
Un grafo de orden p se dice completo si cada vértice de G es adyacente a todos los demás. Es decir, es un grafo regular de grado p-1 y tiene tamaño p (p-1)/2. Se denotara por Kp
K1
K4
K2
K3
K5
Un grafo G se dice bipartito si V(G) pueden ser separado en dos conjuntos no vacíos V1 y V2 tales que todo vértice de G une un vértice de V1 con uno de V2.
(Gp:) X
(Gp:) Z
(Gp:) W
(Gp:) U
(Gp:) Y
(Gp:) V
(Gp:) U
(Gp:) Y
(Gp:) Z
(Gp:) X
(Gp:) W
(Gp:) V
Un grafo G se dice bipartito completo si es bipartito y cada vértice de V1 es adyacente a todos los de V2. Se representara por Km,n
(Gp:) U
(Gp:) Y
(Gp:) Z
(Gp:) X
(Gp:) W
(Gp:) V
V
(Gp:) U
(Gp:) Y
(Gp:) Z
(Gp:) X
(Gp:) W
Bipartito
Bipartito completo K2,4
Ejemplo: Dibujar los grafos K5 y K1,5
K5
K1,5
Secuencia de grados
Dado un cierto numero de vértices y sus grados, ¿Cómo decidir si existe un grafo
con ese numero de vértices y con esos grados?
Definición: Decimos que una secuencia de enteros no negativa es grafica
si es la secuencia de grados de algún grafo
La secuencia 4,4,3,2,2,1 es grafica.
Anteriormente vimos que 3,3,3,3,3 no es gráfica.
Definición: Dado un grafo G de orden p, la sucesión s=grad(v1), grad(v2), grad(vp) se denomina sucesión de grados del grafo. Por convenio asumiremos que
grad(v1) = grad(v2) = . = grad(vp)
s=4,4,3,2,2,1
¿Cómo determinar que una sucesión es grafica?
Para que sea grafica dos condiciones necesarias son:
grad(vi) = p-1
– ? grad(vi) sea par
Sin embargo estas condiciones no son suficientes.
(Es decir si no se cumplen la secuencia no es grafica pero si se
cumplen puede que lo sea puede que no)
Ejemplo: Cinco invitados van a una fiesta. ¿Es posible que cada una de ellas
conozca a un numero diferente de invitados?
Si esto fuese posible se tendría que
s: 0,1,2,3,4
Lo cual es absurdo ya que un invitado no conoce a nadie (grado 0) pero
habría otro de los invitados (grado 4) que si la conocería. Con lo cual esta
secuencia no puede ser grafica. Sin embargo cumple las
dos condiciones necesarias.
Algoritmo para determinar si una secuencia es grafica
( If ) Si no cumple las dos condiciones necesarias
entonces no es grafica.
( Else ) Si las cumple
(If) Si todos los grados son 0
entonces es grafica.
(Else) Si no
(While) Mientras existan grados distintos de 0 y no haya elementos negativos.
Aplicar Havel -Hakimi.
Reordenar términos si no están decreciendo.
(If) Si todos los grados son 0
entonces es grafica.
(Else)Si no
entonces no es grafica.
(Gp:) Teorema de Havel – Hakimi: Supongamos que tenemos p vértices
con una secuencia de grados s: d1, d2,., dp de enteros no negativos ,
y sea d1= d2 = .. = dp con p = 2 y d1 = 1.
La secuencia s es grafica si y solo si la secuencia
s1: d2-1 , d3 -1, . , d d1+1-1,d d1+2, dd1+3, . , dp
es grafica.
Ejemplo: Determinar si la secuencia 4 4 3 3 2 2 es grafica.
Tiene 6 vértices y todos los grados son menores que 6.
La suma de los grados es 18 que es un numero par
Entonces puede ser grafica
Paso 1: 3 2 2 1 2
Paso 1-Reordenamiento: 3 2 2 2 1
Paso 2: 1 1 1 1
Paso 3: 0 1 1
Paso 3 – Reordenamiento : 1 1 0
Paso 4: 0 0 entonces es grafica
Ejemplo (Continuación): Sabiendo que la sucesión 4 4 3 3 2 2 es grafica,
dibujar un grafo que tenga esta secuencia
Paso 1: 3 2 2 1 2
Paso 1-Reordenamiento: 3 2 2 2 1
Paso 2: 1 1 1 1
Paso 3: 0 1 1
Paso 3 – Reordenamiento : 1 1 0
Paso 4: 0 0
Sucesión: 4 4 3 3 2 2
Ejemplo: Determinar si la secuencia 5 4 3 2 1 1 es grafica.
Tiene 6 vértices y todos los grados son menores que 6.
La suma de los grados es 16 que es un numero par
Entonces puede ser grafica
Paso 1: 3 2 1 0 0
Paso 2: 1 0 -1 0. Entonces no es grafica.
Subgrafos
Definición. Un grafo H es un subgrafo de un grafo G si V(H) están incluidos en
V(G) y E(H) están incluidos en E(G).
Grafo G
Subgrafo G
NO es subgrafo G
Subgrafos especiales
Definición: Un subgrafo H de G se dice recubridor, cobertor o generador
si V(H) = V(G).
Grafo G
Subgrafo
Recubridor
de G
NO es
Subgrafo
Recubridor
de G
NO es
Subgrafo
Recubridor
de G
Se define el subgrafo inducido por un conjunto de vértices S de G
< S>, como el MAXIMO subgrafo de G que tiene los vértices de S.
Grafo G
NO es un subgrafo
inducido por un
subconjunto
de vértices de G
NO es un subgrafo
inducido por un
subconjunto
de vértices de G
SI es un subgrafo
inducido por un
subconjunto
de vértices de G
Se define el subgrafo inducido por un conjunto de aristas X de G
< X>, como el MINIMO subgrafo de G que tiene las aristas en X .
Grafo G
SI es un subgrafo
inducido por un
subconjunto
de aristas de G
NO es un subgrafo
inducido por un
subconjunto
de aristas de G
SI es un subgrafo
inducido por un
subconjunto
de aristas de G
Programación: representación de grafos
Matriz de adyacencia
Definición: Dado un grafo G de orden p y tamaño q con V(G)={v1, v2, ., vp}
se define la matriz de adyacencia A=[aij] de G como la matriz p X p definida por
aij= 1 si vivj pertenece a E(G)
aij=0 si vivj no pertenece a E(G)
(Gp:) v1
(Gp:) v3
(Gp:) v4
(Gp:) v6
(Gp:) v5
(Gp:) v2
(Gp:) v1
(Gp:) v1
(Gp:) v2
(Gp:) v2
(Gp:) v3
(Gp:) v3
(Gp:) v4
(Gp:) v4
(Gp:) v5
(Gp:) v5
(Gp:) v6
(Gp:) v6
(Gp:) 0 1 1 0 0 0
1 0 1 0 0 0
1 1 0 1 1 0
0 0 1 0 0 0
0 0 1 0 0 0
0 0 0 0 0 0
Observación: Una matriz de adyacencia es simétrica y la diagonal esta formada
por ceros
Lista de adyacencia
(Gp:) v1
(Gp:) v3
(Gp:) v4
(Gp:) v6
(Gp:) v5
(Gp:) v2
(Gp:) 2
(Gp:) 2
(Gp:) 3
(Gp:) 3
(Gp:) 3
(Gp:) 3
(Gp:) 1
(Gp:) 1
(Gp:) 5
(Gp:) 4
(Gp:) 0
(Gp:) 0
(Gp:) 0
(Gp:) 0
(Gp:) 0
(Gp:) 0
(Gp:) 1
2
3
4
5
6
Una lista de adyacencia necesita (p+q)*2 posiciones de memoria
Una matriz de adyacencia necesita p2 posiciones de memoria. Si un grafo tiene pocas
aristas y muchos vértices esto supone un mal uso de la memoria.
Tabla de adyacencia
Una forma mas ordenada de presentar la lista de adyacencia es mediante
una tabla de adyacencia. Requiere (p+2q)*2 posiciones de memoria.
(Gp:) 2
(Gp:) 2
(Gp:) 3
(Gp:) 3
(Gp:) 3
(Gp:) 3
(Gp:) 1
(Gp:) 1
(Gp:) 5
(Gp:) 4
(Gp:) 0
(Gp:) 0
(Gp:) 0
(Gp:) 0
(Gp:) 0
(Gp:) 0
(Gp:) 1
2
3
4
5
6
(Gp:) 1 7
2 9
3 11
4 15
5 16
6 0
7 2 8
8 3 0
9 1 10
10 3 0
11 1 12
12 2 13
13 4 14
14 5 0
15 3 0
16 0 0
Isomorfismo de grafos
Los tres grafos tienen p=5, q=6 y s= 3,3,2,2,2
El tercer grafo no es isomorfo por que los vértices de grado 3 están unidos.
El grafo 1 y 2 son isomorfos. Podríamos preferir el grafo 2 si estamos dibujando
un circuito ya que sus aristas no se cruzan.
Definición: Dos grafos G1 y G2 son isomorfos si existe una función biyectiva
f :V(G1)->V(G2)
De forma que si uv pertenece a E(G1) entonces f(u)f(v) pertenece a E(G2).
Observación: Para probar que dos grafos son isomorfos hay que dar el isomorfismo
Para probar que no son isomorfos basta con ver que uno no tiene una
propiedad que el otro tiene y que se conserva bajo el isomorfismo.
Por ejemplo:
Ambos deben tener el mismo numero de vértices.
Ambos deben tener el mismo numero de aristas.
Ambos deben tener la misma secuencia de grados
Grafos no isomorfos de orden 3
Página anterior | Volver al principio del trabajo | Página siguiente |