Grafos - Profesor Eduardo Uresti Charrecb.mty.itesm.mx/tc4001/tc4001-grafos.pdf · Conceptos Los...

55
Grafos CCIR / Depto Matem´ aticas CB102 CCIR / Depto Matem´ aticas Grafos

Transcript of Grafos - Profesor Eduardo Uresti Charrecb.mty.itesm.mx/tc4001/tc4001-grafos.pdf · Conceptos Los...

Page 1: Grafos - Profesor Eduardo Uresti Charrecb.mty.itesm.mx/tc4001/tc4001-grafos.pdf · Conceptos Los grafos son una t ecnica de modelaci on de problemas atractiva y util. Problemas de

Grafos

CCIR / Depto Matematicas

CB102

CCIR / Depto Matematicas Grafos

Page 2: Grafos - Profesor Eduardo Uresti Charrecb.mty.itesm.mx/tc4001/tc4001-grafos.pdf · Conceptos Los grafos son una t ecnica de modelaci on de problemas atractiva y util. Problemas de

Conceptos

Los grafos son una tecnica demodelacion de problemas atractiva yutil. Problemas de diferentes areaspueden ser modelados mediante suuso: redes de transporte de bienes deconsumo, redes de computadoras,layout de habitaciones, conexion encircuitos logicos etc.

CCIR / Depto Matematicas Grafos

Page 3: Grafos - Profesor Eduardo Uresti Charrecb.mty.itesm.mx/tc4001/tc4001-grafos.pdf · Conceptos Los grafos son una t ecnica de modelaci on de problemas atractiva y util. Problemas de

Conceptos

Los grafos son una tecnica demodelacion de problemas atractiva yutil. Problemas de diferentes areaspueden ser modelados mediante suuso: redes de transporte de bienes deconsumo, redes de computadoras,layout de habitaciones, conexion encircuitos logicos etc.

CCIR / Depto Matematicas Grafos

Page 4: Grafos - Profesor Eduardo Uresti Charrecb.mty.itesm.mx/tc4001/tc4001-grafos.pdf · Conceptos Los grafos son una t ecnica de modelaci on de problemas atractiva y util. Problemas de

Conceptos

Los grafos son una tecnica demodelacion de problemas atractiva yutil. Problemas de diferentes areaspueden ser modelados mediante suuso: redes de transporte de bienes deconsumo, redes de computadoras,layout de habitaciones, conexion encircuitos logicos etc.

CCIR / Depto Matematicas Grafos

Page 5: Grafos - Profesor Eduardo Uresti Charrecb.mty.itesm.mx/tc4001/tc4001-grafos.pdf · Conceptos Los grafos son una t ecnica de modelaci on de problemas atractiva y util. Problemas de

Historia

El tema de Teorıa de Grafos aparecioreferenciado por primera vez en 1736cuando el gran matematico suizoLeonard Euler (1707-1783) publicoun artıculo dandole solucion a unacertijo.

CCIR / Depto Matematicas Grafos

Page 6: Grafos - Profesor Eduardo Uresti Charrecb.mty.itesm.mx/tc4001/tc4001-grafos.pdf · Conceptos Los grafos son una t ecnica de modelaci on de problemas atractiva y util. Problemas de

Acertijo

El problema resuelto y referido porEuler es una especie de acertijo; enla antigua ciudad de Konisberg de laPrusia del siglo XVIII el problemaconsistıa en recorrer los puentespeatonales que estan en el centro dela ciudad de forma tal que habra querecorrerlos todos exactamente unavez y regresar al mismo sitio deinicio.

CCIR / Depto Matematicas Grafos

Page 7: Grafos - Profesor Eduardo Uresti Charrecb.mty.itesm.mx/tc4001/tc4001-grafos.pdf · Conceptos Los grafos son una t ecnica de modelaci on de problemas atractiva y util. Problemas de

Acertijo

El problema resuelto y referido porEuler es una especie de acertijo; enla antigua ciudad de Konisberg de laPrusia del siglo XVIII el problemaconsistıa en recorrer los puentespeatonales que estan en el centro dela ciudad de forma tal que habra querecorrerlos todos exactamente unavez y regresar al mismo sitio deinicio.

CCIR / Depto Matematicas Grafos

Page 8: Grafos - Profesor Eduardo Uresti Charrecb.mty.itesm.mx/tc4001/tc4001-grafos.pdf · Conceptos Los grafos son una t ecnica de modelaci on de problemas atractiva y util. Problemas de

