3º i.t.i. de sistemas - ma1.eii.us.esma1.eii.us.es/material/ftg_itis_tema1.pdf · ... (v,e) es un...

Download 3º I.T.I. de Sistemas - ma1.eii.us.esma1.eii.us.es/Material/FTG_itis_Tema1.pdf · ... (V,E) es un conjunto V(G) finito no vacío de objetos ... El número de vértices impares de

If you can't read please download the document

Upload: hanhan

Post on 09-Feb-2018

221 views

Category:

Documents


1 download

TRANSCRIPT

  • 1

    Fundamentos de la teora de grafos

    3 I.T.I. de Sistemas

    M Teresa Cceres Sansaloni

  • 2

    Conceptos bsicos sobre grafos.

    Representacin de grafos.

    Multigrafos, grafos dirigidos y no dirigidos.

    Bucles. Pseudografos.

    Valencias de entrada y salida. Propiedades.

    Isomorfismos de grafos.

    Conectividad.

    Tema 1: Nociones bsicas

  • 3

    Problemas de recorrido. camin de la basura por aristas autobs escolar por vrtices

    Problemas de coloreado. calendario de exmenes acuario reactivos qumicos

    Problemas de emparejamiento: comisiones de ayuntamiento claustro junta de facultad asignacin eficiente de tareas en empresas

  • 4

    Un grafo G(V,E) es un conjunto V(G) finito no vaco de objetos llamados vrtices y un conjunto E(G)(posiblemente vacio), de parejas de vrtices, llamadas aristas.

    V(G) es el conjunto de vrtices del grafo G (vertex set)

    E(G) es el conjunto de aristas del grafo G (edge set).

    Sea G un grafo, y e = {a,b} una arista. Si no importa la direccin se denota indistintamente {a,b} o {b,a}, siendo a y b los vrtices que une.

    A los vrtices a y b se les llama sus extremos, se dice que son adyacentes en G, y se dice que la arista e es incidente con los vrtices a, b.

  • 5

    Las aristas que unen el mismo par de vrtices se llaman aristas mltiples.(parallel edges)

    Si en el grafo se permite que hayan aristas mltiples, obtenemos un multigrafo (multigraph).

    Las aristas {a,a} cuyos extremos son el mismo vrtice se llaman lazos o bucles (loop).

    Si en el grafo se permite que hayan aristas mltiples, y bucles obtenemos un pseudografo(pseudograph).

  • 6

    Permite PermiteTipo Aristas Aristas multiples? Bucles?

    Grafo simple No dirigidas NO NO

    Multigrafo No dirigidas SI NO

    Pseudografo No dirigidas SI SI

    Cualquier grafo simple es multigrafo, pero no el reciproco. Cualquier grafo o multigrafo es pseudografo, pero no el reciproco.

  • 7

    Llamamos orden (order) de un grafo a su nmero de vrtices, |V|, y tamao (size) de un grafo al nmero de sus aristas, |E|.

    Un grafo de orden p, y tamao q lo denotaremos por (p,q)-grafo.

    Vrtices

    Llamaremos grado o valencia de un vrtice (degree of a vertex) , al nmero de aristas de las que es extremo.

    Se dice que un vrtice es par (even) o impar (odd) segn lo sea su grado. Vrtice aislado es el que tiene grado 0.

    d(v) =grado de vv V(G), el conjunto de sus vecinos (neighborhood) se define por

    N(v)= {u V: (v u) E} d(v)= |N(v)|

  • 8

    PRIMER RESULTADO SOBRE GRAFOS

    Proposicin.- La suma de los grados de los vrtices de un grafo G(V,E) es igual al doble del nmero de aristas.

    vV d(v) =2 |E|

    Consecuencia:El nmero de vrtices impares de un grafo es siempre par.

  • 9

    Ejemplos de Grafos

    1.- Grafo regular: Aquel con el mismo grado en todos los vrtices. Si ese grado es k lo llamaremos k-regular.

    Por ejemplo, el primero de los siguientes grafos es 3-regular, el segundo es 2-regular y el tercero no es regular

  • 10

    Si G es un grafo r-regular de orden p, entonces 0 r p-1

    Es cierto el reciproco? Puede haber un grafo 1-regular o 3-regular de orden 5?

    Si r y p no son ambos impares y 0 r p-1, entonces siempre existe un grafo r-regular de orden p

  • 11

    2.- Grafo bipartito (bipartite): Es aquel con cuyos vrtices pueden formarse dos conjuntos disjuntos de modo que no haya adyacencias entre vrtices pertenecientes al mismo conjunto

    Ejemplo.- de los dos grafos siguientes el primero es bipartito y el segundo no lo es.

  • 12

    3.- Grafo completo (complete graph): Aquel con una arista entre cada par de vrtices. Un grafo completo con n vrtices se denota Kn.

    Todo grafo completo es regular porque cada vrtice tiene grado |V|-1 al estar conectado con todos los otros vrtices.Un grafo regular no tiene por qu ser completo.

    K3 K5

    K6

    K4

  • 13

    4.- Un grafo bipartido completo se denota Km,ndonde m, n es el grado de cada conjunto disjunto de vrtices.

    K1,2 K3,3 K2,5

  • 14

    Sea G un grafo de orden p, si v es un vrtice de G degrado n, d(v) = n, entonces d(v) = p-n-1 en el grafo complementario.

    Dado un grafo G=(V,E) se define el complementario de G y se denota por G (V,) como el grafo con el mismo conjunto de vrtices y cuyas aristas son todos los pares de vrtices que no pertenecen a E.Se verifica que si |V| = p, (V, E ) = Kp

  • 15

    Ejercicio

    Los vrtices de un grafo G de orden 14 y tamao 25 tienen grado 3 o 5. Cuntos vrtices tiene de grado 3?

    Puede un grafo de orden 4 tener tres vrtices de grado 3 y uno de grado 1?

    Consecuencia:

    G es regular si y solo si G es regular

  • 16

    Grafos isomorfos (Isomorphic graphs)

    Dos grafos G=(V,E) y G=(V,E), son isomorfos entre G y G si existe una funcin biyectiva (one-to-one function) entre los conjuntos de vrtices f:V V tal que si

    {a,b}E {f(a),f(b)}E.

    Si G y G son isomorfos se denota por G@G

    Dos grafos G1 y G2 son iguales (equal) si lo son sus conjuntos de vrtices y de aristas.

    Los grafos iguales son isomorfos, pero no al contrario.

  • 17

    Si G1 y G2 son grafos isomorfos, entonces tienen el mismo orden y el mismo tamao.

    Adems, para cada vrtice v de G1 , d 1 (v) = d 2 ( f(v) )

    Son invariantes: el n de vrtices, el n de aristas, el grado de cada vrtice, las adyacencias, la estructura, los caminos, ciclos, etc.

    Teorema:G1, G2 son grafos isomorfos si y slo si sus complementarios son

    isomorfos

  • 18

    Subgrafos (Subgraphs)

    Dados dos grafos G=(V,E) y G=(V,E) se dice que G es un subgrafo de G si se verifica que V es un subconjunto de V y E lo es de E.

    Ejemplos:

    K3 es subgrafo de K4 y ambos son subgrafos de K5

    Sea G un grafo y SV(G). El subgrafo inducido (induced subgraph) por S, S, es el subgrafo mximal de G con conjunto de vrtices S, contiene las aristas de G que unen vrtices de S.

    Un subgrafo H de un grafo G es subgrafo inducido por vrtices (vertex-induced subgraph) , si H = S para algn SV(G).

  • 19

    J H FG

    J, H, F son subgrafos de G? Son subgrafos inducidos?

    El subgrafo G-S se obtiene por la eliminacin de los vrtices de S V y todas las aristas que inciden en los vrtices de S. Observar que G-S = V(G) - S

    Cualquier subgrafo inducido de G se obtiene por eliminacin de un subconjunto de vrtices de G

  • 20

    Sea X un subconjunto no vaco de aristas de un grafo G. El subgrafo inducido (induced subgraph) por X, que se denota X, es el subgrafo minimal de G con conjunto de aristas X. X contiene aquellos vrtices de G incidentes con al menos una arista de X.

    Un subgrafo H de un grafo G es subgrafo inducido por aristas (edge-induced subgraph) , si H = X para algn XV(G).

    H es un subgrafo recubridor o soporte (spanning subgraph) de un grafo G si V(H) =V(G)

    w w wyy

    y

    x x x

    z z z

    u u

    v

    Son subgrafos inducidos?G G-v G-{u,v}

  • 21

    Si XE(G), entonces G-X , es el subgrafo recubridor de G obtenido por eliminacin de las aristas de X.

    H es un subgrafo recubridor de un grafo G si y solo si H = G-X, donde X = E(G) E(H)

    G F H

    u u u

    v v vw w w

    x x xy y y

    Sea G un grafo, con uivi (i = 1,2,, n) pares de vrtices no adyacentes de G. G+{u1v1, u2v2 ,, unvn } es el grafo obtenido al aadir a G las aristas del conjunto {u1v1, u2v2 ,, unvn }

  • 22

    Dos grafos G y H descritos mediante diagramas.Diremos que H es subgrafo de G si es posible etiquetar los vrtices de H y G de modo que H es subgrafo de G.

    Secuencias de grados (Degree sequences)Para cada grafo G, con V(G)={v1, v2 ,, vp } asociamos la secuencia de grados de sus vrtices d(v1), d(v2), , d(vp), que son valores enteros no negativos y con el convenio de mantener el orden d(v1)d(v2) d(vp)

    El mnimo grado de G, min d(G) = d(vp), es el trmino ms pequeo. El mximo grado de G, D(G) = d(v1), es el trmino mayor.

  • 23

    Sea s: d1, d2, , dp la secuencia de grados de un grafo G.

    Ejemplo: 5,5,3,2,1,0

    Una secuencia de enteros no negativos es grfica (graphical) si es la secuencia de grados de algn grafo.

    TeoremaUna secuencia s : d1, d2, , dp de enteros no negativos, con d1 d2 dp , donde p>1 y d1 1 es grfica, si y solo si la secuencia s1 : d2 -1, d3-1, , dd1+1 -1, dd1+2 , dd1+3 , , dp es gfica.

  • 24

    Demostracin:() s1 es gfica. Entonces hay un grafo G1 de orden p-1, con s1 como su secuencia de grados.Sus vrtices son v2, v3,, vp con

    d(vi) = di-1 para 2 i di +1 d(vi) = di para di + 2 i p

    Construimos un nuevo grafo G, aadiendo un vrtice v1 y uniendolo a los d1 vrtices vi , con 2 i di +1 .As, d(vi) = di , " vi G y s es secuencia grfica.

    (fl) s es secuencia grfica.Hay uno o ms grafos de orden p con secuencia de grados s.

    Sea G uno de ellos, con d(vi) = di para 1 i p y la suma de los grados de los vrtices adyacentes a v1 mxima. Estamos exigiendo que v1 sea adyacente a d1 vrtices con grados d2 , d3, , dd1+1 . El grafo G v1 tiene secuencia de grados s1 as que s1es grfica.

  • 25

    Para determinar si una secuencia de p enteros no negativos es grfica. No puede contener valores mayores que p-1 Actuamos del siguiente modo.

    P1. Si todos los valores son 0, la secuencia es grfica.Si tiene valores negativos , no es grfica; Si no tiene valores negativos seguir.

    P2. Reordenar los nmeros de la secuencia, si es necesario, para que sea no creciente.

    P3. Eliminar el primer valor n, y restar 1, de los siguientes n valores de la secuencia. Volver al paso 1.

  • 26

    Camino (walk) en un grafo G, es una secuencia alternadaP : v0, e1, v1, e2, v2, , vn-1, en , vn (n 0)

    de vrtices y aristas, empezando y terminando por vrtices, y tal que ei = vi-1 vi para i = 1,2,, nP tiene longitud (length) n porque contiene n aristas.Como los vrtices, determinan las aristas, stas pueden ser omitidas. P : v0, v1, v2, , vn-1 , vn, es un v0-vn camino

    un v0-vn camino es cerrado (closed), si empieza y termina en el mismo vrtice, v0=vn. Es abierto (open), si v0 vn. recorrido (trail), un camino donde no se repiten aristas, pudiendose repetir los vrtices. camino simple (path), un camino donde no se repiten ni aristas ni vrtices.

    Un camino simple es un recorrido, pero no todo recorrido es camino simple.

  • 27

    DemostracinSi x=y, entonces el x-y camino trivial da la solucin. Supongamos xy . Hay dos casos a considerar: el camino que conecta x e y no contiene vrtices repetidos, entonces ya es simple. el camino que conecta x e y tiene vrtices repetidos

    x, v1, v2, ..., w, w1,w2, ..., wk, w, ...vp-1, vp, ydonde el vrtice w se repite.eliminamos todos los vrtices comprendidos entre los w, y uno

    de ellos, resultando x, v1, v2, ..., w, ...vp-1, vp, yProcedemos de igual modo con cada vrtice repetido, hasta conseguir un camino simple.

    TeoremaCualquier x-y camino en un grafo G, contiene un x-y camino simple.

  • 28

    NoNocerradoCiclocycle

    NoNoabiertoCaminosimplepath

    SNocerradoCircuito circuit

    SNoabiertoRecorridotrail

    SScerradoCaminocerrado

    SSCaminowalk

    Admite vrtices repetidas?

    Admite aristas repetidas?

    TipoNombre

  • 29

    circuito (circuit), como un camino cerrado donde no se repiten aristas. ciclo (cycle), un circuito donde no se repiten vrtices.

    u,v V(G), u est conectado a v si G contiene un u-v camino.

    Un grafo G se dice conexo (connected) si cada par de vrtices estn unidos al menos por un camino. Un grafo no conexo tiene al menos dos vrtices sin camino que los una.

    Un subgrafo H de G es una componente de G si H es un subgrafo conexo maximal de G.

  • 30

    La relacin v est conectado con w, es una relacin de equivalencia entre vrtices de G. Establece una particin V1, V2, , Vk de los vrtices de G. Los subgrafos Vi , 1 i k, son las componentes conexas del grafo G.

    k(G)=nmero de componentes conexas de G

    G es conexo si y solo si K(G) = 1

    Dar un ejemplo de k(G) = min d(G) = D(G) =2

  • 31

    Un vrtice v de un grafo G es un vrtice de corte (cut-vertex) si k(G-v) > k(G) .

    Una arista e de un grafo G es una arista puente (bridge)si k(G-e) > k(G)

    TeoremaUna arista e de un grafo conexo G es un puente de G si y solo si e no pertenece a ningn ciclo de G

    Ejercicio: Demostrarlo.

  • 32

    Los grafos que no tienen puentes son aquellos en los que cualquier arista pertenece a un ciclo.

    Un grafo conexo, no trivial, sin vrtices de corte es llamado no separable (non-separable graph).

    Un bloque (block) B de un grafo G es un subgrafo de G, no separable y maximal. Es necesariamente un subgrafo inducido.

    Un grafo no separable tiene slo un bloque.

  • 33

    Un bloque de un grafo G que contiene exactamente un vrtice de corte de G se le llama bloque final (end-block) de G.

    TeoremaSea G un grafo conexo con al menos un vrtice de corte, entonces G tiene al menos dos bloques finales.

    Un grafo de orden n 1 que es un camino se le llama camino de orden n y se denote por PnUn grafo de orden n 3 que es un ciclo se le llama n-ciclo y se denote por Cn

  • 34

    TeoremaUn grafo es bipartito (bipartite) si y solo si no tiene ciclos de longitud impar.

    Demostracin(fl) Sea G bipartito. V=V1 V2 de modo que las aristas unen vertices de distintos subconjuntos.Sea C un ciclo en G. C: v1, v2, v3, ... , vn, v1Suponemos que v1 V1 , entonces v2 V2 , v3, V1 , y as se contina alternando. Como el ltimo vrtice v1 V1 resulta que vn V2 , y en consecuencia n es par.

  • 35

    () Si G es conexo. Sea u un vrtice de G. Para cualquier vrtice v del grafo hay un (u-v camino) en G.Seleccionamos uno de los caminos ms cortos para cada u-v camino.Consideramos V1 como el conjunto de vrtices que contiene a u y a todos los que su u-v camino ms corto tiene longitud par. En consecuencia V2 = V - V1Con esta particin de vrtices las aristas unen siempre vrtices de los dos subconjuntos disjuntos V1 y V2 lo cual garantiza que G es bipartito.

    Si G no es conexo, sean G1 , ... , Gn sus componentes conexas. Por el resultado anterior cada componente es bipartito y por tanto tambin G es bipartito.

  • 36

    D(V,E) es un grafo dirigido (directed graph) o digrafo(digraph), donde V es un conjunto finito no vaco de vrtices y E (posiblemente vacio), es el conjunto de pares ordenados de vrtices, llamadas arcos (arcs).

    Como (u,v) es distinto a (v,u) , dos vrtices pueden estar unidos por dos arcos si estos tienen direcciones opuestas

    Orden (order) de un digrafo es el nmero de vrtices. El nmero de sus arcos su tamao (size).

    El grafo subyacente (underlying graph) de un digrafo D es el grafo obtenido al reemplazar los arcos (u,v) o (v,u) por la arista uv

    Digrafos (Digraphs)

  • 37

    Si (v,u) E(D), v es adyacente hacia (adjacent to) u, y u es adyacente desde v.

    El arco (v,u) es incidente desde (adjacent from) v y es incidente a u

    Grado de entrada (indegree) de v es el nmero de vrtices adyacentes hacia v , y se denota d+(v)

    Grado de salida (outdegree) de v es el nmero de vrtices adyacentes desde v , y se denota d-(v)

    Grado del vrtice v es la suma d (v) = d-(v) + d+(v)

    u

    v

    x

    w

    211x431w202v211u

    gradogr. entradagr. salidavrtice

  • 38

    Teorema Sea D un digrafo de orden p y tamao q, con

    V = {v1, v2, v3, ... , vp} . Entonces

    qvv ip

    ii

    p

    i

    ===

    =

    + )()(11

    Los conceptos de subdigrafos, subdigrafos inducidos se definen del mismo modo que en el caso de grafos.

    Dos digrafos D (V,E) y D(V,E), son isomorfos si existe una funcin biyectiva entre los conjuntos de vrtices f : V(D) V(D) tal que si

    {u,v} es un arco de D {f(u),f(v)}es un arco de D

  • 39

    Camino (walk) en un digrafo D, es una secuencia alternadaP : v0, e1, v1, e2, v2, , vn-1, en , vn (n 0)

    de vrtices y arcos, empezando y terminando por vrtices, y tal que ei = vi-1 vi para i = 1,2,, n

    P es un v0-vn camino de longitud n porque contiene n arcos.

    Como los vrtices, determinan los arcos, stos pueden ser omitidas. P : v0, v1, v2, , vn-1 , vn,

    Los conceptos de recorrido, camino simple, circuito, ciclo en digrafos son anlogos a los de grafos, pero actuando en la direccin de los arcos.

    Un ciclo de longitud 2 es posible en digrafos.

  • 40

    Semicamino (semiwalk) en un digrafo es una secuencia alternada

    P : v0, e1, v1, e2, v2, , vn-1, en , vn (n 0)de vrtices y arcos, tal que ei = (vi-1, vi) o ei =( vi , vi-1) para cada i = 1,2,, n.

    P es un v0-vn semicamino de longitud n

    Dv w x

    u

    y

    P : v, (vw), w, (uw) u, (x,u), x es un v-x semicamino que no es v-x camino

    D no tiene ningn v-x camino

  • 41

    Dos vrtices u, v de un digrafo D estn conectados si D contiene un u-v semicamino.

    Un digrafo D es dbilmente conexo (weakly connected) si cualesquiera dos vrtices de D estn conectados, es decir, D es conexo si su grafo subyacente es conexo.

    Un digrafo D es unilateralmente conexo (unilaterallyconnected) si para cualesquiera dos vrtices u y v de D hay un u-v camino, o un v-u camino, o ambos.

    D es fuertemente conexo (strongly connected) si para cualesquiera dos vrtices u y v de D hay ambos, un u-v camino as como un v-u camino.

    conexin fuerte fi conexin unilateralconexin unilateral fi conexin dbil

  • 42

    Un digrafo D es r-regular si d-(v) = d+(v) = r para todos los vrtices v de DUn digrafo D es simtrico (symmetric) si siempre que (u,v) es un arco en D, entonces tambin (v,u) es arco en D.

    Si D es un digrafo simtrico , entonces D = G* , donde G es el grafo en el que cada arista uv reemplaza a los dos arcos (u,v) y (v,u) de D

    *4,1K

  • 43

    Un digrafo D es asimtrico (asymmetric) si siempre que exista un arco (u,v) en D, entonces (v,u) no est en D.

    SSdirigidasPseudodigrafo

    NoSdirigidasMultidigrafo

    NoNodirigidasDigrafo

    Permitebucles?

    Permitearcos

    mltiples?ArcosTipo

  • 44

    Matriz de Adyacencia de un grafoSea G un grafo de orden p. La matriz de adyacencia

    de G es una matriz cuadrada pxp que denotaremos por A.

    Sea (aij) el elemento de la fila i columna j de A, donde aij = 1 si hay arista entre los vrtices i, jaij = 0 en otro caso.

    En grafos no dirigidos la matriz de adyacencia siempre es simtrica porque aij = aji

    Listas de adyacencia. Ocupan menor espacio en memoria, son recomendables especialmente en grafos con pocas aristas.

  • 45

    Matriz de Adyacencia de un digrafoSea D un digrafo de orden p. La matriz de adyacencia

    de D es una matriz cuadrada pxp que denotaremos por A.

    Sea (aij) el elemento de la fila i columna j de A, donde aij = 1 si hay arco desde el vrtices i al jaij = 0 en otro caso.

    En digrafos la matriz de adyacencia es en general no simtrica.

  • 46

    Conectividad y arista conectividadConectividad y arista conectividad

    DefiniciDefinicinn: Sea G una grafo conexo. Un conjunto U de aristasde G es un conjunto de aristas de corte conjunto de aristas de corte del grafo si G-U no esconexo.

    DefiniciDefinicinn: Sea G una grafo conexo. Un conjunto S de vrticesde G es un conjunto de vconjunto de vrtices de corte rtices de corte del grafo si G-S no es conexo.

    v2

    v4 v3

    v6

    v5

    v1

  • 47

    DefiniciDefinicin:n: Arista conectividad de un grafo, l(G), es el mnimocardinal de un conjunto E de aristas de G tal que G-E es un grafo no conexo o trivial. Si un grafo G es no trivial, entonces l(G) es el menor cardinal de un conjunto de corte de aristas de G.

    l(G)=0 G es no conexo o trivial

    DefiniciDefinicin:n: Vrtice conectividad o conectividad o conectividad de un grafo, K(G), es el mnimo nmero de vrtices tales que si se eliminande G producen un grafo no conexo o trivial. Si G no es completo K(G) es el mnimo cardinal de un conjunto de corte de vrtices de G.