Results 1  10
of
21
Adaptive Functional Programming
 IN PROCEEDINGS OF THE 29TH ANNUAL ACM SYMPOSIUM ON PRINCIPLES OF PROGRAMMING LANGUAGES
, 2001
"... An adaptive computation maintains the relationship between its input and output as the input changes. Although various techniques for adaptive computing have been proposed, they remain limited in their scope of applicability. We propose a general mechanism for adaptive computing that enables one to ..."
Abstract

Cited by 67 (24 self)
 Add to MetaCart
An adaptive computation maintains the relationship between its input and output as the input changes. Although various techniques for adaptive computing have been proposed, they remain limited in their scope of applicability. We propose a general mechanism for adaptive computing that enables one to make any purelyfunctional program adaptive. We show
Matching a Set of Strings with Variable Length Don’t Cares, Theoretical Computer Science 178
, 1997
"... Given an alphabet A, a pattern p is a sequence (vl,...,vm) of words from A * called keywords. We represent p as a single word ..."
Abstract

Cited by 19 (4 self)
 Add to MetaCart
(Show Context)
Given an alphabet A, a pattern p is a sequence (vl,...,vm) of words from A * called keywords. We represent p as a single word
Dynamic Optimality–Almost
 Proc. 45th Annu. IEEE Sympos. Foundations Comput. Sci
"... We present an O(lg lg n)competitive online binary search tree, improving upon the best previous (trivial) competitive ratio of O(lg n). This is the first major progress on Sleator and Tarjan’s dynamic optimality conjecture of 1985 that O(1)competitive binary search trees exist. 1. ..."
Abstract

Cited by 11 (1 self)
 Add to MetaCart
We present an O(lg lg n)competitive online binary search tree, improving upon the best previous (trivial) competitive ratio of O(lg n). This is the first major progress on Sleator and Tarjan’s dynamic optimality conjecture of 1985 that O(1)competitive binary search trees exist. 1.
Data structures for halfplane proximity queries and incremental Voronoi diagrams
 In Proceedings of the 7th Latin American Symposium on Theoretical Informatics, volume 3887 of Lecture Notes in Computer Science
, 2006
"... We consider preprocessing a set S of n points in the plane that are in convex position into a data structure supporting queries of the following form: given a point q and a directed line ℓ in the plane, report the point of S that is farthest from (or, alternatively, nearest to) the point q subject t ..."
Abstract

Cited by 10 (3 self)
 Add to MetaCart
(Show Context)
We consider preprocessing a set S of n points in the plane that are in convex position into a data structure supporting queries of the following form: given a point q and a directed line ℓ in the plane, report the point of S that is farthest from (or, alternatively, nearest to) the point q subject to being to the left of line ℓ. We present two data structures for this problem. The first data structure uses O(n 1+ε) space and preprocessing time, and answers queries in O(2 1/ε log n) time. The second data structure uses O(n log 3 n) space and polynomial preprocessing time, and answers queries in O(log n) time. These are the first solutions to the problem with O(log n) query time and o(n 2) space. In the process of developing the second data structure, we develop a new representation of nearestpoint and farthestpoint Voronoi diagrams of points in convex position. This representation supports insertion of new points in counterclockwise order using only O(log n) amortized pointer changes, subject to supporting O(log n)time pointlocation queries, even though every such update may make Θ(n) combinatorial changes to the Voronoi diagram. This data structure is the first demonstration that deterministically and incrementally constructed Voronoi diagrams can be maintained in o(n) pointer changes per operation while keeping O(log n)time pointlocation queries. 1
Multiplesource shortest paths in embedded graphs
, 2012
"... Let G be a directed graph with n vertices and nonnegative weights in its directed edges, embedded on a surface of genus g, and let f be an arbitrary face of G. We describe an algorithm to preprocess the graph in O(gn log n) time, so that the shortestpath distance from any vertex on the boundary of ..."
Abstract

Cited by 8 (5 self)
 Add to MetaCart
Let G be a directed graph with n vertices and nonnegative weights in its directed edges, embedded on a surface of genus g, and let f be an arbitrary face of G. We describe an algorithm to preprocess the graph in O(gn log n) time, so that the shortestpath distance from any vertex on the boundary of f to any other vertex in G can be retrieved in O(log n) time. Our result directly generalizes the O(n log n)time algorithm of Klein [Multiplesource shortest paths in planar graphs. In Proc. 16th Ann. ACMSIAM Symp. Discrete Algorithms, 2005] for multiplesource shortest paths in planar graphs. Intuitively, our preprocessing algorithm maintains a shortestpath tree as its source point moves continuously around the boundary of f. As an application of our algorithm, we describe algorithms to compute a shortest noncontractible or nonseparating cycle in embedded, undirected graphs in O(g² n log n) time.
LinearSpace Approximate Distance Oracles for Planar, BoundedGenus, and MinorFree Graphs
"... Abstract. A (1 + ɛ)approximate distance oracle for a graph is a data structure that supports approximate pointtopoint shortestpathdistance queries. The relevant measures for a distanceoracle construction are: space, query time, and preprocessing time. There are strong distanceoracle construct ..."
Abstract

