Está en la página 1de 60

PONTIFICIA UNIVERSIDAD CATÓLICA DE CHILE

ESCUELA DE INGENIERÍA

ANÁLISIS DE DOUBLE
TREE-SHORTCUTTING PARA EL
PROBLEMA DEL VENDEDOR VIAJERO

MANUEL ROGERS

Tesis para optar al grado de


Magı́ster en Ciencias de la Ingenierı́a

Profesor Supervisor:
JOSÉ VERSCHAE TANNENBAUM

Santiago de Chile, Agosto 2018


c MMXVIII, M ANUEL ROGERS
PONTIFICIA UNIVERSIDAD CATÓLICA DE CHILE
ESCUELA DE INGENIERÍA

ANÁLISIS DE DOUBLE
TREE-SHORTCUTTING PARA EL
PROBLEMA DEL VENDEDOR VIAJERO

MANUEL ROGERS

Miembros del Comité:


JOSÉ VERSCHAE TANNENBAUM
JUAN LORENZO REUTTER DE LA MAZA
PABLO PEREZ LANTERO
MARCELA ALONDRA CHAMORRO GINE

Tesis para optar al grado de


Magı́ster en Ciencias de la Ingenierı́a

Santiago de Chile, Agosto 2018


c MMXVIII, M ANUEL ROGERS
Agradecimientos a mi familia, mi
novia y todos los profesores que
hicieron posible esta tesis
AGRADECIMIENTOS

Quisiera agradecer primero que nada a mi profesor supervisor, José Verschae, el cual ha
sido un guı́a esencial en la creación de esta tesis. Su tutela y apoyo me dieron ánimos e
ideas para lograr todos los resultados que obtuvimos.

No puedo dejar de agradecer el apoyo incondicional de mi familia y a mi novia, Valeria


Lobos.

También me gustarı́a agradecer a Victor Verdugo y a Andreas Wiese. Ellos tuvieron un


impacto directo en esta tesis a través de discusiones y sugerencias que tuve con ellos.

Quiero agradecer también a la Pontificia Universidad Católica de Chile por la formación


entregada. En particular me gustarı́a agradecer al Instituto de Ingenierı́a Matemática por
todas las facilidades entregadas.

Finalmente, quisiera agradecer a la Dirección de Postgrado UC, los Proyectos FONDECYT


Nr. 11140579 y Nr. 1181527 por su apoyo y financiamiento.

IV
ÍNDICE GENERAL

AGRADECIMIENTOS IV

Índice de figuras VI

ABSTRACT VIII

RESUMEN X

Capı́tulo 1. Introducción 1
1.1. Estado del arte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

Capı́tulo 2. Preliminares 9
2.1. Alcanzar la 2-aproximación . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2. Un caso donde la métrica y el grado del árbol no bastan . . . . . . . . . . 16
2.3. Contribuciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.3.1. Cota ajustada para el plano Euclideano . . . . . . . . . . . . . . . . . 20
2.3.2. Desempeño esperado del algoritmo para puntos aleatorios en el plano . 20
2.3.3. Aproximación para Double tree-shortcutting óptimo en métrica general 21

Capı́tulo 3. Cotas de aproximación y escenarios esperados 22


3.1. Ejemplo de 2-aproximación para el plano Euclideano . . . . . . . . . . . 22
3.2. Caso esperado para puntos aleatorios . . . . . . . . . . . . . . . . . . . . 26

Capı́tulo 4. Aproximación constante para Double tree-shortcut óptimo 31

Capı́tulo 5. Análisis de desempeño del algoritmo en función de la congestión de los


arcos 37

Capı́tulo 6. Conclusiones 46

Bibliografı́a 48

V
ÍNDICE DE FIGURAS

1.1. Ejemplo del algoritmo Double Tree Shortcutting para un grafo cualquiera. . . 5

1.2. Ejemplo de factibilidad de los shortcuts dependiendo de la elección del ciclo


Euleriano para un mismo grafo. . . . . . . . . . . . . . . . . . . . . . . . 7

2.1. Ciclo Hamiltoniano obtenido a partir del criterio de la primera aparición sobre
un ciclo Euleriano de Double tree. Se contrasta con el ciclo Hamiltoniano
óptimo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.2. Descomposición de caminata de doble árbol. . . . . . . . . . . . . . . . . . 11

2.3. Descomposición de una caminata Euleriana que cruza un arco de T exactamente


2 veces. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.4. Grafo estrella. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.5. Grafo estrella duplicado. . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2.6. Grafo que mantiene la propiedad de que el camino más corto entre dos puntos
es el costo del arco que los une. . . . . . . . . . . . . . . . . . . . . . . . . 14

2.7. Tour propuesto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

2.8. Árbol binario que induce la métrica del grafo. . . . . . . . . . . . . . . . . 16

2.9. Ilustración del criterio para agregar arcos de peso 1 + ε. . . . . . . . . . . . 17

2.10. Esquema de construcción recursiva en los niveles del árbol. . . . . . . . . . 19

3.1. Construcción instancia para 3 niveles. . . . . . . . . . . . . . . . . . . . . . 23

3.2. Ejemplo de shortcutting en la instancia. Las lineas curvas punteadas son los
arcos que se eliminan del tour Euleriano y la lı́nea recta punteada es el arco que
VI
se agrega. un atajo entre cualquier otro par de nodos de estas ramas reduce los
costos en menor cantidad. . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

3.3. Construccion tour para instancia de 3 niveles. . . . . . . . . . . . . . . . . . 25

3.4. Evento en donde se pueden realizar shortcuts relevantes. . . . . . . . . . . . 28

3.5. Shortcutting de ahorro mı́nimo que puede ocurrir en el escenario dado. . . . . 29

4.1. Caso en donde el grafo resultante no es conexo para un shortcut que cruza cada
arco del árbol 2 veces. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

5.1. Árbol de ejemplo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

5.2. Primera cota de largo de las ramas del árbol. . . . . . . . . . . . . . . . . . 39

5.3. Zona vetada del camino. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

5.4. Caso en donde hay ramificaciones cercanas. Las ramas que no son
descendientes entre si pueden tener zonas restringidas entre ellas, pero no
pueden intersectarse con más de dos de estas zonas. . . . . . . . . . . . . . 42

5.5. La lı́nea recta representa la distancia entre el extremo de Pv y v. La curva que


pasa por el punto B separa el espacio en donde si existiera un nodo habrı́a
shortcutting ∈ Rα con el extremo de Pv . Los segmentos AB y BC representan
los nodos extremos en donde pueden existir nodos sin que haya un shortcut con
c(Pv )
el extremo de Pv en las circunferencias de largo κ
y κ2 c(Pv ). . . . . . . . 44

6.1. Partición del conjunto de árboles que no tienen shortcuts que reduzcan el costo
del tour de manera significativa. . . . . . . . . . . . . . . . . . . . . . . . . 47

VII
ABSTRACT

In the Traveling Salesman Problem (TSP) we are given a complete graph and a cost
function over the edges of the graph. The objective is to find the minimum cost cycle that
visits every node exactly once. This is a problem present in a myriad of fields, such as
vehicle routing, resource management and logistics among the more commonly known.
The need of finding better routing and faster solutions has lead to a constant investiga-
tion of this problem, with decades of progress and recent advances either for the original
problem or many of its variants.

A natural approach for this problem, specially considering approximation algorithms,


consists of constructing an Eulerian tour and then take shortcuts to turn it into a tour
without increasing the cost. This is the case for the classical Christofides algorithm and
the simpler Double Tree Shortcutting algorithm, the latter of which achieves a factor 2
approximation guarantee. In general, these techniques focus on the formation of an initial
Eulerian tour, dismissing the possible cost reduction via shortcutting techniques. This is
arguably to the reason that on general metrics taking shortcuts might not give any cost
reduction. However, the situation for a Euclidean metric is different, and before this work
it was an unresolved if, for the Double tree shorcutting algorithm, an optimal conversion
from a Double tree Eulerian tour to a Hamiltonian tour improves the 2 approximation ratio.
In this thesis, we close this question by means of a construction of a family of instances in
which the double Tree Shortcutting algorithm returns a tour with a cost of twice the cost
of the minimum spanning tree, even if optimal shortcuts are made, but there exists a tour
that has a cost similar to the minimum spanning tree. This special case is compared to the
expected scenario of random points, where it is possible to reduce the cost of the Double
tree in a constant factor with intelligent shortcuttings. Another result of this thesis is an
approximation algorithm to the best possible Double tree shortcut, i.e., the maximum cost
reduction possible, even for general metrics. Finally, we analyze another special case, in

VIII
which there are no relevant shortcuts. We prove that the cost of the minimum spanning
tree similar to the cost of the longest path among said tree, thus proving that the Eulerian
tour has an approximation ratio smaller than 2, even if no shortcuttings are performed.
This is a first step in the characterization of the approximation ratio of the Double Tree
Shortcutting algorithm and a parametrization of this ratio from the instances structure.

Keywords: Double tree, shortcutting, travelling salesman problem.


IX
RESUMEN

El problema del vendedor viajero consiste en, dado un grafo completo, encontrar un
ciclo de costo mı́nimo que visite todos los nodos del grafo exactamente una vez. Este
problema es difı́cil de resolver y está presente en múltiples áreas de la optimización, ya
sea como el objetivo principal o un sub-problema. Dentro de las áreas más comunes en
donde se puede encontrar este problema están la logı́stica de equipos o ruteo de vehı́culos.
La relevancia actual de buscar optimizar rutas y tours en distintos rubros ha impulsado la
investigación de este problema, por lo que se han hecho varios análisis desde hace décadas
y aún se realizan avances sobre sus diversas variantes.

El análisis de los algoritmos de aproximación que forman ciclos Eulerianos para el


problema del vendedor viajero se centra en la formación de dicho ciclo y no en la conver-
sión del ciclo Euleriano a un tour utilizando técnicas de shortcutting. En particular, estaba
la pregunta abierta para algoritmos de Double Tree Shortcutting en el caso Euclideano de
si es posible tener un factor de aproximación menor a 2. En esta tesis cerramos esa pregun-
ta mediante la construcción de una instancia en donde existe un ciclo Hamiltoniano que
tiene un peso equivalente al del árbol generador de costo mı́nimo y no existen reducciones
relevantes de costos al convertir el ciclo Euleriano del árbol generador duplicado en uno
Hamiltoniano sin importar de qué manera se haga la transformación. Esta instancia par-
ticular se contrasta con un escenario esperado de puntos aleatorios, en donde sı́ se puede
reducir el costo del ciclo en un factor constante. Otro resultado de esta tesis es una aproxi-
mación a un factor constante de la reducción máxima que se puede hacer con técnicas de
shortcutting a un ciclo Euleriano que viene de un árbol generador duplicado. Finalmente,
se aborda un caso particular, el cual es cualquier instancia en donde no existan shortcuts
que tengan una reducción local de los costos importante. En este caso, se puede concluir
que el peso del árbol generador mı́nimo es cercano al peso del camino más largo de dicho
árbol, lo cual implica que el árbol generador duplicado tiene un factor de aproximación

X
menor a 2 sin necesidad de realizar ningún atajo. Esto es un primer avance en caracteri-
zar el factor de aproximación del algoritmo Double Tree Shortcutting y parametrizarlo en
función de la estructura de las instancias.

Keywords: Double tree, shortcutting, vendedor viajero.


XI
CAPÍTULO 1. INTRODUCCIÓN

Suponga usted que planea vacaciones en la costa Este de Estados Unidos y tiene que
realizar paradas en los lugares imperdibles para los turistas que visitan por primera vez la
zona. Pero no todo es color de rosa. Usted está trabajando, por lo que no puede tomarse
todo el tiempo del mundo para vacacionar. También sabe que por motivos de costos, lo
más eficiente es comenzar y terminar sus vacaciones en el mismo lugar ¿Es usted capaz de
visitar todos los lugares que quiere en las tres semanas de vacaciones que se puede tomar?
La respuesta a esta pregunta depende de cómo usted realice su itinerario de viaje.

