GRAFOS-Mate Discreta Con Video2

September 19, 2022 | Author: Anonymous | Category: N/A
Share Embed Donate


Short Description

Download GRAFOS-Mate Discreta Con Video2...

Description

 

GRAFOS Esta formado por vértices y aristas: G=(V,E)  V = { v 1, v 2, v 3……..v n } E = { e1, e2, e3……..en } e1

 V1 e4

 V2

 V3 e3

 V4

e2

 

TIPOS DE GRAFOS 1) Grafo no dirigido:

e=(v,w)=(w,v)

e1  w

 v  e2

Es decir la arista del de l nodo n odo o vértice de v a w o de w a v son iguales, igual es, dado que no hay un sentido o dirección

2) Grafo dirigido:

e1  v 

e=(v,w)≠(w,v)  w

e2

Es decir, la arista e1 con e2 no necesariamente son iguales

 

3) Grafo no simple: Es un grafo no dirigido que tiene lazos y lados paralelos pa ralelos e1  V1

e3  V2

e2

e5 V3

e4

Lazo converg convergee en el mismo vértice

e1 e2: Aristas paralelas e5:yLazo 4) Grafo Ponderado: Se presentan pesos de cada arista, y en base a ello, se puede obtener la longitud de la ruta que es la suma total de todos los l os pesos de las aris aristas tas de la ruta

 

5) Grafo Simple: No contiene lazos, aristas paralelas, ni aristas dirigidas.

6) Grafo Completo: Es aquel grafo con n vértices en los que existe una arista entre cada cad a par de  vértices(no  vértic es(no hay hay aristas paralelas). paralelas).

7) Grafo de Similitud: Son aquellos grafos de los que se pueden derivar subgrafos.  V1

 V1  V2

 V2

 V3  V4 G(V,E)

 V4 G’(V’,E’)  es un subgrafo de G(V,E)

 

Grado de un Vértice a b

c

d

e f 

δ(a)=2 (dado que hay 2 aristas en a) δ(b)=2 δ(f)=2 (todo lazo es de grado 2) δ(g)=0

g

(por estar aislado y no tener conexión ni lazo)

Camino o Trayectoria a b

c

d

e f 

La ruta o trayectoria para ir ir de a hasta f puede ser: a,b,c,d,e,f  a,c,b,d,e,f  a,b,e,c,d,f 

 

Ciclo de Euler Recorrer todas las aristas sin repetirse a a,b,c,d,b,e,d,f,e,c,a b

c

d

e

