matematica discreta: teor´ıa de grafos´ · pdf fileteoría de grafos...

Download Matematica Discreta: Teor´ıa de Grafos´ · PDF fileTeoría de grafos Aplicaciones prácticas: • Algoritmos en informática. • Estructura de datos. • Diseño de circuitos,

If you can't read please download the document

Upload: dangnhu

Post on 09-Feb-2018

231 views

Category:

Documents


4 download

TRANSCRIPT

  • Matematica Discreta: Teora de Grafos

    Grado de Ingeniera

    Asignatura de Matematica Discreta

    UDIMA

    DM p.1/80

  • Teora de grafos

    Contenidos

    1. Nociones generales Notacin y definiciones bsicas Grafos dirigidos

    rboles. rbol generador de peso mnimo (algoritmos de Kruskal y Prim)

    2. Grafos planos, eulerianos y hamiltonianos Grafos planos. La frmula de Euler. El teorema de Kuratowsky Grafos eulerianos (algoritmo de Fleury) Grafos hamiltonianos Emparejamientos en grafos

    3. Coloraciones y Caminos mnimos Coloraciones en grafos (algoritmo voraz) Caminos de longitud mnima (algoritmo de Dijkstra)

    DM p.2/80

  • Teora de grafos

    Aplicaciones prcticas:

    Algoritmos en informtica.

    Estructura de datos.

    Diseo de circuitos, redes de transporte, redes informticas, etc.

    Encontrar una ruta que nos conduzca a los sitios ms interesantes de Pars sinrepetir calles.

    Encontrar el vuelo MadridTokio ms barato o el ms rpido o el que tengamenos transbordos.

    Disear un circuito con el menor nmero de puntos dbiles.

    Disear una red que maximice la salida de informacin.

    DM p.3/80

  • Motivacin

    Problema 1El primer da de curso se encuentran en una clase 121 alumnos. Demostrar que siempre existe

    una persona que conoce a un numero par de personas.

    Cmo describir eficientemente el problema?Planteamiento:

    1. Los alumnos son puntos.2. El conocimiento es mutuo y cero es par.

    3. Si dos alumnos se conocen trazo una lnea entre los correspondientes puntos:

    El problema es equivalente a probar que en un grafo con 2n+ 1 puntos, existe al menos

    un punto con un nmero par de lneas que salen de l.DM p.4/80

  • Grafos no orientados: definicin v1

    Definicion 1Un grafo simple G = (V,E) esta compuesto por un conjunto no vaco de vertices V y un

    conjunto de aristas E, que es un conjunto de pares de elementos distintos de V .

    Si la arista e une los vrtices (tambin llamados nodos o puntos) u, v V , diremos queu y v son adyacentes o vecinos y que la arista e es incidente con u y v.

    Definicion 2Un multigrafo G = (V,E) esta compuesto por un conjunto no vaco de vertices V , un

    conjunto de aristas E en el que se permite que haya aristas multiples (que son aquellasque conectan el mismo par de vertices).

    Definicion 3Un lazo o bucle (loop) es una arista que une un vertice consigo mismo. Un pseudografo

    G = (V,E) es un grafo en el que se permiten aristas multiples y bucles.

    Ejemplos:

    DM p.5/80

  • Grafos no orientados: definicin v2

    Definicion 4Un pseudografo G = (V,E, ) esta compuesto por un conjunto no vaco de vertices V ,

    un conjunto de aristas E, y una funcion que asigna a cada arista un par no ordenado devertices de V ( codifica las conexiones entre los vertices).

    Si la arista e une los vrtices u, v V , (es decir, si (e) = {u, v}) diremos que u y vson adyacentes o vecinos y que la arista e es incidente con u y v.Si existen dos aristas distintas e1, e2 tales que (e1) = (e2) diremos que elpseudografo tiene aristas mltiples.

    Definicion 5Un grafo simple G = (V,E, ) es un pseudografo en el que no se permite que haya aristasmultiples ni bucles.Un multigrafo G = (V,E, ) es un pseudografo en el que se permite que haya aristasmultiples pero no bucles.

    DM p.6/80

  • Definiciones

    Definicion 6El numero de aristas incidentes con un vertice v de un grafoG se denomina grado o valencia

    de v y se denota por d(v).

    Nota: Los lazos contribuyen con dos unidades al grado del vrtice correspondiente.

    Definicion 7Los vertices de grado 1 se denominan terminales. Los vertices de grado 0 se denominanaislados. Un grafo sin aristas se denomina trivial.

    a a a

    b b bc c cEjemplos:

    (1) d(a) = 1 d(b) = 4 d(c) = 3

    (2) d(a) = 1 d(b) = 2 d(c) = 3

    (3) d(a) = 1 d(b) = 2 d(c) = 1

    DM p.7/80

  • Algunos teoremas sencillos

    Teorema 8 La suma de los grados de los vertices de un grafo G = (V,E) es dos veces elnumero de aristas. Es decir:

    iV

    d(i) = 2|E| .

    Nota: Esto es cierto para pseudografos y multigrafos.

    Corolario 9 En todo grafo G la suma de los grados de sus vertices es par.

    Teorema 10 El numero de vertices de grado impar en un grafo G es par.

    DEMOSTRACION: Si Vpar y Vimpar son los subconjuntos de vrtices con grado par e imparrespectivamente, entonces el teorema anterior implica que

    2|E| =

    iV

    d(i) =

    iVpar

    d(i) +

    iVimpar

    d(i) .

    Claramente

    iVpar

    d(i) es par, luego

    iVimpar

    d(i) debe ser par. Por lo tanto, el nmero de

    vrtices de grado impar debe ser par. DM p.8/80

  • Algunos teoremas sencillos

    Corolario 11 En todo grafoG con numero impar de vertices hay un numero impar de verticesde grado par.

    DEMOSTRACION: El teorema anterior implica que el nmero de vrtices de grado imparsiempre es par. Si el nmero total de vrtices es tambin impar, entonces el nmero devrtices de grado par debe ser impar.

    Nota: Para este tipo de grafos habr, por tanto, al menos un vrtice de grado par.Podemos aplicar precisamente esto al problema nmero uno que se haba planteado.

    Definicion 12Un grafo es regular si todos sus vertices tienen el mismo grado.

    DM p.9/80

  • Algunos grafos sencillos

    Grafo completo de n vrtices Kn.

    Camino Pn y ciclo Cn de n vrtices.

    Rueda de n+ 1 vrtices Wn.

    Definicion 13Un grafo G = (V,E) es bipartito si V se puede dividir en dos conjuntos no vacos y

    disjuntos V1 y V2, de manera que cada arista e E conecta un vertice de V1 con otro deV2 y viceversa.

    Grafo bipartito completo de n y m vrtices Kn,m si se une cada n con cada m.

    K4 C4 W4 K2,2 P4

    De izquierda a derecha: completo, ciclo, rueda, completo bipartito y camino.

    DM p.10/80

  • Algunos grafos sencillos

    Definicion 14El grafo Qn (o cubico) es aquel formado por vertices que representan las cadenas de bits de

    longitud n. Dos vertices son adyacentes si y solo si difieren en exactamente un bit.

    0 1

    00 01

    1110

    Q1 Q2

    010 011

    111110

    000 001

    101100

    Q3

    DM p.11/80

  • Grafos complementarios

    Definicion 15El grafo complementario G = (V,E) de un grafo simple G = (V,E) es aquel formado

    por el mismo conjunto de vertices y tal que dos vertices son adyacentes en G si y solo si noson adyacentes en G.

    G G

    Problema 2Demostrar que |E|+ |E| =

    (

    |V |

    2

    )

    .

    Solucin: |E|+ |E| son todas las aristas posibles entre cada pareja de vrtices. Es

    decir, las tomamos de dos en dos as que |E|+ |E| =(

    |V |2

    )

    DM p.12/80

  • Grafos complementarios

    Problema 3Demostrar que si un grafo simple es autocomplementario G = G, entonces su numero devertices es o multiplo de cuatro o multiplo de cuatro mas uno.

    Solucin: si es autocomplementario entonces |E| = |E|. As que si |V | = n y tenemosen cuenta que

    |E|+ |E| =

    (

    |V |

    2

    )

    ,

    entonces2|E| = 12n(n+ 1) y 4|E| = n(n+ 1) que es mltiplo de 4 al ser cuatro veces algo.Si n es mltiplo de 4 se cumple la igualdad, si (n+ 1) es mltiplo de 4 + 1 tambin.

    DM p.13/80

  • Subgrafos

    Definicion 16Un grafo H = (W,F ) es un subgrafo de G = (V,E) si W V y F E.

    Definicion 17La union de dos grafos simples G1 = (V1, E1) y G2 = (V2, E2) es el grafo simple

    G1 G2 = (V1 V2, E1 E2).

    =

    a a ab b b

    c cd d d

    DM p.14/80

  • Ejemplos

    Problema 4Sea Kn el grafo completo de n vertices.

    Dibujar K1, K2, K3, K4 y K5.

    Cual es el grado de los vertices de Kn? Solucion: n+ 1

    Cuantas aristas tiene Kn? Solucion:(

    n2

    )

    = n(n1)2

    Problema 5Encontrar los grafos complementarios de K3,3, C3, C4 y C5.

    Solucin:Dos ciclos de 3 vrtices.Un trivial de 3 vrtices.Dos grafos de una arista y dos vrtices.l mismo (C5).

    DM p.15/80

  • Ejemplos

    Problema 6Demostrar que en todo grafo simple sin vertices aislados hay al menos dos vertices del mismo

    grado.

    Solucin: Por ser no trivial d(i) 1, pues no tiene vrtices aislados. Por ser grafosimple se puede conectar con todos excepto con l mismo as que d(i) |V | 1. Elproblema es equivalente a |V | 1 cajas y |V | bolas. El principio del palomar garantizaque al menos en una caja hay 2 bolas, luego al menos 2 vrtices tienen el mismos grado.

    Problema 7Hallar el mnimo numero de vertices de un grafo con 7 aristas si d(i) 3 para todo i V .

    Solucin: Tenemos que |E| = 7 y d(i) 3 para todo vrtice. Debe cumplirse que

    i

    d(i) = 2|E| = 14,

    que expandido podemos escribir a lo ms como 3 + 3 + 3 + 3 + 2 = 14

    DM p.16/80

  • Representacin numrica de un grafo

    Definicion 18Sea G = (V,E) un grafo. Consideremos una ordenacion v1, v2, . . . , v|V | de los vertices

    de G. La matriz de adyacencia de G asociada a dicha ordenacion es la matriz |V | |V |cuyas entradas Aij cuentan el numero de aristas que unen vi con vj .

    1

    4 3

    2

    AG =

    0 1 0 2

    1 1 1 1

    0 1 0 1

    2 1 1 0

    1 2 3 4

    1

    2

    3

    4

    AG es simtrica.

    Si G es simple, Aii = 0 y Aij {0, 1}.

    Si G es un multigrafo, Aii = 0.

    Cuidado!, una distinta ordenacin nos da una matriz distinta.

    DM p.17/80

  • Representacin numrica de un grafo

    Definicion 19Sea G = (V,E) un grafo. Consideremos una ordenacion v1, v2, . . . , v|V | de los vertices

    de G y una ordenacion e1, e2, . . . , e|E| de las aristas de G. La matriz de incidencia de G

    asociada a dichas ordenaciones