Este ejemplo es una de las tantas instancias del problema del vendedor viajero que se
pueden resolver. Este problema tiene diversas aplicaciones, tales como planificación de
giras o road trips, toma y entrega de productos a domicilio, inspección de sucursales para
una compañı́a, el mapeo del genoma humano, direccionar telescopios de manera apropia-
da, el diseño de chips de escaneo utilizados para la revisión de microprocesadores y mu-
chas otras aplicaciones (W. J. Cook, 2011). El problema ha sido uno de los más estudiados
en el área de la optimización discreta y los avances que se hagan en el entendimiento del
problema tienen consecuencias en múltiples disciplinas.

Ofrecer buenas soluciones de manera rápida presenta un desafı́o en la actualidad. Exis-


ten problemáticas en donde no se tiene mucho tiempo para tomar una decisión y se quiere
brindar una ruta que sea lo suficientemente buena y que sea fácil de obtener. Por ejemplo,
suponga usted que quiere repartir desde una fábrica productos a supermercados y también
a pequeños almacenes. Los almacenes tienen flujos de inventario muy variables, por lo
que no saben cuándo un almacén solicitará abastecimiento, pero establecer un plazo muy
grande para realizar solicitudes puede resultar en que los almacenes tengan quiebres de
stock y no se venda más el producto en ese tiempo, lo cual es perjudicial para la fábri-
ca. Un subproblema es determinar la mejor ruta para cada camión una vez se define qué
solicitudes responderá cada camión de la flota.

En este problema, se cuenta con poco tiempo para obtener una solución desde que se
define la instancia del problema. La solución debe cumplir principalmente con que sea
factible y con que sea fácil de obtener. Bajo estos requerimientos, se busca también que
sea una solución con el menor costo posible. En este contexto es que se desarrollan una
gama de algoritmos que ofrecen un trade off entre velocidad y garantı́as de la cercanı́a del
valor de la solución entregada al de la solución óptima.

1
1.1. Estado del arte

El problema del vendedor viajero métrico se define de la siguiente manera: Considere


un grafo G = (V, E) completo y métrico, es decir, todo par de nodos de V está conectado
a través de un arco de E y los arcos tienen una función de pesos no negativos c : E → R+
que cumplen la desigualdad triangular. Esto quiere decir que el camino con menor costo
entre dos puntos es el costo del arco que los une. Un tour se define como un ciclo en el
grafo que contiene todos los nodos de V exactamente una vez. A un tour también se le
llama ciclo Hamiltoniano. El problema del vendedor viajero consiste en encontrar un tour
cuyo costo sea mı́nimo.

Está demostrado que este problema es N P −difı́cil. Esto quiere decir que, a menos que
la gran conjetura de P 6= N P sea falsa, no existe un algoritmo que resuelva este problema
en tiempo polinomial en función del tamaño de la instancia. Es más, aún en el caso en que
el grafo tenga una métrica Euclideana, encontrar un tour de costo mı́nimo es N P −difı́cil
(Papadimitriou, 1977). Esto llevó a buscar enfoques distintos a la idea de solucionar el
problema del vendedor viajero de manera óptima y se empezó a intentar resolverlo de
manera aproximada.

Bajo este paradigma surgen distintos algoritmos de aproximación para el problema del
vendedor viajero. Para una instancia de un problema de minimización, se define como una
α-aproximación de un problema a una solución que es factible y cuyo costo es a lo más
α veces el costo de la solución óptima. De la misma manera, se dice que un algoritmo es
una α-aproximación de un problema de minimización si para toda instancia del problema
el algoritmo entrega una α-aproximación de la solución óptima. Existen problemas que
son difı́ciles de resolver de manera óptima, pero se pueden encontrar aproximaciones del
óptimo en un tiempo polinomial al tamaño de la instancia. El problema del vendedor
viajero métrico está dentro de este conjunto de problemas.

Además de estos algoritmos de aproximación, existen esquemas de aproximación. Se


define como un polinomial time approximation scheme (o PTAS) a una familia de algorit-
mos que, dado un ε > 0, entrega una (1 + ε)-aproximación en un tiempo polinomial al
1
tamaño de la instancia y alguna función de 1ε (como por ejemplo 2 ε ). De la misma manera,
se define como un fully polinomial time approximation scheme (o FPTAS) a un PTAS que
corre en tiempo polinomial al tamaño de la entrada y 1ε .

2
Dentro de los algoritmos de aproximación existentes para el problema del vendedor
viajero se encuentran Christofides (la cual es una 32 -aproximación) (Christofides, 1976), la
relajación de Held-Karp (Held y Karp, 1970) y para métricas particulares incluso existen
PTAS tales como la métrica Euclideana (Arora, 1996), la métrica planar (Grigni, Koutsou-
pias, y Papadimitriou, 1995) (donde la métrica está inducida por un grafo planar) y métri-
cas de género (genus) pequeño (Demaine, Hajiaghayi, y Mohar, 2010). También está el
clásico algoritmo de Double Tree Shortcutting, el cual es una 2-aproximación y en el cual
nos enfocaremos en analizar durante el resto de este trabajo.

Para hablar de los algoritmos en métricas generales, primero debemos hacer unas de-
finiciones.

Definición 1. Sea G = (V, E) un grafo, con V = {v1 , . . . , vn }. Se define ω una caminata


de G como una secuencia de nodos de manera que todo nodo esté conectado en G a través
de un arco con el nodo siguiente de la secuencia. Es decir, ω se puede escribir como una
secuencia (vI(1) , vI(2) , . . . , vI(|ω|) ) donde I : {1, . . . , |ω|} → {1, . . . , n} es una función
donde I(k) indica cuál es el nodo de V que ocupa la k-ésima posición en la lista ω y todo
arco e = (vI(i) , vI(i+1) ) pertenece a E para todo i ∈ {1, . . . , |ω| − 1}.

Definición 2. Una caminata ω = (vI(1) , vI(2) , . . . , vI(|ω|) ) es un ciclo si vI(1) = vI(|ω|) . Un


 |ω|−1
ciclo es Euleriano para G si existe una biyección entre las tuplas de nodos (vI(i) , vI(i+1) ) i=1
 |ω|
y E. Decimos que ω visita a todos los nodos de G si V ⊆ vI(i) i=1 .

Definición 3. Se dice que ω es ciclo Hamiltoniano o un tour para G si es un ciclo que


visita todos los nodos de G y |ω| = |V | + 1.

El algoritmo de Christofides consiste en encontrar el árbol generador de costo mı́nimo,


