On AC0 implementations of fusion trees and atomic heaps

  • Authors:
  • Mikkel Thorup

  • Affiliations:
  • AT&T Labs---Research, Florham Parks, NJ

  • Venue:
  • SODA '03 Proceedings of the fourteenth annual ACM-SIAM symposium on Discrete algorithms
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

Abstract

Addressing a question of Fredman and Willard from STOC'90, we show that fusion trees cannot be implemented using the AC0 operations available through a standard programming language such as C. However, they can be implemented using AC0 operations on emerging multimedia processors such as the Pentium 4.A fusion node is a linear space representation of an integer set X of size O(√W), where W ≥ log n is the word-length. The fusion node supports searches in X in constant time. Here, a search for y in X returns max{x ε X|x ≤ y}. Using fusion nodes in a O(√W)-degree fusion tree gave Fredman and Willard O(log n/log W) searching for general n, beating the comparison based lower-bound. However, the search routine uses multiplication which is not an AC0 operation.Fredman and Willard asked if multiplication instructions could be avoided. We show that the answer is "no" unless you have room for a multiplication table. More precisely, restricting ourselves to the AC0 operations available through C, we show that constant time look-ups or searches in sets of any non-constant size require space 2Ω(W). However, if we have that much space, i.e., 2εW for some constant ε 0, then we can tabulate multiplication of (εW/2)-bit numbers, and then we get constant time multiplication of words using additions and shifts. Previous related lowerbounds all disallowed some common AC0 instructions in C such as shifts.We note that even on the weaker "Practical RAM" the above 2Ω(W) space lower-bound for constant look-ups was only known for sets of size Ω(W2) (Miltersen, ICALP'96). Our Ω(1) set size is best possible since sets of constant size can be searched directly in constant time.Contrasting the above result, we show that using the AC0 operations available on Intel's new Pentium 4, we can implement both fusion trees and Fredman and Willard's later atomic heaps from FOCS'90. Among the many consequences, we get linear time and space AC0 implementations of minimum spanning tree and undirected single source shortest paths. Also, we get optimal Θ(log n/log log n) implementations of dynamic rank and 1½ dimensional range searching. Previous optimal solutions required either multiplication or the use of self-designed AC0 instructions not available on existing processors.