Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


grafos, Ejercicios de Matemática Discreta

Asignatura: Matemática Discreta y Álgebra, Profesor: ppp ppp, Carrera: Ingeniería del Software, Universidad: URJC

Tipo: Ejercicios

2017/2018

Subido el 20/02/2018

zikram013
zikram013 🇪🇸

4

(3)

2 documentos

1 / 10

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Capítulo 4
Teoría de grafos
Los grafos son modelos matemáticos utilizados para representar relaciones entre objetos de un
conjunto y que generalizan el modelo de las relaciones binarias que estudiamos anteriormente. Uti-
lizamos grafos para estudiar conexiones entre objetos, datos o fuentes de información. Un ejemplo
de grafo lo encontramos en las redes de carreteras, dónde las poblaciones se enlazan o conectan
con una o varias carreteras. Las redes de ordenadores también se pueden representar y estudiar
como grafos.
4.1. Grafos, digrafos y multigrafos
Denición 4.1.1.
Un
grafo simple
G
es un par
G= (E, V )
formado por un conjunto nito de
vértices
V
y un conjunto
E
de pares no ordenados de vértices distintos, es decir,
E {{u, v}:u, v V , u 6=v}.
A los elementos de
E
se les denomina
aristas
(no dirigidas o no orientadas).
Ejemplo 4.1.2.
Un grafo simple es, por ejemplo, el grafo
G= (V, E )
, donde
V={1,2,3,4}
y
E={{1,2},{1,3},{1,4}}
.
Observación
4.1.3
.
Podemos representar los vértices como puntos del plano y las aristas
{u, v}
como
el segmento
uv
dando una representación gráca del grafo. Combiene observar que la representación
no es necesariamente única. Por ejemplo podemos ver a continuación dos representaciones distintas
del grafo del ejemplo anterior.
33
pf3
pf4
pf5
pf8
pf9
pfa

Vista previa parcial del texto

¡Descarga grafos y más Ejercicios en PDF de Matemática Discreta solo en Docsity!

Capítulo 4

Teoría de grafos

Los grafos son modelos matemáticos utilizados para representar relaciones entre objetos de un conjunto y que generalizan el modelo de las relaciones binarias que estudiamos anteriormente. Uti- lizamos grafos para estudiar conexiones entre objetos, datos o fuentes de información. Un ejemplo de grafo lo encontramos en las redes de carreteras, dónde las poblaciones se enlazan o conectan con una o varias carreteras. Las redes de ordenadores también se pueden representar y estudiar como grafos.

4.1. Grafos, digrafos y multigrafos

Denición 4.1.1. Un grafo simple G es un par G = (E, V ) formado por un conjunto nito de vértices V y un conjunto E de pares no ordenados de vértices distintos, es decir,

E ⊆ {{u, v} : u, v ∈ V, u 6 = v}.

A los elementos de E se les denomina aristas (no dirigidas o no orientadas).

Ejemplo 4.1.2. Un grafo simple es, por ejemplo, el grafo G = (V, E), donde V = { 1 , 2 , 3 , 4 } y E = {{ 1 , 2 }, { 1 , 3 }, { 1 , 4 }}.

Observación 4.1.3. Podemos representar los vértices como puntos del plano y las aristas {u, v} como el segmento uv dando una representación gráca del grafo. Combiene observar que la representación no es necesariamente única. Por ejemplo podemos ver a continuación dos representaciones distintas del grafo del ejemplo anterior.

Denición 4.1.4. Un multigrafo G es un par (V, E) formado por un conjunto nito de vértices V y una familia nita E de aristas no orientadas E = {ei}i∈I , con I un conjunto nito de índices y, para todo i ∈ I, se verica que ei = {ui, vi}, con ui, vi ∈ V.

Ejemplo 4.1.5. Un multigrafo puede ser, por ejemplo, ({ 1 , 2 , 3 }, {{ 1 , 1 }, { 1 , 2 }, { 1 , 2 }, { 2 , 3 }}).

Observación 4.1.6. Nótese que, en un multigrafo, dos aristas distintas pueden conectar los mismos vértices, es decir, que E es una familia y no un conjunto, pudiendo tener elementos repetidos. Nótese también que se permiten los lazos o bucles, esto eso, aristas del tipo {u, u}.

Denición 4.1.7. Un digrafo G es un par (V, E) donde V es un conjunto nito y E ⊆ (V, V ) \ ∆, siendo ∆ = {(u, u) : u ∈ V }. A los elementos de V se les denomina vértices y a los de E aristas (dirigidas u orientadas).