Obser ve que parte del vértice a y llega al vértice Observe a barriendo todas las aristas en este caso, se dice que es un ciclo o circuito de euler(observe euler(obs erve que pueden repetirse los vértices)



Ciclo de Hamilton Recorre todos los vértices sin repetirse excepto el vértice inicial y el vértice nal que son el mismo a d

c

b e

g

i  j

a,e,b,g,c,h,j,i,d,a h

Es un circuito hamiltoniano, barre todos los  vertices,  vertic es, comienza comienza en a y termina termina en a.

 

e1

a

 

Matriz de Incidencias, vértices respecto A las aristas e1 e2 e3 e4 e5

e3

b

e4 e2

c

e5

a

1

1

1

0

0

b

0

0

1

1

1

c

0

1

0

1

1

δ(a)=4

No olvide que los lazos y aristas paralelas tienen valor 2. Otro ejemplo La incidencia de las aristas con los vértices. a b

e1 e4

e2 e3 c e5

e1

e2

e3

e4

e5

a

1

1

1

0

0

b

1

0

0

1

0

c 0 1 1 1 1 Hay que observar que el vertice que tenga una arista arist a o mas y que converga en dicho  vertice.  vertic e.

 

Producto de Grafos Sea el grafo G(x,b) y el grafo G’(y,a), G’(y,a), el producto pro ducto de grafos es otro grafo G’’=(z,c). G’’=(z, c). n(arcos)=n(b) * n(a) n(nodos)=n(x) * n(y) Ejemplo: Sea G:  Y G’:  X2

 X1

 Y1

 Y2

 X3 Hallar G(x,b) * G(y,a) n(arcos)=4*3=12 n(nodos)=3*2=6 G’’(z,c):  A 

 X1Y1  X2Y2

 X3Y1

 X3Y2  X1Y2

X2Y1

D

F B

E

C

 

Teorema En una graca no dirigida conexa(vertices unidos), una graca tiene circuito o ciclo euleriano, si todos los vertices son de grado par. Demostracion: Es claro que si tiene 2 vertices, cada arista ari sta que los une les da un grado impar a la graca, si se agrega otra arista, ello le da el grado par. Y la gr graca aca tendra 2 trayectorias, una de ida(parte ida(pa rte de un vertice) vertice) y otra de llegada al vertice inicia inicial. l. k 

Gra(V 1) i 1 Suponiendo por de hipotesis se tiene circuito ci rcuito Euler. inductiva, que la sumatoria 

i es par entonces

Para un V k+1 es decir n=k+1 vertices y dado que todos los l os vertices son conexos y de grado par (al menos 2 aristas). Entonces:  V 1

 V 2

 V 3

 V 4

 V k

 Vk+1

Se puede tener una trayectoria de V k+1  a V k  y de de ahí ahí a V 1. Por lo cual la graca Euler. de V 1 a V k+1 constituye una graca de Euler.

 

El Teorema de Handshaking En una graca no dirigida: Si G=(V,E) entonces:

 Gra( X   1 )   2e Donde e es la cantidad de aristas

V1 δ(v1)=1 δ(v2)=1

V2 2

   (V  )   2e i

= 2(1)

i 1

1 arista contribuye a la graca en 2. Hipotesis Inductiva K aristas contribuyen en 2e aristas Para k+1 aristas -> 2e+2=2(e+1) ... N aristas contribuyen en 2e  V 1

 V 2

 V 3  V 4 2e+2=2(e+1)

 V n

1

n+1  V n+1

 

Teorema El numero de nodos nod os de grado impar en una graca no dirigida es par. Demostracion Sea G(V,E) G(V,E) no dirigida di rigida Sea V1 y V2 los conjuntos de vertices de grado par e impar, respectivame respectivamente nte entonces por el teorema teo rema anterior.

2e 

 grad (V i  )    grad (V 1) V iV 1

V 1V  2

 grad  ad (V  ) es par Puesto que cada grad(V i) que pertenece pertene ce a V 1   gr   1

V 1V   2

Puesto que cada vi є v1 es par 

2e



2i

2e  2i 

i

 grad (V )  grad (V i )

V 1V  2

V 1V  2

2(e  i ) 

 grad (V i) V 1V  2

  (V ) es par.  grad  par.   i

 

Ejercicio: Dado el graco dirigido

 

salen

X1

X2

X3

X4

δ+(X ) i δ+(X1)=3 δ+(X2)=3 δ+(X3)=2 δ+(X4)=1



entran

δ-(X ) i δ-(X1)=2 δ-(X2)=3 δ-(X3)=1 δ-(X4)=3     (V i )   18

El dado:

δ(X ) i δ(X1)=5 δ(X2)=6 δ(X3)=3 δ(X4)=4

2 e  2(9)

a b c d b

a

Grados internos d

c

Aristas que entran

2 3 1 1 7

Grados externos Aristas que salen

1 1 3 2 7

Observar Obser var que la sumatoria de grados es 14 y se cumple que es igual a 2e=2(7)=14 2e=2(7)=1 1 4 4

 

Coloración de Gráfcos

Si G=(V,A) G=(V,A) es un grafo, una coloración propia p ropia de G ocurre oc urre cuando coloreamos los  vértices  vértic es de G de modo que si {a,b} es una aplicación donde el color color puede ttener ener cualquier signicado. Los vértices adyacentes deben tener colores diferentes. Ejemplo: Se tiene el siguiente dibujo dibuj o de un mapa ¿cómo puede distinguir lo loss colores de las regiones para que no se confundan? RB(2)

RB RA

RC

RD RE

RD(3)

(1)

RF

RF (2)

RA  RC (3)

Se necesita 3 colores para distinguir la coloración del mapa.

RE (1)

 

Teorema Si A es la matriz de adyacencia de una grafica G (con aristas multiples y lazos permitidos) entonces el numero de trayectorias diferentes de longitud r de Vi a V j es igual a la entrada (i-j)-esima de Ar  A  B

C   D

 A

0

1

1

1

 AG     B

1

0

0

0



1

0

0

1

 D

1

0

1

0

Considere la graca:  A 

B

D

C

Si la matriz de adyacencia es:

Encontrar el numero de trayectorias entre B y D que son de longitud 4 mediante la determinación de A G4

2   G

 A

 A  B

C   D

 A 4  AG     B

1 2

2 3

6 4

6 4

1



6

4

7

6

2

 D

6

4

6

7

 A  B

C   D

 A  B

0 0

0 1

1 1

1 1



1

1

2

 D

1

1

1

 Y 

En consecuencia, hay 4 trayectorias de longitud de B a D en la graca G. Las 4 trayectorias pueden verse como: B-A-B-A-D, B-A-C-A-D, B-A-D-A-D, B-A-D-C-D

 

Con una graca dirigida:  A 

B

 A

 A  B

C   D

0

0

1

0

Por multiplicación



 A

D

C

 B C 

0 1

0 1

1 0

1 1

 D

1

0

0

0

 A  B 1 2

C   D 1 1

 A     B

2

2

3

3



3

3

2

3

 D

2

1

0

1

 A

De nuevo por multiplicación de matrices se obtiene:

de matrices se obtiene:

4

 A  B

C   D

 A

0

0

1

1

 A     B

2

1

0

1



1

1

1

1

 D

0

1

0

0

2

La entrada en la posición BD de A 4 es 3 en consecuencia hay 3 trayectorias cada una de longitud 4 de BAD B-C-B-C-D, B-C-A-B-D, B-D-A-B-D

 

PROXIMA CLASE UD. DEBE SABER OPERACIONES MATEMATICAS CON MATRICES Y AL MENOS UN ALGORITMO CON MATRICES

 

Algoritmo de Prim Inicio: G(V,A) Dado G(V,A) Se trabaja con un conjunto de Vp de vértices agregados al árbol y con p un conjunto de aristas A  de aristas agregados vacios. al árbol (grafo con una raíz). Al inicio ambos conjuntos se encuentran

1) Se elig elige eu un n vert vertice ice V0 y se agrega quedando q uedando Vp={V0} y Ap={ } 2) Se elige la arista minima (V i,V j) que une a cualquier miembro de V p  con uno de V-Vp tal que no se produce un ciclo entre los mismos y se agrega la arista a A P y el vértice incluido a V p. 3) Se repite 2 hasta que V-V p={ }

 

