Results 1 - 10
of
21
Randomized Competitive Algorithms for the List Update Problem
- Algorithmica
, 1992
"... We prove upper and lower bounds on the competitiveness of randomized algorithms for the list update problem of Sleator and Tarjan. We give a simple and elegant randomized algorithm that is more competitive than the best previous randomized algorithm due to Irani. Our algorithm uses randomness only d ..."
Abstract
-
Cited by 39 (2 self)
- Add to MetaCart
We prove upper and lower bounds on the competitiveness of randomized algorithms for the list update problem of Sleator and Tarjan. We give a simple and elegant randomized algorithm that is more competitive than the best previous randomized algorithm due to Irani. Our algorithm uses randomness only during an initialization phase, and from then on runs completely deterministically. It is the first randomized competitive algorithm with this property to beat the deterministic lower bound. We generalize our approach to a model in which access costs are fixed but update costs are scaled by an arbitrary constant d. We prove lower bounds for deterministic list update algorithms and for randomized algorithms against oblivious and adaptive on-line adversaries. In particular, we show that for this problem adaptive on-line and adaptive off-line adversaries are equally powerful. 1 Introduction Recently much attention has been given to competitive analysis of on-line algorithms [7, 20, 22, 25]. Ro...
Self-Organizing Linear Search
- ACM Computing Surveys
, 1985
"... this article. Two examples of simple permutation algorithms are move-to-front, which moves the accessed record to the front of the list, shifting all records previously ahead of it back one position; and transpose, which merely exchanges the accessed record with the one immediately ahead of it in th ..."
Abstract
-
Cited by 28 (3 self)
- Add to MetaCart
this article. Two examples of simple permutation algorithms are move-to-front, which moves the accessed record to the front of the list, shifting all records previously ahead of it back one position; and transpose, which merely exchanges the accessed record with the one immediately ahead of it in the list. These will be described in more detail later. Knuth [1973] describes several search methods that are usually more efficient than linear search. Bentley and McGeoch [1985] justify the use of self-organizing linear search in the following three contexts:
Second step algorithms in the Burrows-Wheeler compression algorithm
- Software Practice and Experience
, 2001
"... In this paper we fix our attention on the second step algorithms of the Burrows--Wheeler compression algorithm, which in the original version is the Move To Front transform. We discuss many of its replacements presented so far, and compare compression results obtained using them. Then we propose ..."
Abstract
-
Cited by 19 (0 self)
- Add to MetaCart
In this paper we fix our attention on the second step algorithms of the Burrows--Wheeler compression algorithm, which in the original version is the Move To Front transform. We discuss many of its replacements presented so far, and compare compression results obtained using them. Then we propose a new algorithm that yields a better compression ratio than the previous ones.
Asymptotic Approximation of the Move-To-Front Search Cost Distribution and Least-Recently-Used Caching Fault Probabilities
, 1999
"... Consider a finite list of items n = 1; 2; : : : ; N , that are requested according to an i.i.d. process. Each time an item is requested it is moved to the front of the list. The associated search cost C N for accessing an item is equal to its position before being moved. If the request distributio ..."
Abstract
-
Cited by 19 (7 self)
- Add to MetaCart
Consider a finite list of items n = 1; 2; : : : ; N , that are requested according to an i.i.d. process. Each time an item is requested it is moved to the front of the list. The associated search cost C N for accessing an item is equal to its position before being moved. If the request distribution converges to a proper distribution as N ! 1, then the stationary search cost C N converges in distribution to a limiting search cost C. We show that, when the (limiting) request distribution has a heavy tail (e.g., generalized Zipf's law) P[R = n] ¸ c=n ff as n !1, ff ? 1, then the limiting stationary search cost distribution P[C ? n], or, equivalently, the Least-Recently-Used (LRU) caching fault probability, satisfies lim n!1 P[C ? n] P[R ? n] = ` 1 \Gamma 1 ff ' \Gamma ` 1 \Gamma 1 ff ' ff % e fl as ff !1; where \Gamma is the Gamma function and fl (= 0:5772 : : : ) is Euler's constant. When the request distribution has a light tail P[R = n] ¸ ce \Gamman fi as...
Self-Organizing Data Structures
- In
, 1998
"... . We survey results on self-organizing data structures for the search problem and concentrate on two very popular structures: the unsorted linear list, and the binary search tree. For the problem of maintaining unsorted lists, also known as the list update problem, we present results on the competit ..."
Abstract
-
Cited by 16 (0 self)
- Add to MetaCart
. We survey results on self-organizing data structures for the search problem and concentrate on two very popular structures: the unsorted linear list, and the binary search tree. For the problem of maintaining unsorted lists, also known as the list update problem, we present results on the competitiveness achieved by deterministic and randomized on-line algorithms. For binary search trees, we present results for both on-line and off-line algorithms. Self-organizing data structures can be used to build very effective data compression schemes. We summarize theoretical and experimental results. 1 Introduction This paper surveys results in the design and analysis of self-organizing data structures for the search problem. The general search problem in pointer data structures can be phrased as follows. The elements of a set are stored in a collection of nodes. Each node also contains O(1) pointers to other nodes and additional state data which can be used for navigation and self-organizati...
Off-line Algorithms for The List Update Problem
, 1996
"... Optimum off-line algorithms for the list update problem are investigated. The list update problem involves implementing a dictionary of items as a linear list. Several characterizations of optimum algorithms are given; these lead to optimum algorithm which runs in time \Theta2 n (n \Gamma 1)!m, wh ..."
Abstract
-
Cited by 14 (2 self)
- Add to MetaCart
Optimum off-line algorithms for the list update problem are investigated. The list update problem involves implementing a dictionary of items as a linear list. Several characterizations of optimum algorithms are given; these lead to optimum algorithm which runs in time \Theta2 n (n \Gamma 1)!m, where n is the length of the list and m is the number of requests. The previous best algorithm, an adaptation of a more general algorithm due to Manasse et al. [9], runs in time \Theta(n!) 2 m. 1 Introduction A dictionary is an abstract data type that stores a collection of keyed items and supports the operations access, insert, and delete. In the sequential search or list update problem, a dictionary is implemented as simple linear list, either stored as a linked collection of items or as an array. An access is done by starting at the front of the list and examining each succeeding item until either finding the item desired or reaching the end of the list and reporting the item not present...
Self-improving algorithms
- in SODA ’06: Proceedings of the seventeenth annual ACMSIAM symposium on Discrete algorithm
"... We investigate ways in which an algorithm can improve its expected performance by finetuning itself automatically with respect to an arbitrary, unknown input distribution. We give such self-improving algorithms for sorting and computing Delaunay triangulations. The highlights of this work: (i) an al ..."
Abstract
-
Cited by 14 (1 self)
- Add to MetaCart
We investigate ways in which an algorithm can improve its expected performance by finetuning itself automatically with respect to an arbitrary, unknown input distribution. We give such self-improving algorithms for sorting and computing Delaunay triangulations. The highlights of this work: (i) an algorithm to sort a list of numbers with optimal expected limiting complexity; and (ii) an algorithm to compute the Delaunay triangulation of a set of points with optimal expected limiting complexity. In both cases, the algorithm begins with a training phase during which it adjusts itself to the input distribution, followed by a stationary regime in which the algorithm settles to its optimized incarnation. 1
Least-Recently-Used Caching with Dependent Requests
- Theoretical Computer Science
, 2002
"... We investigate a widely popular Least-Recently-Used (LRU) cache replacement algorithm with semi-Markov modulated requests. Semi-Markov processes provide the flexibility for modeling strong statistical correlation, including the widely reported long-range dependence in the World Wide Web page request ..."
Abstract
-
Cited by 11 (5 self)
- Add to MetaCart
We investigate a widely popular Least-Recently-Used (LRU) cache replacement algorithm with semi-Markov modulated requests. Semi-Markov processes provide the flexibility for modeling strong statistical correlation, including the widely reported long-range dependence in the World Wide Web page request patterns. When the frequency of requesting a page n is equal to the generalized Zipf’s law c/n α,α> 1, our main result shows that the cache fault probability is asymptotically, for large cache sizes, the same as in the corresponding LRU system with i.i.d. requests. The result is asymptotically explicit and appears to be the first computationally tractable average-case analysis of LRU caching with statistically dependent request sequences. The surprising insensitivity of LRU caching performance demonstrates its robustness to changes in document popularity. Furthermore, we show that the derived asymptotic result and simulation experiments are in excellent agreement, even for relatively small cache sizes. Keywords: least-recently-used caching, move-to-front, Zipf’s law, heavy-tailed distributions, longrange dependence, semi-Markov processes, average-case analysis
Two New Families of List Update Algorithms
- In ISSAC'98, LCNS 1533
, 1998
"... . We consider the online list accessing problem and present a new family of competitive-optimal deterministic list update algorithms which is the largest class of such algorithms known to-date. This family, called Sort-by-Rank (sbr), is parametrized with a real 0 ff 1, where sbr(0) is the Move ..."
Abstract
-
Cited by 7 (0 self)
- Add to MetaCart
. We consider the online list accessing problem and present a new family of competitive-optimal deterministic list update algorithms which is the largest class of such algorithms known to-date. This family, called Sort-by-Rank (sbr), is parametrized with a real 0 ff 1, where sbr(0) is the Move-to-Front algorithm and sbr(1) is equivalent to the Timestamp algorithm. The behaviour of sbr(ff) mediates between the eager strategy of Move-to-Front and the more conservative behaviour of Timestamp. We also present a family of algorithms Sort-by-Delay (sbd) which is parametrized by the positive integers, where sbd(1) is Move-toFront and sbd(2) is equivalent to Timestamp. In general, sbd(k) is k-competitive for k 2. This is the first class of algorithms that is asymptotically optimal for independent, identically distributed requests while each algorithm is constant-competitive. Empirical studies with with both generated and real-world data are also included. 1 Introduction Co...
Adaptive Structuring Of Binary Search Trees Using Conditional Rotations
- IEEE TRANSACTIONS ON KNOWLEDGE & DATA ENGINEERING
, 1987
"... Consider a set A = {A 1 , A 2 ,...,A N } of records, where each record is identified by a unique key. The records are accessed based on a set of access probabilities S = [s 1 ,s 2 ,...,s N ] and are to be arranged lexicographically using a Binary Search Tree (BST). If S is known a priori, it ..."
Abstract
-
Cited by 6 (2 self)
- Add to MetaCart
Consider a set A = {A 1 , A 2 ,...,A N } of records, where each record is identified by a unique key. The records are accessed based on a set of access probabilities S = [s 1 ,s 2 ,...,s N ] and are to be arranged lexicographically using a Binary Search Tree (BST). If S is known a priori, it is well known [10] that an optimal BST may be constructed using A and S. We consider the case when S is not known a priori . A new restructuring heuristic is introduced that requires three extra integer memory locations per record. In this scheme the restructuring is performed only if it decreases the Weighted Path Length (WPL) of the overall resultant tree. An optimized version of the latter method which requires only one extra integer field per record has also been presented. Initial simulation results which compare our algorithm with various other static and dynamic schemes seem to indicate that this scheme asymptotically produces trees which are an order of magnitude closer to the optim...

