Está en la página 1de 30

Introduccin:

GRAFOS

Problema: Es posible, comenzando en cualquier


punto de la ciudad de Konisberg, elegir un camino
que nos permita pasar una nica vez por cada uno
de los siete puentes sobre el ro Pregel?
Introduccin
Problema: Es posible, comenzando en cualquier
GRAFOS

punto de la ciudad de Knisberg, elegir un camino que


nos permita pasar una nica vez por cada uno de los
siete puentes sobre el ro Pregel?
C
vrtices
aristas

A
D

B
Introduccin: Grafos Eulerianos?
GRAFOS

Existe alguna forma de dibujar las figuras de un solo trazo?


GRAFOS
Introduccin:
Problemas del caballo de ajedrez:

(Mediados del Siglo XVIII)


GRAFOS
Introduccin: Grafos hamiltonianos?

Problemas: Dado un grafo G=(V,A), existir un camino


simple que pase todos los vrtices? Y un ciclo?
(La vuelta al mundo. Hamilton, 1857)
GRAFOS
Captulo 3: Caminos y recorridos

Grafos eulerianos

Grafos hamiltonianos
Introduccin:
GRAFOS

Puentes de Knisberg
El camin de la basura
Bus escolar
Dibujos de un solo trazo
Grafos eulerianos

Problemas del viajante


Problemas del salto del caballo
Grafos hamiltoniano0.
Grafos eulerianos:
GRAFOS

Problemas: Dado un grafo G=(V,A), existir un


recorrido que pase por todas las aristas una nica
vez?

Puentes de Knisberg (Euler, 1736)

12 11
1 5 10
13 6
2 4 9 7

3 8
Grafos eulerianos:
GRAFOS

Problemas 1: Dado un grafo G=(V,A), existir un recorrido


que pase por todas las aristas una unica vez?

La solucin del problema 2 ayuda


a resolver el problema 1

Problemas 2: Dado un grafo G=(V,A), existir un


recorrido que pase por todas las aristas una nica vez,
comenzando y acabando en el mismo vrtice?
Grafos eulerianos:
GRAFOS

Problema 1: Dado un grafo G=(V,A), existir un


recorrido que pase por todas las aristas una nica
vez.
Dado un grafo G=(V,A), se llama recorrido
euleriano a todo recorrido que contenga a
todas las aristas del grafo.

Problema 2: Dado un grafo G=(V,A), existir un


recorrido que pase por todas las aristas una nica
vez, comenzando y acabando en el mismo vrtice?

Dado un grafo G=(V,A), se llama


Un grafo G=(V,A) que admite un
circuito euleriano a todo circuito
circuito euleriano se llama grafo
(recorrido cerrado) que contenga
euleriano.
a todas las aristas del grafo.
Grafos eulerianos:
GRAFOS

Problema 2:
Caracterizar los grafos eulerianos
Disear un algoritmo que obtenga el circuito euleriano

Euler (1736) da una Hierholzer (100 aos despus)


condicin necesaria prueba que es suficiente

Teorema de Euler

Problema 1:
Caracterizar los grafos que admiten un recorrido euleriano
Disear un algoritmo que obtenga el recorrido euleriano
Grafos eulerianos:
GRAFOS

Teorema de Euler
G (conexo) es euleriano Todos los vrtices son pares

a3 a1
G=(V,A)
euleriano a4
a2
v

a 2k-1 a 2k

Existe circuito
euleriano
El vrtice es par
{v,....,v}
Grafos eulerianos:
GRAFOS

Ejemplo: Obtener un circuito euleriano en el grafo de adyacencias:

a b c d e f g H
b a a f a a c b
c c b g b d d c
e e g f e f e
f h h h g h g

b e f
d
h g

c
Grafos eulerianos: a
GRAFOS

Algoritmo de Euler:
P.1 Leemos el grafo G conexo con todos los vrtices pares
P.2 C = {v}, siendo v un vrtice cualquiera de G
b e f
P.3 Mientras que en G queden aristas d
P.3.1 Sea v un vrtice de C, no aislado en G h g
P.3.2 Sea D un ciclo empezando en v
P.3.4 Sustituir en C el vrtice v por el ciclo D
P.4 Retorna C
P.3.3 Eliminar de G las aristas de D c

Paso V C D
2 a {a}
3.1-3.2 a {a,b,e,a}
3.3-3.4 {a,b,e,a}
3.1-3.2 a {a,c,g,f,a}
3.3-3.4 {a,c,g,f,a,b,e,a}
3.1-3.2 c {c,b,h,c}
3.3-3.4 {a,c,b,h,c,g,f,a,b,e,a}
3.1-3.2 h {h,e,f,d,g,h}
3.3-3.4 {a,c,b,h,e,f,d,g,h,c,g,f,a,b,e,a}
4 {a,c,b,h,e,f,d,g,h,c,g,f,a,b,e,a}
Grafos eulerianos:
GRAFOS

Ejemplo: Obtener un circuito euleriano en el grafo de adyacencias:

a
Circuito euleriano:
{a,c,b,h,e,f,d,g,h,c,g,f,a,b,e,a}

b e f
d
h g

c
Grafos eulerianos:
GRAFOS

Teorema: Un grafo conexo admite un recorrido euleriano


(pero no un circuito euleriano) si, y slo si, todos sus
vrtices son pares, excepto dos de ellos.

a G

b
x

El nuevo grafo G es euleriano


Circuito euleriano: {x , a , v1, .... , vp , b , x } en G
Recorrido euleriano: {a , v1, .... , vp , b } en G
Grafos eulerianos:
GRAFOS