Ejemplo 4.1.8. {{a, b, c}, {(a, b), (a, c), (b, c), (c, b)} es un digrafo que podemos representar uti- lizando puntos para representar los vértices y echas para representar las aristas. Nótese que la arista (b, c) es distinta de la arista (c, b).

Denición 4.1.9. Un multidigrafo G es un par (V, E), formado por un conjunto nito de vértices V y una familia nita E de aristas orientadas E = {ei}i∈I , donde I es un conjunto nito y para todo i ∈ I se verica que ei ∈ V × V.

Observación 4.1.16. Un lazo en un vértie u suma uno al grado de entrada y uno al grado de salida.

Ejemplo 4.1.17. Consideremos los grafos G y H de la siguiente gura:

En el grafo G, se verica que

gr+(a) = 3 y gr−(a) = 0,

gr+(b) = 1 y gr−(b) = 1, gr+(c) = 1 y gr−(c) = 2, gr+(d) = 2 y gr−(d) = 2, gr+(e) = 0 y gr−(e) = 2. Por otra parte, en el grafo H tenemos

gr+(f ) = 2 y gr−(f ) = 1,

gr+(g) = 2 y gr−(g) = 0, gr+(h) = 3 y gr−(h) = 2.

Teorema 4.1.18. Sea G = (V, E) un grafo dirigido. Entonces se verica

|E| =

v∈V

gr+(v) =

v∈V

gr−(v).

4.2. Árboles

Especialmente útil en lo que a aplicaciones informáticas se reere. Estos grafos se emplean, entre otras cosas, para consruir algoritmos ecientes destinados a localizar items en una lista, para construir redes de ordenadores con el mínimo coste, para construir códigos ecientes destinados a almacenar y transmitir datos o para analizar algoritmos de ordenación.

Denición 4.2.1. Un camino entre los vértices v 0 y vk de un grafo no dirigido G = (V, E), es una secuencia nita de vértices, no necesariamente distintos, C = v 0 v 1 ...vk tal que ei = {vi− 1 , vi} ∈ E, para todo i ∈ { 1 , 2 , ..., k}. Diremos que un camino C es un ciclo si v 0 = vk y vi 6 = vj para todo i, j ∈ { 1 , 2 , ..., k − 1 }, es decir, C empieza y acaba en el mismo vértice, pero el resto de sus vértices son distintos.

Denición 4.2.2. Un grafo G = (V, E) se dice conexo si hay un camino entre cada par de vértices distintos del grafo.

Denición 4.2.3. Un árbol es un grafo no dirigido, conexo y sin ciclos.

Observación 4.2.4. Como un árbol no tiene ciclos, entonces no puede tener aristas múltiples o lazos, por lo tanto cualquier árbol es un grafo simple.

Ejemplo 4.2.5. Los siguientes grafos son ejemplos de árboles

Teorema 4.2.6. (Caracterización de un árbol). Sea G = (V, E) un grafo simple. Los siguientes enunciados son equivalentes:

  1. G es un árbol.
  2. G es conexo y |V | = |E| + 1.
  3. G no tiene ciclos y |V | = |E| + 1.
  4. En G hay exactamente un camino entre cada par de vértices
  5. El grafo de G es conexo, y al suprimir cualquier de sus aristas obtenemos un grafo no conexto (grafo conexo minimal).

Denición 4.2.7. Un subgrafo de un grafo simple G = (V, E) es un grafo G′^ = (V ′, E′) tal que V ′^ ⊆ V y E′^ ⊆ E.

Denición 4.2.8. Un árbol generador de un grafo simple G es un subgrafo de G que es árbol y contiene todos los vértices de G.

Ejemplo 4.2.9. El grafo de la derecha en un árbol generador del grafo G de la izquierda:

A la derecha mostramos el árbol generador dibujado con la forma habitual de un árbol.

4.2.2. Búsqueda en profundidad

El siguiente algoritmo construye un árbol generador siguiendo un recorrido en el grafo mediante búsqueda en profundidad. Esta búsqueda y los árboles así construidos se usan, por ejemplo, para encontrar las componentes conexas o para comprobar si un grafo es acíclico (es decir, no contiene ciclos).

Elegimos un vértice arbitrario v 0 , que llamamo raíz.

Construimos un camino que comenzando en v 0 y añadiendo sucesivamente aristas y vértices mientras sea posible, sin utilizar vértices ya añadidos al camino.

Si el camino así construido pasa por todos los vértices del grafo, entonces el árbol generador es dicho camino. En caso contrario, retrocedemos al penúltimo vértice del camino y, si es posible, formamos un nuevo camino que empiece en este vértice y que pase por vértices no visitados.

Si esto no se puede hacer, lo intentamos retrocediendo al vértice anterior.

Repetimos el proceso hasta añadir todos los vértices.

Ejemplo 4.2.13. Empezando en el vértice f , hemos construido el árbol generador del siguiente grafo mediante búsqueda en profundidad.

A la derecha, hemos dibujado el árbol con su forma habitual.

4.3. Matriz asociada a un grafo. Matriz de adyacencia.

Acabaremos este tema con una de las aplicaciones de grafos que concierne a otro tipo de representación de grafos distinta al uso de dibujar puntos y líneas. Es decir, se representará un grafo mediante una matriz denominada matriz de adyacencia.

Dado un grafo no dirigido G = (V, E), para construir una matriz de adyacencia se ordenarán previamente los vértices de G. Si |V | = n y los ordenamos como V = {v 1 , v 2 , ..., vn}, la matriz de adyacencia de G con respecto a esa ordenación de los vértices es la matriz A = (ai,j )ni,j=1 ∈ Mn×n(R) , donde

aij =

1 si {vi, vj } ∈ E 0 si {vi, vj } ∈/ E

Observación 4.3.1. La matriz de adyacencia de un grafo simple es una matriz simétrica (At^ = A) cuya diagonal es nula.

Ejemplo 4.3.2. Consideremos el siguiente grafo simple

En este casi, si tomamos V = {a, b, c, d, e}, entonces su matriz de adyacencia es la matriz de 5 las y 5 columnas

A =

  1. Halla una matriz de adyacencia de los siguientes grafos:

a)

b)

c)