Teoría de GRAFOS Adaptado y Modificado Ing. LEONARDO BERNAL ZAMORA Universidad de Boyacá
CONTENIDO INTRODUCCIÓN QUE ES UN GRAFO? CONCEPTOS IMPORTANTES GRAFOS DIRIGIDOS GRAFOS NO DIRIGIDOS METODOS DE BUSQUEDA BIBLIOGRAFIA GRAFOS
 
La Teoria de Grafos nace del análisis sobre una inquietud presentada en la isla Kueiphof en Koenigsberg (Pomerania - hoy Kaliningrado, Alemania) ya que el río que la rodea se divide en dos brazos. Sobre los brazos estaban construidos  siete puentes  y para  los habitantes era motivo de distracción descubrir un itinerario de manera que pudieran regresar al punto de partida, después de haber cruzado por los siete puentes pero pasando sólo una vez por cada uno de ellos.
Leonardo Euler estudió el asunto, representó las distintas zonas A, B, C y D por medio de puntos, mientras que los puentes estaban representados por líneas que unían estos puntos. A la figura la llamó grafo, a los puntos los llamó vértices y a las líneas las denominó aristas.  Estudió si una figura lineal se podía dibujar con un solo trazo, sin levantar el lápiz del papel y sin pasar dos veces por la misma arista.
Un GRAFO es una estructura de datos dinámica que permite representar diferentes tipos de relaciones entre objetos de manera gráfica. Da lugar a una representación, en donde cada vértice es un punto del plano, y cada arista es una línea que une a sus dos vértices.   GRAFOS NODOS O VERTICES ARCOS  O ARISTAS INFORMACION Relaciones
GRAFOS Bogotá Brasilia Lima Santiago Buenos Aires Montevideo 1.500 800 900 2.000 G = (V, A) V(G) = nodos o vértices  (ciudades) A(G) = arcos o aristas  (medio de conexión)
 
Grado de un nodo Lazo o bucle Camino Grafo conexo Grafo completo Nodo Aislado Multigrafo GRAFOS
Los nodos c y e tienen grado 4, el nodo d tiene grado 6 y los demás nodos tiene grado 5 Existe un lazo o bucle en el nodo d Es multigrafo ya que existen dos aristas que unen los vértices a y b Existen varios caminos que unen el nodo a y el nodo d Ej. a-b-c-d-a,  a-e-d , a-d o a-c-d El camino a-c-d-a es un camino cerrado o circuito  ( Cuando los dos extremos de un camino son iguales )  El camino a-c-d-a es un camino simple  ( vértices no se repiten) , mientras que a-c-b-d-c no lo es. (Es no simple) El camino simple a-c-d-a es también un camino cíclico  Es un Grafo conexo ya que todos los nodos tiene al menos un camino a otro nodo Es un Grafo completo ya que todos los nodos se conectan  con los demás El nodo f es un nodo aislado a b c d e f GRAFOS
 