en inglés llamado minimum spanning tree (el cual se referirá como MST por sus siglas en
inglés) y luego realizar un emparejamiento de costo mı́nimo sobre los nodos de grado
impar en el MST. El grafo resultante contiene un ciclo Euleriano, pues el grado de todos
los nodos del grafo tiene grado par. Euler demostró que un grafo conexo contiene un ciclo
Euleriano si y solo si todos sus nodos tienen grado par (Euler, 1736). A partir de este ciclo
Euleriano, se puede obtener un ciclo Hamiltoniano sin aumentar el costo mediante técnicas
para obtener shortcuts, un concepto que definiremos luego. Dado que ese emparejamiento
tiene un costo menor o igual a la mitad del costo del tour óptimo y que el MST tiene un
costo menor al del tour óptimo, se tiene que la cota de aproximación es de 23 (Christofides,
1976).
3
Si bien esta es la mejor cota obtenida hasta ahora para el problema en métricas ge-
nerales, tiene el problema que aún siendo un algoritmo polinomial, este algoritmo resulta
costoso computacionalmente. Si uno implementa el algoritmo blossom de Edmonds pa-
ra el problema de emparejamiento de peso mı́nimo se tiene un tiempo de ejecución de
O(n2 m) (W. Cook y Rohe, 1999), donde n es la cantidad de nodos y m es la cantidad de
arcos de la instancia. En nuestro caso el grafo es completo, por lo que hay n(n−1)
2
arcos,
4
lo que hace que una implementación directa tome tiempo O(n ). El algoritmo con me-
jor desempeño para este problema es el de Gabow, el cual tiene un tiempo de ejecución
de O(n(m + n log n). Para nuestras instancias sigue siendo un algoritmo con tiempo de
ejecución O(n3 ) (Gabow, 1990).

Este algoritmo también ha sido revisado y mejorado para ciertas métricas (por ejem-
plo, las métricas gráficas) por un factor constante por Grahan, Saberi y Singh a través del
posteriormente llamado Best of many Christofides (Gharan, Saberi, y Singh, 2011). Tam-
bién se conjetura de que para este algoritmo, existe ε0 > 0 constante tal que el factor de
aproximación es menor a 32 − ε0 en cualquier métrica, pero no se ha demostrado (Gharan
y cols., 2011).

Para métricas generales Christofides sigue siendo la mejor aproximación existente.


Está demostrado que no puede existir un algoritmo de aproximación con un factor mejor
que 220
219
a menos que P = N P (Papadimitriou y Vempala, 2000). Este gap de aproxima-
bilidad para métricas generales no se ha mejorado en los últimos 40 años a pesar de los
extensos análisis y estudios acerca de este problema. Por otro lado, las cotas de aproxima-
ción se han mejorado en métricas especı́ficas y también se ha avanzado en la mejora del
rendimiento de los algoritmos existentes para resolver de manera más rápida instancias
que disponen de poco tiempo para ser resueltas. Es en este contexto donde nos enfocamos
en el algoritmo de Double Tree Shortcutting, ya que es un algoritmo sencillo y rápido que
se basa en estructuras sencillas y flexibles como lo son los árboles en grafos.

Double Tree Shortcutting es un algoritmo para obtener una 2-aproximación para el


problema de vendedor viajero métrico. Este algoritmo no tiene un autor definido y se
considera parte del folklore de los algoritmos de aproximación. Supongamos que tenemos
un grafo métrico G = (V, E). El algoritmo consiste en lo siguiente: Se encuentra un
árbol generador de costo mı́nimo de G. Nos referiremos a este M ST como T . Luego,
se duplican los arcos de dicho árbol, lo cual resulta en un grafo con múltiples arcos, al
cual nos referiremos como un grafo de Double tree o 2T . Al tener un árbol duplicado,

4
(b) Generación de 2T mediante la du-
(a) Árbol generador de costo mı́nimo. plicación de los arcos del M ST .

(d) Tour resultante de la realización de


(c) Posibles shortcuttings para 2T . los shortcuttings.

Figura 1.1. Ejemplo del algoritmo Double Tree Shortcutting para un grafo
cualquiera.

resulta evidente que todos los nodos tienen grado par, por lo que siempre existe un ciclo
Euleriano en 2T . Después de encontrar un ciclo Euleriano ω, se puede formar un tour
considerando solamente la primera aparición de cada nodo de V en ω, a excepción del
último nodo, el cual es igual al primero y cierra el ciclo. Esta nueva caminata induce
un ciclo Hamiltoniano. La Figura 1.1 ilustra como se puede transforma 2T en un ciclo
Hamiltoniano mediante una instancia de ejemplo.

A partir del hecho de que el costo del MST es menor que el del tour óptimo, y de la
desigualdad triangular, se puede ver fácilmente que cualquier ciclo Hamiltoniano formado
a partir de una caminata Euleriana de Double tree es una 2-aproximación. El algoritmo,
si bien es muy sencillo, no considera posibles reducciones en el costo del tour final que
pueden ocurrir debido a la técnica de shortcutting, lo que da espacio a perfeccionar el
algoritmo y buscar la mejor manera de formar el tour a partir de un Double tree. Para

5
poder realizar dichas reducciones, tenemos que formalizar el proceso de convertir un ciclo
Euleriano en uno Hamiltoniano a través de shortcutting.

Definición 4. Sea ω un ciclo Euleriano obtenido a partir de 2T . Se define como atajo o


shortcut válido para TSP a toda “eliminación” de vértices en la secuencia de manera que
aún se visiten todos los vértices de G al menos una vez a excepción del primer vértice, que
se visita nuevamente al final de la secuencia. Más formalmente, decimos que la caminata
ω 0 = (vI 0 (1) , . . . , vI 0 (|ω0 |) ), |ω 0 | < |ω|, es el resultado de shortcuts en ω si es que existe una
función f : {1, . . . , |ω 0 |} → {1, . . . , |ω|} tal que:

• f es estrictamente creciente.
• vI 0 (k) = vI(f (k)) para todo k ∈ {1, . . . , |ω 0 |}.

Para efectos del problema, no nos interesan todos los shortcuts. La caminata resultante
debe ser un ciclo y también debe visitar a todos los nodos de G. Decimos que ω 0 =
(vI 0 (1) , . . . , vI 0 (|ω0 |) ) es un shortcut válido de ω si:

• ω 0 es el resultado de shortcuts a ω.
• ω 0 visita todos los nodos de G.
• vI 0 (1) = vI 0 (|ω0 |) .

Una pregunta natural es si realmente la cota de aproximación es ajustada para un algoritmo


que aproveche el potencial de los shortcuts válidos disponibles en un ciclo Euleriano. Es
más, no existe un único ciclo Euleriano para Double tree y el conjunto de shortcuts válidos
cambia para cada ciclo. Este tipo de dificultades se puede enfrentar de mejor manera al
interpretar un ciclo Euleriano con un enfoque distinto.

Para analizar el impacto global de los shortcuts válidos e incorporar al análisis el


potencial de los shortcuts de todas los ciclos Eulerianos posibles para un grafo de Double
tree, es necesario poder desglozar un shortcut en múltiples elementos más pequeños. Para
esto definiremos un nuevo concepto llamado shortcutting.

Definición 5. Sea G = (V, E) un grafo y C = (V, E 0 ), E 0 ⊆ E, un subgrafo de G que


contiene un ciclo Euleriano ω. Se define como shortcutting de C a todo arco e ∈ E de
manera que exista Pe tal que el subgrafo definido por C 0 = (V, E 0 \ Pe ∪ {e}) contiene un
ciclo Euleriano ω 0 que visita todos los nodos de V , donde Pe ⊆ E 0 es un camino entre los
nodos adyacentes a e.
6
3
v

1 2 4

5
Figura 1.2. Ejemplo de factibilidad de los shortcuts dependiendo de la
elección del ciclo Euleriano para un mismo grafo.

La Figura 1.1c muestra posibles shortcuttings para una instancia dada. Al analizar
los shortcuttings tenemos una mayor libertad a la hora de elegir cómo reducir el costo
de nuestro ciclo Euleriano. Esto pasa porque realmente no estamos viendo solo un ciclo,
sino todos los ciclos Eulerianos posibles de formar a partir de un Double tree. En el caso
anterior, ω 0 no necesariamente es un shortcut válido para ω, pero es un shortcut válido para
algún otro ciclo Euleriano ω̂ de C. La Figura 1.2 ilustra un ejemplo donde esto ocurre. En
esta instancia se pueden formar dos ciclos Eulerianos distintos que se pueden obtener
a partir del grafo original, ω1 = {1, 2, 3, 2, 4, 2, 5, 2, 1} y ω2 = {1, 2, 4, 2, 3, 2, 5, 2, 1}.
Podemos ver que el shortcutting v no se puede obtener de un shortcut válido para ω2 , pero
si a partir de ω1 .

En esta tesis analizaremos en profundidad el algoritmo Double Tree Shortcutting para


el problema del vendedor viajero. Primero, recapitularemos sobre lo que ya se sabe de
este algoritmo y su desempeño en métricas generales. Ilustraremos el resultado ya cono-
cido de que, para métricas generales, existen instancias con un factor de aproximación
asintóticamente cercano a 2 y no se puede mejorar, aún optimizando sobre los shortcut-
tings. Estos resultados dan las nociones necesarias para las secciones siguientes. Después
de esto, analizaremos el caso particular de la métrica Euclideana, en donde exhibiremos
una construcción de una familia de instancias en donde se obtiene una cota de aproxima-
ción asintóticamente cercana a 2 para el algoritmo Double Tree Shortcutting, sin importar
de qué manera se hagan los shortcuttings. Luego se contrastará este resultado con el caso
esperado para una distribución aleatoria de puntos en el plano, en donde se puede obtener
una cota mejor a 2 − ε0 en valor esperado, con ε0 > 0 constante. Después de analizar este
escenario, se mostrará una forma de aproximar el problema de encontrar el mejor Double

7
Tree Shortcutting para métricas generales. Finalmente, se hará un análisis en el caso Eu-
clideano en donde no existen shortcuts buenos. Esta caractéristica permite concluir que el
árbol tiene una estructura particular en donde gran parte de su costo está en su camino más
largo, lo cual hace que el peso del árbol sea menor al tour óptimo por un factor constante.

8
CAPÍTULO 2. PRELIMINARES

2.1. Alcanzar la 2-aproximación

En un principio, nos centraremos en el análisis de desempeño del algoritmo de Double


Tree Shortcutting donde los shortcuts son obtenidos por el criterio de primera aparición
descrito en la sección anterior. Analizar esto es equivalente a analizar el peor tour posible
de obtener a través de shortcuttings a un grafo de Double tree.

Un ejemplo en donde el algoritmo más básico es asintoticamente cercano a dos veces


el valor del óptimo es el ilustrado por Deineko y Tiskin (Deineko y Tiskin, 2009b).

1 1 1 1 1 1

 1-  1-  1-  1−  1−

Figura 2.1. Ciclo Hamiltoniano obtenido a partir del criterio de la primera


aparición sobre un ciclo Euleriano de Double tree. Se contrasta con el ciclo
Hamiltoniano óptimo.

9
Como se puede apreciar en la Figura 2.1, cada hoja en este patrón puede generar un
shortcut ineficiente que no reduce el valor de 2 veces el costo del árbol. Si repetimos n
veces el patrón de la figura y definimos  como n1 , se tiene que la razón entre los costos de
ambos ciclos Hamiltonianos es asintóticamente cercana a 2 cuando n es muy grande.

Es necesario recalcar que el shortcut realizado fue uno particularmente ineficiente de


una colección de posibles shortcuts válidos. El hecho de que pase esto es simplemente
porque no se analiza de ninguna manera reducir el costo de un ciclo Euleriano formado
a partir de un Double tree mediante shortcuts distintos. En este mismo ejemplo, se puede
realizar el tour óptimo a partir de shortcuts válidos eficientes del ciclo Euleriano de Double
tree.

Para poder aprovechar el alcance de los shortcuts de Double tree, es necesario entender
la estructura inherente de estos. Para esto necesitaremos dar algunas definiciones.

Definición 6. Sea T un árbol y e un arco de T . Se define como un e-bosque de T al


grafo resultante de remover e de T . A su vez, se define como un e-sub-árbol a cualquier
componente conexa del e-bosque de T .

Definición 7. Sea G = (V, E) un grafo, ω = (vI(1) , . . . , vI(|ω|) ) un ciclo de G, C el


|ω|−1
multiconjunto de arcos (vI(i) , vI(i+1) ) i=1 y sea ω 0 = (vI 0 (1) , . . . , vI 0 (|ω0 |) ), |ω| = |ω 0 |.


Decimos que ω 0 es equivalente a ω si existe k ∈ {0, . . . , |ω|} tal que:

• vI(i+k) = vI 0 (i) para todo i ∈ {1, . . . , |ω| − k}


• vI(i−k) = vI 0 (i) para todo i ∈ {k + 1, . . . , |ω|}

Esta definición nos permite agrupar ciclos que solo se diferencian en su punto de par-
tida. Si ambos ciclos se repitieran infinitamente en secuencias y de cada secuencia se
extrageran subconjuntos |ω| elementos consecutivos, serı́amos incapaces de determinar
con certeza a cuál de las secuencias pertenece cada subconjunto.

Definición 8. Sea ω un ciclo Euleriano de 2T y ω 0 un shortcut válido de ω = (vI(1) , . . . , vI(|ω|) ).


Para todo arco e de T , decimos que el par (vI(i) , vI(i+1) ) cruza e si el único camino simple
de T que parte en vI(i) y termina en vI(i+1) contiene a e. Análogamente, decimos que la
caminata ω cruza k veces a e si es que tiene k pares (vI(i) , vI(i+1) ) que cruzan e.

Esta definición nos permitirá obtener una cota superior sobre la potencial reducción de
costos que se puede obtener a través de los shortcuttings y shortcuts válidos.
10
2T1 2T2

2e

Figura 2.2. Descomposición de caminata de doble árbol.

Con estas definiciones, podemos realizar la siguiente proposición.

Proposición 1. Sea G = (V, E) un grafo métrico y T su árbol generador de costo mı́nimo.


Para todo ciclo ω obtenido de shortcuts válidos de un ciclo Euleriano de 2T , y todo arco e
de T , y todo T 0 e-sub-árbol de T existe un ciclo equivalente ω 0 que visita consecutivamente
todos los vértices de T 0 .

D EMOSTRACI ÓN . Supongamos que existe un e-sub-árbol T1 y una caminata Euleria-


na de Double Tree Shortcutting ω. Al definir T1 , implı́citamente se define otro e-sub-árbol
T2 y el arco e. 2T se puede descomponer en 3 partes como en la Figura 2.2.

Es intuitivo ver que ω posee un ciclo equivalente ω 0 que visita consecutivamente los
arcos de T1 . De lo contrario, el ciclo ω tendrı́a que partir en T2 , pasar por los nodos adya-
centes a e dos veces antes de que se visiten todos los nodos de T1 y terminar de visitar T1
después. Pero esto contradice el hecho de que es un ciclo Euleriano, pues ya pasó por los
únicos dos arcos que conectaban T1 con T2 .

Ahora debemos mostrar que esta propiedad se hereda para los shortcuts válidos de ω.
Supongamos que ω 0 es un shortcut válido de ω que no tiene un ciclo equivalente que visita
a T1 de manera consecutiva. Para que ocurra esto, ω 0 debe cruzar e al menos 3 veces. De
otra manera, ω 0 cruza e exactamente 2 veces. Bajo este supuesto, podemos identificar los
arcos que cruzan e (e1 y e2 ) y analizar dos casos:

• ω 0 parte en algún vértice adyacente a e1 o e2 : En este caso, podemos separar el


ciclo ω 0 en 4 componentes: Dos caminatas que parten en un nodo adyacente a e1 y
termina en un nodo adyacente a e2 , e1 y e2 . Denominaremos a estas caminatas c1
y c2 respectivamente. Ahora, sin pérdida de generalidad, podemos suponer que c1
solo contiene nodos de T1 y c2 solo contiene nodos de T2 . De lo contrario, existirı́a
11
e1

c1(T1) c2(T2)
e

e2

Figura 2.3. Descomposición de una caminata Euleriana que cruza un arco


de T exactamente 2 veces.

otro arco en ω 0 que cruza e. Luego, podemos ver que para que ω 0 sea un shortcut
válido, c1 debe visitar todos los nodos de T1 .
• ω 0 no parte en ningún vértice adyacente a e1 o e2 : En este caso, podemos asu-
mir sin pérdida de generalidad que ω 0 parte en un vértice de T1 . Luego, podemos
descomponer ω 0 en 5 caminatas: Una caminata c1 que parte en un nodo v de T1
y termina en un nodo adyacente a e1 , los nodos adyacentes a e1 , una caminata c2
que parte en e1 , visita todos los nodos de T2 y termina en un nodo adyacente a e2 ,
los nodos adyacentes a e2 y una caminata que parte en un nodo adyacente a e2 y
termina en v. Nuevamente, debido a que ω 0 solo cruza 2 veces e, ni c1 ni c3 pueden
contener arcos de T2 . Con esto, podemos obtener un ciclo equivalente ω̂ que visita
todos los nodos de T1 de manera concecutiva (basta con un ciclo equivalente que
parta en un nodo de T2 ).

Con esto se muestra que existe un ciclo equivalente ω 0 que visita los nodos de T1 de
manera consecutiva. La Figura 2.3 ilustra esta descomposición. Notemos que este mismo
procedimiento se puede utilizar para encontrar explı́citamente el ciclo ω 0 para un ciclo
Euleriano ω de 2T .

Cualquier shortcut válido de ω no puede aumentar la cantidad de veces que se cruza


entre T1 y T2 . Esto se debe a que la técnica shortcutting consiste en eliminar nodos de
la secuencia original, lo cual genera un arco nuevo pero elimina al menos un arco de la
secuencia anterior. Es decir, la cantidad de veces que una secuencia ω 0 cruza un arco e
de T es la misma cantidad de veces que cruza ω para cualquier secuencia ω 0 que sea un
shortcut válido de ω y para cualquier arco e de T . A partir de esto, podemos concluir que

12
1 1
1 1
1

... ...

Figura 2.4. Grafo estrella.

cualquier secuencia que se obtenga de una caminata de Double tree tendrá exactamente
dos arcos que crucen de T1 a T2 . 

A partir de esta proposición, se obtiene el siguiente corolario:

Corolario 1. Cualquier shortcut válido obtenido a partir de un ciclo Euleriano de Double


tree cruza todos los arcos de T exactamente 2 veces.

Con esta estructura de los Double Tree Shortcuttings, podemos crear un ejemplo en
donde no se puede obtener ninguna reducción de costos a través de shortcuts válidos. De
hecho, un contraejemplo muy sencillo consiste en lo siguiente: Sea G = (V, E) un grafo
como el que muestra la Figura 2.4.

En este grafo, los costos de los arcos están dados por la métrica de árbol definida por
la estrella. Es decir, el costo de un arco que no esté en la estrella es equivalente al costo
del camino más corto entre los puntos extremos de dicho arco a través del grafo estrella.
En esta instancia no existe un shortcutting que reduzca el costo total de la caminata. Uti-
lizaremos esto para crear un grafo tal que existan caminatas con un costo menor, pero no
pueden ser formadas a partir de un ciclo Euleriano de Double tree.

Definiremos G0 = (V 0 , E 0 ) como un duplicado de G. Ahora uniremos estos grafos y


añadiremos un nodo y dos arcos nuevos de costos unitarios para unir los núcleos de ambas
estrellas. Definimos G2 = (V ∪ V 0 ∪ {v} , E ∪ E 0 ∪ {e1 , e2 }) como se muestra en la
Figura 2.5.

Los costos de los arcos están dados por el costo del camino más corto para arcos que no
cruzan entre estrellas (no crucen e1 ni e2 ). Ahora añadiremos nuevos arcos para completar
el nuevo grafo. Sea ε > 0 un parámetro que elegiremos luego. Los costos de los arcos que
13
e1

e2

Figura 2.5. Grafo estrella duplicado.


1+

1+

1+

1+

1+



+
+

1
1

Figura 2.6. Grafo que mantiene la propiedad de que el camino más corto
entre dos puntos es el costo del arco que los une.

cruzan entre estrellas serán de 1 + ε. La Figura 2.6 ilustra la adición de estos arcos en el
nuevo grafo.

En este caso, el M ST es la unión de las dos estrellas. Tenemos que 2T es el Double


tree y tiene un costo c(2T ). Realizar shortcuttings entre dos nodos de una misma estrella

14
1+

1+

1+

1+

1+



+

+
1

1
Figura 2.7. Tour propuesto.

resulta en un grafo con el mismo costo c(2T ). Como el algoritmo de Double Tree Short-
cutting no permite a los shortcuts válidos cruzar entre e-sub-árboles más de 2 veces para
un e de T adyacente al nodo auxiliar, no se pueden hacer más de dos shortcuttings que
crucen de una estrella a otra (es decir, que crucen e1 y e2 ). La reducción de costos en el
caso de que haya un shortcutting que sı́ cruce es de 3 − ε. Si cada estrella tiene n arcos, se
tiene que el costo del tour resultante de cualquier shortcut válido es de 4n − 1 + ε. Si, por
otro lado, tomamos un tour como el propuesto en la Figura 2.7, se tiene que el costo de
dicho tour serı́a de 2n + nε + 4. Si definimos ε = n1 , a medida que crece n la aproximación
se acerca asintóticamente a 2.

Si bien este ejemplo es ilustrativo, todavı́a no resuelve la siguiente pregunta: ¿El factor
de aproximación del algoritmo Double Tree Shortcutting es dependiente del grado máximo
del grafo al cual se le aplica? Esta pregunta es relevante porque en ciertas métricas, como
la Euclideana, el grado máximo del árbol generador de costo mı́nimo está acotado. Bajo
estas métricas, se podrı́a entonces tener un mejor factor si esta afirmación es verdadera.
Lamentablemente, el factor de aproximación no depende del grado del árbol, y daremos un
ejemplo de grafo de grado acotado en donde la aproximación es asintóticamente cercana
a 2.

15
Figura 2.8. Árbol binario que induce la métrica del grafo.

2.2. Un caso donde la métrica y el grado del árbol no bastan

En este ejemplo se utilizarán técnicas similares al contraejemplo anterior, solo que


aplicadas a un árbol binario. Este ejemplo se ilustra en el paper de Deineko y Tiskin (Deineko
y Tiskin, 2009b).

Sea T un árbol binario como el que muestra la Figura 2.8 donde cada arco tiene un
costo unitario y sea G = (V, E) un grafo completo inducido por T en donde el costo del
arco que une cada par de nodos está dado por el costo del camino que une dichos nodos
en T .

Nuevamente, formaremos un nuevo grafo G0 = (V 0 , E 0 ), el cual será la unión de G,


una copia de G (denominados G1 y G2 ) y un nuevo nodo que conecte con las raı́ces de
ambas copias de G a través de arcos de costos unitarios. Finalmente, se agregarán a G0
arcos que conectan ambas copias de G con peso 1 + ε.

Hay que tener cuidado con el cómo agregar estos arcos, ya que lo que se pretende es
lograr tres cosas simultáneamente: Que el algoritmo de Double Tree Shortcutting no pueda
reducir el costo de la caminata Euleriana ω de 2T a través de shortcuts válidos, que exista
un tour factible con un costo similar al costo de T y que el grafo resultante aún conserve
la propiedad de que el camino más corto entre dos puntos tiene un costo igual al costo del
arco que los une. Conectar todos los nodos de G1 con todos los nodos de G2 con arcos de
peso 1 + ε destruye esta última propiedad. Siempre existirı́a un camino de costo 2 + 2ε
entre cualquier par de nodos de G1 , independientemente del costo del arco que los une.
Para lograr mantener esta propiedad del grafo, crearemos de manera recursiva sobre los
sub-árboles que se generan en cada nivel de los árboles binarios un camino que parte de la

16
X
X

Figura 2.9. Ilustración del criterio para agregar arcos de peso 1 + ε.

raı́z de una de las copias de G1 , visita todos los nodos una sola vez y termina en la raı́z de
G2 .

Primero, hay que demostrar que no se están agregando arcos que reducen la distancia
entre vértices de G1 (lo mismo para G2 ). Para esto, se hace uso de una regla sencilla.

Sea H : V (G1 ) → V (G2 ) un isomorfismo entre G1 y G2 y sea v un vértice de G1 . Se


agregará el arco (v, H(u)) de costo 1 + ε si se cumple que:

i) v y u están en el mismo nivel del árbol binario.


