Lars Arge

dblp:a/LArge · DBLP profile ↗
← Back
95ranked-venue papers
66as first author
0since 2021 · last 2020
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Theory of computation · 68 · 47 first-authorDatabases, data management, data science and information retrieval · 20 · 13 first-authorApplied, interdisciplinary, general and emerging computing · 10 · 7 first-authorArtificial intelligence and machine learning · 7 · 5 first-authorSystems, architecture and hardware · 4 · 4 first-authorGraphics, computer vision, multimedia, augmented reality and games · 3 · 2 first-author

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Theoretical computer science
32 papers
Computational geometry · 52% Algorithms and data structures · 29% Graph algorithms and graph theory · 12%
Databases, data mining, and information retrieval
10 papers
Indexing and storage engines · 59% Spatial and temporal data management · 33% Data stream processing · 7%

Topics — the 30 heaviest of 66, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Algorithms and data structures › memory hierarchy
external memory algorithms
0.7112013
Multiway Simple Cycle Separators and I/O-Efficient Algorithms for Planar Graphs · SODA 2013
An Optimal Dynamic Data Structure for Stabbing-Semigroup Queries · SIAM J. Comput. 2012
I/O-efficient batched union-find and its applications to terrain analysis · ACM Trans. Algorithms 2010
Computational geometry
geometric data structures
0.652018
Improved Dynamic Geodesic Nearest Neighbor Searching in a Simple Polygon · SoCG 2018
An Optimal Dynamic Data Structure for Stabbing-Semigroup Queries · SIAM J. Comput. 2012
An optimal dynamic interval stabbing-max data structure? · SODA 2005
Computational geometry
range searching
0.682012
Higher-dimensional orthogonal range reporting and rectangle stabbing in the pointer machine model · SCG 2012
Orthogonal range reporting: query lower bounds, optimal structures in 3-d, and higher-dimensional improvements · SCG 2010
Orthogonal Range Reporting in Three and Higher Dimensions · FOCS 2009
Computational geometry › range searching › orthogonal range searching
orthogonal range reporting
0.332012
Higher-dimensional orthogonal range reporting and rectangle stabbing in the pointer machine model · SCG 2012
Orthogonal range reporting: query lower bounds, optimal structures in 3-d, and higher-dimensional improvements · SCG 2010
Orthogonal Range Reporting in Three and Higher Dimensions · FOCS 2009
Computational geometry › geometric shortest paths
geodesic distance
0.312018
Improved Dynamic Geodesic Nearest Neighbor Searching in a Simple Polygon · SoCG 2018
Algorithms and data structures › similarity search
nearest neighbor search
0.312018
Improved Dynamic Geodesic Nearest Neighbor Searching in a Simple Polygon · SoCG 2018
Indexing and storage engines › spatial index
r-tree
0.232009
Worst-case efficient range search indexing: invited tutorial · PODS 2009
The priority R-tree: A practically efficient and worst-case optimal R-tree · ACM Trans. Algorithms 2008
The Priority R-Tree: A Practically Efficient and Worst-Case Optimal R-Tree · SIGMOD Conference 2004
Graph algorithms and graph theory
planar graphs
0.222013
Multiway Simple Cycle Separators and I/O-Efficient Algorithms for Planar Graphs · SODA 2013
I/O-Efficient Strong Connectivity and Depth-First Search for Directed Planar Graphs · FOCS 2003
Algorithms and data structures
dynamic data structures
0.222012
An Optimal Dynamic Data Structure for Stabbing-Semigroup Queries · SIAM J. Comput. 2012
An optimal dynamic interval stabbing-max data structure? · SODA 2005
Computational geometry › point location
dynamic point location
0.242008
External memory planar point location with logarithmic updates · SCG 2008
Improved Dynamic Planar Point Location · FOCS 2006
I/O-efficient dynamic planar point location (extended abstract) · SCG 2000
Computational geometry
point location
0.242008
External memory planar point location with logarithmic updates · SCG 2008
Improved Dynamic Planar Point Location · FOCS 2006
I/O-efficient dynamic planar point location (extended abstract) · SCG 2000
Algorithms and data structures › data structure design
union-find
0.222010
I/O-efficient batched union-find and its applications to terrain analysis · ACM Trans. Algorithms 2010
I/O-efficient batched union-find and its applications to terrain analysis · SCG 2006
Graph algorithms and graph theory › graph separators
separator theorem
0.212013
Multiway Simple Cycle Separators and I/O-Efficient Algorithms for Planar Graphs · SODA 2013
Indexing and storage engines
external memory data structure
0.232009
Worst-case efficient range search indexing: invited tutorial · PODS 2009
Optimal External Memory Interval Management · SIAM J. Comput. 2003
On Two-Dimensional Indexability and Optimal Range Search Indexing · PODS 1999
Computational geometry › range searching › stabbing
stabbing queries
0.222012
An Optimal Dynamic Data Structure for Stabbing-Semigroup Queries · SIAM J. Comput. 2012
Optimal Dynamic Interval Management in External Memory (extended abstract) · FOCS 1996
Computational geometry › range searching
orthogonal range searching
0.232006
Simple and semi-dynamic structures for cache-oblivious planar orthogonal range searching · SCG 2006
Cache-oblivious planar orthogonal range searching and counting · SCG 2005
Cache-oblivious data structures for orthogonal range searching · SCG 2003
Spatial and temporal data management
spatial indexing
0.232008
The priority R-tree: A practically efficient and worst-case optimal R-tree · ACM Trans. Algorithms 2008
The Priority R-Tree: A Practically Efficient and Worst-Case Optimal R-Tree · SIGMOD Conference 2004
Indexing Moving Points · PODS 2000
Algorithms and data structures › memory hierarchy › external memory algorithms
cache-oblivious algorithms
0.132007
An Optimal Cache-Oblivious Priority Queue and Its Application to Graph Algorithms · SIAM J. Comput. 2007
Cache-oblivious data structures for orthogonal range searching · SCG 2003
Cache-oblivious priority queue and graph algorithm applications · STOC 2002
Computational complexity
lower bounds
0.112012
Higher-dimensional orthogonal range reporting and rectangle stabbing in the pointer machine model · SCG 2012
Computational complexity › computational models
pointer machine
0.112012
Higher-dimensional orthogonal range reporting and rectangle stabbing in the pointer machine model · SCG 2012
Computational geometry › range searching › stabbing
rectangle stabbing
0.112012
Higher-dimensional orthogonal range reporting and rectangle stabbing in the pointer machine model · SCG 2012
Computational geometry › range searching
semigroup range searching
0.112012
An Optimal Dynamic Data Structure for Stabbing-Semigroup Queries · SIAM J. Comput. 2012
Computational complexity › query complexity
query complexity lower bounds
0.112010
Orthogonal range reporting: query lower bounds, optimal structures in 3-d, and higher-dimensional improvements · SCG 2010
Computational geometry › range searching
range reporting
0.112010
Orthogonal range reporting: query lower bounds, optimal structures in 3-d, and higher-dimensional improvements · SCG 2010
Algorithms and data structures
priority queues
0.122007
An Optimal Cache-Oblivious Priority Queue and Its Application to Graph Algorithms · SIAM J. Comput. 2007
Cache-oblivious priority queue and graph algorithm applications · STOC 2002
Spatial and temporal data management
spatial query processing
0.122008
The priority R-tree: A practically efficient and worst-case optimal R-tree · ACM Trans. Algorithms 2008
Scalable Sweeping-Based Spatial Join · VLDB 1998
Graph algorithms and graph theory
shortest path
0.122013
Multiway Simple Cycle Separators and I/O-Efficient Algorithms for Planar Graphs · SODA 2013
External Memory Algorithms for Diameter and All-Pairs Shortest-Paths on Sparse Graphs · ICALP 2004
Computational geometry › topological data analysis
contour tree
0.122010
I/O-efficient batched union-find and its applications to terrain analysis · SCG 2006
I/O-efficient batched union-find and its applications to terrain analysis · ACM Trans. Algorithms 2010
Computational geometry › topological data analysis
persistence
0.122010
I/O-efficient batched union-find and its applications to terrain analysis · SCG 2006
I/O-efficient batched union-find and its applications to terrain analysis · ACM Trans. Algorithms 2010
Computational geometry
terrain analysis
0.122010
I/O-efficient batched union-find and its applications to terrain analysis · SCG 2006
I/O-efficient batched union-find and its applications to terrain analysis · ACM Trans. Algorithms 2010