Acertijo

El problema resuelto y referido porEuler es una especie de acertijo; enla antigua ciudad de Konisberg de laPrusia del siglo XVIII el problemaconsistıa en recorrer los puentespeatonales que estan en el centro dela ciudad de forma tal que habra querecorrerlos todos exactamente unavez y regresar al mismo sitio deinicio.

CCIR / Depto Matematicas Grafos

Page 9: Grafos - Profesor Eduardo Uresti Charrecb.mty.itesm.mx/tc4001/tc4001-grafos.pdf · Conceptos Los grafos son una t ecnica de modelaci on de problemas atractiva y util. Problemas de

Acertijo

El problema resuelto y referido porEuler es una especie de acertijo; enla antigua ciudad de Konisberg de laPrusia del siglo XVIII el problemaconsistıa en recorrer los puentespeatonales que estan en el centro dela ciudad de forma tal que habra querecorrerlos todos exactamente unavez y regresar al mismo sitio deinicio.

CCIR / Depto Matematicas Grafos

Page 10: Grafos - Profesor Eduardo Uresti Charrecb.mty.itesm.mx/tc4001/tc4001-grafos.pdf · Conceptos Los grafos son una t ecnica de modelaci on de problemas atractiva y util. Problemas de

Digrafo

Un grafo dirigido o digrafo G es unpar ordenado G = (V ,E ). Vrepresenta un conjunto cuyoselementos se llamaran vertices onodos y E es un conjunto de paresordenados de elementos de V . A loselementos de E se les llamara lados oaristas o arcos. Si e = (v ,w) es unlado en E diremos que v es su cola yque w es su cabeza, en este casodiremos que e incide en los vertices vy w .

CCIR / Depto Matematicas Grafos

Page 11: Grafos - Profesor Eduardo Uresti Charrecb.mty.itesm.mx/tc4001/tc4001-grafos.pdf · Conceptos Los grafos son una t ecnica de modelaci on de problemas atractiva y util. Problemas de

Digrafo

Un grafo dirigido o digrafo G es unpar ordenado G = (V ,E ). Vrepresenta un conjunto cuyoselementos se llamaran vertices onodos y E es un conjunto de paresordenados de elementos de V . A loselementos de E se les llamara lados oaristas o arcos. Si e = (v ,w) es unlado en E diremos que v es su cola yque w es su cabeza, en este casodiremos que e incide en los vertices vy w .

EjemploSea V = {1, 2, 3, 4, 5, 6, 7, 8}definamos como

E =

(x , y) ∈ V × V

∣∣∣∣∣∣x divide a y

yx < y

Ası G = (V ,E ) es un digrafo.

CCIR / Depto Matematicas Grafos

Page 12: Grafos - Profesor Eduardo Uresti Charrecb.mty.itesm.mx/tc4001/tc4001-grafos.pdf · Conceptos Los grafos son una t ecnica de modelaci on de problemas atractiva y util. Problemas de

Digrafo

Un grafo dirigido o digrafo G es unpar ordenado G = (V ,E ). Vrepresenta un conjunto cuyoselementos se llamaran vertices onodos y E es un conjunto de paresordenados de elementos de V . A loselementos de E se les llamara lados oaristas o arcos. Si e = (v ,w) es unlado en E diremos que v es su cola yque w es su cabeza, en este casodiremos que e incide en los vertices vy w .

EjemploSea V = {1, 2, 3, 4, 5, 6, 7, 8}definamos como

E =

(x , y) ∈ V × V

∣∣∣∣∣∣x divide a y

yx < y

Ası G = (V ,E ) es un digrafo.

1

2

3

45 6

78

CCIR / Depto Matematicas Grafos

Page 13: Grafos - Profesor Eduardo Uresti Charrecb.mty.itesm.mx/tc4001/tc4001-grafos.pdf · Conceptos Los grafos son una t ecnica de modelaci on de problemas atractiva y util. Problemas de

Grafo

Un grafo no dirigido o grafo G es unpar ordenado G = (V ,E ). Vrepresenta un conjunto cuyoselementos se llamaran vertices onodos y E es un conjunto de paresno ordenados de elementos de V . Alos elementos de E se les llamaralados o aristas o arcos. Sie = {v ,w} es un lado en E diremosque v y w son adyacentes.Convencion|V | = n = numero de vertices|E | = m = numero de lados

