skip to main content
article
Free Access

Self-organizing linear search

Published:01 September 1985Publication History
Skip Abstract Section

Abstract

Algorithms that modify the order of linear search lists are surveyed. First the problem, including assumptions and restrictions, is defined. Next a summary of analysis techniques and measurements that apply to these algorithms is given. The main portion of the survey presents algorithms in the literature with absolute analyses when available. The following section gives relative measures that are applied between two or more algorithms. The final section presents open questions.

References

  1. ANDERSON, E. J., NASH, P., AND WEBER, R. R. 1982. A counterexample to a conjecture on optimal list ordering. J. Appl. Probt. 19, 3 (Sept.), 730-732.Google ScholarGoogle Scholar
  2. BENTLEY, J. L., AND MCGEOCH, C. C. 1985. Amortized analyses of self-organizing sequential search heuristics. Commun. ACM 28, 4 (Apr.), 404-411. Google ScholarGoogle Scholar
  3. BITNER, J. R. 1979. Heuristics that dynamically organize data structures. SIAM J. Comput. 8, 1 (Feb.), 82-110.Google ScholarGoogle Scholar
  4. BURVlLLE, P. J., AND KINGMAN, J. F. C. 1973. On a model for storage and search. J. AppL Probl. 10, 3 (Sept.), 697-701.Google ScholarGoogle Scholar
  5. CHUNG, F. R. K., HAJELA, D. J., AND SEYMOUR, P. D. 1985. Self-organizing sequential search and Hilbert's inequalities. In Proceedings of the 17th Annual A CM Symposium on Theory of Computing (Providence, R. I., May 6-8). ACM, New York, pp. 217-223. Google ScholarGoogle Scholar
  6. DENNING, P. J., AND SCHWARTZ, S. C. 1972. Properties of the working-set model. Commun. A CM 15, 3 (Mar.), 191-198. Google ScholarGoogle Scholar
  7. FREDERICKSON, G. N. 1984. Self-organizing heuristics for implicit data structures. SIAM J. Comput. 13, 2 (May), 277-291. Google ScholarGoogle Scholar
  8. GONNET, G. H., MUNRO, J. I., AND SUWANDA, H. 1979. Toward self-organizing linear search. In Proceedings of the 20th IEEE Symposium on Foundations of Computer Science (San Juan, Puerto Rico, Oct.). IEEE, New York, pp. 169-174.Google ScholarGoogle Scholar
  9. GONNET, G. H., MUNRO, J. I., AND SUWANDA, H. 1981. Exegesis of self-organizing linear search. SIAM J. Comput. I0, 3 (Aug.), 613-637.Google ScholarGoogle Scholar
  10. HENDRICKS, W. J. 1972. The stationary distribution of an interesting Markov chain. J. Appl. Probl. 9, 1 (Mar.), 231-233.Google ScholarGoogle Scholar
  11. HENDRICKS, W. J. 1973. An extension of a theorem concerning an interesting Markov chain. J. Appl. Probl. 10, 4 (Dec.), 886-890.Google ScholarGoogle Scholar
  12. HENDRICKS, W. J. 1976. An account of self-organizing systems. SIAM J. Comput. 5, 4 (Dec.), 715-723.Google ScholarGoogle Scholar
  13. HESTER, J. H., AND HIRSCHBERG, D. S. 1985. Selforganizing search lists using probabilistic backpointers. Tech. Rep. 85-14, Dept. of Information and Computer Science, Univ. of California, Irvine.Google ScholarGoogle Scholar
  14. KAN, Y. C., AND ROSS, S. M. 1980. Optimal list order under partial memory constraints. J. Appl. Probl. 17, 4 (Dec.), 1004-1015.Google ScholarGoogle Scholar
  15. KNUTH, D. E. 1973. A "self-organizing" file. In The Art of Computer Programming, vol. 3: Sorting and Searching. Addison-Wesley, Reading, Mass., pp. 398-399. Google ScholarGoogle Scholar
  16. LAM, K., SIu, M. K., AND YU, C. T. 1981. A generalized counter scheme. Theor. Comput. Sci. 16, 3 (Dec.), 271-278.Google ScholarGoogle Scholar
  17. MCCABE, J. 1965. On serial files with relocatable records. Oper. Res. (July/Aug.), 609-618.Google ScholarGoogle Scholar
  18. OOMMEN, B. Z. 1984. On the use of smoothsort and stochastic move-to-front operations for optimal list organization. In Proceedings of the 22nd Annual Allerton Conference on Communication, Control, and Computing (Monticello, Ill., Oct.). Univ. of llinois, Urbana-Champaign, pp. 243-252.Google ScholarGoogle Scholar
  19. OOMMEN, B. J., AND HANSEN, E. R. 1985. List organizing strategies using stochastic move-to-front and stochastic move-to-rear operations. Tech. Rep. SCS-TR-76, School of Computer Science, Carleton Univ., Ottawa, Canada.Google ScholarGoogle Scholar
  20. R!VEST, R. 1976. On self-organizing sequential search heuristics. Commun. ACM 19, 2 (Feb.), 63-67. Google ScholarGoogle Scholar
  21. SLEATOR, D. D., AND TARJAN, R. E. 1985. Amortized efficiency of list update and paging rules. Commun. ACM 28, 2 (Feb.), 202-208. Google ScholarGoogle Scholar
  22. TENENBAUM, A. 1978. Simulations of dynamic sequential search algorithms. Commun. ACM 21, 9 (Sept.), 790-791. Google ScholarGoogle Scholar
  23. TENENBAUM, A., ANO NEMES, R. M. 1982. Two spectra of self-organizing sequential search atgorithms. SIAM J. Comput. 1 I, 3 (Aug.), 557-566.Google ScholarGoogle Scholar

