[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
article
Free access

Self-organizing search lists using probabilistic back-pointers

Published: 01 December 1987 Publication History

Abstract

A class of algorithms is presented for maintaining self-organizing sequential search lists, where the only permutation applied is to move the accessed record of each search some distance towards the front of the list. During searches, these algorithms retain a back-pointer to a previous probed record in order to determine the destination of the accessed record's eventual move. The back-pointer does not traverse the list, but rather it is advanced occasionally to point to the record just probed by the search algorithm. This avoids the cost of a second traversal through a significant portion of the list, which may be a significant savings when each record access may require a new page to be brought into primary memory. Probabilistic functions for deciding when to advance the pointer are presented and analyzed. These functions demonstrate average case complexities of measures such as asymptotic cost and convergence, similar to some of the more common list update algorithms in the literature. In cases where the accessed record is moved forward a distance proportional to the distance to the front of the list, the use of these functions may save up to 50 percent of the time required for permuting the list.

References

[1]
Bentley, J.L., and McCeoch, C.C. Amortized analyses of selforganizing sequential search heuristics. Commun. ACM 28.4 (Apr.1985). 404-411.
[2]
Bitner. J.R. Heuristics that dynamically organize data structures. SIAM I. Comput. 8, 1 (Feb. 1979), 62-110.
[3]
Gannet, G.H., Munro. J.I., and Suwanda, H. Exegesis of selforganizing linear search. SIAM J. Comput. IO. 3 (Aug. 1981). 613-637.
[4]
Hester, 1.H. and Hirschberg, D.S. Self-organizing linear search. Camp. Surv., 17, 3 (Sept. 1985), 295-311.
[5]
Sleator, D.D. and Tarjan, R.E. Amortized efficiency of list update and paging rules. Commun. ACM 28, 2 {Feb. 1985), 202-206.

Cited By

View all
  • (2020)On utilizing an enhanced object partitioning scheme to optimize self-organizing lists-on-listsEvolving Systems10.1007/s12530-020-09327-4Online publication date: 12-Feb-2020
  • (2019)Self-organizing executive information networksDecision Support Systems10.1016/0167-9236(92)90036-O8:1(41-53)Online publication date: 1-Jan-2019
  • (2019)Optimizing Self-organizing Lists-on-Lists Using Enhanced Object PartitioningArtificial Intelligence Applications and Innovations10.1007/978-3-030-19823-7_38(451-463)Online publication date: 12-May-2019

Recommendations

Reviews

Theodore David Brown

Self-organizing search lists are linearly linked lists in which more frequently accessed records are moved forward. The literature has discussed the move to front, which approaches steady state quickly; the transpose, in which the record only moves ahead one record, which has a slower convergence rate but a smaller average cost per record access once steady state is reached; and move ahead k, which is a compromise. The authors first meld and generalize these record manipulation techniques into one algorithm by using a Boolean jump function that is evaluated at each probe. If jump is set to true, a back pointer b is set to the position of the current record. Once the requested key is found it is reinserted in front of the record that b points to. The authors point out that when reinsertions are done at fixed distances, as in the three techniques above, cost analyses are difficult. This is because the cumulative effect of reinsertions makes the distance searched non-independent. This leads them to suggest a probabilistic jump distance function. The major benefit as I see it is to allow analysis, not to improve performance.

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image Communications of the ACM
Communications of the ACM  Volume 30, Issue 12
Dec. 1987
70 pages
ISSN:0001-0782
EISSN:1557-7317
DOI:10.1145/33447
Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 December 1987
Published in CACM Volume 30, Issue 12

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)41
  • Downloads (Last 6 weeks)1
Reflects downloads up to 11 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2020)On utilizing an enhanced object partitioning scheme to optimize self-organizing lists-on-listsEvolving Systems10.1007/s12530-020-09327-4Online publication date: 12-Feb-2020
  • (2019)Self-organizing executive information networksDecision Support Systems10.1016/0167-9236(92)90036-O8:1(41-53)Online publication date: 1-Jan-2019
  • (2019)Optimizing Self-organizing Lists-on-Lists Using Enhanced Object PartitioningArtificial Intelligence Applications and Innovations10.1007/978-3-030-19823-7_38(451-463)Online publication date: 12-May-2019

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Full Access

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media