Cited by 5 (2 self)
 Add to MetaCart
Abstract. A (1 + ɛ)approximate distance oracle for a graph is a data structure that supports approximate pointtopoint shortestpathdistance queries. The relevant measures for a distanceoracle construction are: space, query time, and preprocessing time. There are strong distanceoracle constructions known for planar graphs (Thorup) and, subsequently, minorexcluded graphs (Abraham and Gavoille). However, these require Ω(ɛ −1 n lg n) space for nnode graphs. We argue that a very low space requirement is essential. Since modern computer architectures involve hierarchical memory (caches, primary memory, secondary memory), a high memory requirement in effect may greatly increase the actual running time. Moreover, we would like data structures that can be deployed on small mobile devices, such as handhelds, which have relatively small primary memory. In this paper, for planar graphs, boundedgenus graphs, and minorexcluded graphs we give distanceoracle constructions that require only
Adaptive memoization
, 2003
"... We combine adaptivity and memoization to obtain an incremental computation technique that dramatically improves performance over adaptivity and memoization alone. The key contribution is adaptive memoization, which enables result reuse by matching any subset of the function arguments to a previous ..."
Abstract

Cited by 3 (1 self)
 Add to MetaCart
(Show Context)
We combine adaptivity and memoization to obtain an incremental computation technique that dramatically improves performance over adaptivity and memoization alone. The key contribution is adaptive memoization, which enables result reuse by matching any subset of the function arguments to a previous function call and updating the result to satisfy the unmatched arguments via adaptivity. We study the technique in the context of a purely functional language, called IFL, and as an ML library. The library provides an efficient implementation of our techniques with constant overhead. As examples, we consider Quicksort and Insertion Sort. We show that Quicksort handles insertions or deletions at random positions in the input list in O(log n) expected time. For insertion sort, we show that insertions and deletions anywhere in the list take O(n) time.
Fully Dynamic Transitive Closure in Plane Dags with One Source and One Sink
, 1994
"... We give an algorithm for the Dynamic Transitive Closure Problem for planar directed acyclic graphs with one source and one sink. The graph can be updated in logarithmic time under arbitrary edge insertions and deletions that preserve the embedding. Queries of the form `is there a directed path from ..."
Abstract

Cited by 3 (2 self)
 Add to MetaCart
(Show Context)
We give an algorithm for the Dynamic Transitive Closure Problem for planar directed acyclic graphs with one source and one sink. The graph can be updated in logarithmic time under arbitrary edge insertions and deletions that preserve the embedding. Queries of the form `is there a directed path from u to v?' for arbitrary vertices u and v can be answered in logarithmic time. The size of the data structure and the initialisation time are linear in the number of edges. We also give a lower bound of###26 n/ log log n) on the amortised complexity of the problem in the cell probe model with logarithmic word size.
SelfAdjusting Computation with Delta ML
"... Abstract. In selfadjusting computation, programs respond automatically and efficiently to modifications to their data by tracking the dynamic data dependences of the computation and incrementally updating the output as needed. In this tutorial, we describe the selfadjustingcomputation model and pr ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
(Show Context)
Abstract. In selfadjusting computation, programs respond automatically and efficiently to modifications to their data by tracking the dynamic data dependences of the computation and incrementally updating the output as needed. In this tutorial, we describe the selfadjustingcomputation model and present the language ∆ML (Delta ML) for writing selfadjusting programs. 1
Weihe's Algorithm for Maximum Flow in Planar Graphs (project Report)
, 1999
"... this report is organized as follows: Algorithms. In this part we describe algorithms used and developed during work on the project in detail. Also we give proofs of correctness (except the proof of the core of Weihe's algorithm which can be found completely in [Wei97]) Implementation. Here we ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
this report is organized as follows: Algorithms. In this part we describe algorithms used and developed during work on the project in detail. Also we give proofs of correctness (except the proof of the core of Weihe's algorithm which can be found completely in [Wei97]) Implementation. Here we describe details of implementation of Weihe's algorithm using LEDA library