Teorema de Euler para digrafos: Un digrafo G(V,A) fuertemente conexo es


euleriano si, y slo si, todos sus vrtices tienen el mismo grado de entrada
que de salida:

d+(x)=d-(x)

Recorrido euleriano en digrafos: Un digrafo G(V,A) dbilmente conexo


admite un recorrido euleriano si, y slo si, todos sus vrtices tienen el
mismo grado de entrada que de salida, excepto uno de ellos en el que el
grado de salida es una unidad superior que el de entrada y otro en el que
ocurre lo contrario.

d+(u)=d-(u)+1, d-(v)=d+(v)+1
Digrafos
Grafos eulerianos:
GRAFOS a b c d
Ejemplo: Obtener un circuito euleriano
en el digrafo siguiente

e f g h

i j k m
Grafos eulerianos:
GRAFOS a b c d

e f g h

i j k m
Paso v C D

2 a {a}
3.1-3.2 a {a,b,e,a}

3.3-3.4 {a,b,e,a}
3.1-3.2 b {b,c,f,b}
3.3-3.4 {a,b,c,f,b,e,a}
3.1-3.2 c {c,g,d,c}

3.3-3.4 {a,b,c,g,d,c,f,b,e,a}
3.1-3.2 g {g,h,m,k,j,g}
3.3-3.4 {a,b,c,g,h,m,k,j,g,d,c,f,b,e,a}
3.1-3.2 j {j,f,e,i,j}

3.3-3.4 {a,b,c,g,h,m,k,j,f,e,i,j,g,d,c,f,b,e,a}
4 {a,b,c,g,h,m,k,j,f,e,i,j,g,d,c,f,b,e,a}
Grafos eulerianos:
GRAFOS

a b c d

e f g h

i j k m

Circuito euleriano:
{a,b,c,g,h,m,k,j,f,e,i,j,g,d,c,f,b,e,a}
Grafos hamiltonianos:
GRAFOS

Problema: Dado un grafo G=(V,A), existir un


camino que pase por todos los vrtices?

(La vuelta al mundo. Hamilton, 1857)


Grafos hamiltonianos:
GRAFOS

Problema 1: Dado un grafo G=(V,A), existir un


camino simple que pase por todos los vrtices?

Dado un grafo G=(V,A), se llama camino hamiltoniano


La solucin del problema 2 ayuda
a todo camino simple que contenga a todos los
a resolver el problema 1
vrtices del grafo.

Problema 2: Dado un grafo G=(V,A), existir un


ciclo que pase por todos los vrtices?

Dado un grafo G=(V,A), se llama


ciclo hamiltoniano a todo ciclo Un grafo G=(V,A) que admite
(camino simple cerrado) que un ciclo hamiltoniano se
contenga a todos los vrtices del llama grafo hamiltoniano.
grafo.
Grafos hamiltonianos:
GRAFOS

Problema 2:

Caracterizar los grafos hamiltonianos

Encontrar un ciclo hamiltoniano es un problema NP-


completo

Problema 1:

Caracterizar los grafos que admiten un camino


hamiltoniano
Grafos hamiltonianos:
GRAFOS

Condiciones necesarias de grafo hamiltoniano:

-Si un grafo G = (V,A) es hamiltoniano


entonces es conexo.

-Si un grafo G = (V,A) es hamiltoniano entonces es


conexo y no tiene vrtices de corte.

-Si un grafo G = (V,A) es hamiltoniano entonces d(G)2.

-Si un grafo G = (V,A) es hamiltoniano entonces al


eliminar un conjunto de corte de c vrtices (c>1) no
pueden obtenerse ms de c componentes conexas.
Grafos hamiltonianos:
GRAFOS

Condicin suficiente de grafo hamiltoniano:

Teorema de Dirac: Si un grafo G = (V,A) de n


vrtices (siendo n 3) verifica que d(G)n/2
entonces es hamiltoniano.
Grafos hamiltonianos:
GRAFOS

Condiciones necesarias para la existencia de


camino hamiltoniano:

-Si un grafo G = (V,A) admite un camino


hamiltoniano entonces es conexo.

-Si un grafo G = (V,A) admite un camino


hamiltoniano entonces no puede tener un
vrtice de corte cuya eliminacin de lugar a
ms de dos componentes conexas.
Grafos hamiltonianos:
GRAFOS

-Si un grafo G = (V,A) admite un camino


hamiltoniano entonces no puede haber
ms de dos vrtices con grado no
superior a 1.

-Si un grafo G = (V,A) admite un camino


hamiltoniano entonces al eliminar un
conjunto de corte de c vrtices no
pueden aparecer ms de c+1
componentes conexas.
Grafos hamiltonianos:
GRAFOS

Condiciones necesarias para la existencia de


camino
hamiltoniano:
- Si un grafo G = (V,A) admite un camino
hamiltoniano entonces no puede tener
un vrtice de corte cuya eliminacin de
lugar a ms de dos componentes
conexas.
Grafos hamiltonianos:
GRAFOS

Condicin suficiente de existencia de camino


hamiltoniano:
- Si un grafo G = (V,A) de n vrtices (n 3)
verifica que d(G)(n-1)/2 entonces admite un
camino hamiltoniano.
Introduccin: Grafos hamiltonianos?
GRAFOS

Problema: Dado un grafo G=(V,A), existir un camino simple que


pase por todos los vrtices? Y un ciclo?

(La vuelta al mundo. Hamilton, 1857)