ii) El camino de árbol entre v y u tiene un costo menor o igual a 2.

La Figura 2.9 es un ejemplo del criterio para agregar estos arcos.

Proposición 2. Al agregar los arcos auxiliares al árbol bajo las reglas impuestas, para
todo u, v ∈ G1 se tiene que el camino más corto entre ellos es el camino en el árbol de
costo mı́nimo.

D EMOSTRACI ÓN . Se demostrará por inducción en el número de niveles de G1 .

Caso Base: 2 niveles En este caso el diámetro de cada sub-árbol es de 2, por lo que no
existe un camino más corto a causa de los arcos auxiliares dentro de un mismo sub-árbol.

Bajo la hipótesis de inducción hasta k niveles se verá el caso de k + 1 niveles. Supon-


gamos que existe un camino más corto entre los vértices u, v ∈ V (G1 ) que el camino de
árbol de costo mı́nimo. Como la hipótesis de inducción se mantiene, u y v deben perte-
necer a distintos sub-árboles de k niveles T1 y T2 . Luego, este camino tiene que ser de la
17
forma Pu,w + ew,H(s) + PH(s),H(r) + eH(r),t + Pt,v . Sin pérdida de generalidad, podemos
asumir que ew,H(s) es uno de los arcos que se agrega y conectan T1 con H(T2 ). Esto im-
plica que la distancia entre w y s a través del árbol es exactamente 2. Luego existen dos
casos de interés:

r = t: En este caso se tiene que

c(Pu,v ) = c(Pu,w ) + c(ew,H(s) ) + c(PH(s),H(r) ) + c(eH(r),t ) + c(Pt,v )


T T T
≥ c(Pu,w ) + (1 + ε) + c(PH(s),H(r) ) + (1 + ε) + c(Pt,v )
T T T
≥ c(Pu,w ) + 2 + c(Ps,t ) + c(Pt,v )
T
≥ c(Pu,v ).

Lo cual contradice la existencia de un camino más corto que no esté en el árbol.


r=
6 t: Si es ası́, entonces la distancia entre ellos es exactamente igual a 2 y el camino
a través del árbol debe pasar por un nodo padre común, el cual denotaremos por
π(r) = π(t). Luego:

c(Pu,v ) = c(Pu,w ) + c(ew,H(s) ) + c(PH(s),H(r) ) + c(eH(r),t ) + c(Pt,v )


T T T
≥ c(Pu,w ) + 2 + c(Ps,π(r) ) + c(eπ(r),t ) + c(Pt,v )
T T T
= c(Pu,w ) + 2 + c(Ps,t ) + c(Pt,v )
T
≥ c(Pu,v ).

Lo cual nuevamente lleva a contradicción.

En cualquiera de los casos se tiene una contradicción, con lo que queda demostrado que
el grafo tiene la propiedad de que el camino más corto entre dos puntos es el arco que une
dichos puntos. 

Con esta cualidad en el grafo creado, se puede construir de manera recursiva un tour
que use únicamente arcos del árbol y arcos auxiliares. La idea es encontrar un camino que
comience en la raı́z de G1 , pase por todos los nodos de G1 y G2 una sola vez y que termine
en la raiz de G2 , para finalmente terminar el ciclo con los arcos que llevan al nodo auxiliar.
Esto se puede hacer de manera recursiva en el número de niveles que posee G1 .

Supongamos que tenemos un camino que satisfaga esto en un árbol con k niveles. Para
el árbol con k + 1 niveles se puede hacer lo siguiente:
18
ε
+
1

Figura 2.10. Esquema de construcción recursiva en los niveles del árbol.

• partir en la raı́z de G1 , denotada por r;


• tomar un arco que una la raı́z con cualquiera de los dos nodos del nivel siguiente
en el árbol, denotado v1 sin pérdida de generalidad;
• realizar el camino de k niveles en el sub-árbol con raı́z, el cual terminará en el
nodo H(v1 ) ∈ G2 ;
• usar el arco auxiliar que une H(v1 ) con el otro nodo hijo de r, denotado v2 ∈ G1 ;
• repetir el camino para k niveles en el sub-árbol con raı́z en v2 , el cual terminará en
H(v2 ) ∈ G2 ;
• tomar el arco que une H(v2 ) con H(r).

La Figura 2.10 muestra una forma de construir dicho camino.

Finalmente, dado que el tour resultante de Double Tree Shortcutting no puede cruzar
entre G1 y G2 más de una vez y para cada par de nodos en G1 la distancia del camino más
corto es el costo del arco que los une, se tiene que el costo total de cualquier tour resultante

19
será de 4n − ε0 , con ε > 0 constante. Por otro lado, el tour propuesto tiene costo a lo más
de 2n(1 + ε). Tomando ε = n1 se tiene que la razón entre ambos tours es asintóticamente
cercana a 2 para n tendiendo a infinito.

Luego de ver esta instancia, es claro que el algoritmo de Double Tree Shortcutting
no puede ser mejor que una 2-aproximación en el caso de las métricas generales. La pre-
gunta más natural es analizar si esto sigue siendo cierto para métricas con propiedades
geométricas, como la Euclideana.

2.3. Contribuciones

Han habido muchas preguntas que no han sido respondidas hasta ahora en cuanto al al-
goritmo de Double tree-shortcutting. Nuestros resultados enfrentan las preguntas abiertas
dadas a continuación.

2.3.1. Cota ajustada para el plano Euclideano

Aún no se ha demostrado que la cota de aproximación de 2 para el algoritmo mini-