GRAFOS   NO DIRIGIDOS a NO DIRIGIDOS:  son aquellos en los cuales los lados no están orientados (No son flechas). Cada lado se representa entre paréntesis, separando sus vértices por comas, y teniendo en cuenta  (Vi,Vj)=(Vj,Vi) .  GRAFOS u v GRAFO G = (V,A) Si a es una arista no dirigida: (u,v) = (v,u)
DIRIGIDOS: son aquellos en los cuales los lados están orientados (flechas). Cada lado se representa entre ángulos, separando sus vértices por comas y teniendo en cuenta <Vi ,Vj>!=<Vj ,Vi>. En grafos dirigidos, para cada lado <A,B>, A, el cual es el vértice origen, se conoce como la cola del lado y B, el cual es el vértice destino, se conoce como cabeza del lado  Conjunto de vértices =  V {A,B,C,D,E} Conjunto de Arcos o Aristas = A{A-B,A-D,B-C,B-D,B-E,C-E,E-D,D-E} GRAFOS u v DIGRAFO a
Grafos Dirigidos y No Dirigidos REPRESENTACION Matriz de Adyacencia Listas de Adyacencia OBTENCIÓN DE CAMINOS
Matriz de Adyacencia Booleana Orden arbitrario a los vértices Filas y columnas el mismo orden Ventaja: tiempo de acceso Desventaja: espacio de almacenamiento Se puede determinar si existe un camino entre dos nodos GRAFOS a b c d a a b b c c d d 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0
Cual es la Matriz de Adyacencia para:
Matriz de Adyacencia
Listas de Adyacencia Lista ordenada de vértices adyacentes a uno dado Se puede representar mediante un arreglo Espacio de almacenamiento NV + NA Ventaja: espacio de almacenamiento Desventaja: tiempo de búsqueda de las aristas GRAFOS a b c d a b c d b c a d b arreglo
Cual es la Lista de  Adyacencia para:
Listas de Adyacencia
Representación de un grafo no-dirigido con peso asignado en sus aristas
Representación de un grafo no-dirigido con peso asignado en sus aristas
Obtención de Caminos Llegar desde un vértice origen a un destino recorriendo la menor distancia posible o  con el menor costo. Los algoritmos más usados para este fin son: DIJSKSTRA  FLOYD  WARSHALL GRAFOS
Árbol abarcador de costo mínimo Es un árbol libre que conecta todos los vértices de V, se construye con las aristas de menor costo. Los algoritmos más usados para este fin son: PRIM  KRUSKAL GRAFOS
Recorrido de un Grafo Se caracterizan por el orden en el cual se expanden los nodos. Los dos métodos más utilizados son: Recorrido en anchura Recorrido en profundidad GRAFOS
Grafos CAMINO SIMPLE: Un grafo a dígrafo tiene un camino simple si partiendo de cualquier vértice podemos recorrer la estructura sin repetir ningún vértice ningún arco o arista
Grafos PLANO: un grafo plano (o planar según referencias) es un grafo que puede ser dibujado sin que ninguna arista se interseque (una definición más formal puede ser que este grafo pueda ser &quot;embebido&quot; en un plano).  Fórmula de Euler  La fórmula de Euler enuncia que si un grafo conexo, plano es dibujado sobre un plano sin intersección de aristas, y siendo V el número de vértices, A el de aristas y C la cantidad de caras (regiones conectadas por aristas, incluyendo la región externa e infinita), entonces: V − A + C = 2 6 − 7 + 3 = 2
GRAFOS EULERIANOS: Si partiendo de cualquier vértice, podemos recorre todos los arcos llegando de nuevo al vértice origen. Se pueden visitar los vértices cuantas veces sea necesario pero los arcos se pueden recorre solamente una vez.
GRAFO HAMILTONIANO: Si partiendo de cualquier vértice, podemos recorre todos los vértices sin repetir ninguno y finalmente podemos llegar al vértice origen.
MULTIGRAFO: Un Multigrafo es una estructura donde dos vértices están unidos por mas de un arco o arista.
GRAFO COMPLETO: Un grafo es completo si cada vértice tiene un grado igual a n-1, donde n es el numero de vértices que componen el grafo.
Visualización de código HTML como un grafo Frente a una visualización estructurada en forma de árbol de etiquetas HTML, con el applet disponible en  www.aharef.info/static/htmlgraph/  podemos, de un vistazo, ver la complejidad de componentes y anidaciones jerárquicas de los mismos. Simplemente hay que introducir la URL hasta la página deseada y comenzará una animación que irá formando el grafo acíclico:
 
 
 
Cairó - Guardati, Estructuras de Datos  Joyanes Aguilar Luis, Estructuras de Datos (Libro de Problemas) http://bochica.udea.edu.co/~rflorez/ed1/grafos/grafos01.html Bibliografía GRAFOS

Grafos2010

  • 1.
    Teoría de GRAFOSAdaptado y Modificado Ing. LEONARDO BERNAL ZAMORA Universidad de Boyacá
  • 2.
    CONTENIDO INTRODUCCIÓN QUEES UN GRAFO? CONCEPTOS IMPORTANTES GRAFOS DIRIGIDOS GRAFOS NO DIRIGIDOS METODOS DE BUSQUEDA BIBLIOGRAFIA GRAFOS
  • 3.
  • 4.
    La Teoria deGrafos nace del análisis sobre una inquietud presentada en la isla Kueiphof en Koenigsberg (Pomerania - hoy Kaliningrado, Alemania) ya que el río que la rodea se divide en dos brazos. Sobre los brazos estaban construidos siete puentes y para los habitantes era motivo de distracción descubrir un itinerario de manera que pudieran regresar al punto de partida, después de haber cruzado por los siete puentes pero pasando sólo una vez por cada uno de ellos.
  • 5.
    Leonardo Euler estudióel asunto, representó las distintas zonas A, B, C y D por medio de puntos, mientras que los puentes estaban representados por líneas que unían estos puntos. A la figura la llamó grafo, a los puntos los llamó vértices y a las líneas las denominó aristas. Estudió si una figura lineal se podía dibujar con un solo trazo, sin levantar el lápiz del papel y sin pasar dos veces por la misma arista.
  • 6.
    Un GRAFO esuna estructura de datos dinámica que permite representar diferentes tipos de relaciones entre objetos de manera gráfica. Da lugar a una representación, en donde cada vértice es un punto del plano, y cada arista es una línea que une a sus dos vértices. GRAFOS NODOS O VERTICES ARCOS O ARISTAS INFORMACION Relaciones
  • 7.
    GRAFOS Bogotá BrasiliaLima Santiago Buenos Aires Montevideo 1.500 800 900 2.000 G = (V, A) V(G) = nodos o vértices (ciudades) A(G) = arcos o aristas (medio de conexión)
  • 8.
  • 9.
    Grado de unnodo Lazo o bucle Camino Grafo conexo Grafo completo Nodo Aislado Multigrafo GRAFOS
  • 10.
    Los nodos cy e tienen grado 4, el nodo d tiene grado 6 y los demás nodos tiene grado 5 Existe un lazo o bucle en el nodo d Es multigrafo ya que existen dos aristas que unen los vértices a y b Existen varios caminos que unen el nodo a y el nodo d Ej. a-b-c-d-a, a-e-d , a-d o a-c-d El camino a-c-d-a es un camino cerrado o circuito ( Cuando los dos extremos de un camino son iguales ) El camino a-c-d-a es un camino simple ( vértices no se repiten) , mientras que a-c-b-d-c no lo es. (Es no simple) El camino simple a-c-d-a es también un camino cíclico Es un Grafo conexo ya que todos los nodos tiene al menos un camino a otro nodo Es un Grafo completo ya que todos los nodos se conectan con los demás El nodo f es un nodo aislado a b c d e f GRAFOS
  • 11.
  • 12.
    GRAFOS NO DIRIGIDOS a NO DIRIGIDOS: son aquellos en los cuales los lados no están orientados (No son flechas). Cada lado se representa entre paréntesis, separando sus vértices por comas, y teniendo en cuenta (Vi,Vj)=(Vj,Vi) . GRAFOS u v GRAFO G = (V,A) Si a es una arista no dirigida: (u,v) = (v,u)
  • 13.
    DIRIGIDOS: son aquellosen los cuales los lados están orientados (flechas). Cada lado se representa entre ángulos, separando sus vértices por comas y teniendo en cuenta <Vi ,Vj>!=<Vj ,Vi>. En grafos dirigidos, para cada lado <A,B>, A, el cual es el vértice origen, se conoce como la cola del lado y B, el cual es el vértice destino, se conoce como cabeza del lado Conjunto de vértices = V {A,B,C,D,E} Conjunto de Arcos o Aristas = A{A-B,A-D,B-C,B-D,B-E,C-E,E-D,D-E} GRAFOS u v DIGRAFO a
  • 14.
    Grafos Dirigidos yNo Dirigidos REPRESENTACION Matriz de Adyacencia Listas de Adyacencia OBTENCIÓN DE CAMINOS
  • 15.
    Matriz de AdyacenciaBooleana Orden arbitrario a los vértices Filas y columnas el mismo orden Ventaja: tiempo de acceso Desventaja: espacio de almacenamiento Se puede determinar si existe un camino entre dos nodos GRAFOS a b c d a a b b c c d d 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0
  • 16.
    Cual es laMatriz de Adyacencia para:
  • 17.
  • 18.
    Listas de AdyacenciaLista ordenada de vértices adyacentes a uno dado Se puede representar mediante un arreglo Espacio de almacenamiento NV + NA Ventaja: espacio de almacenamiento Desventaja: tiempo de búsqueda de las aristas GRAFOS a b c d a b c d b c a d b arreglo
  • 19.
    Cual es laLista de Adyacencia para:
  • 20.
  • 21.
    Representación de ungrafo no-dirigido con peso asignado en sus aristas
  • 22.
    Representación de ungrafo no-dirigido con peso asignado en sus aristas
  • 23.
    Obtención de CaminosLlegar desde un vértice origen a un destino recorriendo la menor distancia posible o con el menor costo. Los algoritmos más usados para este fin son: DIJSKSTRA FLOYD WARSHALL GRAFOS
  • 24.
    Árbol abarcador decosto mínimo Es un árbol libre que conecta todos los vértices de V, se construye con las aristas de menor costo. Los algoritmos más usados para este fin son: PRIM KRUSKAL GRAFOS
  • 25.
    Recorrido de unGrafo Se caracterizan por el orden en el cual se expanden los nodos. Los dos métodos más utilizados son: Recorrido en anchura Recorrido en profundidad GRAFOS
  • 26.
    Grafos CAMINO SIMPLE:Un grafo a dígrafo tiene un camino simple si partiendo de cualquier vértice podemos recorrer la estructura sin repetir ningún vértice ningún arco o arista
  • 27.
    Grafos PLANO: ungrafo plano (o planar según referencias) es un grafo que puede ser dibujado sin que ninguna arista se interseque (una definición más formal puede ser que este grafo pueda ser &quot;embebido&quot; en un plano). Fórmula de Euler La fórmula de Euler enuncia que si un grafo conexo, plano es dibujado sobre un plano sin intersección de aristas, y siendo V el número de vértices, A el de aristas y C la cantidad de caras (regiones conectadas por aristas, incluyendo la región externa e infinita), entonces: V − A + C = 2 6 − 7 + 3 = 2
  • 28.
    GRAFOS EULERIANOS: Sipartiendo de cualquier vértice, podemos recorre todos los arcos llegando de nuevo al vértice origen. Se pueden visitar los vértices cuantas veces sea necesario pero los arcos se pueden recorre solamente una vez.
  • 29.
    GRAFO HAMILTONIANO: Sipartiendo de cualquier vértice, podemos recorre todos los vértices sin repetir ninguno y finalmente podemos llegar al vértice origen.
  • 30.
    MULTIGRAFO: Un Multigrafoes una estructura donde dos vértices están unidos por mas de un arco o arista.
  • 31.
    GRAFO COMPLETO: Ungrafo es completo si cada vértice tiene un grado igual a n-1, donde n es el numero de vértices que componen el grafo.
  • 32.
    Visualización de códigoHTML como un grafo Frente a una visualización estructurada en forma de árbol de etiquetas HTML, con el applet disponible en  www.aharef.info/static/htmlgraph/ podemos, de un vistazo, ver la complejidad de componentes y anidaciones jerárquicas de los mismos. Simplemente hay que introducir la URL hasta la página deseada y comenzará una animación que irá formando el grafo acíclico:
  • 33.
  • 34.
  • 35.
  • 36.
    Cairó - Guardati,Estructuras de Datos Joyanes Aguilar Luis, Estructuras de Datos (Libro de Problemas) http://bochica.udea.edu.co/~rflorez/ed1/grafos/grafos01.html Bibliografía GRAFOS

Notas del editor