tema recorridos

Upload: salomonriverar

Post on 07-Jul-2018

228 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/19/2019 Tema Recorridos

    1/19

     Recorridos   1

    1 2

    35

    4 15

    30

    20

    25

    50

    45

    10

    25

    40

    55

    s t

    a c

    b d2

    3 3

    4

    1

    2

    3

    2

    Recorridos en grafosRecorridos en grafos

  • 8/19/2019 Tema Recorridos

    2/19

     Recorridos   2

    Indice

    • Introducción.• Búsqueda primero en profundidad.•

    Búsqueda primero en anchura.• Usos de los recorridos.

     – i!rafos ac"clicos.

     – #rden topoló!ico.

  • 8/19/2019 Tema Recorridos

    3/19

     Recorridos   3

    Introducción

    • Recorrido$ procedimiento sistem%tico dee&ploración de un !rafo mediante el e&amende todos sus '(rtices ) aristas.

    • Un recorrido es eficiente si 'isita todos los'(rtices ) aristas en un tiempo proporcional asu número* esto es* en tiempo lineal.

  • 8/19/2019 Tema Recorridos

    4/19

     Recorridos   4

    Búsqueda primero en profundidad•  Analogía$ deambular en un laberinto con una

    cuerda ) un bote de pintura* para no perderse. – +e selecciona un '(rtice inicial  s de ,* al que se fi-a un e&tremo de

    la cuerda ) se pinta  s como 'isitado. +e asi!na  s a u /'(rtice encurso0.

     – +e recorre , considerando una arista arbitraria /u* v0. +i la arista /u*v0 conduce a una '(rtice v )a 'isitado se retorna inmediatamente al'(rtice u.

     – +i /u* v0 conduce a un '(rtice no 'isitado v* entonces se e&tiende lacuerda ) se fi-a en v. +e pinta v como 'isitado ) se asi!na a u /'(rtice en curso0* repitiendo el mismo procedimiento anterior.

     – +i todas las aristas incidentes a un '(rtice conducen a '(rtices )a'isitados* se enrolla la cuerda 'uelta atr%s a la arista que condu-o au ) se repite el procedimiento anterior para las aristas incidentes queno se han recorrido antes.

     – l proceso termina cuando la 'uelta atr%s conduce al '(rtice inicial  s 

    ) no ha) m%s aristas incidentes sin e&plorar desde  s.

  • 8/19/2019 Tema Recorridos

    5/19

     Recorridos   5

    Búsqueda primero en profundidad•  Animación 

    a b

    d e

    c

    a b

    d e

    c

    a b

    d e

    c

    a b

    d e

    c

    a b

    d e

    c

    a b

    d e

    c

  • 8/19/2019 Tema Recorridos

    6/19

     Recorridos   6

    Búsqueda primero en profundidad• l recorrido B es una !eneraliación del recorrido

    preorden de un %rbol.• +e pueden identificar cuatro tipos de aristas durante el

    recorrido$ –  Aristas de descubrimiento$ son aquellas aristas que conducen al

    descubrimiento de nue'os '(rtices. ambi(n se les llama aristas de

    árbol . –  Aristas de retorno$ son las aristas que conducen a '(rtices

    antecesores )a 'isitados en el %rbol.

     –  Aristas de avance$ son las aristas que conducen a '(rticesdescendientes en el %rbol.

     –  Aristas de cruce$ son aristas que conducen a un '(rtice que no esancestro de otro o a '(rtices que est%n en diferentes %rboles.

    • as aristas de descubrimiento forman un %rbol decubrimiento de los componentes conectados del '(rtice

    inicial  s. 

  • 8/19/2019 Tema Recorridos

    7/19

     Recorridos   7

     6l!oritmo recursi'o Brecorre7!rafo7bpp/0

    8

      for  cada '(rtice v

      marca9v:;+I?

      for  cada '(rtice v

    if  /marca9v:;;+I0B/v0?

    @

    B/u0

    8

      marca9u:;=I+I6#?

      for  cada '(rtice v ad)acente a u

    if  /marca9v:;;+I0

    B/v0?@

    • #rden de comple-idad del recorrido en profundidad$

     – Aon lista de ad)acencia* se recorre cada elemento de lista una'e* #/n e0.

     – Aon matri de ad)acencia* para cada nodo se buscan susad)acentes* #/n20.

  • 8/19/2019 Tema Recorridos

    8/19

     Recorridos   8

     6l!oritmo recursi'o B

    •    6pplet de animación del recorrido B

    http://var/www/apps/conversion/tmp/scratch_6/DFS%5CDFSjar.htmlhttp://var/www/apps/conversion/tmp/scratch_6/DFS%5CDFSjar.htmlhttp://var/www/apps/conversion/tmp/scratch_6/DFS%5CDFSjar.html

  • 8/19/2019 Tema Recorridos

    9/19

  • 8/19/2019 Tema Recorridos

    10/19

     Recorridos   10

    Búsqueda primero en anchura•  Animación 

    a b

    d e

    c

    C

    a b

    d e

    c

    C 1

    1

    1

    a b

    d e

    c

    C 1

    1

    1 2

  • 8/19/2019 Tema Recorridos

    11/19

     Recorridos   11

    Búsqueda primero en anchura• l recorrido B6 es una !eneraliación del recorrido por

    ni'eles de un %rbol.• +e pueden identificar dos tipos de aristas durante el

    recorrido$ –  Aristas de descubrimiento$ son aquellas aristas que conducen al

    descubrimiento de nue'os '(rtices.

     –  Aristas de cruce$ son aristas que conducen a un '(rtice )a'isitado.

    • as aristas de descubrimiento forman un %rbol decubrimiento de los componentes conectados del '(rtice

    inicial  s. 

  • 8/19/2019 Tema Recorridos

    12/19

     Recorridos   12

     6l!oritmo B6B6/v0

    8  marca9v: ; =I+I6#?  InsertaAola/v, A0  while not s=ac"aAola/A0 8

    u ; +uprimirAola/A0?

    for  cada nodo  y ad)acente a u 8if  /marca9 y:;;+I0 8

      marca9 y: ; =I+I6#?  InsertaAola/ y* A0?

    @

    @  @@

    recorre7!rafo7bpa/0

    8  for  cada '(rtice v

      marca9v:;+I?

      for  cada '(rtice v

    if  /marca9v:;;+I0

    B6/v0?

    @

    • #rden de comple-idad del recorrido en anchura$ – Aon lista de ad)acencia$ #/n e0. – Aon matri de ad)acencia$ #/n20.

  • 8/19/2019 Tema Recorridos

    13/19

     Recorridos   13

    >ecorrido B6•    6pplet de animación del recorrido B6

    http://var/www/apps/conversion/tmp/scratch_6/DFS%5CBFSjar.htmlhttp://var/www/apps/conversion/tmp/scratch_6/DFS%5CBFSjar.htmlhttp://var/www/apps/conversion/tmp/scratch_6/DFS%5CBFSjar.html

  • 8/19/2019 Tema Recorridos

    14/19

     Recorridos   14

    Usos de los >ecorridos•  6mbos recorridos se pueden usar para resol'er los si!uientes problemas$

     – robar que , es conectado.

     – #btener un %rbol de e&pansión de ,. – #btener los componentes conectados de ,. – #btener un camino entre dos '(rtices dados de ,* o indicar que no e&iste tal camino.

    • l recorrido B se usa para$ – #btener un ciclo en ,* o indicar que , no tiene ciclos.

    • l recorrido B6 se usa para$

     – #btener para cada '(rtice v de ,* el número m"nimo de aristas de cualquier camino entre  s ) v.

  • 8/19/2019 Tema Recorridos

    15/19

  • 8/19/2019 Tema Recorridos

    16/19

     Recorridos   16

    i!rafos ac"clicos• Un !rafo es ac"clico si durante un recorrido B no

    e&isten aristas de 'uelta atr%s o retorno.•  6l!oritmo$ recorrer el di!rafo usando B )

    numerando los nodos nue'os en el recorrido. +i enal!ún momento en una arista de retorno un nodo

    descendiente tiene un ni'el de profundidad menorque el antecesor* entonces e&iste un ciclo.

    1

    5

    3 4

    2

    E F

    arista de retorno

  • 8/19/2019 Tema Recorridos

    17/19

     Recorridos   17

    #rden topoló!ico• Ordenamiento topológico de un digrafo acíclico$ orden lineal de los '(rtices coloc%ndolos a lo lar!o

    de una l"nea horiontal de tal manera que todas las aristas ten!an una dirección de iquierda a

    derecha.• -emplo$ las tareas de un pro)ecto de construcción.•  6l!oritmo$ usar una 'ersión modificada de B.

    orden7topolo!ico/'0 GD orden in'erso DG8

      marca9':;=I+I6#?  for cada '(rtice H en lista7ad)acencia/'0

    if /marca9H:;;+I0  orden7topolo!ico/H0?  imprime/'0?

    @

  • 8/19/2019 Tema Recorridos

    18/19

     Recorridos   18

    #rden topoló!ico• Ejemplo

    • Orden topológico:

    1 2 3 4 5 E

    1 3 2 4 5 E

    2 1 5 3 4 E

    1

    5

    3

    4

    2

    E

    1 2 3 4 5 E

  • 8/19/2019 Tema Recorridos

    19/19

     Recorridos 19

    Indice

    1. Introducción.2. efiniciones.

    3. >ecorridos en !rafos.

    4. 6l!oritmos de caminos m%s cortos.

    5. rbol de cubrimiento de costo m"nimo.

    E. Jlu-o en redes. Jlu-o m%&imo.

    http://tema_dijkstra.ppt/http://tema_mst.ppt/http://tema_flujoredes.ppt/http://tema_flujoredes.ppt/http://tema_mst.ppt/http://tema_dijkstra.ppt/