mum Double tree-shortcutting es ajustada. El peor rendimiento encontrado antes fue de
aproximadamente 1,622 por Deineko y Tiskin (Deineko y Tiskin, 2009b). Sin embargo,
no se ha podido encontrar ninguna cota mejor. En esta tesis demostraremos a través de un
esquema de construcciones de instancias que aún optimizando sobre los shortcuts que se
pueden hacer, la reducción de costos que se pueden obtener es, en relación al costo del
árbol generador mı́nimo, irrelevante en el peor caso. Es decir, cualquier shortcut válido
para un ciclo Euleriano de Double tree tiene un costo asintóticamente cercano al costo del
Double tree.

2.3.2. Desempeño esperado del algoritmo para puntos aleatorios en el plano

Si bien encontramos una familia de instancias en donde no se puede reducir el costo en


el plano, eso no quiere decir que ocurra en general. En esta tesis analizamos el desempeño
del algoritmo Double tree con shortcuts inteligentes para obtener un factor de aproxima-
ción esperado menor a 2 por un factor constante para puntos aleatorios en una distribución
natural. Más precisamente, la distribución que se analizará será una distribución de Pois-
son Πn [0, 1]2 donde la tasa está dada por el volumen de la región y la cantidad de puntos
de la instancia.
20
2.3.3. Aproximación para Double tree-shortcutting óptimo en métrica general

El problema de encontrar una serie de shortcuts que maximicen la reducción de costos


en métricas generales es un problema N P -completo (Deineko y Tiskin, 2009a). Dentro
de la literatura revisada no se han encontrado aproximaciones para este problema. En esta
tésis se propondrá una 3-aproximación para este problema, lo cual abre camino a perfec-
cionar técnicas de shortcuting e incluir estas reducciones de costos en los algoritmos.

21
CAPÍTULO 3. COTAS DE APROXIMACIÓN Y ESCENARIOS ESPERADOS

3.1. Ejemplo de 2-aproximación para el plano Euclideano

A continuación vamos a crear un esquema de construcciones de instancias en el plano


Euclideano donde un Double tree no puede reducir sus costos a través de shortcuts válidos,
mientras que existe un tour que tiene un costo asintóticamente cercano al costo del árbol
generador.

El grafo tendrá un MST que consistirá en un camino recto P de largo 1 y caminos