CCIR / Depto Matematicas Grafos

Page 14: Grafos - Profesor Eduardo Uresti Charrecb.mty.itesm.mx/tc4001/tc4001-grafos.pdf · Conceptos Los grafos son una t ecnica de modelaci on de problemas atractiva y util. Problemas de

Grafo

Un grafo no dirigido o grafo G es unpar ordenado G = (V ,E ). Vrepresenta un conjunto cuyoselementos se llamaran vertices onodos y E es un conjunto de paresno ordenados de elementos de V . Alos elementos de E se les llamaralados o aristas o arcos. Sie = {v ,w} es un lado en E diremosque v y w son adyacentes.Convencion|V | = n = numero de vertices|E | = m = numero de lados

EjemploSea V = {2, 3, 4, 5, 6, 7, 8, 9}definamos como

E =

{x , y}

∣∣∣∣∣∣x y y

tienen factor comunen V

Ası G = (V ,E ) es un grafo.

CCIR / Depto Matematicas Grafos

Page 15: Grafos - Profesor Eduardo Uresti Charrecb.mty.itesm.mx/tc4001/tc4001-grafos.pdf · Conceptos Los grafos son una t ecnica de modelaci on de problemas atractiva y util. Problemas de

Grafo

Un grafo no dirigido o grafo G es unpar ordenado G = (V ,E ). Vrepresenta un conjunto cuyoselementos se llamaran vertices onodos y E es un conjunto de paresno ordenados de elementos de V . Alos elementos de E se les llamaralados o aristas o arcos. Sie = {v ,w} es un lado en E diremosque v y w son adyacentes.Convencion|V | = n = numero de vertices|E | = m = numero de lados

EjemploSea V = {2, 3, 4, 5, 6, 7, 8, 9}definamos como

E =

{x , y}

∣∣∣∣∣∣x y y

tienen factor comunen V

Ası G = (V ,E ) es un grafo.

2

3

4

5

6

7

8 9

CCIR / Depto Matematicas Grafos

Page 16: Grafos - Profesor Eduardo Uresti Charrecb.mty.itesm.mx/tc4001/tc4001-grafos.pdf · Conceptos Los grafos son una t ecnica de modelaci on de problemas atractiva y util. Problemas de

Subgrafo

Un subgrafo de un grafo G = (V ,E )es un grafo G ′ = (V ′,E ′) tal queV ′ ⊆ V , E ′ ⊆ E y que cada lado deE ′ conecte vertices que estan en E ′.

CCIR / Depto Matematicas Grafos

Page 17: Grafos - Profesor Eduardo Uresti Charrecb.mty.itesm.mx/tc4001/tc4001-grafos.pdf · Conceptos Los grafos son una t ecnica de modelaci on de problemas atractiva y util. Problemas de

Subgrafo

Un subgrafo de un grafo G = (V ,E )es un grafo G ′ = (V ′,E ′) tal queV ′ ⊆ V , E ′ ⊆ E y que cada lado deE ′ conecte vertices que estan en E ′.

Grafo:

a b

cd e

f g

CCIR / Depto Matematicas Grafos

Page 18: Grafos - Profesor Eduardo Uresti Charrecb.mty.itesm.mx/tc4001/tc4001-grafos.pdf · Conceptos Los grafos son una t ecnica de modelaci on de problemas atractiva y util. Problemas de

Subgrafo

Un subgrafo de un grafo G = (V ,E )es un grafo G ′ = (V ′,E ′) tal queV ′ ⊆ V , E ′ ⊆ E y que cada lado deE ′ conecte vertices que estan en E ′.

Grafo:Subgrafo

a b

cd e

f g

a b

e

f g

CCIR / Depto Matematicas Grafos

Page 19: Grafos - Profesor Eduardo Uresti Charrecb.mty.itesm.mx/tc4001/tc4001-grafos.pdf · Conceptos Los grafos son una t ecnica de modelaci on de problemas atractiva y util. Problemas de

Subgrafo

Un grafo se dice grafo completo sipara cada par de vertices diferenteshay una arista que los une.

K2

1

2

CCIR / Depto Matematicas Grafos

Page 20: Grafos - Profesor Eduardo Uresti Charrecb.mty.itesm.mx/tc4001/tc4001-grafos.pdf · Conceptos Los grafos son una t ecnica de modelaci on de problemas atractiva y util. Problemas de

