SlideShare una empresa de Scribd logo
Tema: Algoritmos de Grafos
C´atedra: Algoritmos y Complejidad
Mg. Mart´ın M. P´erez
Facultad de Ciencias de la Administraci´on
Universidad Nacional de Entre R´ıos
Noviembre de 2015
Intro Representaci´on de Grafos Recorridos Camino y Circuito de Euler Bibliograf´ıa
En la clase de hoy: Algoritmos de Grafos
1 Introducci´on
2 Representaci´on de Grafos
3 Recorridos
Recorrido en Profundidad: Grafos No Dirigidos
Puntos de Articulaci´on
Recorrido en Profundidad: Grafos Dirigidos
Grafos Ac´ıclicos: Orden Topol´ogico
Recorrido por Niveles
4 Camino y Circuito de Euler
Algoritmo de Fleury
5 Bibliograf´ıa
Mart´ın P´erez (FCAD – UNER) Algoritmos de Grafos Noviembre de 2015 2 / 19
Intro Representaci´on de Grafos Recorridos Camino y Circuito de Euler Bibliograf´ıa
Introducci´on
Los grafos son estructuras muy importantes en las ciencias
de la computaci´on. Con ellos se puede encontrar la soluci´on
a una inmensa variedad de problemas.
Hoy veremos t´ecnicas generales que pueden usarse cuando
no se requiere ning´un orden particular para visitar cada
nodo.
Mart´ın P´erez (FCAD – UNER) Algoritmos de Grafos Noviembre de 2015 3 / 19
Intro Representaci´on de Grafos Recorridos Camino y Circuito de Euler Bibliograf´ıa
Representaci´on de Grafos No Dirigidos (GND)
Memoria GND =
Θ(n2
) Matriz de Adyacencia
Θ(n + 2a) = Θ(m´ax(n, a)) Lista de Adyacencia
Mart´ın P´erez (FCAD – UNER) Algoritmos de Grafos Noviembre de 2015 4 / 19
Intro Representaci´on de Grafos Recorridos Camino y Circuito de Euler Bibliograf´ıa
Representaci´on de Grafos Dirigidos (GD)
Memoria GD =
Θ(n2
) Matriz de Adyacencia
Θ(n + a) = Θ(m´ax(n, a)) Lista de Adyacencia
Mart´ın P´erez (FCAD – UNER) Algoritmos de Grafos Noviembre de 2015 5 / 19
Intro Representaci´on de Grafos Recorridos Camino y Circuito de Euler Bibliograf´ıa
Recorridos
Un recorrido es un algoritmo que visita todos los nodos de
un grafo.
Mart´ın P´erez (FCAD – UNER) Algoritmos de Grafos Noviembre de 2015 6 / 19
Intro Representaci´on de Grafos Recorridos Camino y Circuito de Euler Bibliograf´ıa
Recorridos
Un recorrido es un algoritmo que visita todos los nodos de
un grafo.
Los algoritmos m´as comunes generalizan las t´ecnicas para
recorrer ´arboles:
Mart´ın P´erez (FCAD – UNER) Algoritmos de Grafos Noviembre de 2015 6 / 19
Intro Representaci´on de Grafos Recorridos Camino y Circuito de Euler Bibliograf´ıa
Recorridos
Un recorrido es un algoritmo que visita todos los nodos de
un grafo.
Los algoritmos m´as comunes generalizan las t´ecnicas para
recorrer ´arboles:
Pre-orden
Mart´ın P´erez (FCAD – UNER) Algoritmos de Grafos Noviembre de 2015 6 / 19
Intro Representaci´on de Grafos Recorridos Camino y Circuito de Euler Bibliograf´ıa
Recorridos
Un recorrido es un algoritmo que visita todos los nodos de
un grafo.
Los algoritmos m´as comunes generalizan las t´ecnicas para
recorrer ´arboles:
Pre-orden
In-orden
Mart´ın P´erez (FCAD – UNER) Algoritmos de Grafos Noviembre de 2015 6 / 19
Intro Representaci´on de Grafos Recorridos Camino y Circuito de Euler Bibliograf´ıa
Recorridos
Un recorrido es un algoritmo que visita todos los nodos de
un grafo.
Los algoritmos m´as comunes generalizan las t´ecnicas para
recorrer ´arboles:
Pre-orden
In-orden
Post-orden
Mart´ın P´erez (FCAD – UNER) Algoritmos de Grafos Noviembre de 2015 6 / 19
Intro Representaci´on de Grafos Recorridos Camino y Circuito de Euler Bibliograf´ıa
Recorrido en Profundidad: Grafos No Dirigidos
Procedimiento de Recorrido en Profundidad: GND
Se elige un nodo v ∈ N como punto de partida.
Se marca el nodo v como visitado.
Si hay un nodo no visitado adyacente a v, se elige como
nuevo punto de partida.
Se sigue el proceso recursivamente, hasta que todos los
nodos de G est´en marcados.
Mart´ın P´erez (FCAD – UNER) Algoritmos de Grafos Noviembre de 2015 7 / 19
Intro Representaci´on de Grafos Recorridos Camino y Circuito de Euler Bibliograf´ıa
Recorrido en Profundidad: Grafos No Dirigidos
Ejemplo
Para el siguiente grafo, ¿c´omo proceder´ıa el recorrido en
profundidad?
Mart´ın P´erez (FCAD – UNER) Algoritmos de Grafos Noviembre de 2015 8 / 19
Intro Representaci´on de Grafos Recorridos Camino y Circuito de Euler Bibliograf´ıa
Recorrido en Profundidad: Grafos No Dirigidos
Ejemplo
1. dfs(1) llamada inicial
2. dfs(2) llamada recursiva
3. dfs(3) llamada recursiva
4. dfs(6) llamada recursiva
5. dfs(5) llamada recursiva; se bloquea
6. dfs(4) vecino del nodo 1 no visitado
7. dfs(7) llamada recursiva
8. dfs(8) llamada recursiva; se bloquea
9. − no hay m´as nodos para visitar
Mart´ın P´erez (FCAD – UNER) Algoritmos de Grafos Noviembre de 2015 9 / 19
Intro Representaci´on de Grafos Recorridos Camino y Circuito de Euler Bibliograf´ıa
Recorrido en Profundidad: Grafos No Dirigidos
Ejemplo
´Arbol de cubrimiento asociado al recorrido
Mart´ın P´erez (FCAD – UNER) Algoritmos de Grafos Noviembre de 2015 10 / 19
Intro Representaci´on de Grafos Recorridos Camino y Circuito de Euler Bibliograf´ıa
Recorrido en Profundidad: Grafos No Dirigidos
Definiciones
Punto de Articulaci´on
Un nodo v de un grafo conexo es un punto de articulaci´on
si el subgrafo obtenido por la eliminaci´on de v y todos sus
arcos incidentes deja de ser conexo.
Mart´ın P´erez (FCAD – UNER) Algoritmos de Grafos Noviembre de 2015 11 / 19
Intro Representaci´on de Grafos Recorridos Camino y Circuito de Euler Bibliograf´ıa
Recorrido en Profundidad: Grafos No Dirigidos
Definiciones
Punto de Articulaci´on
Un nodo v de un grafo conexo es un punto de articulaci´on
si el subgrafo obtenido por la eliminaci´on de v y todos sus
arcos incidentes deja de ser conexo.
Grafo Biconexo
Un grafo G es biconexo si es co-
nexo y no tiene puntos de articu-
laci´on.
Mart´ın P´erez (FCAD – UNER) Algoritmos de Grafos Noviembre de 2015 11 / 19
Intro Representaci´on de Grafos Recorridos Camino y Circuito de Euler Bibliograf´ıa
Recorrido en Profundidad: Grafos No Dirigidos
Definiciones
Punto de Articulaci´on
Un nodo v de un grafo conexo es un punto de articulaci´on
si el subgrafo obtenido por la eliminaci´on de v y todos sus
arcos incidentes deja de ser conexo.
Grafo Biconexo
Un grafo G es biconexo si es co-
nexo y no tiene puntos de articu-
laci´on.
Grafo Bicoherente
Un grafo G es bicoherente si ca-
da punto de articulaci´on se conec-
ta por medio de al menos dos ar-
cos a cada componente de los sub-
grafos restantes.
Mart´ın P´erez (FCAD – UNER) Algoritmos de Grafos Noviembre de 2015 11 / 19
Intro Representaci´on de Grafos Recorridos Camino y Circuito de Euler Bibliograf´ıa
Recorrido en Profundidad: Grafos Dirigidos
Procedimiento de Recorrido en Profundidad: GD
El algoritmo es el mismo. La ´unica diferencia reside en la
interpretaci´on de la palabra “adyacente”
Mart´ın P´erez (FCAD – UNER) Algoritmos de Grafos Noviembre de 2015 12 / 19
Intro Representaci´on de Grafos Recorridos Camino y Circuito de Euler Bibliograf´ıa
Recorrido en Profundidad: Grafos Dirigidos
Procedimiento de Recorrido en Profundidad: GD
El algoritmo es el mismo. La ´unica diferencia reside en la
interpretaci´on de la palabra “adyacente”
¿C´omo proceder´ıa el recorrido
en profundidad en este grafo
dirigido?
¿Cu´ales ser´ıan los ´arboles de
cubrimiento resultantes?
Mart´ın P´erez (FCAD – UNER) Algoritmos de Grafos Noviembre de 2015 12 / 19
Intro Representaci´on de Grafos Recorridos Camino y Circuito de Euler Bibliograf´ıa
Recorrido en Profundidad: Grafos Dirigidos
Grafos Ac´ıclicos: Orden Topol´ogico
Los grafos dirigidos ac´ıclicos pueden usarse para repre-
sentar muchas relaciones interesantes.
Mart´ın P´erez (FCAD – UNER) Algoritmos de Grafos Noviembre de 2015 13 / 19
Intro Representaci´on de Grafos Recorridos Camino y Circuito de Euler Bibliograf´ıa
Recorrido en Profundidad: Grafos Dirigidos
Grafos Ac´ıclicos: Orden Topol´ogico
Los grafos dirigidos ac´ıclicos pueden usarse para repre-
sentar muchas relaciones interesantes.
Orden Topol´ogico
Es un listado de los nodos de un GDA donde, si existe un arco (i, j) en
el grafo, entonces el nodo i precede al j en la lista.
¿C´omo se puede adaptar el procedimiento dfs para que
muestre el orden topol´ogico de un grafo?
Mart´ın P´erez (FCAD – UNER) Algoritmos de Grafos Noviembre de 2015 13 / 19
Intro Representaci´on de Grafos Recorridos Camino y Circuito de Euler Bibliograf´ıa
Recorrido por Niveles
Recorrido por Niveles
Cuando una b´usqueda por niveles llega a cierto nodo
v, primero visita todos los vecinos de v. S´olo entonces
comienza a visitar los nodos m´as lejanos.
Mart´ın P´erez (FCAD – UNER) Algoritmos de Grafos Noviembre de 2015 14 / 19
Intro Representaci´on de Grafos Recorridos Camino y Circuito de Euler Bibliograf´ıa
Recorrido por Niveles
Recorrido por Niveles
Cuando una b´usqueda por niveles llega a cierto nodo
v, primero visita todos los vecinos de v. S´olo entonces
comienza a visitar los nodos m´as lejanos.
Para el grafo
Paso Nodo Visitado Q
1. 1 2, 3, 4
2. 2 3, 4, 5, 6
3. 3 4, 5, 6
4. 4 5, 6, 7, 8
5. 5 6, 7, 8
6. 6 7, 8
7. 7 8
8. 8 −
Mart´ın P´erez (FCAD – UNER) Algoritmos de Grafos Noviembre de 2015 14 / 19
Intro Representaci´on de Grafos Recorridos Camino y Circuito de Euler Bibliograf´ıa
Recorrido por Niveles
Recorrido por Niveles
Actividades
¿C´omo quedar´ıa el ´arbol de cubrimiento generado por
el recorrido de la diapositiva anterior?
¿Te anim´as a aplicar el algoritmo de recorrido por ni-
veles al grafo dirigido de la Figura 5 de los apuntes de
clase?
En http://visualgo.net/dfsbfs.html se puede ver c´omo
evolucionan los recorridos en profundidad y por niveles,
tanto para GD como para GND. ¡A experimentar!
Mart´ın P´erez (FCAD – UNER) Algoritmos de Grafos Noviembre de 2015 15 / 19
Intro Representaci´on de Grafos Recorridos Camino y Circuito de Euler Bibliograf´ıa
Camino y Circuito de Euler
Un camino de Euler en un GND es un camino donde cada
arco aparece exactamente una vez .
Si el nodo inicial y el final son el mismo nodo, entonces el
camino es un circuito de Euler.
Euler enunci´o dos Teoremas:
Teorema 1: Existencia de un Camino de Euler.
Teorema 2: Existencia de Circuitos de Euler.
Mart´ın P´erez (FCAD – UNER) Algoritmos de Grafos Noviembre de 2015 16 / 19
Intro Representaci´on de Grafos Recorridos Camino y Circuito de Euler Bibliograf´ıa
Camino y Circuito de Euler
Los puentes de K¨onigsberg y su grafo asociado
¿Existe en este caso camino y/o circuito de Euler?
Mart´ın P´erez (FCAD – UNER) Algoritmos de Grafos Noviembre de 2015 17 / 19
Intro Representaci´on de Grafos Recorridos Camino y Circuito de Euler Bibliograf´ıa
Algoritmo de Fleury
Algoritmo de Fleury
Pasos para encontrar caminos de Euler:
1 Verificar que el grafo cumpla con las hip´otesis de los
teoremas de caminos o circuitos de Euler.
2 Elegir un v´ertice de grado impar. En caso de que no
exista, se puede elegir cualquier v´ertice.
3 En cada paso, recorrer cualquier arco disponible, eli-
giendo un puente o istmo s´olo cuando no haya alterna-
tiva.
4 Al recorrer el arco, borrarlo y continuar el proceso hasta
que todos lo v´ertices tengan grado cero.
Mart´ın P´erez (FCAD – UNER) Algoritmos de Grafos Noviembre de 2015 18 / 19
Intro Representaci´on de Grafos Recorridos Camino y Circuito de Euler Bibliograf´ıa
Referencias Bibliogr´aficas
Brassard, G. and Bratley, P. (1995).
Fundamentals of Algorithmics.
Pearson, 1ra. edition.
Cormen, T. H., Leiserson, C. E., Rivest, R. L., and Stein, C. (2009).
Introduction to Algorithms.
The MIT Press, 3ra. edition.
Diestel, R. (2005).
Graph Theory.
Springer-Verlag Heidelberg, 3ra. edition.
Mart´ın P´erez (FCAD – UNER) Algoritmos de Grafos Noviembre de 2015 19 / 19