rectos perpendiculares al camino más largo, a los cuales denominaremos “ramas” de P .
Las ramas se pueden clasificar en “niveles” por su largo: Las ramas del k-ésimo nivel
tendrán largo 2−k . El largo de los arcos extremos del camino P es de 41 y de cada arco no
extremo de P es de largo 2−(`+1) , donde ` es el número de niveles de la instancia. Para
el caso de las ramas, los arcos tendrán largos crecientes desde P hasta el último nodo
de la hoja de la siguiente manera: El arco que es adyacente a un nodo de P tiene largo
2−(`+1) . Para una rama del nivel k ∈ {1, . . . , `}, los arcos siguientes tendrán largos de
2−(`+1) , 2−` . . . , 2−(k+1) en ese orden.

La ubicación de las ramas es la siguiente: Hay una rama del primer nivel ubicado en la
mitad de P . Esta rama divide a P en dos segmentos iguales. Las ramas del segundo nivel
se ubican en los puntos medios de dichos segmentos, lo cual divide P en 4 segmentos de
igual largo y ası́ sucesivamente. Entonces, ubicaremos 2k ramas en el punto medio de cada
uno de los 2k segmentos en los que fue dividido P por las ramas de los niveles anteriores.
La Figura 3.1 ilustra de manera gráfica cómo se ve la instancia.

Podemos ver que el largo de P es de 1 y que cada nivel suma un largo total de 21 , por lo
que el largo total del árbol es de 2` +1. Se hace evidente que al agregar cualquier arco a este
árbol, el arco será uno de los más costosos en el único ciclo que se formará, por lo que este
árbol es un M ST . Mostraremos dos cosas de esta instancia: Lo primero que mostraremos
será que la reducción total del costo que se puede hacer por medio de shortcuttings al
ciclo Euleriano 2T tiene un valor del mismo orden que el largo de P , independientemente
de la cantidad de niveles que hayan. En segundo lugar, mostraremos un tour que tiene un
costo igual al árbol más una constante. En base a estas dos afirmaciones, se puede concluir
que a medida que la cantidad de niveles de la instancia se hace más grande, el factor de
aproximación de Double tree-shortcutting es más cercano a 2.

22
Figura 3.1. Construcción instancia para 3 niveles.

Proposición 3. Para la instancia descrita anteriormente, la reducción de costos a través


de Double tree-shortcutting es Θ(c(P )), donde c(P ) es el costo del camino P . Esto es
independientemente del ciclo Euleriano que se forme a partir de 2T .

D EMOSTRACI ÓN . Notemos primero que todo shortcuting que realiza una reducción
en el costo del ciclo Euleriano debe cruzar un arco e de P . Debido a la Proposición 1,
sabemos que a lo más pueden haber dos caminos que cruzan a e. Es más, los shortcuts que
tienen una reducción de costos no nula siempre se ven como en la Figura 3.2.

Siguiendo con el caso de la Figura 3.2, la reducción del costo del tour es igual a
p
a + b + c − d = a + b + c − c2 + (b − a)2 . Sin pérdida de generalidad, a ≤ b. Sabemos
que d > (b − a), por lo tanto a + b + c − d ≤ 2a + c.

Por otro lado, sabemos por como está construida la instancia, que la distancia mı́nima
entre el nodo de P donde comienza b y el nodo de P donde comienza a es de a2 . Por lo
tanto, se tiene que a + b + c − d ≤ 5c.

Sea H el conjunto de shortcuttings hechos para obtener algún shortcut válido y ch la


cantidad que se redujo el costo tour al aplicar el shortcutting h ∈ H. Sabemos que para
cualquier arco de P solo pueden realizarse dos shotcuttings, por lo que se tiene que
23
d

Figura 3.2. Ejemplo de shortcutting en la instancia. Las lineas curvas pun-


teadas son los arcos que se eliminan del tour Euleriano y la lı́nea recta
punteada es el arco que se agrega. un atajo entre cualquier otro par de no-
dos de estas ramas reduce los costos en menor cantidad.

X
ch ≤ 10c(P ). (3.1)
h∈H
Con esto, acotamos la reducción de costos por P independientemente de la cantidad de
niveles de la instancia. 

Lo único que queda es encontrar un tour con un costo asintóticamente cercano al


de T para terminar el análisis de la construcción. Usaremos el mismo caso que el de la
Figura 3.1 para ilustrar la construcción.

En la instancia de la Figura 3.3, los arcos punteados denotan arcos que tienen una
biyección f con un subconjunto de los arcos del M ST de manera tal que c(e) = c(f (e)).
Es decir, el costo de todos estos arcos juntos no es mayor al costo del M ST . Los arcos
discontinuos denotan los arcos que aumentan el costo del tour con respecto al M ST .
A excepción del arco discontinuo más costoso, podemos notar que si proyectamos los
arcos discontinuos en P , todos son disjuntos. Esto sucede porque los estos arcos pasan
24
Figura 3.3. Construccion tour para instancia de 3 niveles.

de un nodo de una rama del nivel k que es la más cercana a un nodo extremo de P al
nodo de la rama de nivel k − 1 más cercana al mismo nodo extremo de P . Debido a
la construcción de la instancia, mientras mayor sea el nivel, más cerca se estará de los
puntos extremos. Es por esto que si se toma la proyección en el camino P de los arcos
discontinuos y cada segmento se toma como un intervalo abierto, todos los segmentos son
disjuntos. El mismo argumento se puede hacer para una proyección en la rama más larga.
Con esto se tiene que, exceptuando el arco más largo, la suma de los arcos discontinuos
es menor o igual la suma de ambas proyecciones. El arco más largo es menor al largo
de P , pues conecta con dos puntos del árbol que no son los extremos del camino más
largo. Con esto, podemos concluir que la suma de los arcos discontinuos es del mismo
orden que el costo de P . Notemos que esta construcción de la instancia siempre se puede
hacer, independientemente del número de niveles de la instancia. Sea T ∗ el tour propuesto,
y denotemos Tg∗ y Tr∗ como el conjunto de los arcos punteados y discontinuos de T ∗ ,
respectivamente. Se puede decir que

c(P )
c(T ∗ ) = c(Tg∗ ) + c(Tr∗ ) ≤ c(T ) + c(P ) + + c(P ) ≤ c(T ) + 3c(P ). (3.2)
2

25
Teniendo en cuenta que c(T ) = 2` + c(P ), podemos comparar el costo del mejor tour
obtenido a través del algoritmo Double tree-shortcutting, denotado DT con nuestro tour
propuesto T ∗ y se tiene que

c(DT ) 2c(T ) − 10c(P ) `→∞



≥ −−−→ 2. (3.3)
c(T ) c(T ) + 3c(P )
Lo que acabamos de demostrar es el siguiente teorema:

Teorema 9. Existen familias de instancias donde se tiene que:


c(DT S) n→∞
−−−→ 2. (3.4)
c(OP T )
Donde DT S es cualquier shortcut válido obtenido a partir de una caminata Euleriana de
Double tree y OP T es el tour óptimo para la instancia.

Con este esquema queda claro que la cota de aproximación para el algoritmo Double
tree-shortcutting es 2 de manera asintótica, aún si se realizan shortcuttings de manera ópti-
ma y se está en una métrica Euclideana. Esto es un resultado muy contraintuitivo, puesto
que al tener geometrı́a uno esperarı́a tener shortcuttings que reduzcan el costo en un factor
constante. En nuestra instancia, existe una gran cantidad de shortcuts que tienen un valor
relativo muy alto. Es decir, el realizar el shortcutting reduce el costo del ciclo Euleriano
en una fracción del camino del árbol que une los vértices del shortcutting. La restricción
principal no es esa en este caso, sino que es el hecho de que todos los shortcuts relevantes
se solapan y al final solo se puede realizar una pequeña cantidad de estos shortcuttings,
los cuales no bastan para reducir el costo del tour de manera significativa.

3.2. Caso esperado para puntos aleatorios

Si bien se tiene que en el peor caso en un plano Euclideano el algoritmo Double Tree
Shortcutting tiene una cota de 2. ¿Qué es lo que uno deberı́a esperar en un escenario pro-
medio? Para poder plantearnos esta pregunta primero debemos aclarar qué es lo aleatorio
en este escenario.

Modelaremos una distribución aleatoria de puntos como se hizo en el paper de Cohen-


Addad (Cohen-Addad y Mathieu, 2015). Esto es una distribución de Poisson Πn (P ), don-
de P es una región del plano, que cumple con los siguientes supuestos:
26
1) El número de ocurrencias de puntos en dos o más zonas disjuntas son indepen-
dientes.
2) El número esperado de puntos en la región C es n · v(C), donde v(C) es el área
de la zona C.
3) A medida que v(C) tiende a cero, la probabilidad de que ocurran dos o más puntos
en C tiende a cero más rápido que v(C).

A partir de estos supuestos se tiene que P r[C contiene exactamente m puntos] =


e−λ λm/m!, donde λ = n · v(C) (Cohen-Addad y Mathieu, 2015). Este tipo de distribu-
ción nos permite trabajar sobre escenarios esperados y analizar si el rendimiento esperado
para Double tree-shortcutting es menor a 2 en el plano Euclideano. Se tiene el siguiente
teorema:

Teorema 10. (Cohen-Addad y Mathieu, 2015) Sea V un conjunto de n puntos distribuidos


de acuerdo a la distribución de Poisson Πn (P ) y sea Tn (V ) la variable aleatoria que
denota el costo del tour óptimo a través de los puntos de V . Existe una constante positiva
β tal que Tn (V )/√n → βv(P ) casi seguramente, donde v(P ) es el volumen de P .

De este teorema podemos concluir que basta con mostrar que la reducción de costos

debe ser Θ( n) para que sea un factor constante del tour con alta probabilidad. Sin pérdi-
da de generalidad, trabajaremos en un espacio P = [0, 1]2 , ya que el resultado se puede
escalar por el volumen de P (Beardwood, Halton, y Hammersley, 1959).

Dado esto, nos centraremos en la búsqueda de eventos en donde se puedan realizar



shortcuttings que reduzcan el costo del tour Euleriano del Double tree en Θ( n). La
ocurrencia de esos eventos tiene una probabilidad constante, por lo que el costo esperado
del algoritmo será menor a 2 por un factor constante. Definiremos el siguiente evento: Sea
A el evento de que en un cuadrilátero de 1/√n × 1/√n hayan exactamente 4 puntos descritos
como los dice la Figura 3.4. En este evento se tienen los siguientes escenarios:

Podemos ver que en este caso, al menos dos de los arcos que conectan el nodo central
con el resto son parte del M ST . Cualquiera que sea el par de nodos que están conectados
en el árbol por un camino que pasa por el nodo central, tenemos que se puede hacer un
shortcutting entre esos dos nodos. El shortcutting que representa la reducción de costos
en el tour más pequeña que se podrı́a hacer serı́a el representado por la Figura 3.5. Al
hacer ese shortcutting, si definimos r como la reducción del costo del shortcut resultante
27
4 3

√1
n

Figura 3.4. Evento en donde se pueden realizar shortcuts relevantes.

al aplicar dicho shortcutting, se tiene que


s 2  2 s 2  2
1 3 1 1 4 0,15
r= √ + √ + √ − √ + √ ≤ √ . (3.5)
13 n 13 n 13 n 13 n 13 n n

Ahora, analizaremos el caso para cada cuadrado de 1/√n × 1/√n. Pensemos en la proba-
bilidad de que uno de estos cuadrados, denotémoslo C, tenga los puntos como en el evento
A. Se tiene que

28
4

√1
n

Figura 3.5. Shortcutting de ahorro mı́nimo que puede ocurrir en el escena-


rio dado.

P (A) = P (A|C tiene exactamente 4 puntos ) · P (C tiene exactamente 4 puntos )


1
= P (A|C tiene exactamente 4 puntos ) · .
24e

Dado que se tiene una cantidad fijada de puntos para una distribución de Poisson, se
tiene que la ubicación de dichos puntos tiene una distribución uniforme, por lo que se tiene
que

29
1 4
P (A|C tiene exactamente 4 puntos ) = .
169

Por lo que se tiene que P (A) = 16941·24e . Finalmente. Podemos tener un indicador para
cada cuadrado, denominado XC , el cual indica si ocurrió el evento A en el cuadrado C.
Sea X la suma de todos los XC . Se tiene que E [X] = 1694n·24e , ya que hay n cuadrados con
probabilidades independientes. Luego, tenemos que el ahorro esperado es mayor o igual a

0,15 n
4
169 ·24e
, lo cual es un factor constante del peso del árbol. La desviación de este escenario
no ocurre con alta probabilidad debido a las cotas de Chernoff. Denotemos E(X) = µ. Se
tiene que para 0 < δ < 1 se cumple
δ2 µ
P(X ≤ (1 − δ)µ) ≤ e 2 . (3.6)

Es por esto que podemos asegurar que, para una distribución de puntos como la descrita en
este capı́tulo, el factor de aproximación del algoritmo Double Tree Shortcutting con una
estrategia de shortcutting óptima, es menor a 2 por un factor constante con alta probabili-
dad.

En este capı́tulo hemos demostrado el siguiente teorema:

Teorema 11. Existe una constante ε0 > 0 tal que el el factor de aproximación esperado
para el algoritmo Double Tree Shortcutting con una estrategia de shortcuttings óptima es
mejor que 2 − ε0 .

Notemos que no nos centramos en encontrar el mejor ajuste al factor de aproximación


en este escenario. De hecho, el esquema de shortcuttings propuesto probablemente no sea
el más eficiente. Simplemente demostramos que se puede reducir en un factor constante.

30
CAPÍTULO 4. APROXIMACIÓN CONSTANTE PARA DOUBLE TREE-SHORTCUT
ÓPTIMO
A pesar de que la cota de aproximación es asintóticamente ajustada para el algoritmo
Double Tree Shortcutting, aún incluso si la transformación del tour Euleriano a un tour
Hamiltoniano se hace de manera óptima, existen instancias en donde se puede aprovechar
el uso de shortcuttings inteligentes para reducir el costo. Llamaremos al problema Maxi-
mum Profit Double Tree Shortcutting a la maximización de la reducción de costos a partir
de shortcuttings.

A partir del Corolario 1, sabemos que cualquier tour resultante de un shortcut a partir
de un Double tree debe cruzar todos los arcos del árbol generador exactamente dos veces.
Si bien esta es una condición necesaria, no es suficiente, pues puede ocurrir que un grafo
que cumpla esta condición no sea conexo y por ende no sea un tour. Este es el caso de la
Figura 4.1, en donde dos shortcuttings que se hacen a partir de una instancia de Double
tree dejan a un nodo disconexo.

(a) Árbol generador de la ins-


tancia. (b) Grafo resultante.

Figura 4.1. Caso en donde el grafo resultante no es conexo para un shortcut


que cruza cada arco del árbol 2 veces.

A partir de este ejemplo, surge la idea de plantear dos problemas que acoten el proble-
ma de Maximum Profit Double Tree Shortcutting. El primero de ellos es una cota inferior:
Sea F el conjunto de todos los shortcuttings posibles. Es decir, el conjunto de todos los
posibles caminos entre nodos a través de arcos del árbol generador. Para f ∈ F definimos
el parámetro cf que representa la reducción de costo en el tour Euleriano al reemplazar
dicho camino con el arco que une directamente los dos puntos del camino. Sea xf la va-
riable de decisión que indica si se usa el shortcut f o no. definimos el siguiente problema
de maximización:

31
X
P1 ) máx cf · x f (4.1)
f ∈F
X
s.t. xf ≤ 1 ∀e ∈ T, (4.2)
f :e∈f

xf ∈ {0, 1} ∀f ∈ F. (4.3)

La solución óptima al problema P1 es una cota inferior del Maximum Profit Double
Tree Shortcutting. Esto es debido a que con un solo shortcutting permitido en cada arco
del árbol, no se puede perder la conectividad. Además, aplicar un shortcutting no cambia
la paridad de los nodos. Esto implica que cualquier solución factible en P1 define un
grafo que contiene un ciclo Euleriano y que es conexo. Este problema restringido es un
caso particular de Integer Multicommodity Flow en un árbol donde se tienen demandas y
capacidades de arcos unitarias (Chekuri, Mydlarz, y Shepherd, 2007).

Por otro lado, planteamos el problema relajado P2 de la siguiente manera:

X
P2 ) máx cf · x f (4.4)
f ∈F
X
s.t. xf ≤ 2 ∀e ∈ T, (4.5)
f :e∈f

xf ∈ {0, 1} ∀f ∈ F. (4.6)

Este problema es una relajación de Maximum Profit Double Tree Shortcutting. Esto
se debe a que cualquier tour resultante de un Double Tree Shortcutting debe cumplir con
la desigualdad (4.5), sin embargo, como ya vimos en la Figura 4.1, no necesariamente el
recı́proco es cierto. Esta relajación también es un caso particular de Integer Multicommo-
dity Flow en un árbol donde se tienen demandas unitarias, pero con capacidad de cada
arco igual a 2.

Ahora la pregunta es: ¿Cómo se relacionan P1 con P2 y por qué son interesantes? La
respuesta a esta pregunta es sencilla. Por un lado, el valor óptimo de P2 es a lo más 3 veces
el valor óptimo de P1 . En segundo lugar, P1 puede ser calculado de manera óptima en
tiempo polinomial. Esto significa que se puede obtener una 31 -aproximación de Maximum

32
Profit Double Tree Shortcutting. A continuación demostraremos las afirmaciones que nos
permiten concluir esto.

Proposición 4. La solución óptima de P2 tiene un costo de a lo más 3 veces el costo de la


solución óptima de P1 .

D EMOSTRACI ÓN . Supongamos que X es la solución óptima a P2 . Esta es una colec-


ción de caminos que pasa a través de árbol. Si se puede hacer un 3 coloreamiento de los
caminos, significa que se puede particionar esta colección en 3 subcolecciones de caminos,
en donde la intersección entre caminos de una misma subcolección es vacı́a. Con esto, se
tiene que la sub colección con mayor valor es al menos 31 del valor óptimo de P2 y es una
solución factible para P1 .

Para demostrar esto, haremos el siguiente esquema. Para cada nodo haremos coloreos
locales de caminos. Es decir, a partir de un nodo v del grafo, colorearemos los caminos que
pasen por v. Este escenario es equivalente a colorear una estrella. Luego, determinando un
nodo cualquiera como raı́z, uno puede procesar los coloreos locales para unirse al coloreo
de la raı́z a través de un orden depth first de búsqueda. De esta manera, cada nodo v que
tenga un camino que sea adyacente al padre de v debe tener el mismo color que en el
coloreamiento del padre de v. El coloreo global resultante no tendrá más que máxv∈V Cv ,
donde Cv es la cantidad de colores que se necesitó en v (Erlebach y Jansen, 2001).

A partir de esto, solo se requiere analizar los coloreos locales. Raghavan y Upfal de-
mostraron que se puede colorear un grafo tipo estrella con 23 L colores en tiempo polino-
mial (Raghavan y Upfal, 1994), donde L es la carga máxima de los arcos por caminos
disponibles. Dado que nuestra colección de caminos X es una solución factible para P2 ,
sabemos que L ≤ 2. Por lo tanto, se puede hacer un 3 coloreamiento en tiempo polinomial.

La forma de hacerlo es la siguiente: Se tiene un grafo estrella G = (V, E) y una


colección de caminos F . Al nodo central de la estrella le llamaremos v. Transformaremos
este grafo en un multigrafo G0 = (V 0 , E). Definimos V 0 = 2V \ {2v}, es decir, todos los
nodos están duplicados a excepción del nodo central de la estrella que se elimina. Cada
arco de E queda definido por los puntos extremos de los caminos en F . Es decir, si hay un
camino P ∈ F que une los puntos p y q, entonces el arco pq está en E 0 . Esto se hace de
manera consistente en las copias de V . Si existe un camino que termina en v, en ese caso
usaremos los nodos copiados. Si un camino parte en p y termina en v, el arco pp0 está en
E 0.
33
Ahora, notemos que colorear los arcos en G0 es equivalente a colorear los caminos
en G. Luego, transformamos un problema de coloreo de caminos en una estrella a uno
de coloreo de arcos en un multigrafo. En estas instancias, Shannon hizo una construcción
de un coloreamiento de 32 ∆ colores, donde ∆ es el grado máximo de los nodos del grafo
(Shannon, 1949). En esta construcción, el grado de un nodo en G0 es igual a la cantidad de
caminos que visitan por ese nodo y el nodo central en la estrella G, por lo que podemos
concluir que la construcción define un coloreamiento de caminos 32 L colores, donde L es
la congestión máxima de la estrella. 

Ahora solo queda demostrar que se puede resolver P1 ) en tiempo polinomial para
demostrar el factor de aproximación.

Garg, Varizani y Yannakakis demostraron que este problema con todas las ganan-
cias unitarias es resolvible en tiempo polinomial. (Garg, Vazirani, y Yannakakis, 1997).
A continuación mostraremos una adaptación de este algoritmo para incorporar pesos en
las ganancias y poder resolver el problema denominado Maximum Integer Multicommo-
dity Flow on a Tree cuando se tienen capacidades de arcos unitarias. El problema se define
de la siguiente manera:
X
M P M CF T ) máx cf x f (4.7)
f ∈F
X
s.t. df xf ≤ ue ∀e ∈ T, (4.8)
f :e∈f

xf ∈ {0, 1} ∀f ∈ F. (4.9)

Donde T es un árbol. Procederemos a explicar qué fue lo que se hizo para demostrar el
siguiente teorema cuando todas las capacidades son unitarias:

Teorema 12. Existe un algoritmo de tiempo polinomial que resuelve de manera óptima el
problema de Maximum Integer Multicommodity Flow on a Tree cuando se tienen capaci-
dades de arcos unitarias.

Esta es una adaptación directa del problema de cardinalidad de Maximum Integer Mul-
ticommodity Flow on a Tree resuelto por Garg y sus colegas (Garg y cols., 1997). Este caso
tiene la particularidad de que el profit de cada camino es igual a 1.

D EMOSTRACI ÓN . Dado que los arcos tienen capacidad unitaria, solamente un camino
puede usar un arco. Este problema para el caso de un árbol que consiste en una raı́z y hojas
34
es equivalente a buscar el matching de peso máximo entre los arcos en F . Esto es la base
para implementar un algoritmo para un árbol de altura arbitraria.

El algoritmo comienza definiendo como raı́z del árbol a un nodo arbitrario. Luego
hace dos recorridos a través de los niveles del árbol: Uno desde las hojas hasta la raı́z y
luego uno desde la raı́z hacia los niveles inferiores. Considere un árbol de altura 2 y sea
v un nodo en el nivel 1 de dicho árbol. Sea Tv el sub-árbol con raı́z v. Podemos definir
el sub-grafo inducido por Tv como Gv , y los arcos de F que están en Tv . Como se dijo
anteriormente, podemos resolver de manera local el problema en Gv simplemente con un
matching de costo máximo en Gv . Sin embargo, puede resultar ventajoso incluir arcos que
salen de Tv . Ese arco debe pasar necesariamente por el arco que conecta v con la raiz r.
Dado que los arcos tienen capacidades unitarias, solamente es posible usar un camino que
salga de Tv . Por ejemplo: Supongamos que existe un arco que une s ∈ Tv con otro nodo
q 6∈ Tv . Si s era un arco libre en el matching de Gv , entonces no hay que hacer nada. En
caso de que no esté libre, la ganancia del arco sq debe ser penalizada de alguna manera.
Para esto, calcularemos el costo del matching óptimo de Tv \ {s} para todos los s en Tv \ v.
Luego podemos obtener un penalizador para cada uno de los nodos de las ganancias con
los arcos fuera de Tv . Ahora podemos considerar al nodo v como el origen de todos estos
arcos penalizados. Haremos esto para todos los sub-árboles del nivel 1. De esta manera,
podemos olvidarnos de los hijos de los Tv y reducir el problema en un solo nivel. Esto
se hace de manera iterativa hasta llegar a la raı́z r. Luego empieza la rutina hacia abajo.
Sea v 0 un hijo de r. Al determinar cuál es el camino que pasa por el arco v 0 r, podemos
simplemente fijar ese camino y solucionar el subproblema del sub-árbol Tv0 con el camino
fijado.

Cada uno de los matchings corre en tiempo polinomial. Además, la actualización de


los costos también demora un tiempo polinomial. Lo único que queda por demostrar es la
correctitud del algoritmo.

Supongamos que la solución entregada no es óptima. Esto quiere decir que en alguno
de los niveles debe haber un camino que no pertenece a la solución óptima. Supongamos
que el vértice de mayor nivel el cual es visitado por uno de los caminos de la solución
óptima que no pertenecen a los arcos del algoritmo está en el nivel k y denominemos al
vértice que toca como vk . El algoritmo no eligió este camino, lo cual significa que este arco
no pertenece al matching de costo máximo entre los hijos de Tvk o existe un camino que
sale de Tvk que hace que es este arco no sea el mejor. Si estamos en el primer caso, dado

35
que no hay diferencias entre los arcos del algoritmo y el óptimo, hay una contradicción en
la optimalidad, dado que el algoritmo entrega una mejora local que no afecta al resto de la
solución. En el caso de que exista un arco de la solución del algoritmo que salga de Tvk ,
se puede hacer una demostración análoga.

Sea r el nodo de nivel mayor que toca el arco que sale de Tvk . Se tiene que para el
paso en donde se vea el nodo Tr se obtendrá un matching de costo máximo. Nuevamente,
el algoritmo descartó el arco del óptimo y no hay más diferencias entre las soluciones en
los niveles superiores. 

Con estos dos resultados, podemos confirmar que existe una 31 -aproximación para el
problema de Maximum Profit Double Tree Shortcutting.

36
CAPÍTULO 5. ANÁLISIS DE DESEMPEÑO DEL ALGORITMO EN FUNCIÓN DE
LA CONGESTIÓN DE LOS ARCOS
Se han encontrado instancias en donde no se pueden realizar reducciones de costos que
sean un factor constante del costo total del árbol de costo mı́nimo. Una cosa es transver-
sal a todos los ejemplos donde pasa esto: Existen múltiples shortcuttings que en conjunto
podrı́an tener una reducción de costos significativa, pero no se pueden realizar todos al
mismo tiempo debido a la estructura de un Double tree shortcut. Esto nos lleva a un con-
cepto importante en la estructura de los ciclos de Double tree, al cual denominaremos
congestión.

Definición 13. Supongamos que se tiene un conjunto F ⊆ E. La F -congestión del árbol


T se define como el máximo sobre los arcos e ∈ T de la cantidad de cruces de F sobre e.

Notemos que se toma solo un subconjunto de los shortcuttings disponibles. Esto es


porque existen shortcuttings que no reducen el costo del grafo resultante. De alguna ma-
nera se tiene una clasificación de los shortcuttings disponibles en 2 tipos de shortcuttings:
Los que son relevantes y los que no. Formalizaremos esta idea en base a reducciones lo-
cales de costos.

Sea G = (V, E) un grafo Euclideano. Sea T el M ST de G y sea PT (u, v) ⊆ G el


camino que conecta los nodos u y v ∈ V . Definimos el siguiente conjunto de arcos Rα
para α ∈ (0, 1):
Rα := {(u, v) ∈ V : c(u, v) ≤ αc(PT (u, v))} .

A partir de las obsevaciones anteriores, se puede conjeturar lo siguiente:

Conjetura 1. Sea K ∈ N una constante y α ∈ (0, 1). Para toda instancia en donde se
tiene que la Rα congestión de T es menor a K, se tiene que existe una constante ε(α, K) >
0 que cumple que el desempeño del algoritmo Double Tree Shortcutting con estrategia de
shortcutting óptima tiene un factor de aproximación menor a 2 − ε(α, K).

Para apoyar esta conjetura se analizará un caso particular en donde Rα = ∅ para algún
α lo suficientemente cercano a 1.

Para realizar un análisis del desempeño del Double Tree Shortcutting en este tipo de
instancias, no nos basaremos en la reducción de costos via shortcuttings, pues ya sabemos
que no reducen de manera significativa el costo del ciclo Euleriano original. Es necesario
37
analizar el peso del árbol y compararlo de alguna manera con alguna cota inferior del tour
óptimo. Un ejemplo simple es el de un camino recto en el plano Euclideano. El costo del
tour es exactamente el doble del costo del árbol generador, por lo que el algoritmo Double
tree otorga el tour óptimo. Sin embargo, el análisis de los shortcuts no ayuda para concluir
esto, puesto que no se puede reducir el costo a partir de ese Double tree.

Demostraremos lo siguiente:

Lema 1. Si Rα = ∅ para algún α suficientemente cercano a 1, se tiene que:

c(T ) ≤ (1 − δ)c(OP T ). (5.1)

Donde C(T ) es el costo del árbol óptimo, C(OP T ) el costo del tour óptimo para TSP y
δ ∈ o(1)

El esquema de la demostración es el siguiente: Mostraremos que el peso total del árbol


está concentrado en el peso del camino más largo. A partir de ese análisis, separararemos
el árbol en el camino más largo P y un grafo F . Al saber que Rα = ∅, tenemos que c(P ) ≤
diam(V )
α
, donde diam(G) es la distancia mayor entre cualquier par de nodos del grafo G
(el diámetro de G). Esto ocurre porque diam(V ) = d(u, v) para nodos u, v cualesquiera
y los nodos extremos de P son p y q, entonces se tiene que
d(p, q) d(u, v) diam(G)
diam(V ) = d(u, v) ≤ dT (u, v) ≤ c(P ) ≤ ≤ = . (5.2)
α α α
Por otro lado, se sabe que una cota inferior para el tour óptimo de TSP es 2diam(G), por
lo tanto, podemos descomponer el costo de 2T en lo siguiente:
c(OP T )
c(2T ) = 2c(P ) + 2c(F ) ≤ + + 2c(F ). (5.3)
α
2α−1
si c(F ) ≤ c(T )ε para algún ε < 2
, se concluye que
1
c(2T ) ≤ c(OP T )( + 2ε) < 2c(OP T ). (5.4)
α

La demostración utiliza un paso inductivo para árboles en general, pero para tener una
demostración clara se demostrará primero para árboles con una subestructura especı́fica y
luego se generalzará para todo tipo de árboles con un Rα = ∅.

Pensemos en un árbol T que consiste en un camino recto P , el cual es el camino más


largo de T y ramas rectas perpendiculares a este camino. La Figura 5.1 ilustra la situación.
38
Figura 5.1. Árbol de ejemplo.

Figura 5.2. Primera cota de largo de las ramas del árbol.

Sin pérdida de generalidad, diremos que el largo de P es 1. Pensemos en solo una rama
de T de√largo β. Por el simple hecho de que Rα = ∅, el largo de esta rama está acotado
2

2α2 −1
por α −1−α 2 para α > 22 . De no ser ası́, existirı́a un shortcut entre uno de los extremos
de P y la rama que deberı́a pertenecer a Rα .

Ahora, la rama con largo β define zonas en donde no pueden existir nodos en el ca-
mino, lo cual implica que no pueden existir sub-árboles en dicha zona del camino. Esto
viene del hecho de que si hubieran nodos en dicha zona, un atajo desde la hoja a tal no-
do tendrı́a un factor de ahorro de α. Esta zona queda demarcada por las soluciones de la
siguiente ecuación cuadrática:

p
(β + x)α = β 2 + x2 ,
α2 (β 2 + 2βx + x2 ) = β 2 + x2 ,

α2 β ± β 2α2 − 1
⇒x= .
1 − α2
2
√ √
2α −1 2 α2 β−β 2α2 −1
Con esto, se pueden definir los extremos ` = α β−β
1−α2
yr = 1−α2
. Gráfica-
mente, la zona en donde no pueden haber nodos se ve ası́:

39
u

v
` r

Figura 5.3. Zona vetada del camino.

Ahora, se tienen dos zonas de interés: las zonas restringidas de P , en donde no pueden
existir nodos, y la zona ’cercana’ a la rama β en donde pueden existir mas ramas. Por
la existencia de β, en esta zona podemos acotar el largo de las nuevas ramas que pueden
existir. Supongamos que existe una rama dentro de esta zona con un largo β 0 > β (1−α)1+α
. si
eso sucede, se debe tener que

p
(β + β 0 + γ)α < (β − β 0 )2 + γ 2 .

Pero, también se tiene que

2
β + β0 > β ,
1+α

β − β0 < β ,
1+α
2
(β + γ)α < (β + β 0 + γ)α,
1+α
4α2 4α2
β2 + βγ + α2 γ 2 < (β + β 0 + γ)2 α2 .
(1 + α)2 (1 + α)

Por otro lado

4α2
(β − β 0 )2 + γ 2 < β 2 + γ 2.
(1 + α)2

40

2
Usando el hecho de que para un α mayor a 2
, se tiene que γ < β, podemos concluir
que

2 4α2
(β + γ)2 α2 ≤ β 2 + γ 2.
1+α (1 + α)2

básicamente del hecho que 4α2 ≥ 2 > (1 − α2 )(1 + α). Esto contradice la hipótesis
de que no hay un shortcutting ∈ Rα entre β y β 0 . Con esto podemos concluir que todo β 0
1−α
que está en la zona permitida cercana a β debe tener un largo de a lo más β 1+α .

En base a lo anterior, podemos establecer una jerarquı́a sobre las ramas. Llamaremos
descendientes de β a las ramas que están en la zona cercana a β y denotaremos el conjunto
de los descendientes de β como Ω(β) . También llamaremos hijos de β a las ramas que
están en la zona cercana de β, pero que no están en la zona cercana de ninguna otra rama
β 0 . Denotaremos a este conjunto ω(β). Luego, postulamos lo siguiente:

Lema 2. Para α suficientemente grande, si Rα = ∅, para el escenario de un árbol formado


por un camino recto y ramas perpendiculares, se tiene que existe ρ < 1 tal que

X
βv ≤ ρβ. (5.5)
v∈Ω(β)

D EMOSTRACI ÓN . Se demostrará por inducción en los niveles de descendencia. Su-


pongamos que se cumple la propiedad para los descendientes de β. Luego, se tiene que

X X
βv ≤ βv (1 + ρ).
v∈Ω(β) v∈ω(β)

Luego, basta con acotar la suma de los hijos de β. Como son hijos, las zonas que
restringen son disjuntas a pares. Además, la zona restringida es una proyección de las
ramas βv , la cual puede ser a lo más la zona permitida cercana a β. por lo tanto, se tiene
que cumplir la siguiente relación:
41
β

βv
βv βv
−r −` ` r
2`

Figura 5.4. Caso en donde hay ramificaciones cercanas. Las ramas que no
son descendientes entre si pueden tener zonas restringidas entre ellas, pero
no pueden intersectarse con más de dos de estas zonas.

√ √
2(α2 + α2 − 1) 2α2 − 2 2α2 − 1
X  
βv ≤2 β ,
1 − α2 1 − α2
v∈ω(β)

X 2α2 − 2 α2 − 1
βv ≤ β √ .
v∈ω(β)
α2 + α2 − 1
| {z }
(α)

(α)
Luego, basta con que (α)(1 + ρ) ≤ ρ lo cual se tiene con un ρ ≥ 1−(α) Lo cual tiende
a 0 a medida que α se acerca a 1. En la Figura 5.4 se puede apreciar dicha zona. 

Finalmente. En este caso, podemos reducir el problema del peso de todas las ramas a
un problema de cuanto pesan las ramas que no son descendientes de ninguna otra rama.
Denotaremos a este conjunto H y al conjunto de todas las ramas como B. Luego, el peso
del árbol se puede expresar de la siguiente manera:

X X
c(T ) = c(P ) + βv ≤ c(P ) + (1 + ρ)βv . (5.6)
v∈B v∈H

Nuevamente, el camino se puede interpretar como una proyección de las zonas restrin-
gidas de las ramas en H, las cuales son disjuntas a pares. Luego, el largo total de las ramas
en H es
42
X 2c(P )(1 − α2 )
βv ≤ √ . (5.7)
v∈H
α2 + 2α2 − 1

2(1+ρ)(1−α2 )
Finalmente, se puede concluir que para δ ≥ √
α2 + 2α2 −1
se tiene

c(T ) ≤ c(P )(1 + δ). (5.8)

La generalización del Lema 2 sigue los mismos principios, solo que ahora los árboles
tienen formas más flexibles. Sin embargo, el hecho de que para un árbol Rα = ∅ otorga
suficiente estructura como para concluir que el camino más largo es gran parte del peso
del árbol.

Teorema 14. Para α suficientemente cercano a 1, si T es un árbol cualquiera tal que


Rα = ∅ y P es el camino más largo del árbol, se tiene que

C(T ) ≤ c(P )(1 + δ). (5.9)

Para demostrar esto, lo haremos por inducción en los niveles. Sea F el conjunto de to-
das las componentes conexas que se obtienen de T \P . Cada componente conexa se puede
interpretar como un sub-árbol con raiz en un nodo de P . Denotaremos a B el conjunto de
nodos raices y a un sub-árbol con raiz v le llamaremos Tv . Se tiene que

X X
c(T ) = c(P ) + c(Tv ) ≤ c(P ) + c(Pv∗ )(1 + δ). (5.10)
v∈B v∈B

En donde Pv∗ es el camino más largo en Tv . Para lograr lo mismo que en el caso de
ejemplo, basta con demostrar que un sub-árbol proyecta sobre el camino zonas en donde
no pueden haber más nodos y que cerca de ese sub-árbol solo pueden haber sub-árboles
exponencialmente más pequeños.

Para mantener la similitud con el ejemplo anterior utilizaremos el camino más largo
de Tv que tenga como uno de sus nodos extremos a v, denotándolo Pv . Es fácil ver que
2c(Pv ) ≥ c(Pv∗ ). Luego, se tiene que
43
B

Figura 5.5. La lı́nea recta representa la distancia entre el extremo de Pv y


v. La curva que pasa por el punto B separa el espacio en donde si existiera
un nodo habrı́a shortcutting ∈ Rα con el extremo de Pv . Los segmentos
AB y BC representan los nodos extremos en donde pueden existir nodos
sin que haya un shortcut con el extremo de Pv en las circunferencias de
largo c(Pκv ) y κ2 c(Pv ).

X X
c(T ) = c(P ) + c(Tv ) ≤ c(P ) + 2c(Pv )(1 + δ). (5.11)
v∈B v∈B

Este camino Pv define un área en donde ningún nodo que no es parte de Tv puede
existir sin que exista un shortcutting en Rα ,

Sea κ ∈ N fijo. Sobre el nodo v haremos dos bolas de largo c(Pκv ) y κ2 c(Pv ). Mostrare-
mos que de los dos segmentos del camino P que se definen a partir de la intersección con
el anillo definido anteriormente, solo uno puede contener nodos.

Nos basaremos en la Figura 5.5 para este análisis. Sea α tal que ]ABC ≤ π3 . Luego:

44
r
κ6 − κ3 + 1
2
d(A, B) ≤ c(Pv ) ,
κ2
1
dT (A, B) ≥ c(Pv )(κ2 + ),
κ
2 1
κ +κ
dT (A, B) ≥ c(Pv ) .
α
q
2 κ6 −κ3 +1
κ2
si elegimos α > 1
κ2 + κ
se tiene que ese shortcutting pertenecerı́a a Rα . Por lo
tanto, Tv obliga a un trazo de largo κ2 c(Pv ) a no tener nodos.
c(Pv ) 1−α 2
Ahora, dentro de la bola de largo κ
se tiene que si κ < √
α2 + 2α2 −1
, se tiene la cota
q
2 κ6 −κ3 +1
κ2
anterior. Notemos que la desigualdad α > 1
κ2 + κ
también basta para cumplir con el
supuesto de que ]ABC ≤ π3 .

