Teoría de Grafos.-Clase 2 Conexión y árboles. Aplicación 1: Problemas de ordenación....
-
Upload
susanita-salvo -
Category
Documents
-
view
223 -
download
0
Transcript of Teoría de Grafos.-Clase 2 Conexión y árboles. Aplicación 1: Problemas de ordenación....
Teoría de Grafos.-Clase 2
Conexión y árboles
Aplicación 1: Problemas de ordenación.(Estructura de una compañía)
Director
Coordinador 1
Trabajador 5
Coordinador 2
Trabajador 3Trabajador 2Trabajador 1 Trabajador 4
Aplicación 2.Problemas de búsqueda(Recorrer todas las habitaciones de un laberinto)
Aplicación 3: problemas de conectividad mínima.(Reconstrucción de carreteras tras un terremoto)
Aplicación 3b: problemas de conectividad mínima.(Reconstrucción de carreteras tras un terremoto con varios costes)
37
3
84
8
2
5
2
2
Definiciones:
w
x y
vu
e2
e1
e3
e4
e6
e5e7
Definición: Una cadena (walk) de un vértice u a un vértice y es una sucesión alternante de vértices y aristas, los cuales pueden estar repetidos.
u, e1, v, e3, w, e6, x, e4, u, e1, v, e5, y
En general escribiremos u, v, w, x, u, v, y
Definiciones:
w
x y
vu
e2
e1
e3
e4
e6
e5e7
Definición: Una camino (path) de un vértice u a un vértice y es una cadena de u a y sin vértices repetidos.
u, e4, x, e6, w, e3, v, e5, y
u, x, w, v, y
w
x y
vu
e3
e4
e6
e5
Definiciones:
w
x y
vu
e2
e1
e3
e4
e6
e5e7
Definición: Una ciclo (cycle) es un camino que empieza y acaba en el mismo vértice.
u, e1, v, e5, y, e7, w, e2, u
u, v, y, w, u
w
y
vu
e2
e1
e5e7
Definiciones:
w
x y
vu
e2
e1
e3
e4
e6
e5e7
Definición: Una recorrido (trail) es una cadena sin aristas repetidas (se pueden repetir vértices). Observar que es una condición mas débil que un camino.
x, e6, w, e3, v, e1, u, e2, w, e7, y
x, w, v, u, w, y
w
x y
vu
e2
e1
e3
e6 e7
Definiciones:
w
x y
vu
e2
e1
e3
e4
e6
e5e7
Definición: Una circuito (circuito) es un recorrido con el mismo origen y final.Observar que un circuito es condición mas débil que un ciclo.
x, e6, w, e3, v, e5, y, e7, w, e2, u, e4, x
x, w, v, y, w, u, x
w
x y
vu
e2 e3
e4
e6 e7
e5
Teorema: Toda cadena u-v contiene un camino u-v
Sea u=u0, u1, u2, … , un=v una cadena de longitud n. Suponemos que u es diferente de v.
Si todos los vértice son diferentes entonces es un camino
Si hay dos vértices iguales digamos ui y uj son iguales con i diferente a j, entonces
u=u0, u1, u2, …, ui, ui+1, … uj-1, uj, uj+1, … , un=v
Eliminando los vértices desde ui hasta uj-1 tendríamos una cadena dondeestos dos vértices no están repetidos. Repitiendo el proceso hasta que no hayavértices repetidos nos daría un camino de u a v.
u, e1, v, e3, w, e6, x, e4, u, e1, v, e5, y
u, e1, v, e3, w, e6, x, e4, u, e1, v, e5, yw
x y
vu
e2
e1
e3
e4
e6
e5e7
Definición: Un vértice u se dice que esta conectado al vértice v si existe una cadena (camino) de u a v. Un grafo se dice conexo o conectado si u esta conectado a v para todas posibles parejas de vértices u y v. Un grafo que no es conexo se dice disconexo.
Un subgrafo H de un grafo G se dice una componente de G si H es un subgrafo maximal conexo de G.
Grafo conexo Grafo disconexo con 4 componentes
Definición: Un vértice v en un grafo G se denomina vértice de corte si K(G-v) ≥ K(G)
v1
v6
v3
v4 v5
v2 v1
v6
v4 v5
v2
v1
v6
v3
v4
v2
K(G-v3)=2V3 es un vértice de corte
v1
v6
v3
v4 v5
K(G-v2)=1V2 NO es un vértice de corte
K(G-v5)=2V5 es un vértice de corte
Grafo conexo GK(G)=1
Definición: Una arista e de un grafo G se denomina puente si K(G-e) ≥ K(G)
v1
v6
v3
v4 v5
v2
Grafo conexo GK(G)=1
v1
v6
v3
v4 v5
v2
v1
v6
v3
v4 v5
v2
v5v4 es puenteK(G –v5v4)=2
v1v2 NO es puenteK(G –v1v2)=1
Teorema: Una arista e de un grafo conexo G es un puente de G si y solo si e no esta en un ciclo de G.
Sea G un grafo conexo, si e es un puente entonces no esta en un ciclo
Como G es conexo existe un camino de a1 a a2 en G. -Si el camino no contiene a uv también estarán conectados en G-e-Si el camino contiene a e=uv solo hay que cambiar e=uv por u, x, …, w, v. Por tanto G-e es conexo lo cual es una contradicción ya que G-e debería ser disconexo puesto que e=uv es un puente.
Si e no esta en un ciclo de G entonces es un puente.
Si e=uv no esta en un ciclo entonces G-e no contiene un camino de u a v ya que Si lo contuviese uniendo el vértice uv seria un ciclo. Entonces u y v no están conectados y por tanto el grafo no es conexo.
Lo probamos por reducción al absurdo. Imaginemos que “e” estuviese en un ciclo.Sea el ciclo u, v, w, … , x, u e imaginemos sin perdida de generalidad que e = uv.Entonces existe un camino en G-e que une uv que seria u, x, …, w, v.
Veamos que dos vértices cualesquiera a1 y a2 de G-e están conectados, lo cual es absurdo ya que ya que G-e debería ser disconexo porque e=uv es un puente.
Definición: Un árbol es un grafo conexo sin ciclos.
Árbol p=2 Árbol p=3Árbol p=1 Árboles p=4
Árboles p=6
Sean p1 y p2 respectivamente el orden de T1 y T2 y q1 ,q2 sus tamaños.Evidentemente, k=p1+p2 y q=q1+q2+1.Como p1 y p2 son menores que k-1 por hipótesis se cumple que q1=p1-1 y q2=p2-1Entoncesq=q1+q2+1=(p1-1)+(p2-1)+1=p1+p2-1=k-1
Teorema: Un árbol de orden p tiene tamaño p-1.
Si p=1, hemos visto que q=0.Si p=2, también hemos visto que q=1.
Suponemos que hasta orden k-1 se cumple.Lo demostramos para p=k.
Sea T un árbol de orden k. Tenemos que probar que tiene tamaño q= k-1. Como todos las aristas son puentes si quitamos una, quedarían dos componentes T1 y T2.
Ejercicio: Sean T1 =(V1,A1) y T2=(V2,A2) dos árboles tales que |A1|=17, |V2|=2|V1| . Determinar |V1|, |V2| y |A2|.
V1 es 18 ya que el tamaño de un árbol de orden p es p-1.
V2=36 ya que 2*18=36 y A2 = 35
Consecuencia. Sea G un grafo de orden p- Entonces las siguientes afirmaciones son equivalentes:(1) G es un árbol. (Conexo y sin ciclos)(2) G tiene tamaño p-1 y no tiene ciclos.(3) G es conexo y tiene tamaño p-1.
(2)->(3) Tenemos que ver que es conexo. Si no fuese conexo, tendría k árboles (ya que no tiene ciclos). Cada árbol tendría p1, p2, … , pk vértices con p1+p2+ ...+ pk=p. Aplicando el teorema anterior tendría tamañop1-1+p2-1+ ...+ pk-1=p-k. Como sabemos que tiene tamaño p-1 se tiene que k=1. Es decir una única componente y por tanto conexa.
(1)->(3) Por el teorema anterior sabemos que tiene tamaño p-1.
(3)->(1) Como ejercicio. Basta observar cual es el menor numero de aristasNecesarias para hacer un ciclo.( Para una demostración rigurosa consultar Gross)
Teorema: Todo árbol con p≥2 contiene al menos dos vértices extremos (grado 1).
∑ di ≥ 1 + 2 (p-1)= 2p -1 (1)(un vértice tiene grado 1 y los otros como mínimo tienen grado 2)
Uniendo el teorema 1 de la clase 1 y que como T es un árbol tiene p-1 aristas
∑ di=2q=2(p-1)=2p-2. (2)
Uniendo (1) y (2) tenemos 2p-2 ≥ 2p -1 que es absurdo
Vamos a probarlo por reducción al absurdo. Supondremos que no es cierto y llegaremos a una contradicción.
Sea T un árbol de orden p y tamaño q con secuencia de grados d1 ≤ d2 ≤ … ≤ dp Como T es conexo al menos cada vértice tiene grado 1 es decir di ≥ 1.
Supongamos que no contiene al menos dos vértices de grado 1. Es decir contendría o 0 o 1. Cero no puede ser ya que es conexo. Entonces tendríaque tener solo un vértice de grado 1. Entonces se d1 =1 y di ≥2 para los demás vértices. Entonces
Teorema: Si u y v son dos vértices distintos de un árbol T, entonces TContiene exactamente un camino (path) u-v.
Sabemos que existe al menos 1 ya que es conexo.Igual que antes vamos a demostrarlo por reducción al absurdo.Supongamos que existen dos caminos P y Q que unen u y v.Entonces tiene que existir un vértice ui donde el siguiente vértice en los dos caminos es diferente. De igual forma existe un vértice u n-j a partir del cual ambos tienen los mismos vértices.
u ui
un-1 vun-ju2
P
Q
a1 am
ui+1 u n-j-1
Si esto pasase, existiría un ciclo y es absurdo ya que los árboles no tienen ciclos.
Algoritmo Depth-First Search
Es un algoritmo que garantiza que de forma sistemática recorremos todos los vértices del grafo. Esta basado en el concepto de pila
L M N O P
G
Q
H JI K
FED
B C
A
Apilar
Desapilar
Pila
7
2
5
8 4
6
31
Ejemplo: Recorrer todos los vértices del siguiente grafo mediante DFS empezando en 1.
Actual
Asignamos Etiqueta(si actual es nuevo)
Aumentamosetiqueta(si hubo asignación de etiqueta) Pila
v1 1 2 v1
Huboasignaciónetiqueta
1
Adyacentes
v11
7
25
8 4
6
31
Actual
Asignamos Etiqueta(si actual es nuevo)
Aumentamosetiqueta(si hubo asignación de etiqueta) Pila
v1 1 2 v1
Huboasignaciónetiqueta
1
Adyacentes
v11
v2 2 3 v1v21 1 v2
7
25
8 4
6
31
Actual
Asignamos Etiqueta(si actual es nuevo)
Aumentamosetiqueta(si hubo asignación de etiqueta) Pila
v1 1 2 v1
Huboasignaciónetiqueta
1
Adyacentes
v11
v2 2 3 v1v21 1 v2
v5 3 4 v1v2v51 1 v5
7
25
8 4
6
31
Actual
Asignamos Etiqueta(si actual es nuevo)
Aumentamosetiqueta(si hubo asignación de etiqueta) Pila
v1 1 2 v1
Huboasignaciónetiqueta
1
Adyacentes
v11
v2 2 3 v1v21 1 v2
v5 3 4 v1v2v51 1 v5
v6 4 5 v1v2v5v61 0v6
7
25
8 4
6
31
Actual
Asignamos Etiqueta(si actual es nuevo)
Aumentamosetiqueta(si hubo asignación de etiqueta) Pila
v1 1 2 v1
Huboasignaciónetiqueta
1
Adyacentes
v11
v2 2 3 v1v21 1 v2
v5 3 4 v1v2v51 1 v5
v6 4 5 v1v2v5v61 0v6
7
25
8 4
6
31
v5 - 5 v1v2v50 1
Actual
Asignamos Etiqueta(si actual es nuevo)
Aumentamosetiqueta(si hubo asignación de etiqueta) Pila
v1 1 2 v1
Huboasignaciónetiqueta
1
Adyacentes
v11
v2 2 3 v1v21 1 v2
v5 3 4 v1v2v51 1 v5
v6 4 5 v1v2v5v61 0v6
7
25
8 4
6
31
v5 - 5 v1v2v50 1
v8 5 6 v1v2v5v81 0
v8
Actual
Asignamos Etiqueta(si actual es nuevo)
Aumentamosetiqueta(si hubo asignación de etiqueta) Pila
v1 1 2 v1
Huboasignaciónetiqueta
1
Adyacentes
v11
v2 2 3 v1v21 1 v2
v5 3 4 v1v2v51 1 v5
v6 4 5 v1v2v5v61 0v6
7
25
8 4
6
31
v5 - 5 v1v2v50 1
v8 5 6 v1v2v5v81 0
v8
v5 - 6 v1v2v50 0
Actual
Asignamos Etiqueta(si actual es nuevo)
Aumentamosetiqueta(si hubo asignación de etiqueta) Pila
v1 1 2 v1
Huboasignaciónetiqueta
1
Adyacentes
v11
v2 2 3 v1v21 1 v2
v5 3 4 v1v2v51 1 v5
v6 4 5 v1v2v5v61 0v6
7
25
8 4
6
31
v5 - 5 v1v2v50 1
v8 5 6 v1v2v5v81 0
v8
v5 - 6 v1v2v50 0v2 - 6 v1v20 0
Actual
Asignamos Etiqueta(si actual es nuevo)
Aumentamosetiqueta(si hubo asignación de etiqueta) Pila
v1 1 2 v1
Huboasignaciónetiqueta
1
Adyacentes
v11
v2 2 3 v1v21 1 v2
v5 3 4 v1v2v51 1 v5
v6 4 5 v1v2v5v61 0v6
7
25
8 4
6
31
v5 - 5 v1v2v50 1
v8 5 6 v1v2v5v81 0
v8
v5 - 6 v1v2v50 0v2 - 6 v1v20 0v1 - 6 v10 1
Actual
Asignamos Etiqueta(si actual es nuevo)
Aumentamosetiqueta(si hubo asignación de etiqueta) Pila
v1 1 2 v1
Huboasignaciónetiqueta
1
Adyacentes
v11
v2 2 3 v1v21 1 v2
v5 3 4 v1v2v51 1 v5
v6 4 5 v1v2v5v61 0v6
7
25
8 4
6
31
v5 - 5 v1v2v50 1
v8 5 6 v1v2v5v81 0
v8
v5 - 6 v1v2v50 0v2 - 6 v1v20 0v1 - 6 v10 1v3 6 7 v1v31 1
v3
Actual
Asignamos Etiqueta(si actual es nuevo)
Aumentamosetiqueta(si hubo asignación de etiqueta) Pila
v1 1 2 v1
Huboasignaciónetiqueta
1
Adyacentes
v11
v2 2 3 v1v21 1 v2
v5 3 4 v1v2v51 1 v5
v6 4 5 v1v2v5v61 0v6
7
25
8 4
6
31
v5 - 5 v1v2v50 1
v8 5 6 v1v2v5v81 0
v8
v5 - 6 v1v2v50 0v2 - 6 v1v20 0v1 - 6 v10 1v3 6 7 v1v31 1
v3
v4 7 8 v1v3v41 0
v4
Actual
Asignamos Etiqueta(si actual es nuevo)
Aumentamosetiqueta(si hubo asignación de etiqueta) Pila
v1 1 2 v1
Huboasignaciónetiqueta
1
Adyacentes
v11
v2 2 3 v1v21 1 v2
v5 3 4 v1v2v51 1 v5
v6 4 5 v1v2v5v61 0v6
v5 - 5 v1v2v50 1
v8 5 6 v1v2v5v81 0
v8
v5 - 6 v1v2v50 0v2 - 6 v1v20 0v1 - 6 v10 1v3 6 7 v1v31 1
v3
v4 7 8 v1v3v41 0
v4
v3 - 8 v1v30 1 7
25
8 4
6
31
Actual
Asignamos Etiqueta(si actual es nuevo)
Aumentamosetiqueta(si hubo asignación de etiqueta) Pila
v1 1 2 v1
Huboasignaciónetiqueta
1
Adyacentes
v11
v2 2 3 v1v21 1 v2
v5 3 4 v1v2v51 1 v5
v6 4 5 v1v2v5v61 0v6
5
v5 - 5 v1v2v50 1
v8 5 6 v1v2v5v81 0
v8
v5 - 6 v1v2v50 0v2 - 6 v1v20 0v1 - 6 v10 1v3 6 7 v1v31 1
v3
v4 7 8 v1v3v41 0
v4
v3 - 8 v1v30 1v7 8 9 v1v3v71 0
v7
v3 - 9 v1v30v1 - 9 v10
7
25
8 4
6
31
v1
v6
7
25
8 4
6
1
v7v4
v8
v5
v2v3
3
Añade
Elimina
2 3 4 8 1 3 5 11
Algoritmo Depth-First Search
L M N O P
G
Q
H JI K
FED
B C
A
Es un algoritmo parecido al DFS que garantiza que de forma sistemática recorremos todos los vértices del grafo. Esta basado en el concepto de cola.
7
25
8 4
6
31
7
25
8 4
6
31
(1) v1
v1
7
25
8 4
6
31
(1) v1
(2) v1 v2 v3 v4 v6 v7 v8 v8v2 v3 v7v6v4
v2 v3 v4 v6 v7 v8
v1
7
25
8 4
6
31
(1) v1
v1
(2) v1 v2 v3 v4 v6 v7 v8 v8
v2 v3 v4 v6 v7 v8(3)
v2 v3 v7v6
v5
v4
v2 v3 v4 v6 v7 v8
v3 v4 v6 v7 v8 v5v5
7
25
8 4
6
31
(1) v1
v1
(2) v1 v2 v3 v4 v6 v7 v8 v8
v2 v3 v4 v6 v7 v8(3)
v2 v3 v7v6
v5
v4
v2 v3 v4 v6 v7 v8
v3 v4 v6 v7 v8 v5v5
(4) v3 v4 v6 v7 v8 v5 v4 v6 v7 v8 v5
7
25
8 4
6
31
(1) v1
v1
(2) v1 v2 v3 v4 v6 v7 v8 v8
v2 v3 v4 v6 v7 v8(3)
v2 v3 v7v6
v5
v4
v2 v3 v4 v6 v7 v8
v3 v4 v6 v7 v8 v5v5
(4) v3 v4 v6 v7 v8 v5 v4 v6 v7 v8 v5
v4 v6 v7 v8 v5(5) v6 v7 v8 v5
7
25
8 4
6
31
(1) v1
v1
(2) v1 v2 v3 v4 v6 v7 v8 v8
v2 v3 v4 v6 v7 v8(3)
v2 v3 v7v6
v5
v4
v2 v3 v4 v6 v7 v8
v3 v4 v6 v7 v8 v5v5
(4) v3 v4 v6 v7 v8 v5 v4 v6 v7 v8 v5
v4 v6 v7 v8 v5(5) v6 v7 v8 v5
v6 v7 v8 v5 v7 v8 v5(6)
(7)
(8)
v7 v8 v5 v8 v5
v8 v5v5
7
25
8 4
6
31
v1
v8v2 v3 v7v6
v5
v4
v1
v6
v7v4
v8
v5
v2v3
DFSDBS