Más contenido relacionado

PPTX
Programación 3: Ordenación topológica, matriz de caminos y algoritmo Warshall
PPT
PPT
332 presentacion grafos
PPTX
Diapo teoria de grafos
PDF
Unidad 6 grafos
PPT
20 Introduccion Grafos
 
PDF
Fundamentos de la Teoría de Grafos en Curso de Educagratis
Programación 3: Ordenación topológica, matriz de caminos y algoritmo Warshall
332 presentacion grafos
Diapo teoria de grafos
Unidad 6 grafos
20 Introduccion Grafos
 
Fundamentos de la Teoría de Grafos en Curso de Educagratis

La actualidad más candente (20)

DOCX
Teoría de grafos
PPTX
PPS
Grafos
PPT
Clase 9 grafos parte iii (cam min - arbol min)-ay_ed-2014
PPTX
Programación 3: Grafos, representación y operaciones
PPT
Teoria de grafos. introducción
PPTX
Grafos
PPTX
Presentación de grafos
PPTX
Teoria de Grafos. Conceptos básicos.
PPTX
Matemáticas discretas- Teoría de Grafos
PPT
Grafos
PPTX
Teoría de grafos
PDF
Grafos en sage
PPTX
Capitulo1 grafos
PDF
I1M2010-T22: Algoritmos sobre grafos en Haskell
PPTX
Lista de adyacencia
Teoría de grafos
Grafos
Clase 9 grafos parte iii (cam min - arbol min)-ay_ed-2014
Programación 3: Grafos, representación y operaciones
Teoria de grafos. introducción
Grafos
Presentación de grafos
Teoria de Grafos. Conceptos básicos.
Matemáticas discretas- Teoría de Grafos
Grafos
Teoría de grafos
Grafos en sage
Capitulo1 grafos
I1M2010-T22: Algoritmos sobre grafos en Haskell
Lista de adyacencia
Publicidad