Subgrafo

Un grafo se dice grafo completo sipara cada par de vertices diferenteshay una arista que los une.

K3

1 2

3

CCIR / Depto Matematicas Grafos

Page 21: Grafos - Profesor Eduardo Uresti Charrecb.mty.itesm.mx/tc4001/tc4001-grafos.pdf · Conceptos Los grafos son una t ecnica de modelaci on de problemas atractiva y util. Problemas de

Subgrafo

Un grafo se dice grafo completo sipara cada par de vertices diferenteshay una arista que los une.

K4

1 2

34

CCIR / Depto Matematicas Grafos

Page 22: Grafos - Profesor Eduardo Uresti Charrecb.mty.itesm.mx/tc4001/tc4001-grafos.pdf · Conceptos Los grafos son una t ecnica de modelaci on de problemas atractiva y util. Problemas de

Subgrafo

Una trayectoria de v a w en un grafoG = (V ,E ) es una sucesion dearistas

v0v1, v1v2, . . . , vk−1vk

donde v = v0 y w = vk . La longitudde la trayectoria es el numero delados k. Una trayectoria estrayectoria simple si todos vertices,excepto quiza el primero y el ultimo,son diferentes. Diremos que unvertice w es alcanzable desde v siexiste un trayectoria que inicia en v yque termina en w .

Grafo

a b

cd e

f g

CCIR / Depto Matematicas Grafos

Page 23: Grafos - Profesor Eduardo Uresti Charrecb.mty.itesm.mx/tc4001/tc4001-grafos.pdf · Conceptos Los grafos son una t ecnica de modelaci on de problemas atractiva y util. Problemas de

Subgrafo

Una trayectoria de v a w en un grafoG = (V ,E ) es una sucesion dearistas

v0v1, v1v2, . . . , vk−1vk

donde v = v0 y w = vk . La longitudde la trayectoria es el numero delados k. Una trayectoria estrayectoria simple si todos vertices,excepto quiza el primero y el ultimo,son diferentes. Diremos que unvertice w es alcanzable desde v siexiste un trayectoria que inicia en v yque termina en w .

Grafo

a b

cd e

f g

Trayectoria

ae, ed , df , fe

CCIR / Depto Matematicas Grafos

Page 24: Grafos - Profesor Eduardo Uresti Charrecb.mty.itesm.mx/tc4001/tc4001-grafos.pdf · Conceptos Los grafos son una t ecnica de modelaci on de problemas atractiva y util. Problemas de

Subgrafo

Una trayectoria de v a w en un grafoG = (V ,E ) es una sucesion dearistas

v0v1, v1v2, . . . , vk−1vk

donde v = v0 y w = vk . La longitudde la trayectoria es el numero delados k. Una trayectoria estrayectoria simple si todos vertices,excepto quiza el primero y el ultimo,son diferentes. Diremos que unvertice w es alcanzable desde v siexiste un trayectoria que inicia en v yque termina en w .

Grafo

a b

cd e

f g

Trayectoria

ed , df , fg

CCIR / Depto Matematicas Grafos

Page 25: Grafos - Profesor Eduardo Uresti Charrecb.mty.itesm.mx/tc4001/tc4001-grafos.pdf · Conceptos Los grafos son una t ecnica de modelaci on de problemas atractiva y util. Problemas de

Subgrafo

Una trayectoria de v a w en un grafoG = (V ,E ) es una sucesion dearistas

v0v1, v1v2, . . . , vk−1vk

donde v = v0 y w = vk . La longitudde la trayectoria es el numero delados k. Una trayectoria estrayectoria simple si todos vertices,excepto quiza el primero y el ultimo,son diferentes. Diremos que unvertice w es alcanzable desde v siexiste un trayectoria que inicia en v yque termina en w .

Grafo

a b

cd e

f g

g es alcanzable desde a

CCIR / Depto Matematicas Grafos

Page 26: Grafos - Profesor Eduardo Uresti Charrecb.mty.itesm.mx/tc4001/tc4001-grafos.pdf · Conceptos Los grafos son una t ecnica de modelaci on de problemas atractiva y util. Problemas de

Subgrafo

Una trayectoria de v a w en un grafoG = (V ,E ) es una sucesion dearistas

v0v1, v1v2, . . . , vk−1vk

