Professional Documents
Culture Documents
19 de Noviembre de 2010
1 / 22
Contenido
1
Introduccion
Problema
Breve rese
na historica
Algoritmo de Demoucron
Idea
Definiciones previas
Algoritmo
Implementacion
Estructura de datos
Problemas relacionados
Grafo dual
Complejidad
Algo III - Sabi (Algo3 - DC)
19 de Noviembre de 2010
2 / 22
Introducci
on
Problema
19 de Noviembre de 2010
3 / 22
Introducci
on
Problema
19 de Noviembre de 2010
3 / 22
Introducci
on
Resena historica
Breve rese
na hist
orica
19 de Noviembre de 2010
4 / 22
Introducci
on
Resena historica
Breve rese
na hist
orica
19 de Noviembre de 2010
4 / 22
Introducci
on
Resena historica
Breve rese
na hist
orica
19 de Noviembre de 2010
4 / 22
Introducci
on
Resena historica
Breve rese
na hist
orica
19 de Noviembre de 2010
4 / 22
Introducci
on
Resena historica
Breve rese
na hist
orica
19 de Noviembre de 2010
4 / 22
Introducci
on
Breve rese
na hist
orica
19 de Noviembre de 2010
5 / 22
Introducci
on
Breve rese
na hist
orica
19 de Noviembre de 2010
5 / 22
Introducci
on
Breve rese
na hist
orica
19 de Noviembre de 2010
5 / 22
Algoritmo de Demoucron
Idea
Esquema basico
19 de Noviembre de 2010
6 / 22
Algoritmo de Demoucron
Idea
Esquema basico
19 de Noviembre de 2010
6 / 22
Algoritmo de Demoucron
Idea
Esquema basico
region de R.
19 de Noviembre de 2010
6 / 22
Algoritmo de Demoucron
Idea
Ejemplo
Grafo G planar.
19 de Noviembre de 2010
7 / 22
Algoritmo de Demoucron
Idea
Ejemplo
19 de Noviembre de 2010
7 / 22
Algoritmo de Demoucron
Idea
Ejemplo
19 de Noviembre de 2010
7 / 22
Algoritmo de Demoucron
Definiciones previas
Definiciones previas
19 de Noviembre de 2010
8 / 22
Algoritmo de Demoucron
Definiciones previas
Definiciones previas
Definicion (G-admisible)
Una representacion planar de un subgrafo R de G es G admisible si se
puede extender dicha representaci
on a una representacion planar de G
19 de Noviembre de 2010
8 / 22
Algoritmo de Demoucron
Definiciones previas
Ejemplo
19 de Noviembre de 2010
9 / 22
Algoritmo de Demoucron
Definiciones previas
Ejemplo
19 de Noviembre de 2010
9 / 22
Algoritmo de Demoucron
Definiciones previas
Ejemplo
19 de Noviembre de 2010
9 / 22
Algoritmo de Demoucron
Definiciones previas
19 de Noviembre de 2010
10 / 22
Algoritmo de Demoucron
Definiciones previas
Ejemplo
19 de Noviembre de 2010
11 / 22
Algoritmo de Demoucron
Definiciones previas
Ejemplo
19 de Noviembre de 2010
11 / 22
Algoritmo de Demoucron
Definiciones previas
Teorema
19 de Noviembre de 2010
12 / 22
Algoritmo de Demoucron
Definiciones previas
Teorema
19 de Noviembre de 2010
12 / 22
Algoritmo de Demoucron
Definiciones previas
Resumen de definiciones
Grafo planar
Representacion planar
Parte p de G relativa a R
G -admisible
Nodo de contacto
Dibujable
Potencialmente dibujable
19 de Noviembre de 2010
13 / 22
Algoritmo de Demoucron
Algoritmo
Pseudocodigo
Buscar un ciclo G0 y construiur una representacion planar de G0
i 0
while E (G ) \ E (Gi ) 6= do
for all parte p de R relativa a Gi do
Calcular F(p, Gi )
if F(p, Gi ) = then return False
end for
if p : F(p, Gi ) = {f } then
Elegir f como el u
nico F(p, Gi )
else
Elegir cualquier p y un f F(p, Gi ) para el p elegido
end if
Buscar una ruta Pi que conecte dos nodos de contacto de p
Gi+1 Gi Pi
19 de Noviembre de 2010
14 / 22
Algoritmo de Demoucron
Algoritmo
Algoritmo en accion
19 de Noviembre de 2010
15 / 22
Algoritmo de Demoucron
Algoritmo
Algoritmo en accion
G0 = 1-2-3-7-9-4-1
19 de Noviembre de 2010
15 / 22
Algoritmo de Demoucron
Algoritmo
Algoritmo en accion
G0 = 1-2-3-7-9-4-1
Marcamos las 3 partes p, y calculamos su
F(p, G0 ).
Todas son dibujables en las dos regiones.
Tomamos una cualquiera y buscamos un
camino P0 .
19 de Noviembre de 2010
15 / 22
Algoritmo de Demoucron
Algoritmo
Algoritmo en accion
G0 = 1-2-3-7-9-4-1
G1 = G0 3-4
19 de Noviembre de 2010
15 / 22
Algoritmo de Demoucron
Algoritmo
Algoritmo en accion
G0 = 1-2-3-7-9-4-1
G1 = G0 3-4
Marcamos las 2 partes p, y calculamos su
F(p, G1 ).
Como una es dibujable en una sola region
elegimos esa parte (verde).
19 de Noviembre de 2010
15 / 22
Algoritmo de Demoucron
Algoritmo
Algoritmo en accion
G0 = 1-2-3-7-9-4-1
G1 = G0 3-4
Marcamos las 2 partes p, y calculamos su
F(p, G1 ).
Como una es dibujable en una sola region
elegimos esa parte (verde).
Consideramos los nodos de contacto y
buscamos un camino P1 que una dos nodos
de contacto.
19 de Noviembre de 2010
15 / 22
Algoritmo de Demoucron
Algoritmo
Algoritmo en accion
G0 = 1-2-3-7-9-4-1
G1 = G0 3-4
G2 = G1 1-5-6-9
19 de Noviembre de 2010
15 / 22
Algoritmo de Demoucron
Algoritmo
Algoritmo en accion
G0 = 1-2-3-7-9-4-1
G1 = G0 3-4
G2 = G1 1-5-6-9
Nuevamente marcamos las partes p, y
calculamos su F(p, G2 ).
Como hay una parte dibujable en una sola
regi
on elegimos esa parte (azul).
19 de Noviembre de 2010
15 / 22
Algoritmo de Demoucron
Algoritmo
Algoritmo en accion
G0 = 1-2-3-7-9-4-1
G1 = G0 3-4
G2 = G1 1-5-6-9
G3 = G2 7-8-4
Analogamente, ocurre lo mismo con parte en
negro.
19 de Noviembre de 2010
15 / 22
Algoritmo de Demoucron
Algoritmo
Algoritmo en accion
G0 = 1-2-3-7-9-4-1
G1 = G0 3-4
G2 = G1 1-5-6-9
G3 = G2 7-8-4
G4 = G3 4-5
La parte verde s
olo es dibujable en una
regi
on. Tomamos un camino que una dos
nodos de contacto: 4-10-5.
19 de Noviembre de 2010
15 / 22
Algoritmo de Demoucron
Algoritmo
Algoritmo en accion
G0 = 1-2-3-7-9-4-1
G1 = G0 3-4
G2 = G1 1-5-6-9
G3 = G2 7-8-4
G4 = G3 4-5
G5 = G4 4-10-5
19 de Noviembre de 2010
15 / 22
Algoritmo de Demoucron
Algoritmo
Algoritmo en accion
G0 = 1-2-3-7-9-4-1
G1 = G0 3-4
G2 = G1 1-5-6-9
G3 = G2 7-8-4
G4 = G3 4-5
G5 = G4 4-10-5
G6 = G5 10-6
19 de Noviembre de 2010
15 / 22
Algoritmo de Demoucron
Algoritmo
Algoritmo en accion
G0 = 1-2-3-7-9-4-1
G1 = G0 3-4
G2 = G1 1-5-6-9
G3 = G2 7-8-4
G4 = G3 4-5
G5 = G4 4-10-5
G6 = G5 10-6
G7 = G6 2-6
19 de Noviembre de 2010
15 / 22
Implementaci
on
Estructura de datos
Estructura de datos
19 de Noviembre de 2010
16 / 22
Implementaci
on
Estructura de datos
Estructura de datos
19 de Noviembre de 2010
16 / 22
Implementaci
on
Estructura de datos
Estructura de datos
19 de Noviembre de 2010
16 / 22
Implementaci
on
Estructura de datos
19 de Noviembre de 2010
17 / 22
Implementaci
on
Estructura de datos
19 de Noviembre de 2010
17 / 22
Implementaci
on
Estructura de datos
19 de Noviembre de 2010
18 / 22
Implementaci
on
Estructura de datos
19 de Noviembre de 2010
18 / 22
Implementaci
on
Estructura de datos
19 de Noviembre de 2010
18 / 22
Problemas relacionados
Grafo dual
Grafo dual
19 de Noviembre de 2010
19 / 22
Problemas relacionados
Grafo dual
Ejemplo - G
19 de Noviembre de 2010
20 / 22
Problemas relacionados
Grafo dual
Ejemplo - G y su dual
19 de Noviembre de 2010
21 / 22
Problemas relacionados
Complejidad
Pseudocodigo de Demoucron
Buscar un ciclo G0 y construiur una representacion planar de G0
i 0
while E (G ) \ E (Gi ) 6= do
for all parte p de R relativa a Gi do
Calcular F(p, Gi )
if F(p, Gi ) = then return False
end for
if p : F(p, Gi ) = {f } then
Elegir f como el u
nico F(p, Gi )
else
Elegir cualquier p y un f F(p, Gi ) para el p elegido
end if
Buscar una ruta Pi que conecte dos nodos de contacto de p
Gi+1 Gi Pi
19 de Noviembre de 2010
22 / 22