Methods — techniques the papers use, named apart from their topics

dynamic data structures · 0.4pointer machine model · 0.3shallow cuttings · 0.3i/o-efficient algorithms · 0.3lower bound techniques · 0.3simple cycle separator · 0.2multiway separator · 0.2dynamic trees · 0.1minimum spanning tree · 0.1cache-oblivious analysis · 0.1indexability theory · 0.1i/o model · 0.1i/o complexity · 0.1worst-case i/o analysis · 0.1experimental study · 0.1i/o complexity analysis · 0.1window query · 0.0r-tree · 0.0
YearPublicationVenuePosition
2020 1D and 2D Flow Routing on a Terrain
abstract
An important problem in terrain analysis is modeling how water flows across a terrain creating floods by forming channels and filling depressions. In this paper we study a number of flow-query related problems: given a terrain Σ represented as a triangulated xy-monotone surface with n vertices, and a rain distribution R which may vary over time, determine how much water is flowing over a given edge as a function of time. We develop internal-memory as well as I/O-efficient algorithms for flow queries. This paper contains four main results:
Aaron Lowe, Svend C. Svendsen, Pankaj K. Agarwal, Lars Arge
SIGSPATIAL/GIS4
2019 Learning to Find Hydrological Corrections
abstract
High resolution Digital Elevation models, such as the grid terrain model of Denmark with more than 200 billion measurements, is a basic requirement for water flow modelling and flood risk analysis. However, a large number of modifications often need to be made to even very accurate terrain models, before they can be used in realistic flow modeling. This include removal of bridges, which otherwise act as dams in flow modeling, and inclusion of culverts that transport water underneath roads. For this reason, there is list of known hydrological corrections for the danish model. However, producing this list is a slow an expensive process, since it is to a large extent done manually, often with only local input. In this paper we propose a new algorithmic approach based on machine learning and convolutional neural networks for automatically detecting hydrological corrections on large terrain data. Our model is able to detect most known hydrological corrections and quite a few more that should have been included in the original list.
Lars Arge, Allan Grønlund Jørgensen, Svend C. Svendsen, Jonas Tranberg
SIGSPATIAL/GIS1
2018 Computing Floods Caused by Non-Uniform Sea-Level Rise
abstract
Predicting floods caused by the rise of the sea level is a critical task for preventing large scale catastrophes. Such predictions can potentially be made using a forecast of the sea level and a detailed model of the terrain. However, since available terrain datasets can easily exceed the size of the main memory of a standard computer, I/O (rather than internal computation time) can often become the bottleneck when computing such predictions. Thus to perform predictions efficiently we need an I/O-efficient approach, which minimizes the transfer of data blocks between main memory and disk. Given a terrain raster T and a sea-level forecast raster S of N cells each, we examine the problem of computing the water level of the induced flood for each cell in T. We introduce an I/O-efficient algorithm for this problem that uses O((N/B) logM/B (X/B)) I/Os after O((N/B) logM/B (N/B)) I/Os of preprocessing, where X is the number of local minima in T, and M and B are the size of main memory and data block, respectively. When X < M (which holds in practice) our algorithm requires optimal O(N/B) I/Os after preprocessing. We have implemented our algorithm and put considerable effort into engineering it. We present experiments that illustrate the efficiency and practicality of the algorithm, which is so efficient that work is underway to incorporate our results in the forecast services of the Danish Meteorological Institute.
Lars Arge, Yujin Shin, Constantinos Tsirogiannis
ALENEX1
2018 Improved Dynamic Geodesic Nearest Neighbor Searching in a Simple Polygon
abstract
We present an efficient dynamic data structure that supports geodesic nearest neighbor queries for a set $S$ of point sites in a static simple polygon $P$. Our data structure allows us to insert a new site in $S$, delete a site from $S$, and ask for the site in $S$ closest to an arbitrary query point $q \in P$. All distances are measured using the geodesic distance, that is, the length of the shortest path that is completely contained in $P$. Our data structure achieves polylogarithmic update and query times, and uses $O(n\log^3n\log m + m)$ space, where $n$ is the number of sites in $S$ and $m$ is the number of vertices in $P$. The crucial ingredient in our data structure is an implicit representation of a vertical shallow cutting of the geodesic distance functions. We show that such an implicit representation exists, and that we can compute it efficiently.
Pankaj K. Agarwal, Lars Arge, Frank Staals
SoCG2
2017 I/O-Efficient Event Based Depression Flood Risk
abstract
An important problem in terrain analysis is modeling how water flows across a terrain and creates floods by filling up depressions. The accuracy of such modeling depends critically on the precision of the terrain data, and available high-resolution terrain models of even fairly small geographic regions often exceed the size of a computer's main memory. In such cases movement of data between main memory and external memory (such as disk) is often the bottleneck in the computation. Thus it is important to develop I/O-efficient modeling algorithms, that is, algorithms that minimize the movement of blocks of data between main memory and disk. In this paper we develop practically I/O-efficient algorithms for the problem of computing the areas of a terrain that are flooded in a given flash flood event due to water collecting in depressions. Previous work only considered events where rain falls at a constant uniform rate on the entire terrain. In reality, local extreme flash floods can affect downstream areas that do not receive heavy rainfall directly, so it is important to model such non-uniform events. Our main algorithm uses 풪(Sort(N)+Scan(H·X)) I/Os, where N is the size of the terrain, Sort(N) and Scan(N) are the number of I/Os required to sort and read N elements in the standard two-level I/O-model, respectively, X is the number of sinks in the terrain and H the height of the so-called merge-tree, which is a hierarchical representation of the depressions of the terrain. Under practically realistic assumptions about the main memory size compared to X and H, we also develop 풪(Sort(N)) I/O-algorithms. One of these algorithms can handle an event in optimal 풪(Scan(N)) I/Os after using 풪(Sort(N)) I/Os on preprocessing the terrain. We have implemented our algorithms and show that they work very well in practice.
Lars Arge, Mathias Rav, Sarfraz Raza, Morten Revsbæk
ALENEX1
2017 External memory pipelining made easy with TPIE
abstract
When handling large datasets that exceed the capacity of the main memory, movement of data between main memory and external memory (disk), rather than actual (CPU) computation time, is often the bottleneck in the computation. Since data is moved between disk and main memory in large contiguous blocks, this has led to the development of a large number of I/O-efficient algorithms that minimize the number of such block movements. However, actually implementing these algorithms can be somewhat of a challenge since operating systems do not give complete control over movement of blocks and management of main memory. TPIE is one of two major libraries that have been developed to support I/O-efficient algorithm implementations. It relies heavily on the fact that most I/O-efficient algorithms are naturally composed of components that stream through one or more lists of data items, while producing one or more such output lists, or components that sort such lists. Thus TPIE provides an interface where list stream processing and sorting can be implemented in a simple and modular way without having to worry about memory management or block movement. However, if care is not taken, such streaming-based implementations can lead to practically inefficient algorithms since lists of data items are typically written to (and read from) disk between components. In this paper we present a major extension of the TPIE library that includes a pipelining framework that allows for practically efficient streaming-based implementations while minimizing I/O-overhead between streaming components. The framework pipelines streaming components to avoid I/Os between components, that is, it processes several components simultaneously while passing output from one component directly to the input of the next component in main memory. TPIE automatically determines which components to pipeline and performs the required main memory management, and the extension also includes support for parallelization of internal memory computation and progress tracking across an entire application. Thus TPIE supports efficient streaming-based implementations of I/O-efficient algorithms in a simple, modular and maintainable way. The extended library has already been used to evaluate I/O-efficient algorithms in the research literature, and is heavily used in I/O-efficient commercial terrain processing applications by the Danish startup SCALGO.
Lars Arge, Mathias Rav, Svend C. Svendsen, Jakob Truelsen
IEEE BigData1
2016 Guest Editors' Foreword
Lars Arge, János Pach
Discret. Comput. Geom.1
2015 RAM-Efficient External Memory Sorting
Lars Arge, Mikkel Thorup
Algorithmica1
2014 Simplifying massive planar subdivisions
abstract
We present the first I/O-and practically-efficient algorithm for simplifying a planar subdivision, such that no point is moved more than a given distance ε xy and such that neighbor relations between faces (homotopy) are preserved.Under some practically realistic assumptions, our algorithm uses O(SORT(N )) I/Os, where N is the size of the decomposition and SORT(N ) is the number of I/Os need to sort in the standard externalmemory model of computation.Previously, such an algorithm was only known for the special case of contour map simplification.Our algorithm is simple enough to be of practical interest.In fact, although more general, it is significantly simpler than the previous contour map simplification algorithm.We have implemented our algorithm and present results of experimenting with it on massive reallife data.The experiments confirm that the algorithm is efficient in practice.For example, for the contour map simplification problem it is significantly faster than the previous algorithm, while obtaining approximately the same simplification factor.
Lars Arge, Jakob Truelsen, Jungwoo Yang
ALENEX1
2013 Computing betweenness centrality in external memory
abstract
Betweenness centrality is one of the most well-known measures of the importance of nodes in a social-network graph. In this paper we describe the first known external-memory and cache-oblivious algorithms for computing betweenness centrality. We present four different external-memory algorithms exhibiting various tradeoffs with respect to performance. Two of the algorithms are cache-oblivious. We describe general algorithms for networks with weighted and unweighted edges and a specialized algorithm for networks with small diameters, as is common in social networks exhibiting the “small worlds” phenomenon.
Lars Arge, Michael T. Goodrich, Freek van Walderveen
IEEE BigData1
2013 An Optimal and Practical Cache-Oblivious Algorithm for Computing Multiresolution Rasters
abstract
In many scientific applications it is required to reconstruct a raster dataset many times, each time using a different resolution. This leads to the following problem; let $\mathcal{G}$ be a raster of $\sqrt{N}$ x $\sqrt{N}$ cells. We want to compute for every integer 2 $\leq \mu \leq \sqrt{N}$ a raster $\mathcal{G}_\mu$ of [ $\sqrt{N}/\mu$ ] x [ $\sqrt{N}/\mu$ ] cells where each cell of $\mathcal{G}_\mu$ stores the average of the values of μ x μ cells of $\mathcal{G}$ . Here we consider the case where $\mathcal{G}$ is so large that it does not fit in the main memory of the computer. We present a novel algorithm that solves this problem in O(scan(N)) data block transfers from/to the external memory, and in θ(N) CPU operations; here scan(N) is the number of block transfers that are needed to read the entire dataset from the external memory. Unlike previous results on this problem, our algorithm achieves this optimal performance without making any assumptions on the size of the main memory of the computer. Moreover, this algorithm is cache-oblivious; its performance does not depend on the data block size and the main memory size. We have implemented the new algorithm and we evaluate its performance on datasets of various sizes; we show that it clearly outperforms previous approaches on this problem. In this way, we provide solid evidence that non-trivial cache-oblivious algorithms can be implemented so that they perform efficiently in practice.
Lars Arge, Gerth Stølting Brodal, Jakob Truelsen, Constantinos Tsirogiannis
ESA1
2013 RAM-Efficient External Memory Sorting
Lars Arge, Mikkel Thorup
ISAAC1
2013 Multiway Simple Cycle Separators and I/O-Efficient Algorithms for Planar Graphs
abstract
We revisit I/O-efficient solutions to a number of fundamental problems on planar graphs: single-source shortest paths, topological sorting, and computing strongly connected components. Existing I/O-efficient solutions to these problems pay for I/O efficiency using excessive computation time in internal memory, thereby completely negating the performance gain achieved by minimizing the number of disk accesses. In this paper, we show how to make these algorithms simultaneously efficient in internal and external memory so they achieve I/O complexity O(sort(N)) and take O(N log N) time in internal memory, where sort(N) is the number of I/Os needed to sort N items in external memory. The key, and the main technical contribution of this paper, is a multiway version of Miller's simple cycle separator theorem. We show how to compute these separators in linear time in internal memory, and using O(sort(N)) I/Os and O(N log N) (internal-memory computation) time in external memory.
Freek van Walderveen, Norbert Zeh, Lars Arge
SODA3
2013 On (Dynamic) Range Minimum Queries in External Memory
Lars Arge, Johannes Fischer 0001, Peter Sanders 0001, Nodari Sitchinava
WADS1
2013 Efficient external memory structures for range-aggregate queries
Pankaj K. Agarwal, Lars Arge, Sathish Govindarajan, Jun Yang 0001, Ke Yi 0001
Comput. Geom.2
2013 (Approximate) Uncertain Skylines
Peyman Afshani, Pankaj K. Agarwal, Lars Arge, Kasper Green Larsen, Jeff M. Phillips
Theory Comput. Syst.3
2012 Higher-dimensional orthogonal range reporting and rectangle stabbing in the pointer machine model
abstract
In this paper, we consider two fundamental problems in the pointer machine model of computation, namely orthogonal range reporting and rectangle stabbing. Orthogonal range reporting is the problem of storing a set of n points in d-dimensional space in a data structure, such that the t points in an axis-aligned query rectangle can be reported efficiently. Rectangle stabbing is the "dual" problem where a set of n axis-aligned rectangles should be stored in a data structure, such that the t rectangles that contain a query point can be reported efficiently. Very recently an optimal O(log n+t) query time pointer machine data structure was developed for the three-dimensional version of the orthogonal range reporting problem. However, in four dimensions the best known query bound of O(log2n / log log n + t) has not been improved for decades.
Peyman Afshani, Lars Arge, Kasper Green Larsen
SCG2
2012 Simplifying Massive Contour Maps
Lars Arge, Lasse Deleuran, Thomas Mølhave, Morten Revsbæk, Jakob Truelsen
ESA1
2012 Fast generation of multiple resolution instances of raster data sets
abstract
In many GIS applications it is important to study the characteristics of a raster data set at multiple resolutions. Often this is done by generating several coarser resolution rasters from a fine resolution raster. In this paper we describe efficient algorithms for different variants of this problem.
Lars Arge, Herman J. Haverkort, Constantinos Tsirogiannis
SIGSPATIAL/GIS1
2012 External Memory Planar Point Location with Logarithmic Updates
Lars Arge, Gerth Stølting Brodal, S. Srinivasa Rao 0001
Algorithmica1
2012 An Optimal Dynamic Data Structure for Stabbing-Semigroup Queries
abstract
Let S be a set of n intervals in $\mathbb{R}$, and let $(\mathbf{S}, +)$ be any commutative semigroup. We assign a weight $\omega(s) \in \mathbf{S}$ to each interval in S. For a point $x \in \mathbb{R}$, let $S(x) \subseteq S$ be the set of intervals that contain x. Given a point $q \in \mathbb{R}$, the stabbing-semigroup query asks for computing $\sum_{s \in S(q)} \omega(s)$. We propose a linear-size dynamic data structure, under the pointer-machine model, that answers queries in worst-case $O(\log n)$ time and supports both insertions and deletions of intervals in amortized $O(\log n)$ time. It is the first data structure that attains the optimal $O(\log n)$ bound for all three operations. Furthermore, our structure can easily be adapted to external memory, where we obtain a linear-size structure that answers queries and supports updates in $O(\log_B n)$ I/Os, where B is the disk block size. For the restricted case of a nested family of intervals (either every pair of intervals is disjoint or one contains the other), we present a simpler solution based on dynamic trees.
Pankaj K. Agarwal, Lars Arge, Haim Kaplan, Eyal Molad, Robert E. Tarjan, Ke Yi 0001
SIAM J. Comput.2
2011 (Approximate) uncertain skylines
abstract
Given a set of points with uncertain locations, we consider the problem of computing the probability of each point lying on the skyline, that is, the probability that it is not dominated by any other input point. If each point's uncertainty is described as a probability distribution over a discrete set of locations, we improve the best known exact solution. We also suggest why we believe our solution might be optimal. Next, we describe simple, near-linear time approximation algorithms for computing the probability of each point lying on the skyline. In addition, some of our methods can be adapted to construct data structures that can efficiently determine the probability of a query point lying on the skyline.
Peyman Afshani, Pankaj K. Agarwal, Lars Arge, Kasper Green Larsen, Jeff M. Phillips
ICDT3
2010 Orthogonal range reporting: query lower bounds, optimal structures in 3-d, and higher-dimensional improvements
abstract
Orthogonal range reporting is the problem of storing a set of n points in d-dimensional space, such that the k points in an axis-orthogonal query box can be reported efficiently. While the 2-d version of the problem was completely characterized in the pointer machine model more than two decades ago, this is not the case in higher dimensions.
Peyman Afshani, Lars Arge, Kasper Green Larsen
SCG2
2010 I/O-efficient computation of water flow across a terrain
abstract
Consider rain falling at a uniform rate onto a terrain T represented as a triangular irregular network. Over time, water collects in the basins of T, forming lakes that spill into adjacent basins. Our goal is to compute, for each terrain vertex, the time this vertex is flooded (covered by water). We present an I/O-efficient algorithm that solves this problem using O(sort(X) log (X/M) + sort(N)) I/Os, where N is the number of terrain vertices, X is the number of pits of the terrain, sort(N) is the cost of sorting N data items, and M is the size of the computer's main memory. Our algorithm assumes that the volumes and watersheds of the basins of T have been precomputed using existing methods.
Lars Arge, Morten Revsbæk, Norbert Zeh
SCG1
2010 Cleaning massive sonar point clouds
abstract
We consider the problem of automatically cleaning massive sonar data point clouds, that is, the problem of automat-ically removing noisy points that for example appear as a result of scans of (shoals of) fish, multiple reflections, scan-ner self-reflections, refraction in gas bubbles, and so on. We describe a new algorithm that avoids the problems of previous local-neighbourhood based algorithms. Our algo-rithm is theoretically I/O-efficient, that is, it is capable of efficiently processing massive sonar point clouds that do not fit in internal memory but must reside on disk. The algo-rithm is also relatively simple and thus practically efficient, partly due to the development of a new simple algorithm for computing the connected components of a graph embedded in the plane. A version of our cleaning algorithm has already been incorporated in a commercial product. Categories and Subject Descriptors: F.2.2 [Analysis of algorithms and problem complexity]: Nonnumerical algo-rithms and problems—Geometrical problems and computa-tions
Lars Arge, Kasper Green Larsen, Thomas Mølhave, Freek van Walderveen
GIS1
2010 Parallel external memory graph algorithms
abstract
In this paper, we study parallel I/O efficient graph algorithms in the Parallel External Memory (PEM) model, one o f the private-cache chip multiprocessor (CMP) models. We study the fundamental problem of list ranking which leads to efficient solutions to problems on trees, such as computing lowest common ancestors, tree contraction and expression tree evaluation. We also study the problems of computing the connected and biconnected components of a graph, minimum spanning tree of a connected graph and ear decomposition of a biconnected graph. All our solutions on a P-processor PEM model provide an optimal speedup of ¿(P) in parallel I/O complexity and parallel computation time, compared to the single-processor external memory counterparts.
Lars Arge, Michael T. Goodrich, Nodari Sitchinava
IPDPS1
2010 I/O-efficient batched union-find and its applications to terrain analysis
abstract
In this article we present an I/O-efficient algorithm for the batched (off-line) version of the union-find problem. Given any sequence of N union and find operations, where each union operation joins two distinct sets, our algorithm uses O (SORT( N )) = O ( N / B log M/B N / B ) I/Os, where M is the memory size and B is the disk block size. This bound is asymptotically optimal in the worst case. If there are union operations that join a set with itself, our algorithm uses O (SORT( N ) + MST( N )) I/Os, where MST( N ) is the number of I/Os needed to compute the minimum spanning tree of a graph with N edges. We also describe a simple and practical O (SORT( N ) log( N / M ))-I/O algorithm for this problem, which we have implemented. We are interested in the union-find problem because of its applications in terrain analysis. A terrain can be abstracted as a height function defined over R 2 , and many problems that deal with such functions require a union-find data structure. With the emergence of modern mapping technologies, huge amount of elevation data is being generated that is too large to fit in memory, thus I/O-efficient algorithms are needed to process this data efficiently. In this article, we study two terrain-analysis problems that benefit from a union-find data structure: (i) computing topological persistence and (ii) constructing the contour tree. We give the first O (SORT( N ))-I/O algorithms for these two problems, assuming that the input terrain is represented as a triangular mesh with N vertices.
Pankaj K. Agarwal, Lars Arge, Ke Yi 0001
ACM Trans. Algorithms2
2009 Orthogonal Range Reporting in Three and Higher Dimensions
abstract
In orthogonal range reporting we are to preprocess N points in d-dimensional space so that the points inside a d-dimensional axis-aligned query box can be reported efficiently. This is a fundamental problem in various fields, including spatial databases and computational geometry. In this paper we provide a number of improvements for three and higher dimensional orthogonal range reporting: In the pointer machine model, we improve all the best previous results, some of which have not seen any improvements in almost two decades. In the I/O-model, we improve the previously known three-dimensional structures and provide the first (non-trivial) structures for four and higher dimensions.
Peyman Afshani, Lars Arge, Kasper Green Larsen
FOCS2
2009 I/O-Efficient Contour Tree Simplification
Lars Arge, Morten Revsbæk
ISAAC1
2009 Worst-case efficient range search indexing: invited tutorial
abstract
In this tutorial we will describe some of the recent advances in the development of worst-case efficient range search indexing structures, that is, structures for storing a set of data points such that the points in a axis-parallel (hyper-) query rectangle can be found efficiently (with as few disk accesses - or I/Os - as possible). We first quickly discuss the well-known and optimal structure for the one-dimensional version of the problem, the B-tree [10, 12], along with its variants weight-balanced B-trees [9], multi-version (or persistent) B-trees [6, 11, 13, 22] and buffer-trees [4]. Then we discuss the external priority search tree [8], which solves a restricted version of the two-dimensional version of the problem where the query rectangle is unbounded on one side. This structure is then used in a range tree index structure [8, 21] that answers general two-dimensional queries in the same number of I/Os as the B-tree in the one-dimensional case, but using super-linear space. We also describe the linear space kdB-tree [19, 20] and O-tree [17] index structures that also solve the problem efficiently (but using more I/Os than the range tree). A detailed presentation of all the the above structures can be found in lecture notes by the author [5]. Finally, we also discuss lower bounds techniques, most notably the theory of indexability [16], that can be used to prove that both the range tree and kdB-tree/O-tree are optimal among query efficient and linear space structures, respectively [2, 8, 17], as well as recent index structures for higher-dimensional range search indexing [1]. We end by mentioning various R-tree variant [7, 18, 15] that can be used to solve the extended version of range search indexing where the queries as well as the data are (hyper-) rectangles. More comprehensive surveys of efficient index structures can be found in [3, 14, 23].
Lars Arge
PODS1
2009 Recent Advances in Worst-Case Efficient Range Search Indexing
Lars Arge
SSTD1
2009 Cache-Oblivious R-Trees
Lars Arge, Mark de Berg, Herman J. Haverkort
Algorithmica1
2009 Optimal External Memory Planar Point Enclosure
Lars Arge, Vasilis Samoladas, Ke Yi 0001
Algorithmica1
2009 Foreword
Lars Arge, Emo Welzl
Algorithmica1
2009 Preface
Lars Arge, Christian Cachin, Andrzej Tarlecki
Theor. Comput. Sci.1
2008 I/o-efficient efficient algorithms for computing contours on a terrain
abstract
A terrain M is the graph of a bivariate function. We assume that M is represented as a triangulated surface with N vertices. A contour (or isoline) of M is a connected component of a level set of M. Generically, each contour is a closed polygonal curve; at "critical" levels these curves may touch each other or collapse to a point. We present I/O efficient algorithms for the following two problems related to computing contours of M:
Pankaj K. Agarwal, Lars Arge, Thomas Mølhave, Bardia Sadri
SCG2
2008 External memory planar point location with logarithmic updates
abstract
Point location is an extremely well-studied problem both in internal memory models and recently also in the external memory model. In this paper, we present an I/O-efficient dynamic data structure for point location in general planar subdivisions. Our structure uses linear space to store a subdivision with N segments. Insertions and deletions of segments can be performed in amortized O(logB N) I/Os and queries can be answered in O(logB2 N) I/Os in the worst-case. The previous best known linear space dynamic structure also answers queries in O(logB2 N) I/Os, but only supports insertions in amortized O(logB2 N) I/Os. Our structure is also considerably simpler than previous structures.
Lars Arge, Gerth Stølting Brodal, S. Srinivasa Rao 0001
SCG1
2008 Cache-Oblivious Red-Blue Line Segment Intersection
Lars Arge, Thomas Mølhave, Norbert Zeh
ESA1
2008 Fundamental parallel algorithms for private-cache chip multiprocessors
abstract
In this paper, we study parallel algorithms for private-cache chip multiprocessors (CMPs), focusing on methods for foundational problems that are scalable with the number of cores. By focusing on private-cache CMPs, we show that we can design efficient algorithms that need no additional assumptions about the way cores are interconnected, for we assume that all inter-processor communication occurs through the memory hierarchy. We study several fundamental problems, including prefix sums, selection, and sorting, which often form the building blocks of other parallel algorithms. Indeed, we present two sorting algorithms, a distribution sort and a mergesort. Our algorithms are asymptotically optimal in terms of parallel cache accesses and space complexity under reasonable assumptions about the relationships between the number of processors, the size of memory, and the size of cache blocks. In addition, we study sorting lower bounds in a computational model, which we call the parallel external-memory (PEM) model, that formalizes the essential properties of our algorithms for private-cache CMPs.
Lars Arge, Michael T. Goodrich, Michael J. Nelson 0002, Nodari Sitchinava
SPAA1
2008 The priority R-tree: A practically efficient and worst-case optimal R-tree
abstract
We present the priority R-tree, or PR-tree, which is the first R-tree variant that always answers a window query using O (( N / B ) 1−1/ d + T / B ) I/Os, where N is the number of d -dimensional (hyper-) rectangles stored in the R-tree, B is the disk block size, and T is the output size. This is provably asymptotically optimal and significantly better than other R-tree variants, where a query may visit all N / B leaves in the tree even when T = 0. We also present an extensive experimental study of the practical performance of the PR-tree using both real-life and synthetic data. This study shows that the PR-tree performs similarly to the best-known R-tree variants on real-life and relatively nicely distributed data, but outperforms them significantly on more extreme data.
Lars Arge, Mark de Berg, Herman J. Haverkort, Ke Yi 0001
ACM Trans. Algorithms1
2007 TerraStream: from elevation data to watershed hierarchies
abstract
We consider the problem of extracting a river network and a watershed hierarchy from a terrain given as a set of irregularly spaced points. We describe TERRASTREAM, a "pipelined" solution that consists of four main stages: construction of a digital elevation model (DEM), hydrological conditioning, extraction of river networks, and construction of a watershed hierarchy. Our approach has several advantages over existing methods. First, we design and implement the pipeline so that each stage is scalable to massive data sets; a single non-scalable stage would create a bottleneck and limit overall scalability. Second, we develop the algorithms in a general framework so that they work for both TIN and grid DEMs. Furthermore, TERRASTREAM is flexible and allows users to choose from various models and parameters, yet our pipeline is designed to reduce (or eliminate) the need for manual intervention between stages.
Andrew Danner, Thomas Mølhave, Ke Yi 0001, Pankaj K. Agarwal, Lars Arge, Helena Mitásová
GIS5
2007 External-Memory Algorithms for Processing Line Segments in Geographic Information Systems
Lars Arge, Darren Erik Vengroff, Jeffrey Scott Vitter
Algorithmica1
2007 An Optimal Cache-Oblivious Priority Queue and Its Application to Graph Algorithms
abstract
We develop an optimal cache‐oblivious priority queue data structure, supporting insertion, deletion, and delete‐min operations in $O(\frac{1}{B}\log_{M/B}\frac{N}{B})$ amortized memory transfers, where M and B are the memory and block transfer sizes of any two consecutive levels of a multilevel memory hierarchy. In a cache‐oblivious data structure, M and B are not used in the description of the structure. Our structure is as efficient as several previously developed external memory (cache‐aware) priority queue data structures, which all rely crucially on knowledge about M and B. Priority queues are a critical component in many of the best known external memory graph algorithms, and using our cache‐oblivious priority queue we develop several cache‐oblivious graph algorithms.
Lars Arge, Michael A. Bender, Erik D. Demaine, Bryan Holland-Minkley, J. Ian Munro
SIAM J. Comput.1
2006 I/O-efficient batched union-find and its applications to terrain analysis
abstract
Despite extensive study over the last four decades and numerous applications, no I/O-efficient algorithm is known for the union-find problem. In this paper we present an I/O-efficient algorithm for the batched (off-line) version of the union-find problem. Given any sequence of N union and find operations, where each union operation joins two distinct sets, our algorithm uses O(sort(N)) = O(N/BlogM/BN/B) I/Os, where M is the memory size and B is the disk block size. This bound is asymptotically optimal in the worst case. If there are union operations that join a set with itself, our algorithm uses O(sort(N) + mst(N)) I/Os, where mst(N) is the number of I/Os needed to compute the minimum spanning tree of a graph with N edges. We also describe a simple and practical O(sort(N)log(N/M))-I/O algorithm for this problem, which we have implemented.We are interested in the union-find problem because of its applications in terrain analysis. A terrain can be abstracted as a height function defined over R2, and many problems that deal with such functions require a union-find data structure. With the emergence of modern mapping technologies, huge amount of elevation data is being generated that is too large to fit in memory, thus I/O-efficient algorithms are needed to process this data efficiently. In this paper, we study two terrain analysis problems that benefit from a union-find data structure: (i) computing topological persistence and (ii) constructing the contour tree. These structures have important applications such as terrain modeling, flow analysis, topological feature extraction, etc. We give the first O(sort(N))-I/O algorithms for these two problems, assuming that the input terrain is represented as a triangular mesh with N vertices.Finally, we report some preliminary experimental results, showing that our algorithms give order-of-magnitude improvement over previous methods on large data sets that do not fit in memory.
Pankaj K. Agarwal, Lars Arge, Ke Yi 0001
SCG2
2006 Simple and semi-dynamic structures for cache-oblivious planar orthogonal range searching
abstract
In this paper, we develop improved cache-oblivious data structures for two- and three-sided planar orthogonal range searching. Our main result is an optimal static structure for two-sided range searching that uses linear space and supports queries in O(logBN + T/B) memory transfers, where B is the block size of any level in a multi-level memory hierarchy and T is the number of reported points. Our structure is the first linear-space cache-oblivious structure for a planar range searching problem with the optimal O(logBN + T/B) query bound. The structure is very simple, and we believe it to be of practical interest.We also show that our two-sided range search structure can be constructed cache-obliviously in O(N logBN) memory transfers. Using the logarithmic method and fractional cascading, this leads to a semi-dynamic linear-space structure that supports two-sided range queries in O(log2 N + T/B) memory transfers and insertions in O(log2N ⋅ logB N) memory transfers amortized. This structure is the first (semi-)dynamic structure for any planar range searching problem with a query bound that is logarithmic in the number of elements in the structure and linear in the output size.Finally, using a simple standard construction, we also obtain a static O(N log2 N)-space structure for three-sided range searching that supports queries in the optimal bound of O(logB N + T/B) memory transfers. These bounds match the bounds of the best previously known structure for this problem; but our structure is much simpler, simple enough, we believe, to be of practical interest.
Lars Arge, Norbert Zeh
SCG1
2006 Improved Dynamic Planar Point Location
abstract
We develop the first linear-space data structures for dynamic planar point location in general subdivisions that achieve logarithmic query time and poly-logarithmic update time
Lars Arge, Gerth Stølting Brodal, Loukas Georgiadis
FOCS1
2005 Cache-oblivious planar orthogonal range searching and counting
abstract
We present the first cache-oblivious data structure for planar orthogonal range counting, and improve on previous results for cache-oblivious planar orthogonal range searching.Our range counting structure uses O(N log2 N) space and answers queries using O(logB N) memory transfers, where B is the block size of any memory level in a multilevel memory hierarchy. Using bit manipulation techniques, the space can be further reduced to O(N). The structure can also be modified to support more general semigroup range sum queries in O(logB N) memory transfers, using O(N log2 N) space for three-sided queries and O(N log22 N/log2 log2 N) space for four-sided queries.Based on the O(N log N) space range counting structure, we develop a data structure that uses O(N log2 N) space and answers three-sided range queries in O(logB N+T/B) memory transfers, where T is the number of reported points. Based on this structure, we present a general four-sided range searching structure that uses O(N log22 N/log2 log2 N) space and answers queries in O(logB N + T/B) memory transfers.
Lars Arge, Gerth Stølting Brodal, Rolf Fagerberg, Morten Laustsen
SCG1
2005 Cache-oblivious r-trees
abstract
We develop a cache-oblivious data structure for storing a set S of N axis-aligned rectangles in the plane, such that all rectangles in S intersecting a query rectangle or point can be found efficiently. Our structure is an axis-aligned bounding-box hierarchy and as such it is the first cache-oblivious R-tree with provable performance guarantees. If no point in the plane is contained in B or more rectangles in S, the structure answers a rectangle query using O(√N/B + T/B) memory transfers and a point query using O((N/B)ε) memory transfers for any ε > 0, where B is the block size of memory transfers between any two levels of a multilevel memory hierarchy. We also develop a variant of our structure that achieves the same performance on input sets with arbitrary overlap among the rectangles. The rectangle query bound matches the bound of the best known linear-space cache-aware structure.
Lars Arge, Mark de Berg, Herman J. Haverkort
SCG1
2005 I/O-Efficient Construction of Constrained Delaunay Triangulations
Pankaj K. Agarwal, Lars Arge, Ke Yi 0001
ESA2
2005 External Data Structures for Shortest Path Queries on Planar Digraphs
Lars Arge, Laura Toma
ISAAC1
2005 Skip-webs: efficient distributed data structures for multi-dimensional data sets
abstract
We present a framework for designing efficient distributed data structures for multi-dimensional data. Our structures, which we call skip-webs, extend and improve previous randomized distributed data structures, including skipnets and skip graphs. Our framework applies to a general class of data querying scenarios, which include linear (one-dimensional) data, such as sorted sets, as well as multi-dimensional data, such as d-dimensional octrees and digital tries of character strings defined over a fixed alphabet.We show how to perform a query over such a set of n items spread among n hosts using O(log n/log log n) messages for one-dimensional data, or O(log n) messages for fixed-dimensional data, while using only O(log n) space per host. We also show how to make such structures dynamic so as to allow for insertions and deletions in O(log n) messages for quadtrees, octrees, and digital tries, and O(log n/log log n) messages for one-dimensional data. Finally, we show how to apply a blocking strategy to skip-webs to further improve message complexity for one-dimensional data when hosts can store more data.
Lars Arge, David Eppstein, Michael T. Goodrich
PODC1
2005 An optimal dynamic interval stabbing-max data structure?
Pankaj K. Agarwal, Lars Arge, Ke Yi 0001
SODA2
2004 External Geometric Data Structures
Lars Arge
COCOON1
2004 Efficient Tradeoff Schemes in Data Structures for Querying Moving Objects
Pankaj K. Agarwal, Lars Arge, Jeff Erickson 0001, Hai Yu 0005
ESA2
2004 Optimal External Memory Planar Point Enclosure
Lars Arge, Vasilis Samoladas, Ke Yi 0001
ESA1
2004 External Memory Algorithms for Diameter and All-Pairs Shortest-Paths on Sparse Graphs
Lars Arge, Ulrich Meyer 0001, Laura Toma
ICALP1
2004 The Priority R-Tree: A Practically Efficient and Worst-Case Optimal R-Tree
abstract
We present the Priority R-tree, or PR-tree, which is the first R-tree variant that always answers a window query using O((N/B)1 1/d + T/B) I/Os, where N is the number of d-dimensional (hyper-) rectangles stored in the R-tree, B is the disk block size, and T is the output size. This is provably asymptotically optimal and significantly better than other R-tree variants, where a query may visit all N/B leaves in the tree even when T = 0. We also present an extensive experimental study of the practical performance of the PR-tree using both real-life and synthetic data. This study shows that the PR-tree performs similar to the best known R-tree variants on real-life and relatively nicely distributed data, but outperforms them significantly on more extreme data.
Lars Arge, Mark de Berg, Herman J. Haverkort, Ke Yi 0001
SIGMOD Conference1
2004 I/O-efficient dynamic planar point location
Lars Arge, Jan Vahrenhold
Comput. Geom.1
2003 Implementing External Memory Algorithms and Data Structures (Abstract of Invited talk)
Lars Arge
ALENEX1
2003 I/O-efficient Point Location Using Persistent B-Trees
Lars Arge, Andrew Danner, Sha-Mayn Teh
ALENEX1
2003 Cache-oblivious data structures for orthogonal range searching
abstract
We develop cache-oblivious data structures for orthogonal range searching, the problem of finding all T points in a set of N points in IRd lying in a query hyper-rectangle. Cache-oblivious data structures are designed to be efficient in arbitrary memory hierarchies.We describe a dynamic linear-size data structure that answers d-dimensional queries in O((N/B)1-1/d+T/B) memory transfers, where B is the block size of any two levels of a multilevel memory hierarchy. A point can be inserted into or deleted from this data structure in O(log2B N) memory transfers. We also develop a static structure for the two-dimensional case that answers queries in O(logB N+T/B) memory transfers using O(N log22 N) space. The analysis of the latter structure requires that B=22c for some non-negative integer constant c.
Pankaj K. Agarwal, Lars Arge, Andrew Danner, Bryan Holland-Minkley
SCG2
2003 I/O-Efficient Structures for Orthogonal Range-Max and Stabbing-Max Queries
Pankaj K. Agarwal, Lars Arge, Jun Yang 0001, Ke Yi 0001
ESA2
2003 I/O-Efficient Strong Connectivity and Depth-First Search for Directed Planar Graphs
abstract
We present the first I/O-efficient algorithms for the following fundamental problems on directed planar graphs: finding the strongly connected components, finding a simple-path 2/3-separator, and computing a depth-first spanning (DFS) tree. Our algorithms for the first two problems perform O(sort(N)) I/Os, where N = V + E and sort(N) = /spl Theta/((N/B)) is the number of I/Os required to sort N elements. The DFS-algorithm performs O(sort(N) log(N/M)) I/Os, where M is the number of elements that fit into main memory.
Lars Arge, Norbert Zeh
FOCS1
2003 CRB-Tree: An Efficient Indexing Scheme for Range-Aggregate Queries
Sathish Govindarajan, Pankaj K. Agarwal, Lars Arge
ICDT3
2003 I/O-efficient topological sorting of planar DAGs
abstract
We present algorithms that solve a number of fundamental problems on planar directed graphs (planar digraphs) in O((N)) I/Os, where (N) is the number of I/Os needed to sort N elements. The problems we consider are breadth-first search, the single-source shortest path problem, computing a directed ear decomposition of a strongly connected planar digraph, computing an open directed ear decomposition of a strongly connected biconnected planar digraph, and topologically sorting a planar directed acyclic graph.
Lars Arge, Laura Toma, Norbert Zeh
SPAA1
2003 Efficient Object-Realtional Interval Management and Beyond
Lars Arge, Andrew Chatham
SSTD1
2003 Bkd-Tree: A Dznamic Scalable kd-Tree
Octavian Procopiuc, Pankaj K. Agarwal, Lars Arge, Jeffrey Scott Vitter
SSTD3
2003 The Buffer Tree: A Technique for Designing Batched External Data Structures
Lars Arge
Algorithmica1
2003 Efficient Flow Computation on Massive Grid Terrain Datasets
Lars Arge, Jeffrey S. Chase, Patrick N. Halpin, Laura Toma, Jeffrey Scott Vitter, Dean L. Urban, Rajiv Wickremesinghe
GeoInformatica1
2003 Indexing Moving Points
Pankaj K. Agarwal, Lars Arge, Jeff Erickson 0001
J. Comput. Syst. Sci.2
2003 Optimal External Memory Interval Management
abstract
In this paper we present the external interval tree, an optimal external memory data structure for answering stabbing queries on a set of dynamically maintained intervals. The external interval tree can be used in an optimal solution to the dynamic interval management problem, which is a central problem for object-oriented and temporal databases and for constraint logic programming. Part of the structure uses a weight-balancing technique for efficient worst-case manipulation of balanced trees, which is of independent interest. The external interval tree, as well as our new balancing technique, have recently been used to develop several efficient external data structures.
Lars Arge, Jeffrey Scott Vitter
SIAM J. Comput.1
2002 Implementing I/O-efficient Data Structures Using TPIE
Lars Arge, Octavian Procopiuc, Jeffrey Scott Vitter
ESA1
2002 Cache-oblivious priority queue and graph algorithm applications
abstract
(MATH) In this paper we develop an optimal cache-oblivious priority queue data structure, supporting insertion, deletion, and deletemin operations in O(1 \over B logM/BN \over B) amortized memory transfers, where M and B are the memory and block transfer sizes of any two consecutive levels of a multilevel memory hierarchy. In a cache-oblivious data structure, M and B are not used in the description of the structure. The bounds match the bounds of several previously developed external-memory (cache-aware) priority queue data structures, which all rely crucially on knowledge about M and B. Priority queues are a critical component in many of the best known external- memory graph algorithms, and using our cache-oblivious priority queue we develop several cache- oblivious graph algorithms.
Lars Arge, Michael A. Bender, Erik D. Demaine, Bryan Holland-Minkley, J. Ian Munro
STOC1
2002 Efficient Bulk Operations on Dynamic R-Trees
Lars Arge, Klaus H. Hinrichs, Jan Vahrenhold, Jeffrey Scott Vitter
Algorithmica1
2001 External Memory Data Structures
Lars Arge
ESA1
2001 A Framework for Index Bulk Loading and Dynamization
Pankaj K. Agarwal, Lars Arge, Octavian Procopiuc, Jeffrey Scott Vitter
ICALP2
2001 Time Responsive External Data Structures for Moving Points
Pankaj K. Agarwal, Lars Arge, Jan Vahrenhold
WADS2
2001 On External-Memory Planar Depth First Search
Lars Arge, Ulrich Meyer 0001, Laura Toma, Norbert Zeh
WADS1
2000 I/O-efficient dynamic planar point location (extended abstract)
abstract
We present the first provably I/O-efficient dynamic data structure for point location in a general planar subdivision.Our structure uses O(N/B) disk blocks to store a subdivision of size N, where B is the disk block size.Queries can be answered in 0(log~ N) I/Os in the worst-case, and insertions and deletions can be performed in O(log 2 N) and O(10g B N) I/Os amortized, respectively.Previously, an I/Oefficient dynamic point location structure was only known for monotone subdivisions.Part of our data structure is based on a new external version of the so-called logarithmic method which allows for efficient dynamization of static external-memory data structures with certain characteristics.We believe that this method could prove helpful in the dynamization of other external memory structures.
Lars Arge, Jan Vahrenhold
SCG1
2000 A Unified Approach for Indexed and Non-Indexed Spatial Joins
Lars Arge, Octavian Procopiuc, Sridhar Ramaswamy, Torsten Suel, Jan Vahrenhold, Jeffrey Scott Vitter
EDBT1
2000 Indexing Moving Points
abstract
We propose three indexing schemes for storing a set S of N points in the plane, each moving along a linear trajectory, so that a query of the following form can be answered quickly: Given a rectangle R and a real value tq, report all K points of S that lie inside R at time tq. We first present an indexing structure that, for any given constant ε > 0, uses O(N/B) disk blocks, where B is the block size, and answers a query in O((N/B)1/2+ε + K/B) I/Os. It can also report all the points of S that lie inside R during a given time interval. A point can be inserted or deleted, or the trajectory of a point can be changed, in O(log2B N) I/Os. Next, we present a general approach that improves the query time if the queries arrive in chronological order, by allowing the index to evolve over time. We obtain a trade off between the query time and the number of times the index needs to be updated as the points move. We also describe an indexing scheme in which the number of I/Os required to answer a query depends monotonically on the difference between tq and the current time. Finally, we develop an efficient indexing scheme to answer approximate nearest-neighbor queries among moving points.
Pankaj K. Agarwal, Lars Arge, Jeff Erickson 0001
PODS2
2000 Efficient Searching with Linear Constraints
Pankaj K. Agarwal, Lars Arge, Jeff Erickson 0001, Paolo Giulio Franciosa, Jeffrey Scott Vitter
J. Comput. Syst. Sci.2
1999 Efficient Bulk Operations on Dynamic R-trees
Lars Arge, Klaus H. Hinrichs, Jan Vahrenhold, Jeffrey Scott Vitter
ALENEX1
1999 On Two-Dimensional Indexability and Optimal Range Search Indexing
abstract
In this paper we settle several longstanding open problems in theory of indexability and external orthogonal range searching. In the rst part of the paper, we apply the theory of indexability to the problem of two-dimensional range searching. We show that the special case of 3-sided querying can be solved with constant redundancy and access overhead. From this, we derive indexing schemes for general 4-sided range queries that exhibit an optimal tradeo between redundancy and access overhead. In the second part of the paper, we develop dynamic external memory data structures for the two query types. Our structure for 3-sided queries occupies O(N=B) disk blocks, and it supports insertions and deletions in O(log B N) I/Os and queries in O(log B N + T=B) I/Os, where B is the disk block size, N is the number of points, and T is the query output size. These bounds are optimal. Our structure for general (4-sided) range searching occupies O (N=B)(log(N=B))= log log B N disk blocks and answers queries in O(log B N + T=B) I/Os, which are optimal. It also supports updates in O (log B N)(log(N=B))= log log B N I/Os. Center for Geometric Computing, Department of Computer Science, Duke University, Box 90129, Durham, NC 27708{0129. Supported in part by the U.S. Army Research O ce through MURI grant DAAH04{96{1{0013 and by the National Science Foundation through ESS grant EIA{9870734. Part of this work was done while visiting BRICS, Department of Computer Science, University of Aarhus, Denmark. Email: [email protected]. yDepartment of Computer Sciences, University of Texas at Austin, Austin, TX 78712-1188. Email [email protected] zCenter for Geometric Computing, Department of Computer Science, Duke University, Box 90129, Durham, NC 27708{0129. Supported in part by the U.S. Army Research O ce through MURI grant DAAH04{96{1{0013 and by the National Science Foundation through grants CCR{9522047 and EIA{9870734. Part of this work was done while visiting BRICS, Department of Computer Science, University of Aarhus, Denmark and I.N.R.I.A., Sophia Antipolis, France. Email: [email protected].
Lars Arge, Vasilis Samoladas, Jeffrey Scott Vitter
PODS1
1999 I/O-Efficient Dynamic Point Location in Monotone Planar Subdivisions
Pankaj K. Agarwal, Lars Arge, Gerth Stølting Brodal, Jeffrey Scott Vitter
SODA2
1998 Efficient Searching with Linear Constraints
abstract
We show how to preprocess a set S of points in R d into an external memory data structure that efficiently supports linear-constraint queries. Each query is in the form of a linear constraint x d a 0 + P d 1 i=1 a i x i ; the data structure must report all the points of S that satisfy the constraint. Our goal is to minimize the number of disk blocks required to store the data structure and the number of disk accesses (I/Os) required to answer a query. For d = 2 and d = 3, we present the first near-linear size data structures that can answer linear-constraint queries using an optimal number of I/Os. We also present a linear-size data structures that can answer queries efficiently in the worst case. For the d = 2 case, we also show how to combine these two approaches to obtain tradeoffs between space and query time. Finally, we show that some of our techniques extend to higher dimensions.
Pankaj K. Agarwal, Lars Arge, Jeff Erickson 0001, Paolo Giulio Franciosa, Jeffrey Scott Vitter
PODS2
1998 I/O-Efficient Algorithms for Contour-line Extraction and Planar Graph Blocking (Extended Abstract)
Pankaj K. Agarwal, Lars Arge, T. M. Murali 0001, Kasturi R. Varadarajan, Jeffrey Scott Vitter
SODA2
1998 Theory and Practice of I/O-Efficient Algorithms for Multidimensional Batched Searching Problems (Extended Abstract)
Lars Arge, Octavian Procopiuc, Sridhar Ramaswamy, Torsten Suel, Jeffrey Scott Vitter
SODA1
1998 Scalable Sweeping-Based Spatial Join
Lars Arge, Octavian Procopiuc, Sridhar Ramaswamy, Torsten Suel, Jeffrey Scott Vitter
VLDB1
1997 On Sorting Strings in External Memory (Extended Abstract)
abstract
In this paper we address for the first time the I/O complexity of the problem of sorting strings in external memory, which is a fundamental component of many large-scale text applications. In the standard unit-cost RAM comparison model, the complexity of ¤ sorting strings of total ¥ length ¦¨§©¤���������¤��¨¥� � is. By analogy, in the external memory (or I/O) model, where the internal memory has � size and the block transfer size � is, it would be natural to guess that the I/O complexity of sorting strings ¦¨§������������ � � �������� � is, but the known algorithms do not come even close to achieving this bound. Our results show, somewhat counterintuitively, that the I/O complexity of string sorting depends upon the length of the strings relative to the block size. We first consider a simple comparison I/O model, where one is not
Lars Arge, Paolo Ferragina, Roberto Grossi, Jeffrey Scott Vitter
STOC1
1996 Optimal Dynamic Interval Management in External Memory (extended abstract)
abstract
The authors present a space- and I/O-optimal external-memory data structure for answering stabbing queries on a set of dynamically maintained intervals. The data structure settles an open problem in databases and I/O algorithms by providing the first optimal external-memory solution to the dynamic interval management problem, which is a special case of 2-dimensional range searching and a central problem for object-oriented and temporal databases and for constraint logic programming. The data structure simultaneously uses optimal linear space (that is, O(N/B) blocks of disk space) and achieves the optimal O(log/sub B/ N+T/B) I/O query bound and O(log/sub B/ N) I/O update bound, where B is the I/O block size and T the number of elements in the answer to a query. The structure is also the first optimal external data structure for a 2-dimensional range searching problem that has worst-case as opposed to amortized update bounds. Part of the data structure uses a novel balancing technique for efficient worst-case manipulation of balanced trees, which is of independent interest.
Lars Arge, Jeffrey Scott Vitter
FOCS1
1995 External-Memory Algorithms for Processing Line Segments in Geographic Information Systems (Extended Abstract)
Lars Arge, Darren Erik Vengroff, Jeffrey Scott Vitter
ESA1
1995 The I/O - Complexity of Ordered Binary - Decision Diagram Manipulation
Lars Arge
ISAAC1
1995 The Buffer Tree: A New Technique for Optimal I/O-Algorithms (Extended Abstract)
Lars Arge
WADS1
1993 A General Lower Bound on the I/O-Complexity of Comparison-based Algorithms
Lars Arge, Mikael B. Knudsen, Kirsten Larsen
WADS1