Lecture Notes in Computer Science 6844
Commenced Publication in 1973 Founding and Former Series Editors:
Gerhard Goos, Juris Hartmanis, and Jan van Leeuwen
Editorial Board
David Hutchison
Lancaster University, UK Takeo Kanade
Carnegie Mellon University, Pittsburgh, PA, USA Josef Kittler
University of Surrey, Guildford, UK Jon M. Kleinberg
Cornell University, Ithaca, NY, USA Alfred Kobsa
University of California, Irvine, CA, USA Friedemann Mattern
ETH Zurich, Switzerland John C. Mitchell
Stanford University, CA, USA Moni Naor
Weizmann Institute of Science, Rehovot, Israel Oscar Nierstrasz
University of Bern, Switzerland C. Pandu Rangan
Indian Institute of Technology, Madras, India Bernhard Steffen
TU Dortmund University, Germany Madhu Sudan
Microsoft Research, Cambridge, MA, USA Demetri Terzopoulos
University of California, Los Angeles, CA, USA Doug Tygar
University of California, Berkeley, CA, USA Gerhard Weikum
Max Planck Institute for Informatics, Saarbruecken, Germany
Frank Dehne John Iacono Jörg-Rüdiger Sack (Eds.)
Algorithms
and Data Structures
12th International Symposium, WADS 2011 New York, NY, USA, August 15-17, 2011 Proceedings
1 3
Volume Editors Frank Dehne
Carleton University, School of Computer Science Parallel Computing and Bioinformatics Laboratory VISM Building, Room 6210, 1125 Colonel By Drive Ottawa, ON K1S 5B6, Canada
E-mail: [email protected] John Iacono
Polytechnic Institute of New York University Department of Computer Science and Engineering 5 MetroTech Center, New York, NY 11201, USA E-mail: [email protected]
Jörg-Rüdiger Sack
Carleton University, School of Computer Science Herzberg Laboratories
Herzberg Building, Room 5350, 1125 Colonel By Drive Ottawa, ON K1S 5B6, Canada
E-mail: [email protected]
ISSN 0302-9743 e-ISSN 1611-3349
ISBN 978-3-642-22299-3 e-ISBN 978-3-642-22300-6 DOI 10.1007/978-3-642-22300-6
Springer Heidelberg Dordrecht London New York Library of Congress Control Number: 2011930928
CR Subject Classification (1998): F.2, E.1, G.2, I.3.5, G.1, C.2
LNCS Sublibrary: SL 1 – Theoretical Computer Science and General Issues
© Springer-Verlag Berlin Heidelberg 2011
This work is subject to copyright. All rights are reserved, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, re-use of illustrations, recitation, broadcasting, reproduction on microfilms or in any other way, and storage in data banks. Duplication of this publication or parts thereof is permitted only under the provisions of the German Copyright Law of September 9, 1965, in its current version, and permission for use must always be obtained from Springer. Violations are liable to prosecution under the German Copyright Law.
The use of general descriptive names, registered names, trademarks, etc. in this publication does not imply, even in the absence of a specific statement, that such names are exempt from the relevant protective laws and regulations and therefore free for general use.
Typesetting: Camera-ready by author, data conversion by Scientific Publishing Services, Chennai, India Printed on acid-free paper
Springer is part of Springer Science+Business Media (www.springer.com)
Preface
This volume contains the papers presented at the 2011 Algorithms and Data Structures Symposium (WADS 2011), formerly Workshop on Algorithms and Data Structures, held during August 15-17, 2011 at the Polytechnic Institute of New York University in Brooklyn, New York. WADS alternates with the Scandinavian Workshop on Algorithms Theory (SWAT), continuing the tradition of SWAT and WADS starting with SWAT 1988 and WADS 1989.
In response to the call for papers, 141 papers were submitted. From these sub- missions, the Program Committee selected 59 papers for presentation at WADS 2011. In addition, invited lectures were given by the following distinguished re- searchers: Janos Pach, Mihai Pˇatra¸scu, and Robert E. Tarjan. The proceedings do not contain an abstract of Mihai Pˇatra¸scu’s invited lecture “Modern Data Structures”, because it was unavailable at the time of printing for health reasons.
We would like to express our appreciation to the Program Committee mem- bers, invited speakers, reviewers, and all authors who submitted papers.
May 2011 Frank Dehne
John Iacono J¨org-R¨udiger Sack
Organization
Program Committee
Oswin Aichholzer Graz University of Technology, Austria David Bader Georgia Institute of Technology, USA
Piotr Berman Penn State University, USA
Prosenjit Bose Carleton University, Canada Timothy Chan University of Waterloo, Canada
Otfried Cheong KAIST, Korea
Frank Dehne Carleton University, Canada
Marina Gavrilova University of Calgary, Canada Roberto Grossi University of Pisa, Italy
John Iacono Polytechnic Institute of New York University, USA
Giuseppe Italiano University of Rome “Tor Vergata”, Italy
Naoki Katoh Kyoto University, Japan
Rolf Klein University of Bonn, Germany
Eduardo Sany Laber PUC Rio, Brazil
Mike Langston University of Tennessee, USA Moshe Lewenstein Bar-Ilan University, Israel
M. M¨uller-Hannemann University of Halle-Wittenberg, Germany Joerg-Ruediger Sack Carleton University, Canada
Peter Sanders University of Karlsruhe, Germany Paul Spirakis University of Patras, Greece
Subhash Suri University of California, Santa Barbara, USA
Monique Teillaud INRIA Sophia Antipolis, France Jan Arne Telle University of Bergen, Norway Marc Van Kreveld Utrecht University, The Netherlands
Additional Reviewers
Aloupis, Greg Alt, Helmut
Alves Pessoa, Artur Amir, Amihood Aum¨uller, Martin Bae, Sang Won Battaglia, Giovanni Batz, G. Veit
Bauer, Reinhard Bereg, Sergey Berger, Florian Bodlaender, Hans L.
Bornstein, Claudson Cabello, Sergio Calka, Pierre Caprara, Alberto
VIII Organization
Castelli Aleardi, Luca Cesati, Marco
Chen, Danny Z.
Cicalese, Ferdinando Cohen-Steiner, David Collette, Sebastien Cozzens, Midge Damaschke, Peter Deberg, Mark Devillers, Olivier Didimo, Walter Disser, Yann Driemel, Anne Durocher, Stephane Dyer, Ramsay Eppstein, David Erdos, Peter L.
Erickson, Jeff Erlebach, Thomas Eyraud-Dubois, Lionel Fagerberg, Rolf Fekete, Sandor Ferreira, Rui Foschini, Luca Foschni, Luca Fotakis, Dimitris Fournier, Herv´e Fukunaga, Takuro Georgiadis, Loukas Ghosh, Arijit
Giannopoulos, Panos Gibson, Matt Gilbers, Alexander Goaoc, Xavier Goldstein, Isaac Golin, Mordecai Grandoni, Fabrizio Gudmundsson, Joachim G¨orke, Robert
Ha, Jae-Soon
Halldorsson, Magnus M.
Har-Peled, Sariel Haverkort, Herman
Henriques Carvalho, Marcelo Hermelin, Danny
Hershberger, John Hoffmann, Michael Hong, Seok-Hee Howat, John H¨uffner, Falk Jacobs, Tobias Jørgensen, Allan Kaminski, Marcin Kamiyama, Naoyuki Kaporis, Alexis Kawahara, Jun Keil, Mark Klein, Philip Kobayashi, Yusuke Kobourov, Stephen Kopelowitz, Tsvi Korman, Matias Koutsoupias, Elias Kraschewski, Daniel Kratochvil, Jan K´asa, Zolt´an K¨arkk¨ainen, Juha Laber, Eduardo Lancichinetti, Andrea Landau, Gad
Langerman, Stefan Langetepe, Elmar Laura, Luigi Lazard, Sylvain Lecroq, Thierry Lee, Mira
Lenchner, Jonathan Leveque, Benjamin Liotta, Giuseppe Lopez-Ortiz, Alejandro Luccio, Fabrizio L¨offler, Maarten M.M. De Castro, Pedro Manthey, Bodo
Manzini, Giovanni Meyerhenke, Henning Michail, Othon Molinaro, Marco Morin, Pat Moruz, Gabriel
Organization IX
Mulzer, Wolfgang Mumford, Elena M¨akinen, Veli Naswa, Sudhir Navarro, Gonzalo Nekrich, Yakov Nikoletseas, Sotiris N¨ollenburg, Martin Okamoto, Yoshio Orlandi, Alessio Osipov, Vitaly Otachi, Yota
Ottaviano, Giuseppe Pal, Sudebkumar
Panagopoulou, Panagiota Papadopoulos, Fragkiskos Park, Jeong-Hyeon Park, Kunsoo Penninger, Rainer Phillips, Charles Porat, Ely Rabinovich, Yuri Reinbacher, Iris Riedy, Jason Roditty, Liam Romani, Francesco R¨oglin, Heiko Saitoh, Toshiki Sauerwald, Thomas Schlipf, Lena Schulz, Andr´e Schuman, Catherine Serna, Maria
Silveira, Rodrigo Slingsby, Adrian Smorodinsky, Shakhar Sotelo, David
Speckmann, Bettina Stamatiou, Ioannis Stehn, Fabian Sviridenko, Maxim Takaoka, Tadao Takazawa, Kenjiro Tanigawa, Shin-Ichi Tazari, Siamak Thilikos, Dimitrios Tischler, German Toma, Laura T¨aubig, Hanjo Uno, Takeaki Uno, Yushi Vigneron, Antoine Villanger, Yngve Wang, Kai Weihe, Karsten Wiese, Andreas Wilkinson, Bryan Wismath, Steve Wolff, Alexander Wood, David R.
Wulff-Nilsen, Christian Xin, Qin
Yang, Jungwoo Yildiz, Hakan Yvinec, Mariette Zarrabi-Zadeh, Hamid
Table of Contents
Piecewise-Linear Approximations of Uncertain Functions. . . . 1 Mohammad Ali Abam, Mark de Berg, and Amirali Khosravi
A Constant Factor Approximation Algorithm for Boxicity of Circular
Arc Graphs . . . . 13 Abhijin Adiga, Jasine Babu, and L. Sunil Chandran
On the Area Requirements of Euclidean Minimum Spanning Trees . . . . . 25 Patrizio Angelini, Till Bruckdorfer, Marco Chiesa, Fabrizio Frati,
Michael Kaufmann, and Claudio Squarcella
Multi-target Ray Searching Problems. . . . 37 Spyros Angelopoulos, Alejandro L´opez-Ortiz, and
Konstantinos Panagiotou
Convex Transversals. . . . 49 Esther M. Arkin, Claudia Dieckmann, Christian Knauer,
Joseph S.B. Mitchell, Valentin Polishchuk, Lena Schlipf, and Shang Yang
How to Cover a Point Set with a V-Shape of Minimum Width. . . . 61 Boris Aronov and Muriel Dulieu
Witness Rectangle Graphs . . . . 73 Boris Aronov, Muriel Dulieu, and Ferran Hurtado
Faster Optimal Algorithms for Segment Minimization with Small
Maximal Value . . . . 86 Therese Biedl, Stephane Durocher, C´eline Engelbeen,
Samuel Fiorini, and Maxwell Young
Orthogonal Cartograms with Few Corners Per Face . . . . 98 Therese Biedl and Lesvia Elena Ruiz Vel´azquez
Smoothed Analysis of Partitioning Algorithms for Euclidean
Functionals . . . . 110 Markus Bl¨aser, Bodo Manthey, and B.V. Raghavendra Rao
Feedback Vertex Set in Mixed Graphs . . . . 122 Paul Bonsma and Daniel Lokshtanov
XII Table of Contents
Switching to Directional Antennas with Constant Increase in Radius
and Hop Distance. . . . 134 Prosenjit Bose, Paz Carmi, Mirela Damian, Robin Flatland,
Matthew J. Katz, and Anil Maheshwari
Frequency Capping in Online Advertising (Extended Abstract) . . . . 147 Niv Buchbinder, Moran Feldman, Arpita Ghosh, and
Joseph (Seffi) Naor
Adjacency-Preserving Spatial Treemaps. . . . 159 Kevin Buchin, David Eppstein, Maarten L¨offler,
Martin N¨ollenburg, and Rodrigo I. Silveira
Register Loading via Linear Programming. . . 171 Gruia Calinescu and Minming Li
Connecting a Set of Circles with Minimum Sum of Radii. . . . 183 Erin Wolf Chambers, S´andor P. Fekete, Hella-Franziska Hoffmann,
Dimitri Marinakis, Joseph S.B. Mitchell, Venkatesh Srinivasan, Ulrike Stege, and Sue Whitesides
Streaming and Dynamic Algorithms for Minimum Enclosing Balls in
High Dimensions. . . . 195 Timothy M. Chan and Vinayak Pathak
New Algorithms for 1-D Facility Location and Path Equipartition
Problems . . . . 207 Danny Z. Chen and Haitao Wang
Multicut in Trees Viewed through the Eyes of Vertex Cover . . . . 219 Jianer Chen, Jia-Hao Fan, Iyad A. Kanj, Yang Liu, and
Fenghui Zhang
Beyond Triangulation: Covering Polygons with Triangles. . . . 231 Tobias Christ
Lossless Fault-Tolerant Data Structures with Additive Overhead. . . . 243 Paul Christiano, Erik D. Demaine, and Shaunak Kishore
Binary Identification Problems for Weighted Trees . . . . 255 Ferdinando Cicalese, Tobias Jacobs, Eduardo Laber, and
Caio Valentim
Computing the Fr´echet Distance between Folded Polygons . . . . 267 Atlas F. Cook IV, Anne Driemel, Sariel Har-Peled,
Jessica Sherette, and Carola Wenk
Parameterized Reductions and Algorithms for Another Vertex Cover
Generalization. . . . 279 Peter Damaschke and Leonid Molokov
Table of Contents XIII
Path Minima Queries in Dynamic Weighted Trees. . . . 290 Gerth Stølting Brodal, Pooya Davoodi, and S. Srinivasa Rao
On Rectilinear Partitions with Minimum Stabbing Number. . . . 302 Mark de Berg, Amirali Khosravi, Sander Verdonschot, and
Vincent van der Weele
Flattening Fixed-Angle Chains Is Strongly NP-Hard. . . . 314 Erik D. Demaine and Sarah Eisenstat
An O(nlogn) Algorithm for a Load Balancing Problem on Paths . . . . 326 Nikhil R. Devanur and Uriel Feige
Fully-Dynamic Hierarchical Graph Clustering Using Cut Trees. . . . 338 Christof Doll, Tanja Hartmann, and Dorothea Wagner
Flow Computations on Imprecise Terrains. . . . 350 Anne Driemel, Herman Haverkort, Maarten L¨offler, and
Rodrigo I. Silveira
Tracking Moving Objects with Few Handovers. . . . 362 David Eppstein, Michael T. Goodrich, and Maarten L¨offler
Inducing the LCP-Array. . . . 374 Johannes Fischer
Horoball Hulls and Extents in Positive Definite Space . . . . 386 P. Thomas Fletcher, John Moeller, Jeff M. Phillips, and
Suresh Venkatasubramanian
Enumerating Minimal Subset Feedback Vertex Sets . . . . 399 Fedor V. Fomin, Pinar Heggernes, Dieter Kratsch,
Charis Papadopoulos, and Yngve Villanger
Upper Bounds for Maximally Greedy Binary Search Trees. . . . 411 Kyle Fox
On the Matter of Dynamic Optimality in an Extended Model for Tree
Access Operations . . . . 423 Michael L. Fredman
Resilient and Low Stretch Routing through Embedding into Tree
Metrics. . . . 438 Jie Gao and Dengpan Zhou
Consistent Labeling of Rotating Maps . . . . 451 Andreas Gemsa, Martin N¨ollenburg, and Ignaz Rutter
Finding Longest Approximate Periodic Patterns . . . . 463 Beat Gfeller
XIV Table of Contents
A (5/3 +ε)-Approximation for Strip Packing. . . . 475 Rolf Harren, Klaus Jansen, Lars Pr¨adel, and Rob van Stee
Reversing Longest Previous Factor Tables Is Hard. . . 488 Jing He, Hongyu Liang, and Guang Yang
Space Efficient Data Structures for Dynamic Orthogonal Range
Counting . . . . 500 Meng He and J. Ian Munro
Searching in Dynamic Tree-Like Partial Orders . . . . 512 Brent Heeringa, Marius C˘at˘alin Iordan, and Louis Theran
Counting Plane Graphs: Flippability and Its Applications. . . . 524 Michael Hoffmann, Micha Sharir, Adam Sheffer,
Csaba D. T´oth, and Emo Welzl
Geometric Computations on Indecisive Points . . . . 536 Allan Jørgensen, Maarten L¨offler, and Jeff M. Phillips
Closest Pair and the Post Office Problem for Stochastic Points. . . . 548 Pegah Kamousi, Timothy M. Chan, and Subhash Suri
Competitive Search in Symmetric Trees. . . . 560 David Kirkpatrick and Sandra Zilles
Multiple-Source Single-Sink Maximum Flow in Directed Planar Graphs
inO(diameter·nlogn) Time. . . . 571 Philip N. Klein and Shay Mozes
Planar Subgraphs without Low-Degree Nodes . . . . 583 Evangelos Kranakis, Oscar Morales Ponce, and Jukka Suomela
Constructing Orthogonal de Bruijn Sequences . . . . 595 Yaw-Ling Lin, Charles Ward, Bharat Jain, and Steven Skiena
A Fast Algorithm for Three-Dimensional Layers of Maxima Problem . . . 607 Yakov Nekrich
Succinct 2D Dictionary Matching with No Slowdown . . . . 619 Shoshana Neuburger and Dina Sokol
PTAS for Densestk-Subgraph in Interval Graphs . . . . 631 Tim Nonner
Improved Distance Queries in Planar Graphs . . . . 642 Yahav Nussbaum
Piercing Quasi-Rectangles: On a Problem of Danzer and Rogers . . . . 654 J´anos Pach and G´abor Tardos
Table of Contents XV
Faster Algorithms for Minimum-Link Paths with Restricted
Orientations. . . . 655 Valentin Polishchuk and Mikko Sysikaski
Streaming Algorithms for 2-Coloring Uniform Hypergraphs. . . . 667 Jaikumar Radhakrishnan and Saswata Shannigrahi
Density-Constrained Graph Clustering. . . . 679 Robert G¨orke, Andrea Schumm, and Dorothea Wagner
The MST of Symmetric Disk Graphs (in Arbitrary Metric Spaces) Is
Light. . . . 691 Shay Solomon
Theory vs. Practice in the Design and Analysis of Algorithms . . . . 703 Robert E. Tarjan
A Fully Polynomial Approximation Scheme for a Knapsack Problem
with a Minimum Filling Constraint (Extended Abstract). . . . 704 Zhou Xu and Xiaofan Lai
Author Index. . . . 717
Piecewise-Linear Approximations of Uncertain Functions
Mohammad Ali Abam1,, Mark de Berg2, and Amirali Khosravi2,
1 Department of Computer Engineering, Sharif University of Technology, Tehran, Iran
2 Department of Mathematics and Computing Science, TU Eindhoven, Eindhoven, The Netherlands
{mdberg,akhosrav}@win.tue.nl
Abstract. We study the problem of approximating a function F :R→ Rby a piecewise-linear function F when the values of F at{x1, . . . , xn} are given by a discrete probability distribution. Thus, for eachxiwe are given a discrete set yi,1, . . . , yi,mi of possible function values with asso- ciated probabilitiespi,jsuch thatPr[F(xi) =yi,j] =pi,j. We define the error of F aserror(F,F) = maxni=1E[|F(xi)−F(xi)|]. Letm=n
i=1mi be the total number of potential values over all F(xi). We obtain the fol- lowing two results: (i) anO(m) algorithm that, given F and a maximum errorε, computes a function F with the minimum number of links such thaterror(F,F)ε; (ii) anO(n4/3+δ+mlogn) algorithm that, given F, an integer value 1knand anyδ >0, computes a function F of at mostklinks that minimizes error(F,F).
1 Introduction
Motivation and problem statement. Fitting a function to a given finite set of points sampled from an unknown function F : R → R is a basic problem in mathematics. Typically one is given a class of “simple” functions—linear func- tions, piecewise linear functions, quadratic functions, etcetera—and the goal is to find a function F from that class that fits the sample points best. One way to measure how well F fits the sample points is theuniform metric, defined as follows. Suppose that F is sampled atx1, . . . , xn, withx1<· · ·< xn. Then the error of F according to the uniform metric isn
i=1|F(xi)−F(xi)|. This measure is also known as thel∞or the Chebychev error measure.
The problem of finding the best approximation F under the uniform metric has been studied from an algorithmic point of view, in particular for the case where the allowed functions are piecewise linear. There are then two optimization problems that can be considered: the min-kand the min-εproblem. In the min-k
Work by Mohammad Ali Abam was done when he was employed by Technische Universit¨at Dortmund.
Work by Amirali Khosravi has been supported by the Netherlands’ Organisation for Scientific Research (NWO) under project no. 612.000.631.
F. Dehne, J. Iacono, and J.-R. Sack (Eds.): WADS 2011, LNCS 6844, pp. 1–12, 2011.
c Springer-Verlag Berlin Heidelberg 2011
2 M. Ali Abam, M. de Berg, and A. Khosravi
problem one is given a maximum errorε0 and the goal is to find piecewise- linear function F with error at mostεthat minimizes the number of links. In the min-εproblem one is given a numberk1 and the goal is to find a piecewise- linear function with at mostklinks that minimizes the error.
The min-kproblem was solved in O(n) time by Hakimi and Schmeichel [10].
They also gave an O(n2logn) algorithm for solving the min-ε problem. This was later improved toO(n2) by Wanget al.[17]. Goodrich [8] then managed to obtain anO(nlogn) algorithm.
In this paper we also study the problem of approximating a sampled function by a piecewise-linear function, but we do this in the setting where the func- tion values F(xi) at the sample points are not known exactly. Instead we have a discrete probability distribution for each F(xi), that is, we have a discrete set yi,1, . . . , yi,mi of possible values with associated probabilities pi,j such that Pr[F(xi) =yi,j] =pi,j. We call such a function anuncertain function. The goal is now to find a piecewise-linear function F with at mostklinks that minimizes the expected error (the min-ε problem) or a piecewise-linear function F with error at mostεthat minimizes the number of links (the min-k problem).
There are several possibilities to define the expected error. We use the uniform metric and define our error measure in the following natural way.
error(F,F) = max
E[|F(xi)−F(xi)|] : 1in .
This error is not equal to error2(F,F) = max{|E[F(xi)]−F(xi)| : 1 i n}. Indeed, to minimize|E[F(xi)]−F(xi)|one should take F(xi) =E[F(xi)] leading to an error of zero atxi. Hence, we feel thaterror(F,F) is more appropriate than error2(F,F). (Note that approximating F under error measureerror2boils down to approximating the functionG:R→RwithG(xi) =E[F(xi)].)
Related work. The problem of approximating a sampled function can be seen as a special case of line simplification. The line-simplification problem is to approx- imate a given polygonal curveP =p1, p2, . . . , pn by a simpler polygonal curve Q=q1, q2, . . . , qk. The problem comes in many flavors, depending on the restric- tions that are put on the approximationQ, and on the error measureerror(P, Q) that defines the quality of the approximation. A typical restriction is that the sequence of vertices ofQ be a subsequence of the vertices of P, with q1 =p1 and qk = pn; the unrestricted version, where the vertices q1, q2, . . . , qk can be chosen arbitrarily, has been studied as well. (In this paper we do not restrict the locations of the breakpoints of our piecewise-linear function.) Typical error measures are the Hausdorff distance and the Fr´echet distance [4].
The line-simplification has been studied extensively. The oldest and probably best-known algorithm for line simplification is the so-called Douglas-Peucker al- gorithm [7], dating back to 1973. This algorithm achieves good results in practice, but it is not guaranteed to give optimal results. Over the past 20 years or so, al- gorithms giving optimal results have been developed for many line-simplification variants [1,2,3,6,8,10,11,?,16]. Although both function approximation and line- simplification are well-studied problems, and there has been ample research on uncertain data in other contexts, the problem we study has, to the best of our knowledge, not been studied so far.
Piecewise-Linear Approximations of Uncertain Functions 3
y yi,1 yi,2
E[F(xi)]
Ei
ui gi
ε
yi,mi
Fig. 1.The functionEi(y)
Our results. We start by studying the min-k problem. As it turns out, this problem is fairly easily reduced to the problem of computing a minimum-link path that stabs a set of vertical segments. The latter problem can be solved in linear time [10], leading to an algorithm for the min-k problem running in O(m) time, wherem=n
i=1mi. We then turn our attention to the much more challenging min-ε problem, where we present an algorithm that, for any fixed δ >0, runs inO(n4/3+δ+mlogn) time. Our algorithm uses similar ideas as the algorithm from Goodrich [8], but it requires several new ingredients to adapt it to the case of uncertain functions. For the important special casek = 1—here we wish to find the best linear function to approximate F—we obtain a faster algorithm for the min-εproblem, running in O(mlogm) time.
2 The min-k Problem
We start by studying the properties oferror(F,F). First we define an error func- tionEi(y) for every valuexi:
Ei(y) =E[|F(xi)−y|].
Observe that Ei(F(xi)) is the expected error of F at xi, and error(F,F) = maxni=1Ei(F(xi)). The following lemma shows what Ei(y) looks like. For sim- plicity we assumeyi,1· · ·yi,mi for 1in.
Lemma 1. For any i, the function Ei(y) is a convex piecewise-linear function withmi+ 1links.
Proof. To simplify the presentation, define yi,0 =−∞and yi,mi+1 = +∞, and we set pi,0 =pi,mi+1 = 0. Now fix some j with 0 j mi, and consider the y-interval [yi,j, yi,j+1]. Within this interval we have
Ei(y) =E[|F(xi)−y|]
=j
=1pi,(y−yi,) +mi
=j+1pi,(yi,−y)
=j
=1pi,−mi
=j+1pi,
·y − j
=1pi,yi,−mi
=j+1pi,yi,
=ajy+bj,
4 M. Ali Abam, M. de Berg, and A. Khosravi
where aj =
j
=1
pi,−
mi
=j+1
pi, and bj =−
⎛
⎝j
=1
pi,yi,−
mi
=j+1
pi,yi,
⎞
⎠.
Hence, Ei(y) is a piecewise-linear function with mi + 1 links. Moreover, since a0 = −1 a1 · · · ami = 1, it indeed is convex. It is not difficult to see that the first and last links of Ei, when extended, meet exactly in the point (E[F(xi)],0); see Fig. 1. (Actually these two links, when extended, form the graph of the function g(y) =|E[F(xi)]−y|, so they correspond to the error at
xi as given byerror2.) 2
Now consider the min-kproblem, and letεbe the given bound on the maximum error. Because Ei(y) is a convex function, there exists an interval [ui, gi] such that Ei(y) ε if and only if y ∈ [ui, gi]; see Fig. 1. The interval [ui, gi] can be computed in O(mi) time. When there exists ani such that [ui, gi] is empty, we report that there is no F approximating F within error ε. Otherwise, the problem is reduced to finding a function F with a minimum number of links stabbing every vertical segmentxi×[ui, gi]. This problem can be solved in linear time [10], leading to the following theorem.
Theorem 1. Let F :R→Rbe an uncertain function whose values are given at n points {x1, . . . , xn} and let m be the total number of possible values at these points. For a given ε, a piecewise-linear functionFwith a minimum number of links such thaterror(F,F)εcan be computed in O(m)time.
Remark 1. Above we computed the intervals [ui, gi] inO(mi) time in a brute- force manner. However, we can also compute the valuesui and gi in O(logmi) time using binary search. Then, after computing the functionsEi in O(m) time in total, we can construct the segmentsxi×[ui, gi] inO(
ilogmi) =O(nlogm) time. Thus, after O(m) preprocessing, the min-k problem can be solved in O(nlogm) time. This can be used to speed up the algorithm from the next section whenn=o(m/logm). For simplicity we do not consider this improve- ment in the next section.
3 The min-ε Problem
We now turn our attention to the min-εproblem. Letkbe the maximum number of links we are allowed to use in our approximation. For any ε > 0, define K(ε) to be the minimum number of links of any approximation F such that error(F,F)ε. Note that K(ε) can be computed with the algorithm from the previous section. Clearly, ifε1 < ε2 thenK(ε1)K(ε2). Hence, K(ε) is a non- increasing function ofε and K(ε) n. Our goal is now to find the smallest ε such thatK(ε)k. Let’s call this valueε∗. BecauseK(ε) is non-increasing, the idea is to use a binary search to find ε∗, with the algorithm from the previous section as decision procedure. Doing this in an efficient manner is not so easy,
Piecewise-Linear Approximations of Uncertain Functions 5
however. We will proceed in several phases, zooming in further and further to the valueε∗, as explained next.
Our algorithm maintains an active interval I containing ε∗. Initially I = [0,∞). A basic subroutine is to refineI on the basis of a setSofε-values, whose output is the smallest interval containingε∗whose endpoints come from the set S ∪ {endpoint ofI}. The subroutineShrinkActiveInterval runs inO(|S|log|S|+ mlog|S|) time.
ShrinkActiveInterval(S,I)
Sort S to get a sorted list ε1 < ε2 < · · · < εh. Add values ε0 = −∞
andεh+1=∞. Do a binary search overε0, . . . , εh+1 to find an interval [εj, εj+1] containing ε∗; here the basic test during the binary search—
namely whether ε∗ εl, for some εl—is equivalent to testing whether K(εl)k; this can be done inO(m) time with the algorithm from the previous section. Finally, returnI ∩[εj, εj+1].
The first phase. In the previous section we have seen that each error function Eiis a convex piecewise-linear function withmibreakpoints. LetEi={Ei(yi,j) : 1j mi} denote the set of error-values of the breakpoints ofEi, and letE= E1∪ · · · ∪En. The first phase of our algorithm is to callShrinkActiveInterval(E, [0,∞)) to find two consecutive values εj, εj+1 ∈ E such that εj ε∗ εj+1. Since|E|=m, this takesO(mlogm) time.
Recall that for a given ε, the approximation F has to intersect the segment xi×[ui, gi] in order for the error to be at mostεatxi. Now imagine increasing εfromεj to εj+1. Then the valuesui andgi change continuously. In fact, since Ei is a convex piecewise-linear function and εj and εj+1 are consecutive values fromE, the valuesui andgi change linearly, that is, we have
ui(ε) =aiε+bi and gi(ε) =ciε+di
for constants ai, bi, ci, di that can be computed from Ei. As ε increases,ui de- creases andgi increases—thus ai <0 andci >0—and so the vertical segment xi×[ui, gi] is growing. After the first phase we haveI = [εj, εj+1] and the task is to find the smallestε∈[εj, εj+1] such that there exists ak-link path stabbing all the segments.
Intermezzo: the case k= 1. We first consider the second phase for the special but important case where k = 1. This case can be considered as the problem of finding a regression line for uncertain points except that our error is not the squared distance. Thus we want to approximate the uncertain function F by a single line :y =ax+b that minimizes the error. The line stabs a segment xi ×[ui, gi] if is above (xi, ui) and below (xi, gi). In other words, we need axi+baiε+bi andaxi+bciε+di. Hence, the casek= 1 can be handled by solving the following linear program with variablesa, b, ε:
Minimize ε
Subject to xia+b−aiεbi for all 1in xia+b−ciεdi for all 1in
6 M. Ali Abam, M. de Berg, and A. Khosravi
U() G()
πu() πg() (x2, g2())
(x4, g4())
(x6, g6())
p G()
U()
(a) (b)
Fig. 2.(a) The pathsπu(ε) andπg(ε). (b) The visibility cone ofp.
Since a 3-dimensional linear program can be solved in linear expected time [5], we get the following theorem.
Theorem 2. The line minimizing error(F, )can be computed in O(mlogm) expected time.
The second phase. As mentioned earlier, our algorithm uses ideas from the al- gorithm that Goodrich [8] developed for the case of certain1functions. Next we sketch his algorithm and explain the difficulties in applying it to our problem.
For a certain function F, the error functionsEi(y) are cones whose bounding lines have slope−1 and +1, respectively. This implies that, using the notation from above, we haveui(0) = gi(0), and ai = −1, and ci = 1 for all i. For a givenε, we defineU(ε) to be the polygonal chain (x1, u1(ε)), . . . ,(xn, un(ε)) and G(ε) to be the polygonal chain (x1, g1(ε)), . . . ,(xn, gn(ε)). (NB: The minimum- link path of error at mostεstabbing all segmentsxi×[ui, gi] does not have to stay within the region bounded byU(ε) andG(ε).) Letπu(ε) be the Euclidean shortest path from (x1, u1(ε)) to (xn, un(ε)) that is belowG(ε) and aboveU(ε)—
see Fig. 2(a) for an illustration. Similarly, let πg(ε) be the Euclidean shortest path from (x1, g1(ε)) to (xn, gn(ε)) that is belowG(ε) and aboveU(ε). The paths πu(ε) andπg(ε) together form a so-calledhourglass, which we denote byH(ε).
An edgee∈H(ε) is called aninflection edge if one of its endpoints lies onU(ε) and the other one lies onG(ε). Goodrich [8] showed that there is a minimum-link function F with errorε such that each inflection edge is contained in a link of F and in between two links containing inflection edges the function is convex or concave. (In other words, the “zig-zags” of F occur exactly at the inflection edges.)
Goodrich then proceeds by computing all values of ε at which the set of inflection edges changes; these are calledgeodesic-critical values ofε. Note that
1 We use the termcertain functionfor a function with exactly one possible value per sample point, that is, when no uncertainty is involved.
Piecewise-Linear Approximations of Uncertain Functions 7
the moments at which an inflection edge changes are exactly the moments at which the hourglassH(ε) changes. The number of geodesic-critical values isO(n) and they can be found inO(nlogn) time [8]. After finding these geodesic-critical values, a binary search is applied to find two consecutive critical valuesεj, εj+1
such that εj ε∗ εj+1. Then the inflection edges that F must contain are known, and from this F can be computed using parametric search.
The main difference between our setting and the setting of Goodrich is that the points (xi, ui(ε))—and, similarly, the points (xi, gi(ε))—do not move at the same speed. As a result the basic lemma underlying the efficiency of the approach, namely that there are only O(n) geodesic-critical values of ε, no longer holds.
The following lemma shows that the number of such values can actually be quadratic. The proof of the lemma can be found in the full version of the paper.
Lemma 2. There is an instance ofn vertical segmentsxi×[ui(ε), gi(ε)] where the(xi, ui(ε))’s and(xi, gi(ε))’s are moving at constant (but different) velocities such that the number of geodesic-critical events isΩ(n2).
The fact that the number of geodesic-critical values of ε is Ω(n2) is not the only problem we face. The other problem is that detecting these events becomes more difficult in our setting. When all points onU(ε) and on G(ε) move with the same speed, then these events occur only when two consecutive edges of πu(ε) become collinear or when two consecutive edges ofπg(ε) become collinear.
When the points have different speeds, however, this is no longer the case. In Fig. 2, for example, the hourglassH(ε) can change when (x2, g2(ε)), (x4, g4(ε)) and (x6, g6(ε)) become collinear (which could happen when (x4, g4(ε)) moves up relatively slowly).
Below we show how to overcome these two hurdles and obtain an algorithm with subquadratic running time.
We start with a useful observation. Let Ψ(ε) be the simple polygon whose boundary consists of the chainsG(ε) andU(ε), and the vertical segmentsx1× [u1(ε), g1(ε)] andxn×[un(ε), gn(ε]). LetG(ε) be the visibility graph ofΨ(ε), that is,G(ε) is the graph whose nodes are the vertices ofΨ(ε) and where two nodes are connected by an edge if the corresponding vertices can see each other insideΨ(ε).
As ε increases and the vertices ofΨ(ε) move,G(ε) can change combinatorially, that is, edges may appear or disappear.
Lemma 3. The visibility graph G(ε) changes O(n2) times asε increases from 0to∞. Moreover, if G(ε)does not change when εis restricted to some interval [ε1, ε2]then H(ε)does not change either when εis in this interval.
Proof.First we observe that any three vertices ofΨ(ε) become collinear at most once, because each vertex moves with constant velocity and has constant x- coordinate. Indeed, three pointsp, q, r are collinear when (py−qy)/(px−qx) = (py −ry)/(px−rx), and when px, qx, rx are constant and py, qy, ry are linear functions ofε, then this equation has one solution (or possibly infinitely many solutions, which means the points are always collinear).
Next we show that every edgee of G, once it disappears, cannot re-appear.
Define ˜ui = (xi, ui) and ˜gi = (xi, gi). Assume that e = (˜ui,u˜j) for some i, j;
8 M. Ali Abam, M. de Berg, and A. Khosravi
the case where one or both of the endpoints ofe are onG(ε) is similar. None of the vertices ofG(ε) can stop ˜ui and ˜uj from seeing each other, since all ˜ui’s move down and all ˜gi’s move up. Hence, the only reason for ˜uiand ˜ujto become invisible to each other is that some vertex ˜ul, withi < l < j, crossese. For ˜uiand
˜
uj to become visible again, ˜ulwould have to crosseagain, but this is impossible since ˜ui,u˜j,u˜j can become collinear at most once. It follows that each edge can appear and disappear at most once, and since there areO(n2) edges in total,G changesO(n2) times.
The second part of the lemma immediately follows from the fact that the shortest pathsπu(ε) andπg(ε) cannot “jump” asεchanges continuously, because shortest paths in a simple polygon are unique. Hence, these shortest paths—and, consequently,H(ε)—can only change whenG(ε) changes. 2 Computing all combinatorial changes of G still results in an algorithm with running timeΩ(n2). Next we show that it suffices to computeO(n4/3+δ) combi- natorial changes ofG in order to find an interval [ε1, ε2] such thatε∗ ∈[ε1, ε2] and G does not change in this interval. (Recall that ε∗ denotes the minimum error that can be achieved withklinks, and that we thus wish to find).
Obtaining stable visibility cones. LetI be the active interval resulting from the first phase of our algorithm. We now describe an approach to quickly find a subset of the events whereG changes, which we can use to further shrinkI.
Let be a vertical line splitting the set of vertices of Ψ into two (roughly) equal-sized subsets. We will concentrate on the visibility edges whose endpoints lie on the different sides of; the approach will be applied recursively to deal with the visibility edges lying completely to the right or completely to the left of . For a vertex p of Ψ(ε) we define σ(p, ε), the visibility cone of p in Ψ(ε), as the cone with apex pthat contains all rays emanating from p that cross a point onthat is visible fromp(withinΨ(ε)). A crucial observation is that for a vertexpto the left ofand a vertexqto the right of, we have that (p, q) is an edge ofG(ε) if and only ifp∈σ(q, ε) andq∈σ(p, ε).
As the vertices ofΨ move,σ(p, ε) changes continuously but its combinatorial description (the vertices defining its sides) changes at discrete times. Notice that the bottom side of σ(p, ε) passes through a vertex of the lower boundary of Ψ(ε) lying to the same side of as p. More precisely, if U(p, ) denotes the set of vertices on the lower boundary of Ψ(ε) that lie between and the vertical line through p, then the lower side of σ(p, ε) is tangent to the upper hull of U(p, )—see Fig. 2(b). Similarly, if G(p, ) denotes the set of vertices on the upper boundary ofΨ(ε) that lie betweenand the vertical line throughp, then the upper side of σ(p, ε) is tangent to the lower hull of G(p, ). The following lemma shows how many times the lower hull changes of a set of points that all move vertically upwards; by symmetry, the lemma also applies to the number of changes to the upper hull of points moving downwards.
Lemma 4. Supposenpoints in the plane move vertically upward, each with its own constant velocity. Then the number of combinatorial changes to the lower hull isO(n). Furthermore, all event times at which the lower hull changes can be computed inO(nlog3n)time.
Piecewise-Linear Approximations of Uncertain Functions 9
Proof. Let{p1, . . . , pn}be the set of points vertically moving upwards with con- stant velocities, ordered from left to right. Since the points move with constant velocities, any three points become collinear at most once. As in the proof of Lemma 3, this implies that once a point disappears from the lower hull, it can- not re-appear. Hence, the number of changes to the lower hull isO(n).
To compute all event times, we construct a balanced binary tree T storing the points {p1, . . . , pn} in its leaves in an ordered manner based on their x- coordinates. At each nodeν ofT, we maintain a kinetic data structure to track lh(ν), the lower hull of the points stored in the subtree rooted atν. Letνrand νlbe the right and left child of nodeν inT. Thenlh(ν) is formed by portions of lh(νr) and lh(νl) and the common tangent oflh(νr) andlh(νl). This implies that in order to track all changes to the lower hull of the whole point set, it suffices to track for each nodeν the changes to common tangents oflh(νr) and lh(νl). We thus maintain for each node ν a certificate that can be used to find out when the tangent changes. This certificate involves at most six points: the two points determining the current tangent and the at most four points (two on lh(νr) and two onlh(νl)) adjacent to these points. The failure times of theO(n) certificates are put into an event queue. When a certificate fails we update the corresponding tangent, and we update the failure time of the certificate (which means updating the event queue). A change atν may propagate upwards in the tree—that is, it may trigger at mostO(logn) changes in ascendants ofν. Hence, handling a certificate failure takesO(log2n) time. Since the number of changes at each node ν is the number of points stored at the subtree rooted at ν, we handle at mostO(nlogn) events in total. Each event takesO(log2n) time, and so we can compute all events inO(nlog3n) time. 2 Our goal is to shrink the active interval I to a smaller interval such that the visibility cones of the points are stable, that is, do not change combinatorially.
Doing this for eachpindividually will still be too slow, however. We therefore proceed as follows.
Recall that we split Ψ into two with a vertical line . Let R be the set of vertices to the right of . We show how to shrink I so that the cones of the points p ∈ R are stable. Below we only consider the top sides of the cones, which pass through a vertex ofG(ε); the bottom sides can be handled similarly.
We construct a binary treeTG,R on the points inG(ε)∩ R, based on theirx- coordinates. For a nodeν, letP(ν) denote its canonical subset, that is,P(ν) de- notes the set of points in the subtree ofν. Using Lemma 4 we compute all event times—that is, values ofε—at which the lower hull lh(P(ν)) changes, for each nodeν. This takesO(nlog4n) time in total and gives us a setSofO(nlogn) event times. We then call procedureShrinkActiveInterval(S,I) to further shrinkI, tak- ingO(nlog2n+mlogn) time. In the new active interval, none of the maintained lower hulls changes combinatorially. This does not mean, however, that the top sides of the cones are stable. For that we need some more work.
Recall that the top side ofσ(p, ε) is given by the tangent ofptolh(G(p, )), where G(p, ) is the set of points on theG(ε) in betweenpand (with respect to their x-coordinates). The set G(p, ) can be formed fromO(logn) canonical
10 M. Ali Abam, M. de Berg, and A. Khosravi
subsets in TG,R. Each canonical subset P(ν) gives a candidate tangent for p, namely the tangent fromptolh(P(ν)). Even though the lower hulls,lh(P(ν)), are stable, the tangents frompto the lower hulls are not. Next we describe how to shrink the active interval, so that these tangents become stable, and we have O(logn) stable candidates.
Consider a canonical subsetP(ν) and letp1, . . . , phbe the vertices oflh(P(ν)), ordered from left to right. An important observation is that, asεincreases and the points move, the tangent fromptolh(P(ν)) steps from vertex to vertex along p1, . . . , ph, either always going forward or always going backwards. (This is true becausepcan become collinear with any lower-hull edge at most once.) We can therefore proceed as follows. For each pointpand each of its canonical subsets, we compute in constant time at what time pand the middle edge of the lower hull of the canonical subset become collinear. Finding the middle edge can be done using binary search, if we store the lower hullslh(P(ν)) as a balanced tree.
Since we havenpoints and each of them is associated withO(logn) canonical subsets, in total we haveO(nlogn) event times. We put these into a setS and callShrinkActiveInterval(S,I). In the new active interval the number of vertices of each lower hull to whichpcan be tangent has halved. We keep on shrinking I recursively, until we are left with an intervalI such that, for eachpand any canonical subset relevant forp, the tangent frompto the lower hull is stable. In total this takesO(nlog2n+mlogn) time.
Note that within I we now haveO(logn) stable candidate tangent lines for each p. We then compute all O(log2n) times at which the candidate tangent lines swap (in their circular order aroundp), collect allO(nlog2n) event times, and callShrinkActiveInterval once more, takingO(nlog3n+mlogn) time.
After this, we are left with an intervalI such that the top side of the cone of eachp∈ R is stable. In a similar way we can make sure that the bottom sides are stable, and that the top and bottom sides of the points to the left ofare stable. We get the following lemma.
Lemma 5. In O(nlog3n+mlogn)time we can shrink the active intervalI so that in the new active interval all the cones defined with respect toare stable.
We denote the set of edges of G crossing by E(). Next we describe a ran- domization algorithm to shrink the active intervalIsuch that in the new active interval, the edges of E() are stable. After this, we recurse on the part of Ψ to the left of and on the part to the right, so that the whole visibility graph becomes stable.
As already mentioned, (p, q) is an edge ofE() if and only if p∈σ(q, ε) and q ∈ σ(p, ε). Thus E() changes when a point p becomes collinear with a side of σ(q, ε) for some q. Without loss of generality we assume p∈ R and q ∈ L. Thus we have a setHof at mostnhalf-lines originating from points inL, where each half-line is specified by two points ofL, and a set of n/2 points from R, and we want to compute the event times at which a point ofRand a half-line ofHbecome collinear. Again, explicitly enumerating all these event times takes Ω(n2) time, so we have to proceed more carefully. To this end we use a variant
Piecewise-Linear Approximations of Uncertain Functions 11
of random halving [13], which can be made deterministic using the expander approach [12]. We start with a primitive tool which is used in our algorithm.
Lemma 6. For any ε1 and ε2, and any δ > 0, we can preprocess H and R in O(n4/3+δ) time into a data structure that allows the following: count in O(n4/3+δ)time all events (that is, all the times at which a half-line in Hand a point inRbecome collinear) lying in[ε1, ε2], and select in O(logn)time one of these events uniformly at random.
Proof. (Sketch) Consider a half-line l ∈ H and a point p ∈ R. They become collinear at a time in [ε1, ε2] if and only if eitherp(ε1) is belowl(ε1) andp(ε2) is abovel(ε2), orp(ε1) is abovel(ε1) and p(ε2) is below l(ε2). Therefore we need a data structure to report for alll∈ H the points ofRlying to a given side of l(ε1) orl(ε2) . We construct a multilevel partition tree over points ofRat times ε1 and ε2 (one level dealing with ε1, the other dealing withε2), each of whose nodes is associated with a canonical subset ofR. The total size of all canonical subsets isO(n4/3+δ). For a query linel, the query procedure selectsO(n1/3+δ) pairwise disjoint canonical subsets whose union consists of exactly those points of R at different sides of l at times ε1 and ε2. Based on this we create a set of pairs{(Ai, Bi)} with
(|Ai|+|Bi|) = O(n4/3+δ) whereAi is a subset ofR andBi is the subset ofHand eachp∈Ai andl∈Bi become collinear at some time in [ε1, ε2]. First we select a pair (Ai, Bi) at random, where the probability of selecting (Ai, Bi) is proportional to |Ai| ∗ |Bi|. Then we select an element uniformly at random fromAi and an element uniformly at random fromBi.2 Based on Lemma 6 we proceed as follows. LetI= [ε1, ε2] be the current active interval. LetN be the number of event times in I; we can determine N using Lemma 6. Then select an event time ε3 uniformly at random from the event times inI, again using Lemma 6, and we either shrinkI to [ε1, ε3] or to [ε3, ε2] inO(m) time. We recursively continue shrinkingI until the set of events inside I isO(n4/3); the expected number of rounds isO(logn). OnceN =O(n4/3) we list all event times, and do a regular binary search.
After this we are left with an active interval I such that the set A() of visibility edges crossing is stable. We recurse on both halves of Ψ to get the whole visibility graph stable. Putting everything together we get the following result.
Lemma 7. For anyδ >0inO(n4/3+δ+mlogm)expected time we can compute an active intervalI containingε∗ where the visibility graphG(ε) is stable.
As observed before, the fact that the visibility graph is stable during the active intervalI = [ε1, ε2] implies that the set of inflection edges is stable. This means we can compute all inflection edges during this interval by computing in O(n) time the shortest paths πu(ε1) and πg(ε1). Once this has been done, we can proceed in exactly the same way as Goodrich [8] to findε∗. Givenε∗we can find ak-link path of errorε∗ by solving the min-kproblem forε∗. This leads to our main result.
12 M. Ali Abam, M. de Berg, and A. Khosravi
Theorem 3. Let F :R→Rbe an uncertain function whose values are given at n points {x1, . . . , xn} and let m be the total number of possible values at these points. For a givenk, and anyδ >0, we can compute inO(n4/3+δ+mlogn)time a piecewise-linear functionFwith at mostklinks that minimizeserror(F,F)ε.
References
1. Abam, M.A., de Berg, M., Hachenberger, P., Zarei, A.: Streaming Algorithms for Line Simplification. Discrete & Computational Geometry 43, 497–515 (2010) 2. Agarwal, P.K., Varadarajan, K.R.: Efficient Algorithms for Approximating Polyg-
onal Chains. In: Chazelle, B., Goodman, J., Pollack, R. (eds.) Discrete & Compu- tational Geometry, vol. 23, pp. 273–291 (2000)
3. Agarwal, P.K., Har-Peled, S., Mustafa, N.H., Wang, Y.: Near-linear Time Approx- imation Algorithms for Curve Simplification. Algorithmica 42, 203–219 (2005) 4. Alt, H., Godau, M.: Computing the Fre´echet Distance between Two Polygonal
Curves. International Journal on Computational Geometry and Applications 5, 75–91 (1995)
5. De Berg, M., Cheong, O., Van Kreveld, M., Overmars, M.: Computational Geom- etry: Algorithms and Applications, 3rd edn. Springer, Heidelberg (2008)
6. Chan, W.S., Chin, F.: Approximation of Polygonal Curves with Minimum Number of Line Segments. In: Chazelle, B., Goodman, J., Pollack, R. (eds.) Proc. 3rd Annual Symp. on Alg. and Comp., vol. 650, pp. 378–387 (1992)
7. Douglas, D.H., Peucker, T.K.: Algorithms for the Reduction of the Number of Points Required to Represent a Digitized Line or its Caricature. Canadian Cartog- rapher 10, 112–122 (1973)
8. Goodrich, M.T.: Efficient Piecewise-linear Function Approximation Using the Uni- form Metric. Discrete & Computational Geometry 14, 445–462 (1995)
9. Guibas, L.J., Hershberger, J.E., Mitchell, J.S.B., Snoeyink, J.S.: Approximating Polygons and Subdivisions with Minimum Link Paths. International Journal of Computational Geometry and Applications 3, 383–415 (1993)
10. Hakimi, S.L., Schmeichel, E.F.: Fitting Polygonal Functions to a Set of Points in the Plane. Graph. Models Image Process. 52, 132–136 (1991)
11. Imai, H., Iri, M.: Polygonal Approximations of a Curve-formulations and Algo- rithms. In: Toussaint, G.T. (ed.) Computational Morphology, pp. 71–86 (1988) 12. Katz, M.J., Sharir, M.: An Expander-based Approach to Geometric Optimization.
SIAM J. Comput. 26, 1384–1408 (1997)
13. Matousek, J.: Randomized Optimal Algorithm for Slope Selection. Inform. Process.
Lett. 36, 183–187 (1991)
14. Melkman, A., O’Rourke, J.: On Polygonal Chain Approximation. In: Toussaint, G.T. (ed.) Computational Morphology, pp. 87–95 (1998)
15. Suri, S.: A Linear Time Algorithm for Minimum Link Paths inside a Simple Poly- gon. Comput. Vision Graph. Image Process. 35, 99–110 (1986)
16. Toussaint, G.T.: On the Complexity of Approximating Polygonal Curves in the Plane. In: Proc. Int. Symp. on Robotics and Automation (1985)
17. Wang, D.P., Huang, D.P., Chao, H.S., Lee, R.C.T.: Plane Sweep Algorithms for Polygonal Approximation Problems with Applications. In: Ng, K.W., Balasubra- manian, N.V., Raghavan, P., Chin, F.Y.L. (eds.) ISAAC 1993. LNCS, vol. 762, pp. 515–522. Springer, Heidelberg (1993)