SlideShare a Scribd company logo
1 of 49
Estructuras Discretas en Computación




Teoría de Grafos



                Profesor: Mag. Ing. Pavel Aliaga E.
                       Facultad de Ing. de Sistemas
                               Universidad de Lima
                                             2009-2
Grafos: Conceptos Básicos
¿Qué es un Grafo?
 Es un conjunto de: puntos (NODOS o VÉRTICES) unidos
 por líneas (ARCOS o ARISTAS)
¿Por qué se estudian Grafos?
 Porque permiten estudiar interrelaciones entre elementos que
  interactúan unos con otros
 Dado un escenario donde ciertos objetos se relacionan se
  puede “modelar el grafo” y luego aplicar algoritmos para
  resolver diversos problemas
 Son aplicables en:
   Ingeniería de Sistemas
   Modelado de Redes
   Ingeniería Industrial, Electrónica
   Química
   Geografía, etc.
¿Qué podemos representar con un
Grafo?

 Red de Computadoras
 Conexiones de vuelo de una aereolínea
 Carreteras que unen ciudades
                                           Impresora
 Actividades de un proyecto
 Circuitos electrónicos           Modem                     PC1

 Representación de un mapa
…                                                Servidor

Practicamente cualquier problema
                                           PC2
puede representarse mediante un grafo
Ejemplo de Aplicación de los Grafos

                  Recorrer cada carretera
                 exactamente una vez y regresar
                 al punto de partida

                  Recorrer cada ciudad una vez
                 y regresar a la ciudad de origen
                 y todo al menor costo posible

                  Encontrar el camino más corto
                 entre 2 cuidades cualesquiera
Grafo – Definición formal
 Un grafo G = (V,E)

 V, el conjunto de vértices o nodos                           1               4

   V={v1, v2, ..vn}
                                                                      5
   Representan los objetos
                                                              7                9
 E, el conjunto de arcos o aristas
   Representan las relaciones

   E ={vivj, vmvn, ..} Vértices Adyacentes: 2 vértices unidos por un arco

  V = {1, 4, 5, 7, 9}
  E= {(1,4), (4,9), (9,7), (7,5), (5,1), (4,1), (1,5), (5,7), (7, 9), (9,4)}
Grado de un Grafo
 Grado de un NODO: Es el # de arcos que inciden en un vértice
 Caso especial (lazo): se considera 2

      C              E               Grado (D) = 3    Grado (F) = 3
                                     Grado (H) = 3     Grado (C) = 3
                                     Grado (E) = 4
              F
      D                     H        Grado del Grafo = 16 = 2 * 8 arcos



 Grado de un GRAFO: Suma de los grados de los vértices.
 Teorema de Grado de un GRAFO: Suma de grados de vértices
  equivale al doble del número de arcos.
Tipos de Grafos                                                              x


   Grafo Regular
                                                                            u
       Todos los vértices tienen el mismo grado
       Si el grado es k, el grafo es k-regular
                                                               y                        z

                                                                    Grafo 3 - regular

   Grafo Completo
       Tiene una arista entre cualquier par de vértices
           a                     b                                     a                b


                                                           e
                                                                                    d
          c                      d                                 c

               Grafo completo                                      Grafo No completo
Tipos de Grafos
   Grafo Bipartito
       “Bipartito” significa que tiene 2 partes
       G= { V1 u V2, E}
       Sus vértices son la unión de dos grupos de vértices bajos las siguientes
        condiciones:
           V1 y V2 son conjuntos disjuntos
           Cada arista del Grafo une un vértice de V1 con uno de V2
           No existen aristas uniendo vértices del mismos conjunto V1 o V2

              a            b               a           b         c




                                                                     Grafos Bipartitos
                     c                           d         e
Lazo o bucle
Tipos de Grafos
                                                                    x                    u
   Mulitgrafo
        Es un grafo que tiene arcos múltiples
         (paralelos) o lazos
                                                                y                         z

                                  Arcos múltiples o paralelos
                                                                         Multigrafo


   Grafo Simple
        Es un grafo o digrafo que no tiene bucles              x                         u
         y que no es un multigrafo



                                                           y                                 z

                                                                        Grafo simple
Tipos de Grafos (dirección)
                                                      1               4
   Grafos no dirigidos
      Si los pares de nodos de los arcos                     5
    no son ordenados
    El arco se puede recorrer en ambos sentidos       7               9
       Ej.: u-v

   Grafos dirigidos o Digrafos
     Si los pares de nodos que forman arcos
                                                  C               E
son ordenados, de tal forma que el arco se
puede recorrer en un solo sentido. Ej.: (u->v)

                                                          F
                                                  D                       H
        V = {C, D, E, F, H}
        E= {(E,H), (H,E), (E,C), (C,D), (D,F)}
Grado de un Digrafo
                 En un grafo dirigido los arcos son
          E
                  pares ordenados.
                      Implica que (u,v) ≠ (v,u)
    M                 Las líneas se convierten en
                       flechas
                 El grado de entrada de un nodo es
    B             el número de arcos entrantes
         L       El grado de salida de un nodo es el
P                 número de arcos salientes
Grafos ponderados
   Costo o Factor de Peso
       Valor que se puede asociar con un arco
       Depende de lo que el grafo represente
       Si los arcos de un grafo tienen un costo: Grafo valorado o ponderado



                   20                                           20
            a              b                               a            b
          40
                  25         30                                25         30
                                                      40


            c      15      d                               c            d
                                                                15
        Grafo Dirigido con                             Grafo No Dirigido con
              Costo                                           Costo
Conectividad
                                               Grafo conexo
 Grafo Conexo
                                                              5
  Existe un camino entre cualquier   par de   3

    nodos                                               9

                                               2              7




            Grafo inconexo                     Grafo conexo