45
CAPÍTULO 6. CONCLUSIONES

Antes de este trabajo, la pregunta sobre si la ejecución inteligente del algoritmo Dou-
ble Tree en la métrica Euclidiana tiene un factor de aproximación menor a 2 por un factor
constante estaba abierta. A partir de la construcción de la instancia expuesta en la sec-
ción 3.1, se puede concluir que la cota de aproximación 2 para Double Tree Shortcutting
es ajustada, incluso en espacios Euclidianos y optimizando la formación de shortcuts.

A partir de los análisis de las estructuras de los árboles generadores es posible deter-
minar cualidades que hacen que el algoritmo funcione de mejor o peor manera. Aun no
se tiene claridad sobre qué es lo que define el rendimiento del algoritmo. Se conjetura
que tiene relación a la carga máxima o congestión de los arcos con shortcuts que sean
localmente atractivos. Sobre esto se puede conjeturar que existe alguna parametrización
del rendimiento del algoritmo que depende de la congestión del árbol. Aun con esta con-
jetura, es difı́cil definir una buena métrica como congestión del árbol. Puede ser tanto a
la congestión promedio de los arcos, al arco con mayor congestión de todo el árbol o una
mezcla de ambos.

En el estudio de los puntos aleatorios se determinó que el algoritmo tiene un rendi-


