List ranking
In parallel algorithms, the list ranking problem involves determining the position, or rank, of each item in a linked list. Conventionally, this rank denotes the distance of an item to the end of the list; for example, the final item might be assigned a rank of 0, the penultimate item a rank of 1, and so forth. However, the metric is generic and frequently adapted to compute distance from the head instead. Although it is straightforward to solve this problem efficiently on a sequential computer, by traversing the list in order, it is more complicated to solve in parallel. As Anderson & Miller (1990) wrote, the problem was viewed as important in the parallel algorithms community both for its many applications and because solving it led to many important ideas that could be applied in parallel algorithms more generally.
History
The list ranking problem was posed by Wyllie (1979), who solved it with a parallel algorithm using logarithmic time and O(n log n) total steps (that is, O(n) processors). Over a sequence of many subsequent papers, this was eventually improved to linearly many steps (O(n/log n) processors), on the most restrictive model of synchronous shared-memory parallel computation, the exclusive read exclusive write PRAM (Vishkin 1984; Cole & Vishkin 1989;Anderson & Miller 1990). This number of steps matches the sequential algorithm.
Related problems
List ranking can equivalently be viewed as performing a prefix sum operation on the given list, in which the values to be summed are all equal to one. The list ranking problem can be used to solve many problems on trees via an Euler tour technique, in which one forms a linked list that includes two copies of each edge of the tree, one in each direction, places the nodes of this list into an ordered array using list ranking, and then performs prefix sum computations on the ordered array (Tarjan & Vishkin 1985). For instance, the height of each node in the tree may be computed by an algorithm of this type in which the prefix sum adds 1 for each downward edge and subtracts 1 for each upward edge.
References
- Anderson, Richard J.; Miller, Gary L. (1990), "A simple randomized parallel algorithm for list-ranking", Information Processing Letters, 33 (5): 269–273, doi:10.1016/0020-0190(90)90196-5.
- Cole, Richard; Vishkin, Uzi (1989), "Faster optimal parallel prefix sums and list ranking", Information and Computation, 81 (3): 334–352, doi:10.1016/0890-5401(89)90036-9.
- Tarjan, Robert E.; Vishkin, Uzi (1985), "An efficient parallel biconnectivity algorithm", SIAM Journal on Computing, 14 (4): 862–874, CiteSeerX 10.1.1.465.8898, doi:10.1137/0214061, S2CID 7231609
{{citation}}: Cite uses deprecated parameter|citeseerx=(help). - Vishkin, Uzi (1984), "Randomized speed-ups in parallel computation", Proceedings of the sixteenth annual ACM symposium on Theory of computing - STOC '84, pp. 230–239, doi:10.1145/800057.808686, ISBN 0-89791-133-4, S2CID 17475781.
- Wyllie, J. C. (1979), The Complexity of Parallel Computation, Ph.D. thesis, Department of Computer Science, Cornell University.
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.