Funcionalidad del Algoritmo de Prim Consiste en visitar un vértice con arista mínima y estando en el vértice correspondiente se recalcula las distancias mínimas de los vértices; hasta cubrir todos los vértices. Ejemplo: Hallar el árbol de expansión mínima del siguiente grafo. B

B 3

9

3

9

2

2

Partiendo de A   Vp={A}

4 1

 A 

C

4

F

5

6

8 E

B

 A 

3

F

5

6

8 E

C

7

B

D

 Vértices “A”  Vértices más cercanos a “A

3 2

1

 A 

D

7

9

4

C 5

E

2 1

F 6

8

D

7

9

1

 A 

4

F

5

6

8 E

C

7

D

Distancia mas corta

1º Iteracion  Vp={A,F}

 

B

B 3

9

3

9

2

2 1

 A 

4

F

5

6

8

C

E

1

 A 

Distancia mas corta

3

3

9

2

2 4

1  A 

D

7

B

B 9

5

E

 Vértices cercanos a “A “A” y “F”  Vértices más cercanos

C

1

 A 

4

F

F 5

6

8 E

2º Iteración  Vp={A,F,B}  Vp={A,F,B}

C

6

8

D

7

4

F

7

D

 Vértices  V értices más cercanos cercanos a “A “A”, “B” y “F”

5

6

8 E

C

7

Distancia mas corta

D