Recommendations

Reviews

Don Goelman

This paper is indeed of the survey genre. As might be expected, it does not demand a great deal of background; it is accessible to readers with some knowledge of data structures, particularly lists, and of the sequential search algorithm. It should be of interest not only to scholars seeking a summary of the history and results concerning the problem of self-organizing sequential search. Examples are also provided of practical contexts, particularly compiler construction, where the results are of some importance. The setting for this problem is the maintenance of a linear list which will undergo repeated searches. These searches will be done sequentially from the beginning of the list. In order to improve the behavior of these searches, the list is periodically reorganized in the hope that we can identify keys which are most frequently in demand, and, usually by moving them forward in the list, reduce the time needed to find them in future requests. The authors of this paper do an admirable job of describing the known algorithms for reorganizing the list, and covering the somewhat orthogonal topic of what measures are used in evaluating the algorithms. There is also a section on open problems in the field. The historical heuristics that are discussed include the big three: move-to-front, transpose, and count. The move-to-front algorithm moves the found record to the front of the list, maintaining the relative positions of the other list elements. Transpose switches the found record with its predecessor, if it has one. Finally, the count strategy includes in each record a field which contains the number of times its key has been requested. At each request, a record is moved forward enough positions to keep the list sorted in descending order by count. Besides these heuristics, the authors describe various meta-algorithms, hybrids, stochastic strategies, and their own JUMP algorithm. As for measures of complexity, the three important metrics are discussed. First, the average or asymptotic cost of a heuristic is the limiting search cost (measured generally in terms of comparisons, but the reorganization cost may also be included) for a single key; this assumes that each key is requested with a particular probability (the value of which is not known to the user). The second measure is the rate at which the search cost converges to its asymptotic value. The third metric is the amortized cost of a sequence of requests, where the list is being reorganized by the heuristic being measured. There are quite a few tradeoffs here, with transpose known often to have a lower asymptotic cost than move-to-front, but with move-to-front superior in its convergence rate and in its amortized cost. The style of this paper is quite readable, and the subject is presented in a very interesting fashion. However, the relative emphasis is too heavily weighted in favor of the asymptotic cost of an algorithm. As the authors of this paper point out, recent results by Bentley and McGeoch [1] and Sleator and Tarjan [2] show the superiority of the move-to-front algorithm (in some sense, even over the count heuristic [2]) in the amortized metric, and there is empirical evidence presented in [2] that this metric is the proper one to use.

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.

Comments

Login options

Check if you have access through your login credentials or your institution to get full access on this article.

Sign in

Full Access

  • Published in

    cover image ACM Computing Surveys
    ACM Computing Surveys  Volume 17, Issue 3
    Sept. 1985
    75 pages
    ISSN:0360-0300
    EISSN:1557-7341
    DOI:10.1145/5505
    Issue’s Table of Contents

    Copyright © 1985 ACM

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    • Published: 1 September 1985
    Published in csur Volume 17, Issue 3

    Permissions

    Request permissions about this article.

    Request Permissions

    Check for updates

    Qualifiers

    • article

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader