1 / 31

Algoritmos y Estructuras de Datos III (segunda parte)

Algoritmos y Estructuras de Datos III (segunda parte). 1er cuatrimestre 2010 Min Chih Lin Irene Loiseau. GRAFOS. Qué es un modelo matemático? Problemas que pueden modelarse usando grafos. La noción de grafos fue planteada independientemente por varios científicos de diferentes disciplinas.

egil
Download Presentation

Algoritmos y Estructuras de Datos III (segunda parte)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Algoritmos y Estructuras de Datos III(segunda parte) 1er cuatrimestre 2010 Min Chih Lin Irene Loiseau

  2. GRAFOS Qué es un modelo matemático? • Problemas que pueden modelarse usando grafos. • La noción de grafos fue planteada independientemente por varios científicos de diferentes disciplinas.

  3. Historia “Graph Theory: 1736-1936”, Biggs,Lloyd, Wilson, Oxford University Press, 1976.

  4. Euler (1736): Problema de los puentes de Konigsberg. • Modelo usando grafos Primer teorema de teoría de grafos: Hay un circuito que pasa por todas las “líneas” del grafo una y sólo una vez si y sólo si cada punto tiene un número par de “líneas” incidentes. Euler planteó el teorema, pero sólo probó que la condición es necesaria.

  5. Wiener, 1873,Laberintos. • Vandermonde, 1771, Problema de los caballos en un tablero de ajedrez. • Kirkman, 1856, circuitos en poliedros, pionero en formular el problema de encontrar un circuito que pase por todos los nodos de un grafo.

  6. Hamilton, 1858 : juego: dar la vuelta “al mundo” sin pasar dos veces por la misma ciudad. • Pasar por todos los vértices de un dodecaedro una y sólo una vez y volver a la ciudad de origen. • Generalización: circuitos hamiltonianos. • Problema del Viajante de Comercio • Problema “computacionalmente no resuelto” en el caso general.

  7. Leyes de Kirschhoff (1847) • Introdujo el concepto de árboles para resolver el sistema de ecuaciones lineales que describen el flujo de la corriente eléctrica en cada rama de cada circuito en una red eléctrica. • Modeló la red compuesta de resistencias, condensadores, inductancias, etc, con un grafo. • No todas las ecuaciones son necesarias porque el sistema no es independiente. Solo es necesario un sistema fundamental de circuitos que se puede obtener a partir de un árbol generador.

  8. Cayley, 1857: Isómeros Químicos. Cuántos compuestos químicos diferentes pueden corresponder a una misma fórmula? Ejemplo : isómeros de CnH2n+2 (parafinas) • Se pueden modelar como árboles con nodos de grado 4 y nodos de grado 1 hay. • Se quiere contar cuantos árboles “distintos” de ese tipo hay.

  9. Ejemplo: para n = 4dos de los compuestos son: Butano Isobutano

  10. Problema de los cuatro colores:se puede pintar cualquier mapa con cuatro colores sin que dos países que tengan como frontera una línea tengan el mismo color?. • Origen vago. Primer planteo conocido:De Morgan 1852. Antecedentes de 1840. • Primera “supuesta” demostración, Kempe 1879 • Error descubierto por Heawood, 1890, que demostró el Teorema para 5 colores.

  11. Problema abierto por más de 100 años • Avances de la teoría de grafos alrededor de este problema. • Demostración en 1976, Appel y Haken. • Uso de la computadora en esta demostración. • Demostraciones posteriores.

  12. Aplicaciones actuales • Redes de comunicaciones, diseño, ruteo. • Problemas de distribución y ruteo de vehículos. • Planificación de la producción. • Redes de tráfico • Demostración de teoremas. • Correctitud de programas • VLSI • Descifrado de Códigos • Ingeniería de Software • Bases de datos • Biología Computacional • etc..etc., etc.,etc…,etc.,etc, etc., etc., etc., etc., etc…...

  13. Definiciones • Un grafo G = (V,X) es un par de conjuntos, donde V es un conjunto de puntos o nodos y X es un subconjunto del conjunto de pares no ordenados de elementos distintos de V . • Los elementos de X se llamas aristas o ejes o arcos. • Dados v, w  V, si e = (v,w)  X se dice quev y w son adyacentes y que e es incidente a v y a w. Notación: n= | V | m = | X |

  14. El grado de un nodo es la cantidad de ejes incidentes a v. • Notación: d(v) = grado de v. • Teorema: La suma de los grados de los nodos de un grafo es 2 veces el número de ejes, o sea: i=1,n d (vi) = 2 m

  15. Un grafo se dice completo si todos los nodos son adyacentes entre si. Notación: Kngrafo completo de n nodos. Cuántos ejes tiene un grafo completo de n nodos?.

  16. Un camino en un grafo es una sucesión de ejes e1 e2.......ek tal que un extremo de ei coincide con uno de ei-1 y el otro con uno de ei+1. Hay otras formas de describir un camino… • Un camino simple es un camino que no pasa dos veces por el mismo nodo. • Un circuito es un camino que empieza y termina en el mismo nodo. • Un circuito simple es un circuito de 3 o más nodos que no pasa dos veces por el mismo nodo.

  17. La longitud de un caminoes la cantidad de ejes que tiene ese camino. • La distancia d(v,w) entre dos nodos v y w de un grafo se define como la longitud del camino más corto entre ambos. Si no existe camino entre v y w decimos que d(v,w) =

  18. Proposición: la función distancia cumple las siguientes propiedades para todo v, u y w pertenecientes a V: i) d(u,v)  0, d(u,v) = 0 si y sólo si u= v ii) d (u,v) = d(v, u) iii) d(u,w)  d(u,v) + d(v,w)

  19. Un grafo se dice conexo si existe un camino entre todo par de nodos. • Dado un grafo G = (V,X) un subgrafo de G es un grafo H = ( V´, X´) tal que V´ V y X´  X  ( V´x V´) • Una componente conexa de un grafo G, es un subgrafo conexo maximal de G.

  20. Un grafo orientado o digrafo G= (V,X) es un par de conjuntos V y X, donde V es un conjunto de puntos o nodos y X es un subconjunto del conjunto de pares ordenados de elementos distintos de V . • El grado de entradadin(v) de un nodo de un grafo orientado es la cantidad de ejes que “llegan” a v, es decir la cantidad de ejes que tienen a v como su segundo elemento. • El grado de salidadout(v) de un nodo de un grafo orientado es la cantidad de ejes que “salen” de v, es decir la cantidad de ejes que tienen a v como su primer elemento

  21. Un camino orientado en un grafo orientado es una sucesión de ejes e1 e2.......ek tal que el primer elemento del par ei coincide con el segundo de ei-1 y el segundo elemento de ei con el primero de ei+1. • Un circuito orientado en un grafo orientado es un camino orientado que empieza y termina en el mismo nodo. • Un digrafo se dice fuertemente conexo si entre para cualquier par de nodos (v,u) hay un camino orientado de v a u.

  22. Multigrafo: grafo en el que puede haber varios ejes entre cada par de nodos distintos. • Seudografo: grafo en el cual puede haber varios ejes entre cada par de nodos y también puede haber ejes (loops) que unan a un nodo con si mismo. (definiciones de acuerdo a la nomenclatura del libro de Harari)

  23. Un grafo G = (V,X) es bipartito si existen dos subconjuntos V1 y V2 del conjunto de nodos V tal que: V = V1 V2 ,V1 V2 =  , V1 V2  y tal que todos los ejes de G tienen un extremo en V1 y otro en V2.

  24. Teorema: Un grafo G es bipartito si y sólo si todos sus circuitos tienen longitud par

  25. Dos grafos G = (V,X) y G´= (V´, X´) se dicen isomorfos si existe una función biyectiva f: V -------------> V´ tal que para todo v, w  V (v,w)  X si y sólo si (f(v), f(w))  X´

  26. Proposición: Si dos grafos G y G´ son isomorfos: i) tienen el mismo número de nodos ii) tienen el mismo número de ejes iii) para todo k, 0  k  n-1 tienen el mismo número de nodos de grado k. iv) tienen el mismo número de componentes conexas vi) para todo k, tienen el mismo número de caminos simples de longitud k.

  27. Es cierta la recíproca de esta proposición? • Hay condiciones necesarias y suficientes fácilmente verificables para ver si dos grafos son isomorfos?

  28. Representación de grafos en la computadora • Matrices • Listas

  29. Matriz de Adyacencia de un grafo G A  Rnxn , donde los elementos aij de A se definen como: aij = 1 si G tiene un eje entre i y j 0 si no

  30. Matriz de Incidencia de un grafo G B  Rmxn , donde los elementos bij de B se definen como: bij = 1 si el eje i es incidente al nodo j 0 si no

  31. Teorema: Si A es la matriz de adyacencia del grafo G, el elemento aijk de la matriz Ak , es igual a la cantidad de caminos de longitud k entre i y j. Corolario: aii2 = d (vi)

More Related