donde v = v0 y w = vk . La longitudde la trayectoria es el numero delados k. Una trayectoria estrayectoria simple si todos vertices,excepto quiza el primero y el ultimo,son diferentes. Diremos que unvertice w es alcanzable desde v siexiste un trayectoria que inicia en v yque termina en w .

Grafo

a b

cd e

f g

c no es alcanzable desde a

CCIR / Depto Matematicas Grafos

Page 27: Grafos - Profesor Eduardo Uresti Charrecb.mty.itesm.mx/tc4001/tc4001-grafos.pdf · Conceptos Los grafos son una t ecnica de modelaci on de problemas atractiva y util. Problemas de

Un ciclo es una trayectoria simple donde el primero y el ultimovertice son los mismos.

Diremos que un grafo G = (V ,E ) es conexo, si para cada parde vertices distintos vi y vj en V , existe una trayectoria de via vj .

Una componente conexa de G es un subgrafo maximal conexo.

Camino = Trayectoria.

CCIR / Depto Matematicas Grafos

Page 28: Grafos - Profesor Eduardo Uresti Charrecb.mty.itesm.mx/tc4001/tc4001-grafos.pdf · Conceptos Los grafos son una t ecnica de modelaci on de problemas atractiva y util. Problemas de

Grafo con Peso

Un grafo con peso es ungrafo G = (V ,E ) dondecada lado tiene asignadoun numero real: sie ∈ E , al numeroasignado a e se lellamara el peso del ladow(e).

a

b c

d e

f g

7

85

9

7

515

6

8

9

11

CCIR / Depto Matematicas Grafos

Page 29: Grafos - Profesor Eduardo Uresti Charrecb.mty.itesm.mx/tc4001/tc4001-grafos.pdf · Conceptos Los grafos son una t ecnica de modelaci on de problemas atractiva y util. Problemas de

Grafo

1 2

3 4

5 6 7

Representacion: Matriz de Adyacencia

0 1 1 0 0 0 01 0 1 1 0 0 01 1 0 1 0 1 00 1 1 0 0 1 00 0 0 0 0 1 00 0 1 1 1 0 10 0 0 0 0 1 0

Representacion: Listas de Adyacencia1

2

3

4

5

6

7

2 3

1 3 4

1 2 4 6

2 3 6

6

3 4 6 7

6

NULL

NULL

NULL

NULL

NULL

NULL

NULL

CCIR / Depto Matematicas Grafos

Page 30: Grafos - Profesor Eduardo Uresti Charrecb.mty.itesm.mx/tc4001/tc4001-grafos.pdf · Conceptos Los grafos son una t ecnica de modelaci on de problemas atractiva y util. Problemas de

Problemas Clasicos sobre Grafos:Instancia: Grafo G = (V ,E )Ciclo Euleriano

¿Es posible encontrar una trayectoria donde aparezcacada lado exactamente una vez iniciando y terminandoen el mismo vertice?

CCIR / Depto Matematicas Grafos

Page 31: Grafos - Profesor Eduardo Uresti Charrecb.mty.itesm.mx/tc4001/tc4001-grafos.pdf · Conceptos Los grafos son una t ecnica de modelaci on de problemas atractiva y util. Problemas de

Problemas Clasicos sobre Grafos:Instancia: Grafo G = (V ,E )Ciclo Hamilton

¿Es posible encontrar una trayectoria donde aparezcacada vertice exactamente una vez iniciando y terminandoen el mismo vertice?

CCIR / Depto Matematicas Grafos

Page 32: Grafos - Profesor Eduardo Uresti Charrecb.mty.itesm.mx/tc4001/tc4001-grafos.pdf · Conceptos Los grafos son una t ecnica de modelaci on de problemas atractiva y util. Problemas de

Problemas Clasicos sobre Grafos:Instancia: Grafo G = (V ,E )Cubierta por Vertices Mınima

¿Cual es la cubierta por vertices mınima?Una cubierta por vertices es un conjunto de vertices V ′

tal que todo lado de E tiene al menos un extremo en V ′.

CCIR / Depto Matematicas Grafos

Page 33: Grafos - Profesor Eduardo Uresti Charrecb.mty.itesm.mx/tc4001/tc4001-grafos.pdf · Conceptos Los grafos son una t ecnica de modelaci on de problemas atractiva y util. Problemas de

Problemas Clasicos sobre Grafos:Instancia: Grafo G = (V ,E )Maximo Clique

¿Cual es subgrafo de G que a su vez un grafo completomaximo?