Destacado (6)

PPTX
Grafo bipartito
PPTX
Técnicas prácticas para la solución de algunos grafos 1
PPT
Grafos/EjerciciosPropuestos
PPTX
grafos conexos
DOC
Grafos resueltos
DOCX
Matrices simétricas y anti simétrica
Grafo bipartito
Técnicas prácticas para la solución de algunos grafos 1
Grafos/EjerciciosPropuestos
grafos conexos
Grafos resueltos
Matrices simétricas y anti simétrica
Publicidad

Último (10)

PDF
Su punto de partida en la IA: Microsoft 365 Copilot Chat
PDF
Clase 3 - Presentación visual (Insertando objetos visuales) POWER POINT.pdf
PPTX
Fundamentos de Python - Curso de Python dia 1
PPTX
ORIGEN DE LA IA - GRADO 1102 INTELIGENCIA
PPTX
Implementación equipo monitor12.08.25.pptx
PPTX
sistemas de informacion.................
DOCX
trabajo programacion.docxxdxxxddxdxxdxdxxxdxxdxdxd
PPTX
Tratará sobre Grafos_y_Arboles_Presentacion.pptx
PDF
AutoCAD Herramientas para el futuro, Juan Fandiño
PPTX
Conceptos basicos de Base de Datos y sus propiedades
Su punto de partida en la IA: Microsoft 365 Copilot Chat
Clase 3 - Presentación visual (Insertando objetos visuales) POWER POINT.pdf
Fundamentos de Python - Curso de Python dia 1
ORIGEN DE LA IA - GRADO 1102 INTELIGENCIA
Implementación equipo monitor12.08.25.pptx
sistemas de informacion.................
trabajo programacion.docxxdxxxddxdxxdxdxxxdxxdxdxd
Tratará sobre Grafos_y_Arboles_Presentacion.pptx
AutoCAD Herramientas para el futuro, Juan Fandiño
Conceptos basicos de Base de Datos y sus propiedades