miento esperado mejor a 2 por un factor constante. Esto era una conclusión esperada,
dado el buen rendimiento que tiene el algoritmo en la práctica en estos espacios, al punto
de que no se habı́a encontrado un ejemplo donde se cumpliera la cota ajustada. El peor
rendimiento encontrado antes fue de aproximadamente 1,622 (Deineko y Tiskin, 2009b).

En esta tesis se estudiaron escenarios en donde se tienen Double tree cuyos costos no
pueden reducirse mediante técnicas de shortcutting. Esto permitió encontrar dos conjuntos
no vacı́os de instancias del problema del vendedor viajero: Aquellos en donde el árbol es
estrictamente menor al óptimo por un factor constante. A pesar de esto, no fue posible
caracterizar de manera precisa estos subconjuntos, por lo que no se puede obtener una
buena parametrización del desempeño del algoritmo Double Tree Shortcutting en función
de la estructura del árbol. La Figura 6.1 ilustra este conjunto y muestra los representantes
de cada conjunto encontrado en esta investigación.

46
Árboles sin shortcuts relevantes

Mejor que 2

Cercano a 2

Árboles sin shortcuts relevantes

Caso particular

Contraejemplo

Figura 6.1. Partición del conjunto de árboles que no tienen shortcuts que
reduzcan el costo del tour de manera significativa.

Lograr esta caracterización puede dar luces para incluso poder perfeccionar técnicas
de shortcutting en otro tipo de algoritmos que usen este principio, como por ejemplo, el
algoritmo best of many Christofides. Este es un avance en una lı́nea de investigación que
busca incorporar la realización de shortcuts inteligentes a estructuras que contienen un
tour para poder afinar aún más las cotas de aproximación de los algoritmos que apliquen
estas técnicas.

47
BIBLIOGRAFÍA

Arora, S. (1996). Polynomial time approximation schemes for euclidean tsp and other
geometric problems. En Foundations of computer science, 1996. proceedings., 37th an-
nual symposium on (pp. 2–11).

Beardwood, J., Halton, J. H., y Hammersley, J. M. (1959). The shortest path through many
points. En Mathematical proceedings of the cambridge philosophical society (Vol. 55, pp.
299–327).

Chekuri, C., Mydlarz, M., y Shepherd, F. B. (2007). Multicommodity demand flow in a


tree and packing integer programs. ACM Transactions on Algorithms (TALG), 3(3), 27.

Christofides, N. (1976). Worst-case analysis of a new heuristic for the travelling salesman
problem (Inf. Téc.). Carnegie-Mellon Univ Pittsburgh Pa Management Sciences Research
Group.

Cohen-Addad, V., y Mathieu, C. (2015). Effectiveness of local search for geometric


optimization. En Lipics-leibniz international proceedings in informatics (Vol. 34).

Cook, W., y Rohe, A. (1999). Computing minimum-weight perfect matchings. INFORMS


journal on computing, 11(2), 138–148.

Cook, W. J. (2011). In pursuit of the traveling salesman: mathematics at the limits of


computation. Princeton University Press.

Deineko, V., y Tiskin, A. (2009a). Fast minimum-weight double-tree shortcutting for


metric tsp: Is the best one good enough? Journal of Experimental Algorithmics (JEA), 14,
6.

Deineko, V., y Tiskin, A. (2009b). Min-weight double-tree shortcutting for metric tsp:
Bounding the approximation ratio. Electronic Notes in Discrete Mathematics, 32, 19–26.

Demaine, E. D., Hajiaghayi, M., y Mohar, B. (2010). Approximation algorithms via


contraction decomposition. Combinatorica, 30(5), 533–552.

48
Erlebach, T., y Jansen, K. (2001). The complexity of path coloring and call scheduling.
Theoretical Computer Science, 255(1-2), 33–50.

Euler, L. (1736). Solutio problematis ad geometriam situs pertinensis. Comm. Acad. Sci.
Imper. Petropol., 8, 128–140.

Gabow, H. N. (1990). Data structures for weighted matching and nearest common an-
cestors with linking. En Proceedings of the first annual acm-siam symposium on discrete
algorithms (pp. 434–443).

Garg, N., Vazirani, V. V., y Yannakakis, M. (1997). Primal-dual approximation algorithms


for integral flow and multicut in trees. Algorithmica, 18(1), 3–20.

Gharan, S. O., Saberi, A., y Singh, M. (2011). A randomized rounding approach to the
traveling salesman problem. En Foundations of computer science (focs), 2011 ieee 52nd
annual symposium on (pp. 550–559).

Grigni, M., Koutsoupias, E., y Papadimitriou, C. (1995). An approximation scheme for


planar graph tsp. En Foundations of computer science, 1995. proceedings., 36th annual
symposium on (pp. 640–645).

Held, M., y Karp, R. M. (1970). The traveling-salesman problem and minimum spanning
trees. Operations Research, 18(6), 1138–1162.

Papadimitriou, C. H. (1977). The euclidean travelling salesman problem is np-complete.


Theoretical computer science, 4(3), 237–244.

Papadimitriou, C. H., y Vempala, S. (2000). On the approximability of the traveling


salesman problem. En Proceedings of the thirty-second annual acm symposium on theory
of computing (pp. 126–133).

Raghavan, P., y Upfal, E. (1994). Efficient routing in all-optical networks. En Proceedings


of the twenty-sixth annual acm symposium on theory of computing (pp. 134–143).

Shannon, C. E. (1949). A theorem on coloring the lines of a network. Journal of Mathe-


matics and Physics, 28(1-4), 148–152.

49

También podría gustarte