3º Iteración  Vp={A,F,B,C}  Vp={A,F ,B,C}

 

B

B 9

9

4

F

C

6

8 E

7

1

 A 

5

F

B

9

3

9 2

2 4

F

C 5

6 E

D

7

Distancia mas corta

3

8

C

4º Iteración  Vp={A,F,B,C,D  Vp={A,F ,B,C,D}}

5

E

D

B

 A 

4

6

8

 Vértices “A”, “B”, “B”, “F” y “C”  Vértices más cercanos a “A

1

3 2

2 1

 A 

3

7

1

 A 

F

E

 Vértices  V értices más cercanos cercanos a “A “A”, “B”, “B”, “F” , “C” y “D”

C 5

6

8

D

4

7

D

Distancia mas corta

B

3 2

 ARBOL DE DE EXPANSION MINIMA:

 A 

1

C

F 6

E

5 D

5º Iteración  Vp={A,F,B,C,  Vp={A,F ,B,C,D D,E}

 

Recorridos mínimos o arboles de expansión mínima Denición: Sean grafos conexos (unidos los vértices), que parten de un vértice inicial, ajustándose a trayectorias mínimas, una aplicación de arboles por expansión mínima podría ser lo siguiente:

Una pequeña ciudad esta est a distinguida por puntos y la unión entre estos puntos (arista) representa el costo de tender cableado entre dichos puntos.

5

B

2

D

H

3 5  A  1

4 5

C

6 E

5 F

4

3 G

 

Algoritmo de Kruskall Sea R una relacion simetrica conexa con n vertices y sea: S={e1,e2,e3,…,en} Paso 1: Se elige una arista e1 en S de peso minimo. Paso 2: Se continua seleccionando aristas de menor peso hasta cubrir todos los puntos.  Al igual que que en el algoritmo algoritmo de Prim hay hay que tener tener cuidado de no formar ciclos(en este caso de aristas) Funcionalidad Funcional idad Kruskall Unir aristas de menor peso, sin formar ciclos para encontrar el árbol de expansión mínima. B

6

15 4

A

C

7 5

D

3

2

4 6 F E

6

 

6

6

15 4

A

5

C

7

A

4

4

E

6

4 D

2

4

2

4 E

F

6

B

A

D

3

4

C

7

5

2

4

5 3

C

D

2

4

6

6 E

3

F

4 A

D

15

C

7

C

7

6

6

15

3

4

B

6

5

2

6

B

A

A

6 F

15

5 4

6 E

C

7

D

3

2

6

15

5

D

3

B

B

B

6

F

E

6

F

E

F

Peso mínimo=18

 

Algoritmo de Warshall El algoritmo de Warshall Warshall determina de termina la distancia distan cia mas corta entre todos los lo s pares de  vértices  vértic es en una graca. Primero se forma la matriz de pesos:  W={w1} de la graca dada donde: wk 

 arista ista en V i a V  j  W(j) ; Si no hay una ar     0 ; Si no hay arista

Considerar que existen n vertices v1,v2,v3…vn en la graca. graca . En este caso se forman una secuencia de matrices L0,L1,L2,….Ln. Donde Li={Lr(i,j)} L(i,j) la entrada j-esima de L1 se calcula mediante la regla:(para gracas no dirigidas) Donde k=1,2…n; en la primera,segunda,…n-esima iteracion.

Lr(i,j) = min{Lr-1(i,j);Lr-1(i,k)+Lr-1(k,j)} 3

 A(v1) 2 D(v4)

B(v2) 5

4 1

C(v5)

 A  B

C   D

 A

0

3

4

2

W     B

3

0

0



4

0

 D

2

5

 A  B

C   D

 A

0

3

4

2

5

 L0   B

3

0



5

0

1



4



0

1

1

0

 D

2

5

1

0

 

Por Warshall: L(1,2)=min{L0(1,2);L0(1,1)+L0(1, L(1,2)=min{L0( 1,2);L0(1,1)+L0(1,2)}=min{3;0+3 2)}=min{3;0+3}=3 }=3 L(1,3)=min{L0(1,3);L0(1,1)+ L(1,3)=min{L 0(1,3);L0(1,1)+L0(1,3)}=min{4;0 L0(1,3)}=min{4;0+4}=4 +4}=4 L(1,4)=min{L0(1,4 L(1,4)=min{L0(1,4);L0(1,1)+L0(1,4) );L0(1,1)+L0(1,4)}=min{2;0+2}=2 }=min{2;0+2}=2 L(2,3)=min{L0(2,3);L0(2, L(2,3)=min{L 0(2,3);L0(2,1)+L0(1,3)}=min 1)+L0(1,3)}=min{∞;3+4}=7 {∞;3+4}=7 L(2,4)=min{L0(2,4);L0(2,1)+L L(2,4)=min{L0( 2,4);L0(2,1)+L0(1,4)}=min{5;3 0(1,4)}=min{5;3+2}=5 +2}=5 L(3,4)=min{L0(3,4);L0(3, L(3,4)=min{L 0(3,4);L0(3,1)+L0(1,4)}=min 1)+L0(1,4)}=min{1;4+2}=1 {1;4+2}=1 Puesto que L0 es una matriz simétrica, L1 y las matrices subsecuentes L2, L3 y L4 también serán simétricas. Empleando la simetría se obtiene:

 L1

0

3

4

2

3

0

7

5

4

7

0

1

2

5

1

0



 Ahora: L2(1,2)=min{L1(1,2);L1(1,2) L2(1,2)=min{L1(1,2);L1(1,2)+L1(2,2)}=min{3 +L1(2,2)}=min{3;3+0}=3 ;3+0}=3 Procediendo de manera similar, L2(1,3)=4; L2(1,4)=2; L2(2,3)=7; L2(2,4)=5; L2(3,4)=1 En consecuencia:

 L 2

  

0

3

4

2

3

0

7

5

4

7

0

1

2

5

1

0

 

 Al proceder proceder de la misma misma forma se llega a:

 L 3

0

3

4

2

3

0

7

5



4

7

0

1

2

5

1

0

 y 

 L 4

0

3

3

2

3

0

6

5

3

6

0

1

2

5

1

0

  

L4 proporciona las distancias mas cortas entre todos los pares de vértices. Las correspondientes trayectorias mas cortas se indican mediante la siguiente matriz:  A

 B



 D

 A



 AB

 ADC 

 AD

 B

 BA



 BADC   BAD C 

 BD



CDA

CDAB



CD

 D

 DA

 DB

 DC 



 

Algoritmo de Dijkstra Inicio:  Armar unaSe matriz adyacenci ten iendo en cuenta cuen ta q que ue se opone donde hay arista. tomade el adyacencia vértice delanodo nteniendo odo designado como inici inicio y lo innito agregamos al no subconjunto S de nodos estudiados. S={V 0} Se arma un vector vector D con la la de la matriz correspondiente corresp ondiente a las arista aristass que parten de V 0. Para cada j desde 1 hasta has ta n-1 sacar sac ar de V-S V-S el vértice tal que la arista arist a entre V0 y dicho  vérticee sea la de menor peso en D.  vértic D. incorporado incorporado a S y llamarlo Ve.   Para cada i desde 1 hasta n   d[i]=min(d[Ve]+c[Ve])   Fin_para_i Fin_para_j Funcionalidad: Partir de un vértice inicial etiquetándolo como 0 y todas las demás etiquetas con ∞ y S es el conjunto conj unto vacio inicialmente en la medida que se va realizando las iteraciones se va llenando el conjunto S, así hasta barrer todos los  vértices.  vértic es.

 

iteración) procedencia, Distancia Acumulada) Acumulada) (nº iteración) Etiquetas: (Nodo de procedencia,

Dado el grafo: (A,∞) B

3

1 (A, ∞) C

2

 A  (A,0)(0)

8

9

D

3

E (A, ∞)

4

8 20

(A, ∞)

Iteración 0 ó paso inicial se elige el vértice:

F (A, ∞)

S={A}  

(A,1) (1) B

3 1

Se calculan todas las etiquetas de los nodos adyacentes a “A”

(A, 2) (1) C

2

 A  (A,0) (0)

8

9

D

3

(A, ∞)

4

8 20

(A, 8)(1)

(A,1)(1)

E

F (A, ∞)

B

3

1 (A, 2)(1) C

2

 A  (A,0)(0)

8

9

D

3

E (A, ∞)

4

8 20

F

De todas las etiquetas etiqueta s calculada calculadass hasta ahora, se elige la que tiene menor distancia acumulada (A,1)=B Iteración 1: S={A, B}

(A, 8)(1)

(A, ∞)

 

(A,1)(1) B

3 1

Se calculan todas las etiquetas de los nodos adyacentes a “B”

(A, 2)(1) C

2

 A  (A,0)(0)

8

9

D

3

(B, 4)(2)

4

8 20

(A, 8)(1)

(A,1)(1)

E

F (A, ∞)

B

3

1 (A, 2)(1) C

2

 A  (A,0)(0)

8

9

D

3

E (B, 4)(2)

4

8 20

F

De todas las etiquetas etiqueta s calculada calculadass hasta ahora, se elige la que tiene menor distancia acumulada (A,2)=C Iteración 2: S={A, B, C}

(A, 8)(1)

(A, ∞)

 

(A,1)(1) B

3

1

Se calculan todas las etiquetas de los nodos adyacentes a “C” si quedan dos etiquetas etiqueta s para un mismo nodo, nos quedamos con el que tenga la menor distancia acumulada.

(A,0)(0)

8

9

D (A,1)(1)

3

E (B, 4)(2) (C, 5)(3)

4

8 20

(A, 8)(1) (C, 11)(3)

B

F (C, 10)(3)

3

1 (A, 2)(1) C

2

 A 

(A, 2)(1) C

2

 A 

(A,0)(0)

8

9

D (A, 8)

3

E (B, 4)(2)

4

8 20

De todas las etiquetas etiqueta s calculad calculadas as hasta ahora, se elige la que tiene menor distancia acumulada (B,4)=E Iteración 3:

F (C, 10)

S={A, B, C,E}

(1)

(3)

 

(A,1)(1) B

3 1

Se calculan todas las etiquetas de los nodos adyacentes a “E” si quedan dos etiquetas etiqueta s para un mismo nodo, nos quedamos con el que tenga la

(A, 2)(1) C

2

 A  (A,0)(0)

8

9

menor distancia acumulada.

4

8

(A, 8)(1)

B

F (C, 10)(3) (E, 8)(4)

3

1 (A, 2)(1) C

2

 A 

E (B, 4)(2)

20

D (A,1)(1)

3

(A,0)(0)

8

9

D (A, 8)(1)

3

(B, 4)(2)

8

20

E

4

F (E, 8)(4)

De todas las etiquetas etiqueta s calculadas hasta ahora, se elige la que tiene menor distancia acumulada, si hay iguales se elige cualquiera: (E,8)=F Iteración 4: S={A, B, C,E,F}

 

(A,1)(1) B

3

1

Se calculan todas las etiquetas de los nodos adyacentes a “F” si quedan dos etiquetas etiqueta s para un mismo nodo, nos quedamos con el que tenga la

(A, 2)(1) C

2

 A  (A,0)(0)

8

9

3

E (B, 4)(2)

4

8

menor distancia acumulada. 20

D (A, 8)(1) (F, 28)(5)

(A,1)(1)

F (E, 8)(4)

B

3 1 (A, 2)(1) C

2

 A  (A,0)(0)

8

9

D

3

E (B, 4)(2)

4

8 20

De todas las etiquetas etiqueta s calculadas hasta ahora, se elige la que tiene menor distancia acumulada: (A,8)=D

F

Iteración 5: S={A, B, C,E,F,D}

(A, 8)(1)

(E, 8)(4)

 

Hemos hallado los recorridos mínimos de A hacia cualquier vértice. (A,1)(1) B

3

1 2

 A  (A,0)(0)

(A, 2)(1) C

E (B, 4)(2)

8

4

D (A, 8)(1)

F (E, 8)(4)

Por ejemplo: De A hacia F: A -> B -> E -> F=1+3+4=8

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF