Approximate Shortest Path and Distance Queries in Networks
Total Page:16
File Type:pdf, Size:1020Kb
Approximate Shortest Path and Distance Queries in Networks Christian Sommer Born on 8 March 1983 in Zurich, Switzerland Citizen of Winterthur (ZH) and Sumiswald (BE), Switzerland Master of Science ETH Zurich (2006) Submitted in partial fulfilment of the requirements for the degree of Doctor of Philosophy January 2010 Department of Computer Science Graduate School of Information Science and Technology The University of Tokyo Abstract Computing shortest paths in graphs is one of the most fundamental and well-studied problems in combinatorial optimization. Numerous real-world applications have stimulated research investi- gations for more than 50 years. Finding routes in road and public transportation networks is a classical application motivating the study of the shortest path problem. Shortest paths are also sought by routing schemes for computer networks: the transmission time of messages is less when they are sent through a short sequence of routers. The problem is also relevant for social networks: one may more likely obtain a favor from a stranger by establishing contact through personal con- nections. This thesis investigates the problem of efficiently computing exact and approximate shortest paths in graphs, with the main focus being on shortest path query processing. Strategies for com- puting answers to shortest path queries may involve the use of pre-computed data structures (often called distance oracles) in order to improve the query time. Designing a shortest path query pro- cessing method raises questions such as: How can these data structures be computed efficiently? What amount of storage is necessary? How much improvement of the query time is possible? How good is the approximation quality of the query result? What are the tradeoffs between pre- computation time, storage, query time, and approximation quality? For distance oracles applicable to general graphs, the quantitative tradeoff between the storage requirement and the approximation quality is known up to constant factors. For distance oracles that take advantage of the properties of certain classes of graphs, however, the tradeoff is less well understood: for some classes of sparse graphs such as planar graphs, there are data structures that enable query algorithms to efficiently compute distance estimates of much higher precision than what the tradeoff for general graphs would predict. The first main contribution of this thesis is a proof that such data structures cannot exist for all sparse graphs. We prove a space lower bound implying that distance oracles with good precision and very low query costs require large amounts of space. A second contribution consists of space- and time-efficient data structures for a large family of complex networks. We prove that exploiting well-connected nodes yields effi- cient distance oracles for scale-free graphs. A third contribution is a practical method to compute approximate shortest paths. By means of random sampling and graph Voronoi duals, our method successfully accommodates both highly structured graphs stemming from transportation networks and less structured graphs stemming from complex networks such as social networks. iii Acknowledgements I thank my advisor and patron Shinichi Honiden for the wonderful Japanese environment he pro- vided, in which I learnt the essentials of Japanese student life and culture, for the freedom he gave me, and for his very generous financial support, which allowed me to travel to many conferences all around the world, and which also allowed me to work with high-quality equipment. I thank my co-advisor and mentor Michael E. Houle for the many fruitful and interesting discussions about algorithms and everything else, for announcing the shortest path project, for his advice, guidance, and intelligent questions, for his efforts as a collaborator, for teaching me how to improve my writing, and, honestly, for him patiently insisting on important things I did not want to hear and believe. I am very honored to have Hiroshi Imai as chair and David M. Avis, Takeo Igarashi, Kunihiko Sadakane, and Tetsuo Shibuya as members of the committee for my PhD thesis. Many thanks for investing their time in studying my work and for examining this thesis. I profited and learned enormously from my co-authors I worked with on the results of this thesis. I am indebted to Wei Chen, who first told me about the connection between path queries and compact routing, Shang-Hua Teng, for empowering and inspiring me, Elad Verbin, for his fascinating questions and his great intuition (and the invitation to Tsinghua), Yajun Wang, for insisting and working hard on the subtle differences between random graph models, Martin Wolff, for his precious help on bootstrapping my thesis and for his impressive skills as a non-native editor, and Wei Yu, for working on all the tedious and nasty calculations. I also profited from collaborating with Cyrille Artho, Hristo Djidjev, Stephan Eidenbenz, Daisuke Fukuchi, Nicolas W. Hengartner, Pierre-Lo¨ıc Garoche, Shiva Kasiviswanathan, Ken-ichi Kawarabayashi, Yusuke Kobayashi, Martin Mevissen, Johan Nystrom,¨ Yoshio Okamoto, David Roberts, Sunil Thulasidasan, and Takeaki Uno. I got precious advice from Ittai Abraham, Erik D. Demaine, Jittat Fakcharoenphol, Cyril Gavoille, Stephan Langermann, Xiang-Yang Li, Mikkel Thorup, and Uri Zwick. This thesis has improved substantially by the valuable comments of those who read parts of preliminary versions of it. I would like to thank Michael E. Houle, Cyrille Artho, Jacopo Grazzini, and Johan Nystrom¨ for their helpful suggestions and proofreading. The remaining errors and omissions are entirely the authors responsibility. I owe a big thanks to countless individuals who I was fortunate to meet and to spend time with in one way or the other — o-sewa ni nari mashita! in the Honiden laboratories: Miki Nak- agawa (and Family Nishida in Takatsuki), Kyoko Oda, Akiko Shimazu, Shuko Yamada, Ai To- bimatsu, Mizuki Inoue, Kenji Taguchi, Yasuyuki Tahara, Nobukazu Yoshioka, Fuyuki Ishikawa, Kenji Tei, Rihoko Inoue, Nik Nailah Binti Abdullah, Rey Abe, Hikari Aikawa, Yukino Baba, Valentina Baljak, Takuo Doi , Katsushige Hino, Satoshi Kataoka, Yojiro Kawamata, Kazutaka Matsuzaki, Hirotaka Moriguchi, Mohammad Reza Motallebi, Hiroyuki Nakagawa, Yoshiyuki Nakamura, Hikotoshi Nakazato, Eric Platon, Jose´ Ghislain Quenum, Yuichi Sei, Ryota Seike, Shunichiro Suenaga, Ryuichi Takahashi, Ryu Tatsumi, Susumu Toriumi, Eric Tschetter, Kayoko Yamamoto, Adrian Klein, Maxim Makatchev, Daniele Quercia, and Martin Rehak; at NII: Shigeko Tokuda, Michael Nett, Weihuan Shu, Nizar Grira, Sebastien Louis, Sebastien´ Duval, Takeshi Ozawa, Yuzuru Sawato and all the other nice and friendly guards; at Microsoft Research Asia and in Beijing: Kun Chen, Yuki Arase, Yasuyuki Matsushita, ‘Tommy’, Yuan Zhou, Jialin Zhang, Lolan Song, Peter & Ursi Zurcher¨ , Gabriel Schweizer, and Jaimie Hwang; at the Los Alamos Na- tional Laboratories and in Los Alamos: Ulrike Campbell & Glenn, Family Eidenbenz, Douglas D. Kautz, Jacopo Grazzini, Nicolas Jegou, Leticia Cuellar, Vishwanath Venkatesan, Guanhua Yan, Keren Tan, Lukas Kroc, Leonid Gurvits, Nandakishore Santhi, and Carrie Manore; on my trips v to the US and around the world: Alicia Aponte, Jittat Fakcharoenphol, Daniele Quercia, Thomas, Kati & Lars Spirig, and Andrew Yao; a special thanks to my running mates from Tokyo’s Interna- tional Running Club “Namban Rengo” for many enjoyable hours of training, racing, and travelling (and partying): thanks Guillaume Bouvet, Gary & Mami Chandler, Kazuo Chiba, Chad Clark, Ed- ward Clease, Joachim Dirks, Jon Holmes, Jay Johannesen, Chika Kanai, Gordon Kanki Knight, Daniel Kershner, Stephen Lacey, Christiane Lange, Brett Larner, Jason Lawrence, Omar Minami, Teruyuki Minegishi, Keren Miers, Satohi Numasawa, Paddy O’Connor, Rie Onodera, Bob Poul- son, Gareth Pughe, Fabrizio Raponi, Gerard Robb, David Motozo Rubenstein, Philip Ryan, Daniel Seite, Yuka Shigihara, Mika Tokairin, Martin Verdier, Jur¨ gen Wittstock, Kiyonari Yoshida, and others; from the Swiss club in Japan: Jor¨ g Aschwanden, Daniel & Monika Hagemeier, Felix Mosner¨ , Hans Prisi, Christoph Saxer, Uwe Sievers, Martin Wenk, and Hermann Werner; Japan friends (tea ceremony & BBQ) Mitsuhiko & Yuko Kusuyama, Chikako, Tomoaki, & Noriaki Sawada, Machiko & Yoshinobu Nagura, Junichi ‘Andy’ Kimura, Hitomi Sakamoto, Tomoko Sawada, Toshiro ‘Joe’ Suzuki, Akemi Okado, Masae Ono, John & Yuki Mettraux; more friends in Japan: Ryudo Tsukizaki, Koichi Matsumoto, Filiz Gencer, Jumi Klaus, Cedric S. Rutishauser, Jerry Ray, my extremely patient and lovely Japanese teacher Chieko Okamoto, Katsuro Ishimasa of Idaten, and Ken Yamagata of Iroha for making the best eel sushi in town. It was great to have friends visiting me in Japan; thanks to Samuel Burri, Adrian Doswald, Martin Halter, Roger Herzog, Julia Imhof, Tanja Isker, Moritz Isler, Hannes Schneebeli, Georg Troxler, and Stefan Wolf. Last but definitely not least, I wish to thank my wonderful family. None of this would ever have been possible without the love and the fantastic support of Hansruedi, Hermine, and Stefan. They taught me that shortest paths are not always optimal and desirable, and that “der Weg ist das Ziel”. And I wish to thank my Japanese family in Miyazaki, Kayashima, and Tottori, especially my beloved Rie, for everything. Christian Sommer, December 2009 vi Table of Contents 1 Introduction 1 1.1 Networks and Graphs . 1 1.1.1 Transportation Networks . 2 1.1.2 Complex Networks . 4 1.2 Shortest Paths . 7 1.2.1 Classical Results . 8 1.2.2 Point-to-Point Shortest Path Queries . 9 1.3 Contribution . 15 1.4 Outline . 16 2 Preliminaries 17 2.1 Graphs . 17 2.1.1 Graph Properties . 20 2.1.2 Graph Classes . 21 2.1.3 Synthetic Graph Models . 22 2.2 Graph Algorithms . 25 2.2.1 Computational Models . 26 2.2.2 Approximation Algorithms . 26 2.3 Common Techniques . 27 2.3.1 Spanners and Emulators . 27 2.3.2 Distance Labelings and Metric Embeddings . 29 2.3.3 Planar Graph Techniques . 30 2.3.4 Well-Separated Pairs . 31 2.4 Shortest Paths . 31 2.4.1 Single Source Shortest Path (SSSP) Algorithms . 32 2.4.2 All Pairs Shortest Path (APSP) Algorithms . 35 2.4.3 Many Pairs Shortest Path (MPSP) Algorithms .