Grafos: Caminos
Trayectorias en Grafos
 Camino / recorrido                               4               7
      Un camino P desde u hasta v en el grafo G         10
       es una secuencia finita de vértices que
       empieza en u y acaba en v.                                      11
                                                   6          9
      Cada par de vértices consecutivos son
       adyacentes
                                                   Camino entre 4 y 7
 Longitud de camino
                                                   T1 = {4, 6, 9, 7}
    El número de arcos que lo forman
                                                   Longitud: 3
 Camino Simple
    Todos los nodos     que lo forman son
       distintos (no se repite nodos)
Trayectorias en Grafos
 Ciclo / Circuito (camino cerrado)
    Es un camino que inicia y termina en el mismo nodo
    No se recorre dos veces por la misma arista


         A              B          C



         D              E          F



             Camino A y A
             P = {A, E, B, F, A}


    ¿Cuál es la longitud mínima que puede tener un ciclo?   Rpta: 3
Ciclos de Euler y Hamilton

 “Hacer el recorrido sin levantar el lápiz del papel…”
Puentes de Königsberg
 El problema consiste en recorrer toda la ciudad partiendo de
  cualquier lugar (A, B, C o D) caminando sobre cada puente
  exactamente una vez y regresar a la posición inicial. ¿Es
  posible?
                                                 7 Puentes



                                                 2 Islas: B y C

                                                 2 Orillas: A y D
Puentes de Königsberg
 Un modelo de grafo de puentes de Königsberg

 Nodos:
     Porciones de tierra (orillas, islas)

 Arcos:                                     5

     Puentes

                                                          Representación
                                                          mediante un grafo




Origen de los grafos: Euler ideó los grafos para ver si era posible
Recorrer toda la ciudad sin cruzar c/u de los puentes más de una sola vez.
Caminos y Ciclos de Euler
   Camino de Euler
       Recorre TODOS los ARCOS sin repetirlos
       Los vértices se pueden repetir


   Ciclo de Euler
       Recorre TODOS los ARCOS sin repetirlos
       Los vértices se pueden repetir
       Inicia y termina en el mismo vértice


   Grafo Semieuleriano
       Es aquel grafo conexo que admite un camino de Euler
   Grafo Euleriano
       Es el aquel grafo conexo que admite un circuito de Euler
Teoremas de Euler
 Teorema 1 (Grafo Euleriano)
    Si G es un grafo conexo y TODOS sus vértices tienen grado PAR,
     entonces existe un circuito de Euler en G.


 Teorema 2 (Grafo Semieuleriano)
    Si G es un grafo conexo y tiene exactamente 2 vértices de grado
     IMPAR y el resto de grado PAR, entonces existe un recorrido de
     Euler en G. Cualquier recorrido de Euler debe comenzar en un
     vértice de grado impar y terminar en el otro.
Eulerizar un grafo
 Objetivo: Minimizar    la longitud total de arcos utilizados

 Procedimiento:
1.    Localizar los vértices de grado impar
2.    Añadir un arco a c/u de los vértices para que tenga grado par


 ¿Cómo euleriza el problema de los puentes de
     königsberg?
Caminos y Ciclos de Hamilton
 Camino de Hamilton
       Recorre TODOS los VÉRTICES sin repetirlos


 Ciclo de Hamilton
     Inicia y termina en el mismo vértice
     Recorre TODOS los VÉRTICES sin repetirlos (excepto el vértice del
      cual parte y al cual llega)

   Grafo Hamiltoniano
       Es el aquel grafo que admite un circuito de Hamilton
Ciclo Hamiltoniano
                           El juego de Hamilton se resuelve
                           si se encuentra un ciclo que recorra
                           todos los vértices pasando una sola
                           vez por cada uno de ellos (excepto
                           por el vértice inicial y final).

                           Nodos= ciudades
                           Arcos=caminos entre ciudades



Viajero que recorre ciudades
Grafos: Relaciones en un
Digrafo
Relaciones en un Digrafo
   A = (1, 2, 3, 4)
   R = { (1, 2), (2, 2), (2, 3), (3, 4), (4, 3) }
   Conjunto Relación R: muestra todas las relaciones de
    conectividad (trayectorias de longitud 1) entre los nodos del
    grafo.


               1               2                          1 2 3 4
                                                     1    0   1   0   0
                                                          0   1   1   0
                                                 𝑀𝑅 =2
                                                     3    0   0   0   1
               3               4                     4    0   0   1   0


                   Digrafo G                      Matriz de una Relación
Relaciones en un Digrafo
   Se define la relación Rn en A por:
      xRny si y solo si existe una trayectoria de longitud “n” de x a y
      xR ∞ y si y solo si existe una trayectoria de cualquier longitud de x
        ay
   R2 = { (1,2), (1,3), (2,2), (2,3), (2,4), (3,3), (4,4) } trayectorias de long. 2
   R3 = { (1,2), (1,3), (2,2), (2,3), (2,4), (3,4), (4,3) } trayectorias de long. 3
   R∞ = { (1,2), (1,3), (1,4), (2,2), (2,3), (2,4), (3,3), (3,4), (4,3), (4,4) }

                                                        1 R2 2 = {1, 2, 2}
                  1                    2
                                                        1 R2 3 = {1, 2, 3}
                                                        2 R2 2 = {2, 2, 2}
                                                        2 R2 3 = {2, 2, 3}
                                                        2 R2 4 = {2, 3, 4}
                  3                    4                3 R2 3 = {3, 4, 3}
                                                        4 R2 4 = {4, 3, 4}
                      Digrafo G
Grafos: Representación
Matricial
Representación de Grafos
 Para representar un grafo en una computadora se puede
 usar:
  Matriz de Adyacencia [A]
      V (vértices) x V(vértices)


  Matriz de Incidencia [M]
      V (vértices) x A (arcos )


  Matriz de Arcos [B]
      A (arcos ) x V (vértices)
Matriz de Adyacencia [A] (grafos no
      dirigidos)
    Dado un Grafo G = (V, E)                                                  V3
                                                         V0
                                                              4       V4          7
    Está representado por una matriz
                                                                      10
     de V (vértices) por V(vértices)
                                                                                      V5
    1= si hay un arco o existe                                                       11
     adyacencia entre los vértices                       V1 6              9 V2

                                                         V 0 V1 V 2 V 3 V 4 V 5
         1, si hay arco          (Vi,Vj)               V0 0       1   0    0   0       0
   aij                                                 V1 1       0   1    0   0       0
         0, si no hay arco (Vi,Vj)                     V2 0       1   0    1   0       0
                                                       V3 0       0   1    0   0       0
                                                       V4 0       0   0    0   0       1
Caso especial: cuando hay un lazo se considera aij=1
                                                       V5 0       0   0    0   1       0
Matriz de Adyacencia [A]
    (digrafos)
   Para Digrafos




       V1              V2           V4




                  V3



    Caso especial: cuando hay un lazo se considera aij=1
Matriz de Adyacencia [A]
    (Propiedades)
   El Grado de un Vértice se obtiene sumando la fila o la columna
    correspondiente (solo para grafos no dirigidos).
        Nota: Si la arista es un bucle entonces se suma 2 en vez de 1


   Teorema: Si A es la matriz de adyacencia, el elemento ij de An es
    igual al número de caminos de longitud “n” del vértice i al vértice j
Matriz de Incidencia [M] (grafos no
dirigidos)
   Dado un Grafo G = (V, E)
   Está representado por una matriz de V (vértices) por A (arcos)
                 1, [arco, vértice] está conectado
        aij      0 [arco, vértice] no está conectado

   1: Si el arco i incide en el vértice j
   En un grafo sin lazos, la suma de una fila dá el grado del vértice
    identificado con esa fila.
Matriz de Incidencia [M]
    (digrafos)
   Para Digrafos
       Ai,j =1, arco sale del nodo
       Aij=-1, arco entra al nodo
       Aij=2, si el nodo es origen y final del arco (lazo)
       Aij=0, si el arco no inicide en el nodo
Matriz de Arcos [B]
   Dado un Grafo G = (V, E)
   Está representado por una matriz de Arcos (A) x Vértices (V)
   Esta formada por los arcos del grafo representado


                    e1             e2
          V1                  V2         V4
                                                            e1   V1 V2
                                                            e    V2 V4
                                                      [B] = 2
               e3             e4                            e3   V1 V3
                                                            e4   V2 V3
                         V3

                                   La matriz es de: m (# de arcos) x 2 elementos
Matriz Distancia [D]
   Dado un Grafo G = (V, E)
   Está representado por una matriz de Vértices (V) x Vértices (V)
   Almacena las distancias de un vértice a otro

                  0, si i=j
          dij     X, si no hay camino entre Vi y Vj
                  # de arcos del camino más corto entre Vi y Vj


                           V2             V4                      V1 V2 V3 V4
          V1
                                                           V1     0   1   2   x
                                                           V      2   0   1   x
                                                     [D] = 2
                                                           V3     1   2   0   x
                                                           V4     3   1   2   0
                     V3
Grafos: Algoritmos

Establecer el costo mínimo recorriendo todos los vértices

Encontrar la distancia mínima entre 2 vértices
Problema del vendedor viajero
   El problema del vendedor viajero consiste en encontrar la ruta
    más corta en la que el agente viajero pueda visitar en cada
    ciudad a sus clientes una vez comenzando y terminando en la
    misma cuidad.
   Ciudades = Nodos
   Caminos entre ciudades = Arcos

                       Definición del Problema: Construir la ruta de costo mínimo
                       que visita a cada cliente exactamente una vez
Algoritmos para establecer
     circuitos hamiltonianos
     considerando el costo
1.   Vecino más cercano:
     a.   se visita el nodo más cercano y a continuación el siguiente nodo
          más cercano no visitado hasta regresar al origen.
     b.   Nota: Este método tiene una ventaja en las primeras
          selecciones, sin embargo en los últimos pasos puede elegir aristas
          de longitud muy grande por tanto no necesariamente encuentra el
          costo min.               L           {C, S, L, M, C} =
                                                300 + 541 + 774 + 425 = 2040
                                  541
                          774             349

                                   S
                           562          300
                      M                          C
                                  425
Algoritmos para establecer
     circuitos hamiltonianos
     considerando el costo
2.   Árbol del costo mínimo
     a.    Generar todos los recorridos hamiltonianos posibles
     b.    Elegir el camino con el peso mínimo                 C


                                                   M               S               L
               L
                                           S           L   L       M           M           S
                                           L           S   M           L       S           M
              541
     774              349                      C       C   C               C   C       C

               S
                                 {C, M, L, S, C} = 425 + 774 + 541 + 300 = 2040
      562           300
                                 {C, M, S, L, C} = 425 + 562 + 541 + 349 = 1877
M                           C    {C, S, M, L, C} = 300 + 562 + 774 + 349 = 1985
              425
                                 {C, S, L, M, C} = 300 + 541 + 774 + 425 = 2040
                                 {C, L, S, M, C} = 349 + 541 + 562 + 425 = 1877
                                 {C, L, M, S, C} = 349 + 774 + 562 + 300 = 1985
Algoritmos para establecer
     circuitos hamiltonianos
     considerando el costo
3.   Arcos clasificados (costo medio)
 a. Ordenar los arcos: 300, 349, 425, 541, 562, 774
 b. Menor: 300, siguiente menor 349, etc.

 Construir el ciclo hamiltoniano:
 -No se pueden juntar 3 arcos en un vértice
 -No se puede cerrar ciclo sin incluir todos los vértices

                                  {C, L, M, S, C} = 300 + 349 + 774 + 562 = 1985
                                          L

                                         541
                               774                349

                                          S
                                 562           300
                          M                             C
                                        425
Algoritmos para encontrar caminos
   más cortos
 Frecuentemente se desea conocer en un grafo cuál es el
  camino más corto entre un par de vértices
 En este caso
    Sí importa cuántos caminos existen
    Si ya conozco un camino pero encuentro uno
      mejor, sustuir
 Aplicar algoritmos de:

   1. Ford
   2. Dikjstra
Algoritmo de Ford
1. Permite calcular la distancia mínima entre 2
   puntos de 1 grafo.
2. Cada nodo se representa por :               n
                                               A
3. Pasos:
  1.   Asignar el valor 0 al nodo origen
  2.   Mediante un proceso iterativo se le asignará a cada nodo Xi
       un valor n igual a la longitud del camino más corto que exista
       desde el nodo origen al nodo Xj.
Edsger Dijkstra (1930 –
 2002)
              Científico de la computación
             de origen holandés

             Creador del Algoritmo de
              caminos mínimos

             Recibió el Premio Turing
Algoritmo de Dikjstra: grafos conexos
1. Dado un V0, Dijkstra busca un conjunto D con
   Las menores distancias de V0 al resto de vértices

2. Al inicio, solo conocemos
   Las distancias de los adyacentes
   D es inicializada a
     Factor de peso para los adyacentes, Infinito ∞ para los no adyacentes

3. D va ser mejorado sucesivamente
   Escogiendo el vértice Vk no elegido antes
     Que tenga la distancia mas corta V0, Vk
   Probamos si pasando por Vk
     Se puede obtener distancias mas cortas de las que tenemos
     Para cada Vértice restante del grafo
Pasando por V2, Distancia de V1                          Pasando por
                a V5 seria 8, no hay mejora                        V3, Distancia de V1 a
                                                                   V5 seria 7, CAMBIAR


EJEMPLO DE DIJKSTRA
                                                                              V1   V2   V3   V4   V5      V6

                                                   Escogidos      Vértice    D[0] D[1] D[2] D[3] D[4] D[5]
 De V1 AL RESTO                                                  Evaluado
                    5                              V1             V1           0   3    4    ∞    8       ∞
         V2                    V5
3                                                 V1,V2           V2           0   3    4    ∞    8       ∞
                                       3
               8                                 V1,V2,V3         V3           0   3    4    ∞    7       ∞
                                           V6
V1                            7                 V1,V2,V3,V5       V5           0   3    4    14 7         10
                        3                       V1,V2,V3,V5,V6    V6           0   3    4    12 7         10
     4    V3                      V4   2

1. D[] se inicializa con F.P. de adyacentes al origen

2. Escoger vértice Vk que no haya sido
escogido, con la menor distancia del Vevaluado a                            Repetir hasta k se hayan
Vk                                                                          visitado todos los vértices

3. Revisar si alguna distancia puede ser mejorada
pasando por Vevaluado desde V1
Ejercicios Guiados y
 Propuestos

More Related Content

What's hot (20)

Teoría de Grafos.
Teoría de Grafos.Teoría de Grafos.
Teoría de Grafos.
 
Grafo bipartito
Grafo bipartitoGrafo bipartito
Grafo bipartito
 
Producto interno
Producto internoProducto interno
Producto interno
 
TEORÍA DE GRAFOS
TEORÍA DE GRAFOSTEORÍA DE GRAFOS
TEORÍA DE GRAFOS
 
Grafos
GrafosGrafos
Grafos
 
Grafos resueltos
Grafos resueltosGrafos resueltos
Grafos resueltos
 
Algoritmo de ordenamiento: Heap Sort
Algoritmo de ordenamiento: Heap SortAlgoritmo de ordenamiento: Heap Sort
Algoritmo de ordenamiento: Heap Sort
 
Grafos[1]
Grafos[1]Grafos[1]
Grafos[1]
 
Arreglos c++
Arreglos c++Arreglos c++
Arreglos c++
 
Archivo con demostraciones de espacios vectoriales
Archivo con demostraciones de espacios vectorialesArchivo con demostraciones de espacios vectoriales
Archivo con demostraciones de espacios vectoriales
 
Diapositivas de estructuras algebraicas
Diapositivas de estructuras algebraicasDiapositivas de estructuras algebraicas
Diapositivas de estructuras algebraicas
 
Grafos/EjerciciosPropuestos
Grafos/EjerciciosPropuestosGrafos/EjerciciosPropuestos
Grafos/EjerciciosPropuestos
 
Tablas de multiplicar en diagrama de flujo
Tablas de multiplicar en diagrama de flujoTablas de multiplicar en diagrama de flujo
Tablas de multiplicar en diagrama de flujo
 
grafos conexos
grafos conexosgrafos conexos
grafos conexos
 
Grafos
GrafosGrafos
Grafos
 
332 presentacion grafos
332 presentacion grafos332 presentacion grafos
332 presentacion grafos
 
Alg lineal unidad 3
Alg lineal unidad 3Alg lineal unidad 3
Alg lineal unidad 3
 
Algoritmos de Dijkstra, Warshall, Ordenación Topológica.
Algoritmos de Dijkstra, Warshall, Ordenación Topológica.Algoritmos de Dijkstra, Warshall, Ordenación Topológica.
Algoritmos de Dijkstra, Warshall, Ordenación Topológica.
 
Bases ortonormales
Bases ortonormalesBases ortonormales
Bases ortonormales
 
Arboles y grafos
Arboles y grafosArboles y grafos
Arboles y grafos
 

Viewers also liked

TEORIA DEL CAOS
TEORIA DEL CAOSTEORIA DEL CAOS
TEORIA DEL CAOSEuler
 
Teoría de grafos
Teoría de grafosTeoría de grafos
Teoría de grafosJGerard0
 
Ventajas y desventajas de las redes informaticas.
Ventajas y desventajas de las redes informaticas.Ventajas y desventajas de las redes informaticas.
Ventajas y desventajas de las redes informaticas.yajhaira191199
 
5.3 arbol de expansión minima algoritmo de prim
5.3 arbol de expansión minima algoritmo de prim5.3 arbol de expansión minima algoritmo de prim
5.3 arbol de expansión minima algoritmo de primADRIANA NIETO
 
El problema de la ruta mas corta
El problema de la ruta mas corta El problema de la ruta mas corta
El problema de la ruta mas corta Luis Fajardo
 
5.3 arbol expansión minima algoritmo de kruskal
5.3 arbol expansión minima algoritmo de kruskal5.3 arbol expansión minima algoritmo de kruskal
5.3 arbol expansión minima algoritmo de kruskalADRIANA NIETO
 
Analisis de Redes - Investigacion de Operaciones
Analisis de Redes - Investigacion de OperacionesAnalisis de Redes - Investigacion de Operaciones
Analisis de Redes - Investigacion de OperacionesSergio Hernández Ortega
 
Algoritmos de kruskal y prim
Algoritmos de kruskal y primAlgoritmos de kruskal y prim
Algoritmos de kruskal y primfher969
 
teoria de colas - grifo repsol
teoria de colas - grifo repsolteoria de colas - grifo repsol
teoria de colas - grifo repsolJohncastro007
 

Viewers also liked (11)

Evitando el fraude a través de la presentación de la información en grafos
Evitando el fraude a través de la presentación de la información en grafosEvitando el fraude a través de la presentación de la información en grafos
Evitando el fraude a través de la presentación de la información en grafos
 
Casos de puesta en valor de de la tecnología de Big Data con NoSQL orientada ...
Casos de puesta en valor de de la tecnología de Big Data con NoSQL orientada ...Casos de puesta en valor de de la tecnología de Big Data con NoSQL orientada ...
Casos de puesta en valor de de la tecnología de Big Data con NoSQL orientada ...
 
TEORIA DEL CAOS
TEORIA DEL CAOSTEORIA DEL CAOS
TEORIA DEL CAOS
 
Teoría de grafos
Teoría de grafosTeoría de grafos
Teoría de grafos
 
Ventajas y desventajas de las redes informaticas.
Ventajas y desventajas de las redes informaticas.Ventajas y desventajas de las redes informaticas.
Ventajas y desventajas de las redes informaticas.
 
5.3 arbol de expansión minima algoritmo de prim
5.3 arbol de expansión minima algoritmo de prim5.3 arbol de expansión minima algoritmo de prim
5.3 arbol de expansión minima algoritmo de prim
 
El problema de la ruta mas corta
El problema de la ruta mas corta El problema de la ruta mas corta
El problema de la ruta mas corta
 
5.3 arbol expansión minima algoritmo de kruskal
5.3 arbol expansión minima algoritmo de kruskal5.3 arbol expansión minima algoritmo de kruskal
5.3 arbol expansión minima algoritmo de kruskal
 
Analisis de Redes - Investigacion de Operaciones
Analisis de Redes - Investigacion de OperacionesAnalisis de Redes - Investigacion de Operaciones
Analisis de Redes - Investigacion de Operaciones
 
Algoritmos de kruskal y prim
Algoritmos de kruskal y primAlgoritmos de kruskal y prim
Algoritmos de kruskal y prim
 
teoria de colas - grifo repsol
teoria de colas - grifo repsolteoria de colas - grifo repsol
teoria de colas - grifo repsol
 

Similar to Teoria de grafos (20)

METODOS Y CONSEPTOS ESTRUCTURA DE GRAFOS
METODOS Y CONSEPTOS ESTRUCTURA DE GRAFOSMETODOS Y CONSEPTOS ESTRUCTURA DE GRAFOS
METODOS Y CONSEPTOS ESTRUCTURA DE GRAFOS
 
Tema grafos
Tema grafosTema grafos
Tema grafos
 
Catedra grafos
Catedra grafosCatedra grafos
Catedra grafos
 
Catedra grafos
Catedra grafosCatedra grafos
Catedra grafos
 
Catedra grafos
Catedra grafosCatedra grafos
Catedra grafos
 
Material de grafos.pdf
Material de grafos.pdfMaterial de grafos.pdf
Material de grafos.pdf
 
Capitulo1 grafos
Capitulo1 grafosCapitulo1 grafos
Capitulo1 grafos
 
Teoria sobre arboles y grafos, presentacion clave sobre las bases de la intel...
Teoria sobre arboles y grafos, presentacion clave sobre las bases de la intel...Teoria sobre arboles y grafos, presentacion clave sobre las bases de la intel...
Teoria sobre arboles y grafos, presentacion clave sobre las bases de la intel...
 
Grafoscuestionario
GrafoscuestionarioGrafoscuestionario
Grafoscuestionario
 
Fundamentos de la Teoría de Grafos en Curso de Educagratis
Fundamentos de la Teoría de Grafos en Curso de EducagratisFundamentos de la Teoría de Grafos en Curso de Educagratis
Fundamentos de la Teoría de Grafos en Curso de Educagratis
 
Cátedra de Grafos
Cátedra de GrafosCátedra de Grafos
Cátedra de Grafos
 
Grafos
GrafosGrafos
Grafos
 
Grafos avanzado
Grafos avanzadoGrafos avanzado
Grafos avanzado
 
S8-EDD-4.2 Aplicaciones de árboles en informática
S8-EDD-4.2 Aplicaciones de árboles en informáticaS8-EDD-4.2 Aplicaciones de árboles en informática
S8-EDD-4.2 Aplicaciones de árboles en informática
 
Diapo teoria de grafos
Diapo teoria de grafosDiapo teoria de grafos
Diapo teoria de grafos
 
Teoría de Grafos en sage
 Teoría de Grafos en sage Teoría de Grafos en sage
Teoría de Grafos en sage
 
Grafos en sage
Grafos en sageGrafos en sage
Grafos en sage
 
Grafos teoria
Grafos teoriaGrafos teoria
Grafos teoria
 
Grafos2010
Grafos2010Grafos2010
Grafos2010
 
Preentacion 3°
Preentacion 3°Preentacion 3°
Preentacion 3°
 

Recently uploaded

AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzzAlexandergo5
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúCEFERINO DELGADO FLORES
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificialcynserafini89
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxGESTECPERUSAC
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesEdomar AR
 

Recently uploaded (20)

AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzz
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificial
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptx
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, Aplicaciones
 

Teoria de grafos

  • 1. Estructuras Discretas en Computación Teoría de Grafos Profesor: Mag. Ing. Pavel Aliaga E. Facultad de Ing. de Sistemas Universidad de Lima 2009-2
  • 3. ¿Qué es un Grafo?  Es un conjunto de: puntos (NODOS o VÉRTICES) unidos por líneas (ARCOS o ARISTAS)
  • 4. ¿Por qué se estudian Grafos?  Porque permiten estudiar interrelaciones entre elementos que interactúan unos con otros  Dado un escenario donde ciertos objetos se relacionan se puede “modelar el grafo” y luego aplicar algoritmos para resolver diversos problemas  Son aplicables en:  Ingeniería de Sistemas  Modelado de Redes  Ingeniería Industrial, Electrónica  Química  Geografía, etc.
  • 5. ¿Qué podemos representar con un Grafo?  Red de Computadoras  Conexiones de vuelo de una aereolínea  Carreteras que unen ciudades Impresora  Actividades de un proyecto  Circuitos electrónicos Modem PC1  Representación de un mapa … Servidor Practicamente cualquier problema PC2 puede representarse mediante un grafo
  • 6. Ejemplo de Aplicación de los Grafos  Recorrer cada carretera exactamente una vez y regresar al punto de partida  Recorrer cada ciudad una vez y regresar a la ciudad de origen y todo al menor costo posible  Encontrar el camino más corto entre 2 cuidades cualesquiera
  • 7. Grafo – Definición formal  Un grafo G = (V,E)  V, el conjunto de vértices o nodos 1 4  V={v1, v2, ..vn} 5  Representan los objetos 7 9  E, el conjunto de arcos o aristas  Representan las relaciones  E ={vivj, vmvn, ..} Vértices Adyacentes: 2 vértices unidos por un arco V = {1, 4, 5, 7, 9} E= {(1,4), (4,9), (9,7), (7,5), (5,1), (4,1), (1,5), (5,7), (7, 9), (9,4)}
  • 8. Grado de un Grafo  Grado de un NODO: Es el # de arcos que inciden en un vértice  Caso especial (lazo): se considera 2 C E Grado (D) = 3 Grado (F) = 3 Grado (H) = 3 Grado (C) = 3 Grado (E) = 4 F D H Grado del Grafo = 16 = 2 * 8 arcos  Grado de un GRAFO: Suma de los grados de los vértices.  Teorema de Grado de un GRAFO: Suma de grados de vértices equivale al doble del número de arcos.
  • 9. Tipos de Grafos x  Grafo Regular u  Todos los vértices tienen el mismo grado  Si el grado es k, el grafo es k-regular y z Grafo 3 - regular  Grafo Completo  Tiene una arista entre cualquier par de vértices a b a b e d c d c Grafo completo Grafo No completo
  • 10. Tipos de Grafos  Grafo Bipartito  “Bipartito” significa que tiene 2 partes  G= { V1 u V2, E}  Sus vértices son la unión de dos grupos de vértices bajos las siguientes condiciones:  V1 y V2 son conjuntos disjuntos  Cada arista del Grafo une un vértice de V1 con uno de V2  No existen aristas uniendo vértices del mismos conjunto V1 o V2 a b a b c Grafos Bipartitos c d e
  • 11. Lazo o bucle Tipos de Grafos x u  Mulitgrafo  Es un grafo que tiene arcos múltiples (paralelos) o lazos y z Arcos múltiples o paralelos Multigrafo  Grafo Simple  Es un grafo o digrafo que no tiene bucles x u y que no es un multigrafo y z Grafo simple
  • 12. Tipos de Grafos (dirección) 1 4  Grafos no dirigidos  Si los pares de nodos de los arcos 5 no son ordenados El arco se puede recorrer en ambos sentidos 7 9 Ej.: u-v  Grafos dirigidos o Digrafos  Si los pares de nodos que forman arcos C E son ordenados, de tal forma que el arco se puede recorrer en un solo sentido. Ej.: (u->v) F D H V = {C, D, E, F, H} E= {(E,H), (H,E), (E,C), (C,D), (D,F)}
  • 13. Grado de un Digrafo  En un grafo dirigido los arcos son E pares ordenados.  Implica que (u,v) ≠ (v,u) M  Las líneas se convierten en flechas  El grado de entrada de un nodo es B el número de arcos entrantes L  El grado de salida de un nodo es el P número de arcos salientes
  • 14. Grafos ponderados  Costo o Factor de Peso  Valor que se puede asociar con un arco  Depende de lo que el grafo represente  Si los arcos de un grafo tienen un costo: Grafo valorado o ponderado 20 20 a b a b 40 25 30 25 30 40 c 15 d c d 15 Grafo Dirigido con Grafo No Dirigido con Costo Costo
  • 15. Conectividad Grafo conexo  Grafo Conexo 5 Existe un camino entre cualquier par de 3 nodos 9 2 7 Grafo inconexo Grafo conexo
  • 17. Trayectorias en Grafos  Camino / recorrido 4 7  Un camino P desde u hasta v en el grafo G 10 es una secuencia finita de vértices que empieza en u y acaba en v. 11 6 9  Cada par de vértices consecutivos son adyacentes Camino entre 4 y 7  Longitud de camino T1 = {4, 6, 9, 7}  El número de arcos que lo forman Longitud: 3  Camino Simple  Todos los nodos que lo forman son distintos (no se repite nodos)
  • 18. Trayectorias en Grafos  Ciclo / Circuito (camino cerrado)  Es un camino que inicia y termina en el mismo nodo  No se recorre dos veces por la misma arista A B C D E F Camino A y A P = {A, E, B, F, A} ¿Cuál es la longitud mínima que puede tener un ciclo? Rpta: 3
  • 19. Ciclos de Euler y Hamilton “Hacer el recorrido sin levantar el lápiz del papel…”
  • 20. Puentes de Königsberg  El problema consiste en recorrer toda la ciudad partiendo de cualquier lugar (A, B, C o D) caminando sobre cada puente exactamente una vez y regresar a la posición inicial. ¿Es posible? 7 Puentes 2 Islas: B y C 2 Orillas: A y D
  • 21. Puentes de Königsberg  Un modelo de grafo de puentes de Königsberg  Nodos:  Porciones de tierra (orillas, islas)  Arcos: 5  Puentes Representación mediante un grafo Origen de los grafos: Euler ideó los grafos para ver si era posible Recorrer toda la ciudad sin cruzar c/u de los puentes más de una sola vez.
  • 22. Caminos y Ciclos de Euler  Camino de Euler  Recorre TODOS los ARCOS sin repetirlos  Los vértices se pueden repetir  Ciclo de Euler  Recorre TODOS los ARCOS sin repetirlos  Los vértices se pueden repetir  Inicia y termina en el mismo vértice  Grafo Semieuleriano  Es aquel grafo conexo que admite un camino de Euler  Grafo Euleriano  Es el aquel grafo conexo que admite un circuito de Euler
  • 23. Teoremas de Euler  Teorema 1 (Grafo Euleriano)  Si G es un grafo conexo y TODOS sus vértices tienen grado PAR, entonces existe un circuito de Euler en G.  Teorema 2 (Grafo Semieuleriano)  Si G es un grafo conexo y tiene exactamente 2 vértices de grado IMPAR y el resto de grado PAR, entonces existe un recorrido de Euler en G. Cualquier recorrido de Euler debe comenzar en un vértice de grado impar y terminar en el otro.
  • 24. Eulerizar un grafo  Objetivo: Minimizar la longitud total de arcos utilizados  Procedimiento: 1. Localizar los vértices de grado impar 2. Añadir un arco a c/u de los vértices para que tenga grado par  ¿Cómo euleriza el problema de los puentes de königsberg?
  • 25. Caminos y Ciclos de Hamilton  Camino de Hamilton  Recorre TODOS los VÉRTICES sin repetirlos  Ciclo de Hamilton  Inicia y termina en el mismo vértice  Recorre TODOS los VÉRTICES sin repetirlos (excepto el vértice del cual parte y al cual llega)  Grafo Hamiltoniano  Es el aquel grafo que admite un circuito de Hamilton
  • 26. Ciclo Hamiltoniano El juego de Hamilton se resuelve si se encuentra un ciclo que recorra todos los vértices pasando una sola vez por cada uno de ellos (excepto por el vértice inicial y final). Nodos= ciudades Arcos=caminos entre ciudades Viajero que recorre ciudades
  • 27. Grafos: Relaciones en un Digrafo
  • 28. Relaciones en un Digrafo  A = (1, 2, 3, 4)  R = { (1, 2), (2, 2), (2, 3), (3, 4), (4, 3) }  Conjunto Relación R: muestra todas las relaciones de conectividad (trayectorias de longitud 1) entre los nodos del grafo. 1 2 1 2 3 4 1 0 1 0 0 0 1 1 0 𝑀𝑅 =2 3 0 0 0 1 3 4 4 0 0 1 0 Digrafo G Matriz de una Relación
  • 29. Relaciones en un Digrafo  Se define la relación Rn en A por:  xRny si y solo si existe una trayectoria de longitud “n” de x a y  xR ∞ y si y solo si existe una trayectoria de cualquier longitud de x ay  R2 = { (1,2), (1,3), (2,2), (2,3), (2,4), (3,3), (4,4) } trayectorias de long. 2  R3 = { (1,2), (1,3), (2,2), (2,3), (2,4), (3,4), (4,3) } trayectorias de long. 3  R∞ = { (1,2), (1,3), (1,4), (2,2), (2,3), (2,4), (3,3), (3,4), (4,3), (4,4) } 1 R2 2 = {1, 2, 2} 1 2 1 R2 3 = {1, 2, 3} 2 R2 2 = {2, 2, 2} 2 R2 3 = {2, 2, 3} 2 R2 4 = {2, 3, 4} 3 4 3 R2 3 = {3, 4, 3} 4 R2 4 = {4, 3, 4} Digrafo G
  • 31. Representación de Grafos  Para representar un grafo en una computadora se puede usar:  Matriz de Adyacencia [A]  V (vértices) x V(vértices)  Matriz de Incidencia [M]  V (vértices) x A (arcos )  Matriz de Arcos [B]  A (arcos ) x V (vértices)
  • 32. Matriz de Adyacencia [A] (grafos no dirigidos)  Dado un Grafo G = (V, E) V3 V0 4 V4 7  Está representado por una matriz 10 de V (vértices) por V(vértices) V5  1= si hay un arco o existe 11 adyacencia entre los vértices V1 6 9 V2 V 0 V1 V 2 V 3 V 4 V 5 1, si hay arco (Vi,Vj) V0 0 1 0 0 0 0 aij V1 1 0 1 0 0 0 0, si no hay arco (Vi,Vj) V2 0 1 0 1 0 0 V3 0 0 1 0 0 0 V4 0 0 0 0 0 1 Caso especial: cuando hay un lazo se considera aij=1 V5 0 0 0 0 1 0
  • 33. Matriz de Adyacencia [A] (digrafos)  Para Digrafos V1 V2 V4 V3 Caso especial: cuando hay un lazo se considera aij=1
  • 34. Matriz de Adyacencia [A] (Propiedades)  El Grado de un Vértice se obtiene sumando la fila o la columna correspondiente (solo para grafos no dirigidos).  Nota: Si la arista es un bucle entonces se suma 2 en vez de 1  Teorema: Si A es la matriz de adyacencia, el elemento ij de An es igual al número de caminos de longitud “n” del vértice i al vértice j
  • 35. Matriz de Incidencia [M] (grafos no dirigidos)  Dado un Grafo G = (V, E)  Está representado por una matriz de V (vértices) por A (arcos) 1, [arco, vértice] está conectado aij 0 [arco, vértice] no está conectado  1: Si el arco i incide en el vértice j  En un grafo sin lazos, la suma de una fila dá el grado del vértice identificado con esa fila.
  • 36. Matriz de Incidencia [M] (digrafos)  Para Digrafos  Ai,j =1, arco sale del nodo  Aij=-1, arco entra al nodo  Aij=2, si el nodo es origen y final del arco (lazo)  Aij=0, si el arco no inicide en el nodo
  • 37. Matriz de Arcos [B]  Dado un Grafo G = (V, E)  Está representado por una matriz de Arcos (A) x Vértices (V)  Esta formada por los arcos del grafo representado e1 e2 V1 V2 V4 e1 V1 V2 e V2 V4 [B] = 2 e3 e4 e3 V1 V3 e4 V2 V3 V3 La matriz es de: m (# de arcos) x 2 elementos
  • 38. Matriz Distancia [D]  Dado un Grafo G = (V, E)  Está representado por una matriz de Vértices (V) x Vértices (V)  Almacena las distancias de un vértice a otro 0, si i=j dij X, si no hay camino entre Vi y Vj # de arcos del camino más corto entre Vi y Vj V2 V4 V1 V2 V3 V4 V1 V1 0 1 2 x V 2 0 1 x [D] = 2 V3 1 2 0 x V4 3 1 2 0 V3
  • 39. Grafos: Algoritmos Establecer el costo mínimo recorriendo todos los vértices Encontrar la distancia mínima entre 2 vértices
  • 40. Problema del vendedor viajero  El problema del vendedor viajero consiste en encontrar la ruta más corta en la que el agente viajero pueda visitar en cada ciudad a sus clientes una vez comenzando y terminando en la misma cuidad.  Ciudades = Nodos  Caminos entre ciudades = Arcos Definición del Problema: Construir la ruta de costo mínimo que visita a cada cliente exactamente una vez
  • 41. Algoritmos para establecer circuitos hamiltonianos considerando el costo 1. Vecino más cercano: a. se visita el nodo más cercano y a continuación el siguiente nodo más cercano no visitado hasta regresar al origen. b. Nota: Este método tiene una ventaja en las primeras selecciones, sin embargo en los últimos pasos puede elegir aristas de longitud muy grande por tanto no necesariamente encuentra el costo min. L {C, S, L, M, C} = 300 + 541 + 774 + 425 = 2040 541 774 349 S 562 300 M C 425
  • 42. Algoritmos para establecer circuitos hamiltonianos considerando el costo 2. Árbol del costo mínimo a. Generar todos los recorridos hamiltonianos posibles b. Elegir el camino con el peso mínimo C M S L L S L L M M S L S M L S M 541 774 349 C C C C C C S {C, M, L, S, C} = 425 + 774 + 541 + 300 = 2040 562 300 {C, M, S, L, C} = 425 + 562 + 541 + 349 = 1877 M C {C, S, M, L, C} = 300 + 562 + 774 + 349 = 1985 425 {C, S, L, M, C} = 300 + 541 + 774 + 425 = 2040 {C, L, S, M, C} = 349 + 541 + 562 + 425 = 1877 {C, L, M, S, C} = 349 + 774 + 562 + 300 = 1985
  • 43. Algoritmos para establecer circuitos hamiltonianos considerando el costo 3. Arcos clasificados (costo medio) a. Ordenar los arcos: 300, 349, 425, 541, 562, 774 b. Menor: 300, siguiente menor 349, etc. Construir el ciclo hamiltoniano: -No se pueden juntar 3 arcos en un vértice -No se puede cerrar ciclo sin incluir todos los vértices {C, L, M, S, C} = 300 + 349 + 774 + 562 = 1985 L 541 774 349 S 562 300 M C 425
  • 44. Algoritmos para encontrar caminos más cortos  Frecuentemente se desea conocer en un grafo cuál es el camino más corto entre un par de vértices  En este caso  Sí importa cuántos caminos existen  Si ya conozco un camino pero encuentro uno mejor, sustuir  Aplicar algoritmos de: 1. Ford 2. Dikjstra
  • 45. Algoritmo de Ford 1. Permite calcular la distancia mínima entre 2 puntos de 1 grafo. 2. Cada nodo se representa por : n A 3. Pasos: 1. Asignar el valor 0 al nodo origen 2. Mediante un proceso iterativo se le asignará a cada nodo Xi un valor n igual a la longitud del camino más corto que exista desde el nodo origen al nodo Xj.
  • 46. Edsger Dijkstra (1930 – 2002)  Científico de la computación de origen holandés Creador del Algoritmo de caminos mínimos Recibió el Premio Turing
  • 47. Algoritmo de Dikjstra: grafos conexos 1. Dado un V0, Dijkstra busca un conjunto D con  Las menores distancias de V0 al resto de vértices 2. Al inicio, solo conocemos  Las distancias de los adyacentes  D es inicializada a  Factor de peso para los adyacentes, Infinito ∞ para los no adyacentes 3. D va ser mejorado sucesivamente  Escogiendo el vértice Vk no elegido antes  Que tenga la distancia mas corta V0, Vk  Probamos si pasando por Vk  Se puede obtener distancias mas cortas de las que tenemos  Para cada Vértice restante del grafo
  • 48. Pasando por V2, Distancia de V1 Pasando por a V5 seria 8, no hay mejora V3, Distancia de V1 a V5 seria 7, CAMBIAR EJEMPLO DE DIJKSTRA V1 V2 V3 V4 V5 V6 Escogidos Vértice D[0] D[1] D[2] D[3] D[4] D[5] De V1 AL RESTO Evaluado 5 V1 V1 0 3 4 ∞ 8 ∞ V2 V5 3 V1,V2 V2 0 3 4 ∞ 8 ∞ 3 8 V1,V2,V3 V3 0 3 4 ∞ 7 ∞ V6 V1 7 V1,V2,V3,V5 V5 0 3 4 14 7 10 3 V1,V2,V3,V5,V6 V6 0 3 4 12 7 10 4 V3 V4 2 1. D[] se inicializa con F.P. de adyacentes al origen 2. Escoger vértice Vk que no haya sido escogido, con la menor distancia del Vevaluado a Repetir hasta k se hayan Vk visitado todos los vértices 3. Revisar si alguna distancia puede ser mejorada pasando por Vevaluado desde V1
  • 49. Ejercicios Guiados y Propuestos