CCIR / Depto Matematicas Grafos

Page 34: Grafos - Profesor Eduardo Uresti Charrecb.mty.itesm.mx/tc4001/tc4001-grafos.pdf · Conceptos Los grafos son una t ecnica de modelaci on de problemas atractiva y util. Problemas de

Problemas Clasicos sobre Grafos:Instancia: Grafo G = (V ,E )Conjunto Independiente Maximo

¿Cual es el maximo conjunto independiente de vertices deG ?Un conjunto de vertices de un grafo se diceindependiente si entre dos pares cualquiera del conjuntono existe un lado que los una.

CCIR / Depto Matematicas Grafos

Page 35: Grafos - Profesor Eduardo Uresti Charrecb.mty.itesm.mx/tc4001/tc4001-grafos.pdf · Conceptos Los grafos son una t ecnica de modelaci on de problemas atractiva y util. Problemas de

Problemas Clasicos sobre Grafos:Instancia: Grafo G = (V ,E )Coloreo de Grafos

¿Cual es el coloreo de G tal que |c(V )| es mınimo?Un coloreo de G es una funcion que a cada vertice de Vle asigna un entero positivo tal que dos verticesadyacentes tiene un diferente color asignado.

CCIR / Depto Matematicas Grafos

Page 36: Grafos - Profesor Eduardo Uresti Charrecb.mty.itesm.mx/tc4001/tc4001-grafos.pdf · Conceptos Los grafos son una t ecnica de modelaci on de problemas atractiva y util. Problemas de

Busqueda Primero en Profundidadint DFS(GRAFO grafo,int v) {

int w;int entro=0;TDA ADYACENTE *adyacentes;MarcarDescubierto(v);adyacentes = grafo[v];printf(“Entrando al nodo %d ”,v);while (adyacentes != NULL) {

entro =0;w = adyacentes→nodo;adyacentes = adyacentes→next;if ( !(DescubiertoQ(w)) ) {

entro=1;DFS(grafo,w); }

if (entro) printf(”Regresando al nodo %d”,v);}return (1);

}

CCIR / Depto Matematicas Grafos

Page 37: Grafos - Profesor Eduardo Uresti Charrecb.mty.itesm.mx/tc4001/tc4001-grafos.pdf · Conceptos Los grafos son una t ecnica de modelaci on de problemas atractiva y util. Problemas de

Ejemplo

A

B

C

D

EF

G

×

v1 = A,adyacentes={B,F}

CCIR / Depto Matematicas Grafos

Page 38: Grafos - Profesor Eduardo Uresti Charrecb.mty.itesm.mx/tc4001/tc4001-grafos.pdf · Conceptos Los grafos son una t ecnica de modelaci on de problemas atractiva y util. Problemas de

Ejemplo

A

B

C

D

EF

v1 = A,adyacentes={B,F}v2 = B,adyacentes={C ,D}

CCIR / Depto Matematicas Grafos

Page 39: Grafos - Profesor Eduardo Uresti Charrecb.mty.itesm.mx/tc4001/tc4001-grafos.pdf · Conceptos Los grafos son una t ecnica de modelaci on de problemas atractiva y util. Problemas de

Ejemplo

A

B

C

D

EF

G

×

v1 = A,adyacentes={B,F}v2 = B,adyacentes={C ,D}

v3 = C ,adyacentes={}

CCIR / Depto Matematicas Grafos

Page 40: Grafos - Profesor Eduardo Uresti Charrecb.mty.itesm.mx/tc4001/tc4001-grafos.pdf · Conceptos Los grafos son una t ecnica de modelaci on de problemas atractiva y util. Problemas de

Ejemplo

A

B

C

D

EF

v1 = A,adyacentes={B,F}v2 = B,adyacentes={C ,D}

v3 = C ,adyacentes={}

CCIR / Depto Matematicas Grafos

Page 41: Grafos - Profesor Eduardo Uresti Charrecb.mty.itesm.mx/tc4001/tc4001-grafos.pdf · Conceptos Los grafos son una t ecnica de modelaci on de problemas atractiva y util. Problemas de

Ejemplo

A

B

C

D

EF

G

×

v1 = A,adyacentes={B,F}v2 = B,adyacentes={C ,D}

v3 = C ,adyacentes={}v4 = D,adyacentes={A,C}

CCIR / Depto Matematicas Grafos