Algoritmos de Grafos

  • 1. Tema: Algoritmos de Grafos C´atedra: Algoritmos y Complejidad Mg. Mart´ın M. P´erez Facultad de Ciencias de la Administraci´on Universidad Nacional de Entre R´ıos Noviembre de 2015
  • 2. Intro Representaci´on de Grafos Recorridos Camino y Circuito de Euler Bibliograf´ıa En la clase de hoy: Algoritmos de Grafos 1 Introducci´on 2 Representaci´on de Grafos 3 Recorridos Recorrido en Profundidad: Grafos No Dirigidos Puntos de Articulaci´on Recorrido en Profundidad: Grafos Dirigidos Grafos Ac´ıclicos: Orden Topol´ogico Recorrido por Niveles 4 Camino y Circuito de Euler Algoritmo de Fleury 5 Bibliograf´ıa Mart´ın P´erez (FCAD – UNER) Algoritmos de Grafos Noviembre de 2015 2 / 19
  • 3. Intro Representaci´on de Grafos Recorridos Camino y Circuito de Euler Bibliograf´ıa Introducci´on Los grafos son estructuras muy importantes en las ciencias de la computaci´on. Con ellos se puede encontrar la soluci´on a una inmensa variedad de problemas. Hoy veremos t´ecnicas generales que pueden usarse cuando no se requiere ning´un orden particular para visitar cada nodo. Mart´ın P´erez (FCAD – UNER) Algoritmos de Grafos Noviembre de 2015 3 / 19
  • 4. Intro Representaci´on de Grafos Recorridos Camino y Circuito de Euler Bibliograf´ıa Representaci´on de Grafos No Dirigidos (GND) Memoria GND = Θ(n2 ) Matriz de Adyacencia Θ(n + 2a) = Θ(m´ax(n, a)) Lista de Adyacencia Mart´ın P´erez (FCAD – UNER) Algoritmos de Grafos Noviembre de 2015 4 / 19
  • 5. Intro Representaci´on de Grafos Recorridos Camino y Circuito de Euler Bibliograf´ıa Representaci´on de Grafos Dirigidos (GD) Memoria GD = Θ(n2 ) Matriz de Adyacencia Θ(n + a) = Θ(m´ax(n, a)) Lista de Adyacencia Mart´ın P´erez (FCAD – UNER) Algoritmos de Grafos Noviembre de 2015 5 / 19
  • 6. Intro Representaci´on de Grafos Recorridos Camino y Circuito de Euler Bibliograf´ıa Recorridos Un recorrido es un algoritmo que visita todos los nodos de un grafo. Mart´ın P´erez (FCAD – UNER) Algoritmos de Grafos Noviembre de 2015 6 / 19
  • 7. Intro Representaci´on de Grafos Recorridos Camino y Circuito de Euler Bibliograf´ıa Recorridos Un recorrido es un algoritmo que visita todos los nodos de un grafo. Los algoritmos m´as comunes generalizan las t´ecnicas para recorrer ´arboles: Mart´ın P´erez (FCAD – UNER) Algoritmos de Grafos Noviembre de 2015 6 / 19
  • 8. Intro Representaci´on de Grafos Recorridos Camino y Circuito de Euler Bibliograf´ıa Recorridos Un recorrido es un algoritmo que visita todos los nodos de un grafo. Los algoritmos m´as comunes generalizan las t´ecnicas para recorrer ´arboles: Pre-orden Mart´ın P´erez (FCAD – UNER) Algoritmos de Grafos Noviembre de 2015 6 / 19
  • 9. Intro Representaci´on de Grafos Recorridos Camino y Circuito de Euler Bibliograf´ıa Recorridos Un recorrido es un algoritmo que visita todos los nodos de un grafo. Los algoritmos m´as comunes generalizan las t´ecnicas para recorrer ´arboles: Pre-orden In-orden Mart´ın P´erez (FCAD – UNER) Algoritmos de Grafos Noviembre de 2015 6 / 19
  • 10. Intro Representaci´on de Grafos Recorridos Camino y Circuito de Euler Bibliograf´ıa Recorridos Un recorrido es un algoritmo que visita todos los nodos de un grafo. Los algoritmos m´as comunes generalizan las t´ecnicas para recorrer ´arboles: Pre-orden In-orden Post-orden Mart´ın P´erez (FCAD – UNER) Algoritmos de Grafos Noviembre de 2015 6 / 19
  • 11. Intro Representaci´on de Grafos Recorridos Camino y Circuito de Euler Bibliograf´ıa Recorrido en Profundidad: Grafos No Dirigidos Procedimiento de Recorrido en Profundidad: GND Se elige un nodo v ∈ N como punto de partida. Se marca el nodo v como visitado. Si hay un nodo no visitado adyacente a v, se elige como nuevo punto de partida. Se sigue el proceso recursivamente, hasta que todos los nodos de G est´en marcados. Mart´ın P´erez (FCAD – UNER) Algoritmos de Grafos Noviembre de 2015 7 / 19
  • 12. Intro Representaci´on de Grafos Recorridos Camino y Circuito de Euler Bibliograf´ıa Recorrido en Profundidad: Grafos No Dirigidos Ejemplo Para el siguiente grafo, ¿c´omo proceder´ıa el recorrido en profundidad? Mart´ın P´erez (FCAD – UNER) Algoritmos de Grafos Noviembre de 2015 8 / 19
  • 13. Intro Representaci´on de Grafos Recorridos Camino y Circuito de Euler Bibliograf´ıa Recorrido en Profundidad: Grafos No Dirigidos Ejemplo 1. dfs(1) llamada inicial 2. dfs(2) llamada recursiva 3. dfs(3) llamada recursiva 4. dfs(6) llamada recursiva 5. dfs(5) llamada recursiva; se bloquea 6. dfs(4) vecino del nodo 1 no visitado 7. dfs(7) llamada recursiva 8. dfs(8) llamada recursiva; se bloquea 9. − no hay m´as nodos para visitar Mart´ın P´erez (FCAD – UNER) Algoritmos de Grafos Noviembre de 2015 9 / 19
  • 14. Intro Representaci´on de Grafos Recorridos Camino y Circuito de Euler Bibliograf´ıa Recorrido en Profundidad: Grafos No Dirigidos Ejemplo ´Arbol de cubrimiento asociado al recorrido Mart´ın P´erez (FCAD – UNER) Algoritmos de Grafos Noviembre de 2015 10 / 19
  • 15. Intro Representaci´on de Grafos Recorridos Camino y Circuito de Euler Bibliograf´ıa Recorrido en Profundidad: Grafos No Dirigidos Definiciones Punto de Articulaci´on Un nodo v de un grafo conexo es un punto de articulaci´on si el subgrafo obtenido por la eliminaci´on de v y todos sus arcos incidentes deja de ser conexo. Mart´ın P´erez (FCAD – UNER) Algoritmos de Grafos Noviembre de 2015 11 / 19
  • 16. Intro Representaci´on de Grafos Recorridos Camino y Circuito de Euler Bibliograf´ıa Recorrido en Profundidad: Grafos No Dirigidos Definiciones Punto de Articulaci´on Un nodo v de un grafo conexo es un punto de articulaci´on si el subgrafo obtenido por la eliminaci´on de v y todos sus arcos incidentes deja de ser conexo. Grafo Biconexo Un grafo G es biconexo si es co- nexo y no tiene puntos de articu- laci´on. Mart´ın P´erez (FCAD – UNER) Algoritmos de Grafos Noviembre de 2015 11 / 19
  • 17. Intro Representaci´on de Grafos Recorridos Camino y Circuito de Euler Bibliograf´ıa Recorrido en Profundidad: Grafos No Dirigidos Definiciones Punto de Articulaci´on Un nodo v de un grafo conexo es un punto de articulaci´on si el subgrafo obtenido por la eliminaci´on de v y todos sus arcos incidentes deja de ser conexo. Grafo Biconexo Un grafo G es biconexo si es co- nexo y no tiene puntos de articu- laci´on. Grafo Bicoherente Un grafo G es bicoherente si ca- da punto de articulaci´on se conec- ta por medio de al menos dos ar- cos a cada componente de los sub- grafos restantes. Mart´ın P´erez (FCAD – UNER) Algoritmos de Grafos Noviembre de 2015 11 / 19
  • 18. Intro Representaci´on de Grafos Recorridos Camino y Circuito de Euler Bibliograf´ıa Recorrido en Profundidad: Grafos Dirigidos Procedimiento de Recorrido en Profundidad: GD El algoritmo es el mismo. La ´unica diferencia reside en la interpretaci´on de la palabra “adyacente” Mart´ın P´erez (FCAD – UNER) Algoritmos de Grafos Noviembre de 2015 12 / 19
  • 19. Intro Representaci´on de Grafos Recorridos Camino y Circuito de Euler Bibliograf´ıa Recorrido en Profundidad: Grafos Dirigidos Procedimiento de Recorrido en Profundidad: GD El algoritmo es el mismo. La ´unica diferencia reside en la interpretaci´on de la palabra “adyacente” ¿C´omo proceder´ıa el recorrido en profundidad en este grafo dirigido? ¿Cu´ales ser´ıan los ´arboles de cubrimiento resultantes? Mart´ın P´erez (FCAD – UNER) Algoritmos de Grafos Noviembre de 2015 12 / 19
  • 20. Intro Representaci´on de Grafos Recorridos Camino y Circuito de Euler Bibliograf´ıa Recorrido en Profundidad: Grafos Dirigidos Grafos Ac´ıclicos: Orden Topol´ogico Los grafos dirigidos ac´ıclicos pueden usarse para repre- sentar muchas relaciones interesantes. Mart´ın P´erez (FCAD – UNER) Algoritmos de Grafos Noviembre de 2015 13 / 19
  • 21. Intro Representaci´on de Grafos Recorridos Camino y Circuito de Euler Bibliograf´ıa Recorrido en Profundidad: Grafos Dirigidos Grafos Ac´ıclicos: Orden Topol´ogico Los grafos dirigidos ac´ıclicos pueden usarse para repre- sentar muchas relaciones interesantes. Orden Topol´ogico Es un listado de los nodos de un GDA donde, si existe un arco (i, j) en el grafo, entonces el nodo i precede al j en la lista. ¿C´omo se puede adaptar el procedimiento dfs para que muestre el orden topol´ogico de un grafo? Mart´ın P´erez (FCAD – UNER) Algoritmos de Grafos Noviembre de 2015 13 / 19
  • 22. Intro Representaci´on de Grafos Recorridos Camino y Circuito de Euler Bibliograf´ıa Recorrido por Niveles Recorrido por Niveles Cuando una b´usqueda por niveles llega a cierto nodo v, primero visita todos los vecinos de v. S´olo entonces comienza a visitar los nodos m´as lejanos. Mart´ın P´erez (FCAD – UNER) Algoritmos de Grafos Noviembre de 2015 14 / 19
  • 23. Intro Representaci´on de Grafos Recorridos Camino y Circuito de Euler Bibliograf´ıa Recorrido por Niveles Recorrido por Niveles Cuando una b´usqueda por niveles llega a cierto nodo v, primero visita todos los vecinos de v. S´olo entonces comienza a visitar los nodos m´as lejanos. Para el grafo Paso Nodo Visitado Q 1. 1 2, 3, 4 2. 2 3, 4, 5, 6 3. 3 4, 5, 6 4. 4 5, 6, 7, 8 5. 5 6, 7, 8 6. 6 7, 8 7. 7 8 8. 8 − Mart´ın P´erez (FCAD – UNER) Algoritmos de Grafos Noviembre de 2015 14 / 19
  • 24. Intro Representaci´on de Grafos Recorridos Camino y Circuito de Euler Bibliograf´ıa Recorrido por Niveles Recorrido por Niveles Actividades ¿C´omo quedar´ıa el ´arbol de cubrimiento generado por el recorrido de la diapositiva anterior? ¿Te anim´as a aplicar el algoritmo de recorrido por ni- veles al grafo dirigido de la Figura 5 de los apuntes de clase? En http://visualgo.net/dfsbfs.html se puede ver c´omo evolucionan los recorridos en profundidad y por niveles, tanto para GD como para GND. ¡A experimentar! Mart´ın P´erez (FCAD – UNER) Algoritmos de Grafos Noviembre de 2015 15 / 19
  • 25. Intro Representaci´on de Grafos Recorridos Camino y Circuito de Euler Bibliograf´ıa Camino y Circuito de Euler Un camino de Euler en un GND es un camino donde cada arco aparece exactamente una vez . Si el nodo inicial y el final son el mismo nodo, entonces el camino es un circuito de Euler. Euler enunci´o dos Teoremas: Teorema 1: Existencia de un Camino de Euler. Teorema 2: Existencia de Circuitos de Euler. Mart´ın P´erez (FCAD – UNER) Algoritmos de Grafos Noviembre de 2015 16 / 19
  • 26. Intro Representaci´on de Grafos Recorridos Camino y Circuito de Euler Bibliograf´ıa Camino y Circuito de Euler Los puentes de K¨onigsberg y su grafo asociado ¿Existe en este caso camino y/o circuito de Euler? Mart´ın P´erez (FCAD – UNER) Algoritmos de Grafos Noviembre de 2015 17 / 19
  • 27. Intro Representaci´on de Grafos Recorridos Camino y Circuito de Euler Bibliograf´ıa Algoritmo de Fleury Algoritmo de Fleury Pasos para encontrar caminos de Euler: 1 Verificar que el grafo cumpla con las hip´otesis de los teoremas de caminos o circuitos de Euler. 2 Elegir un v´ertice de grado impar. En caso de que no exista, se puede elegir cualquier v´ertice. 3 En cada paso, recorrer cualquier arco disponible, eli- giendo un puente o istmo s´olo cuando no haya alterna- tiva. 4 Al recorrer el arco, borrarlo y continuar el proceso hasta que todos lo v´ertices tengan grado cero. Mart´ın P´erez (FCAD – UNER) Algoritmos de Grafos Noviembre de 2015 18 / 19
  • 28. Intro Representaci´on de Grafos Recorridos Camino y Circuito de Euler Bibliograf´ıa Referencias Bibliogr´aficas Brassard, G. and Bratley, P. (1995). Fundamentals of Algorithmics. Pearson, 1ra. edition. Cormen, T. H., Leiserson, C. E., Rivest, R. L., and Stein, C. (2009). Introduction to Algorithms. The MIT Press, 3ra. edition. Diestel, R. (2005). Graph Theory. Springer-Verlag Heidelberg, 3ra. edition. Mart´ın P´erez (FCAD – UNER) Algoritmos de Grafos Noviembre de 2015 19 / 19