ebook img

Algorithm Engineering: Selected Results and Surveys PDF

428 Pages·2016·10.734 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Algorithm Engineering: Selected Results and Surveys

t Lasse Kliemann r A - Peter Sanders (Eds.) e h t - f o y -e e v t ar u t SS 0 2 2 9 S C Algorithm Engineering N L Selected Results and Surveys 123 Lecture Notes in Computer Science 9220 Commenced Publication in 1973 Founding and Former Series Editors: Gerhard Goos, Juris Hartmanis, and Jan van Leeuwen Editorial Board David Hutchison Lancaster University, Lancaster, UK Takeo Kanade Carnegie Mellon University, Pittsburgh, PA, USA Josef Kittler University of Surrey, Guildford, UK Jon M. Kleinberg Cornell University, Ithaca, NY, USA Friedemann Mattern ETH Zurich, Zurich, Switzerland John C. Mitchell Stanford University, Stanford, CA, USA Moni Naor Weizmann Institute of Science, Rehovot, Israel C. Pandu Rangan Indian Institute of Technology, Madras, India Bernhard Steffen TU Dortmund University, Dortmund, Germany Demetri Terzopoulos University of California, Los Angeles, CA, USA Doug Tygar University of California, Berkeley, CA, USA Gerhard Weikum Max Planck Institute for Informatics, Saarbrücken, Germany More information about this series at http://www.springer.com/series/7407 Lasse Kliemann Peter Sanders (Eds.) (cid:129) Algorithm Engineering Selected Results and Surveys 123 Editors LasseKliemann PeterSanders Kiel University Karlsruhe Institute of Technology Kiel Karlsruhe Germany Germany ISSN 0302-9743 ISSN 1611-3349 (electronic) Lecture Notesin Computer Science ISBN 978-3-319-49486-9 ISBN978-3-319-49487-6 (eBook) DOI 10.1007/978-3-319-49487-6 LibraryofCongressControlNumber:2016957380 LNCSSublibrary:SL1–TheoreticalComputerScienceandGeneralIssues ©SpringerInternationalPublishingAG2016 Thisworkissubjecttocopyright.AllrightsarereservedbythePublisher,whetherthewholeorpartofthe material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storageandretrieval,electronicadaptation,computersoftware,orbysimilarordissimilarmethodologynow knownorhereafterdeveloped. Theuseofgeneraldescriptivenames,registerednames,trademarks,servicemarks,etc.inthispublication doesnotimply,evenintheabsenceofaspecificstatement,thatsuchnamesareexemptfromtherelevant protectivelawsandregulationsandthereforefreeforgeneraluse. Thepublisher,theauthorsandtheeditorsaresafetoassumethattheadviceandinformationinthisbookare believedtobetrueandaccurateatthedateofpublication.Neitherthepublishernortheauthorsortheeditors give a warranty, express or implied, with respect to the material contained herein or for any errors or omissionsthatmayhavebeenmade. Printedonacid-freepaper ThisSpringerimprintispublishedbySpringerNature TheregisteredcompanyisSpringerInternationalPublishingAG Theregisteredcompanyaddressis:Gewerbestrasse11,6330Cham,Switzerland Preface AlgorithmEngineeringisamethodologyforalgorithmicresearchthatcombinestheory withimplementationandexperimentationinordertoobtainbetteralgorithmswithhigh practicalimpact.Traditionally,thestudyofalgorithmswasdominatedbymathematical (worst-case) analysis. In Algorithm Engineering, algorithms are also implemented and experimentsconductedinasystematicway,sometimesresemblingtheexperimentation processes known from fields such as biology, chemistry, or physics. This helps in counteracting an otherwise growing gap between theory and practice. The possible benefits are manifold: – We can identify practically good algorithms, even where theoretical analysis is lackingordoesnotmakeanaccurateenoughstatement.Thiscanleadtosuccessful algorithms being recognized and put into practice even when they look mathe- matically inaccessible. It can also lead to theoretically appealing algorithms being recognized as less useful in practice. For example, suppose that we have one algorithmwithaquadraticworst-caserunningtimeandanotherwithacubicbound, both proven by theory. Which of the two is faster in practice? This cannot be answered by merely looking at the degrees of the polynomials. – Experimentation can be supportive of design and analysis. It can help to identify bottlenecks that could be eliminated by a re-design. It can help to build and to test falsifiable hypotheses, e.g., whether a particular algorithm after a modification that makes it faster will still deliver the same solution quality. This creates a feedback loop where each particular sub-methodology benefits from the others. – Observations of good performance in practice of an algorithm for which we only know unsatisfactory theoretical guarantees have sparked new types of theoretical algorithm analyses. In particular, smoothed analysis instead of the traditional worst-case analysis has been shown to be successful. In smoothed analysis, the input is first chosen as in worst-case analysis (i.e., we consider all possible inputs) but then small random perturbations are performed. We then conduct an average-case analysis using the resulting distribution on the set of instances. – Therequirementtoimplementandtoexperimentallyevaluatealgorithmsmotivates algorithm designers to think about practicability and to consider more realistic computational models. New possibilities and their restrictions given by modern hardware are moved into focus, such as memory hierarchies and parallelism. – Testing algorithms on real-world input stimulates the exchange and cooperation between thealgorithmicscommunityandother fieldswherealgorithmsareusedas tools. This volume reviews important algorithmic developments and results that were made possible or were supported by Algorithm Engineering. Chapters are ordered alphabetically by first author. This work emerged from the Priority Programme “Algorithm Engineering” (1307) funded by the German Research Foundation (DFG), VI Preface which started in 2007 and lasted six years. In total, 28 projects received funding through this program. In addition there were six associated projects. We gratefully acknowledge this support. Eachsubmissionforthisvolumewaspeer-reviewed.Wesincerelythanktheauthors and the reviewers for their work, diligence, and cooperation. In total, we have 12 chapters, including extensive surveys and case studies: Chapter 1 A simple but powerful stochastic local search algorithm for the SAT problem is presented and analyzed. Experiments are used for tuning and for comparisonwithotheralgorithms.Itisconcludedthatwhenflippingavariable, itismoreimportanttopayattentiontothenumberofnewlyunsatisfiedclauses than to the number of newly satisfied ones. Chapter2isasurveyonpracticalalgorithmsforroutingintransportationnetworks, including road networks, schedule-based public transport networks, as well as multimodal scenarios. Experiments show that it is possible to find good jour- neys within milliseconds in large-scale networks. Several of the described approaches have been included in mainstream production systems. Chapter 3 surveys different ways to theoretically analyze the k-means clustering algorithm. Several of the theoretical activities, e.g., smoothed analysis, were motivated by observations in experiments. Chapter 4 surveys practical algorithms for balanced graph partitioning. A large variety of different approaches are presented, and implementation aspects and benchmarking are discussed. Chapter 5 In randomized and derandomized rounding, for many applications it is required that the solution satisfies certain constraints with probability one. In order to obtain such solutions, there exist two very different algorithmic approaches, which, however, have very similar theoretical properties. This chapter surveys theoretical foundations, experimental studies, and applications for those two original approaches and new ones derived from them. Chapter 6 is a review of external-memory search for state space problems, giving detailed descriptions of algorithms and data structures, complemented by concrete examples. Implementation on a GPU is discussed and speedups are substantiated by experiment. Chapter 7 presents a framework for the development and evaluation of real-time rendering algorithms. A central concept is a meta rendering algorithm that automatically selects an algorithm for the visualization of highly complex scenes. Chapter 8 applies the Algorithm Engineering cycle of design, analysis, imple- mentation, and experimentation to robust optimization. In such problems, the exact data is not known but bounded by a set of possible realizations. The importance of considering real-world applications is demonstrated. Chapter 9 gives a survey on concepts and algorithms for finding clusters in net- works that change over time. Data sets for experimentation, comprised of real-world and synthetic data, are thoroughly discussed. Preface VII Chapter 10 Many industrial production planning problems have both sequencing and allocation aspects. This chapter describes and experimentally evaluates a framework based on genetic algorithms that can smoothly integrate both aspects. Chapter 11 A streaming algorithm for the bipartite matching problem is gradually improvedusingexperimentation.Thisfinallyresultsinaversionthatinheritsall the good theoretical properties of the original version while being much faster in practice. Chapter 12 is a survey and a unified, extensive experimental comparison of algo- rithms for the art gallery problem – a classic and important problem from computational geometry. Moreover, a new and superior implementation is presented, which combines the best techniques identified in previous approaches. February 2016 Lasse Kliemann Peter Sanders Contents Engineering a Lightweight and Efficient Local Search SAT Solver . . . . . . . . 1 Adrian Balint and Uwe Schöning Route Planning in Transportation Networks . . . . . . . . . . . . . . . . . . . . . . . . 19 Hannah Bast, Daniel Delling, Andrew Goldberg, Matthias Müller-Hannemann, Thomas Pajor, Peter Sanders, Dorothea Wagner, and Renato F. Werneck Theoretical Analysis of the k-Means Algorithm – A Survey. . . . . . . . . . . . . 81 Johannes Blömer, Christiane Lammersen, Melanie Schmidt, and Christian Sohler Recent Advances in Graph Partitioning . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 Aydın Buluç, Henning Meyerhenke, Ilya Safro, Peter Sanders, and Christian Schulz How to Generate Randomized Roundings with Dependencies and How to Derandomize Them. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 Benjamin Doerr and Magnus Wahlström External-Memory State Space Search. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 Stefan Edelkamp Algorithm Engineering Aspects of Real-Time Rendering Algorithms. . . . . . . 226 Matthias Fischer, Claudius Jähn, Friedhelm Meyer auf der Heide, and Ralf Petring Algorithm Engineering in Robust Optimization. . . . . . . . . . . . . . . . . . . . . . 245 Marc Goerigk and Anita Schöbel Clustering Evolving Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280 Tanja Hartmann, Andrea Kappes, and Dorothea Wagner Integrating Sequencing and Scheduling: A Generic Approach with Two Exemplary Industrial Applications . . . . . . . . . . . . . . . . . . . . . . . 330 Wiebke Höhn and Rolf H. Möhring Engineering aBipartite Matching Algorithm in theSemi-Streaming Model. . . 352 Lasse Kliemann X Contents Engineering Art Galleries. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379 Pedro J. de Rezende, Cid C. de Souza, Stephan Friedrichs, Michael Hemmer, Alexander Kröller, and Davi C. Tozoni Author Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.