Page 42: Grafos - Profesor Eduardo Uresti Charrecb.mty.itesm.mx/tc4001/tc4001-grafos.pdf · Conceptos Los grafos son una t ecnica de modelaci on de problemas atractiva y util. Problemas de

Ejemplo

A

B

C

D

EF

G

×

v1 = A,adyacentes={B,F}v2 = B,adyacentes={C ,D}

v3 = C ,adyacentes={}v4 = D,adyacentes={A,C}

v5 = A,visitado

CCIR / Depto Matematicas Grafos

Page 43: Grafos - Profesor Eduardo Uresti Charrecb.mty.itesm.mx/tc4001/tc4001-grafos.pdf · Conceptos Los grafos son una t ecnica de modelaci on de problemas atractiva y util. Problemas de

Ejemplo

A

B

C

D

EF

G

×

v1 = A,adyacentes={B,F}v2 = B,adyacentes={C ,D}

v3 = C ,adyacentes={}v4 = D,adyacentes={A,C}

v5 = A,visitado

CCIR / Depto Matematicas Grafos

Page 44: Grafos - Profesor Eduardo Uresti Charrecb.mty.itesm.mx/tc4001/tc4001-grafos.pdf · Conceptos Los grafos son una t ecnica de modelaci on de problemas atractiva y util. Problemas de

Ejemplo

A

B

C

D

EF

G

×

v1 = A,adyacentes={B,F}v2 = B,adyacentes={C ,D}

v3 = C ,adyacentes={}v4 = D,adyacentes={A,C}

v5 = A,visitadov6 = C ,visitado

CCIR / Depto Matematicas Grafos

Page 45: Grafos - Profesor Eduardo Uresti Charrecb.mty.itesm.mx/tc4001/tc4001-grafos.pdf · Conceptos Los grafos son una t ecnica de modelaci on de problemas atractiva y util. Problemas de

Ejemplo

A

B

C

D

EF

G

×

v1 = A,adyacentes={B,F}v2 = B,adyacentes={C ,D}

v3 = C ,adyacentes={}v4 = D,adyacentes={A,C}

v5 = A,visitadov6 = C ,visitado

CCIR / Depto Matematicas Grafos

Page 46: Grafos - Profesor Eduardo Uresti Charrecb.mty.itesm.mx/tc4001/tc4001-grafos.pdf · Conceptos Los grafos son una t ecnica de modelaci on de problemas atractiva y util. Problemas de

Ejemplo

A

B

C

D

EF

v1 = A,adyacentes={B,F}v2 = B,adyacentes={C ,D}

v3 = C ,adyacentes={}v4 = D,adyacentes={A,C}

v5 = A,visitadov6 = C ,visitado

CCIR / Depto Matematicas Grafos

Page 47: Grafos - Profesor Eduardo Uresti Charrecb.mty.itesm.mx/tc4001/tc4001-grafos.pdf · Conceptos Los grafos son una t ecnica de modelaci on de problemas atractiva y util. Problemas de

Ejemplo

A

B

C

D

EF

G

×

v1 = A,adyacentes={B,F}v2 = B,adyacentes={C ,D}

v3 = C ,adyacentes={}v4 = D,adyacentes={A,C}

v5 = A,visitadov6 = C ,visitado

CCIR / Depto Matematicas Grafos

Page 48: Grafos - Profesor Eduardo Uresti Charrecb.mty.itesm.mx/tc4001/tc4001-grafos.pdf · Conceptos Los grafos son una t ecnica de modelaci on de problemas atractiva y util. Problemas de

Ejemplo

A

B

C

D

EF

G

×

v1 = A,adyacentes={B,F}v2 = B,adyacentes={C ,D}

v3 = C ,adyacentes={}v4 = D,adyacentes={A,C}

v5 = A,visitadov6 = C ,visitado

v7 = F ,adyacentes={A,C}

CCIR / Depto Matematicas Grafos

Page 49: Grafos - Profesor Eduardo Uresti Charrecb.mty.itesm.mx/tc4001/tc4001-grafos.pdf · Conceptos Los grafos son una t ecnica de modelaci on de problemas atractiva y util. Problemas de

Ejemplo

A

B

C

D

EF

G

×

v1 = A,adyacentes={B,F}v2 = B,adyacentes={C ,D}

v3 = C ,adyacentes={}v4 = D,adyacentes={A,C}

v5 = A,visitadov6 = C ,visitado

v7 = F ,adyacentes={A,C}v8 = A,visitado

CCIR / Depto Matematicas Grafos

Page 50: Grafos - Profesor Eduardo Uresti Charrecb.mty.itesm.mx/tc4001/tc4001-grafos.pdf · Conceptos Los grafos son una t ecnica de modelaci on de problemas atractiva y util. Problemas de

Ejemplo

A

B

C

D

EF

G

×

v1 = A,adyacentes={B,F}v2 = B,adyacentes={C ,D}

v3 = C ,adyacentes={}v4 = D,adyacentes={A,C}

v5 = A,visitadov6 = C ,visitado

v7 = F ,adyacentes={A,C}v8 = A,visitado

CCIR / Depto Matematicas Grafos

Page 51: Grafos - Profesor Eduardo Uresti Charrecb.mty.itesm.mx/tc4001/tc4001-grafos.pdf · Conceptos Los grafos son una t ecnica de modelaci on de problemas atractiva y util. Problemas de

Ejemplo

A

B

C

D

EF

G

×

v1 = A,adyacentes={B,F}v2 = B,adyacentes={C ,D}

v3 = C ,adyacentes={}v4 = D,adyacentes={A,C}

v5 = A,visitadov6 = C ,visitado

v7 = F ,adyacentes={A,C}v8 = A,visitadov9 = C ,visitado

CCIR / Depto Matematicas Grafos

Page 52: Grafos - Profesor Eduardo Uresti Charrecb.mty.itesm.mx/tc4001/tc4001-grafos.pdf · Conceptos Los grafos son una t ecnica de modelaci on de problemas atractiva y util. Problemas de

Ejemplo

A

B

C

D

EF

G

×

v1 = A,adyacentes={B,F}v2 = B,adyacentes={C ,D}

v3 = C ,adyacentes={}v4 = D,adyacentes={A,C}

v5 = A,visitadov6 = C ,visitado

v7 = F ,adyacentes={A,C}v8 = A,visitadov9 = C ,visitado

CCIR / Depto Matematicas Grafos

Page 53: Grafos - Profesor Eduardo Uresti Charrecb.mty.itesm.mx/tc4001/tc4001-grafos.pdf · Conceptos Los grafos son una t ecnica de modelaci on de problemas atractiva y util. Problemas de

Ejemplo

A

B

C

D

EF

G

×

v1 = A,adyacentes={B,F}v2 = B,adyacentes={C ,D}

v3 = C ,adyacentes={}v4 = D,adyacentes={A,C}

v5 = A,visitadov6 = C ,visitado

v7 = F ,adyacentes={A,C}v8 = A,visitadov9 = C ,visitado

CCIR / Depto Matematicas Grafos

Page 54: Grafos - Profesor Eduardo Uresti Charrecb.mty.itesm.mx/tc4001/tc4001-grafos.pdf · Conceptos Los grafos son una t ecnica de modelaci on de problemas atractiva y util. Problemas de

Determinacion de Componentes Conexas

Determinar los subgrafos de un grafo que son maximalmenteconexos.

Aplicado en Grafo Dirigido: Hacerlo simetrico en el caso nodirigido.

Codigo de los tres colores:

Color blanco para nodos que no han sido visitados.Color gris para nodos cuyos hijos estan siendo procesados.Color negros para nodos cuyos hijos fueron procesados.

CCIR / Depto Matematicas Grafos

Page 55: Grafos - Profesor Eduardo Uresti Charrecb.mty.itesm.mx/tc4001/tc4001-grafos.pdf · Conceptos Los grafos son una t ecnica de modelaci on de problemas atractiva y util. Problemas de

Componentes Conexasint CompCon(GRAFO grafo,int n, int cc[]) {

int nc=0;for (v=1; v ≤ n ; v++) color[v]=BLANCO;for (v=1; v ≤ n ; v++)

if (color[v] == BLANCO)CompConA(grafo,color,v,++nc);

return nc;

int CompConA(GRAFO grafo,int color[], int v, int ncc, int cc[])color[v] = GRIS; cc[v] = ncc; adyacentes = grafo[v];while (adyacentes != NULL)

w = adyacentes→nodo;adyacentes = adyacentes→next;if ( color[w] == BLANCO) )

CompConA(grafo,color,w,ncc,cc);color[v] = NEGRO;return (1);

CCIR / Depto Matematicas Grafos