Abstract
Polychotomic Encoding is an algorithm for producing bit vector encodings of trees. Polychotomic Encoding is an extension of the Dichotomic Encoding algorithm of Raynaud and Thierry. Polychotomic and Dichotomic Encodings are both examples of hierarchical encoding algorithms, where each node in the tree is given a gene—a subset of 1,..., n. The encoding of each node is then the union of that node’s gene with the genes of its ancestors. Reachability in the tree can then be determined by subset testing on the encodings.
Dichotomic Encoding restructures the given tree into a binary tree, and then assigns two bit, incompatible (chotomic) “genes” to each of the two children of a node. Polychotomic Encoding substitutes a multibit encoding for the children of a node when the restructuring operation of Dichotomic Encoding would produce a new heaviest child (child requiring the most bits to represent a tree of its children) for that node. The paper includes a proof that Polychotomic Encoding never produces an encoding using more bits than Dichotomic Encoding. Experimentally, Polychotomic Encoding produces a space savings of up to 15% on examples of naturally occurring hierarchies, and 25% on trees in the randomly generated test set.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Aït-Kaci, H., Boyer, R., Lincoln, P., and Nasr, R.. Efficient implementation of lattice operations. TOPLAS 11,1 (Jan. 1989), 115–146.
Baker, H. A Decision Procedure for Common Lisp’s SUBTYPEP Predicate. J. Lisp and Symbolic Computation 5, (Sept. 1992), 157–190.
Caseau, Y. Efficient handling of multiple inheritance hierarchies. In Proc. OOPSLA-93, (Washington, D.C., 1993), 271–287.
Caseau, Y., Habib, M., Nourine, L., and Raynaud, O. Encoding of multiple inheritance hierarchies and partial orders. Computational Intelligence 15,1 (1999), 50–62.
Cohen, N. H. Type-extension tests can be performed in constant time. TOPLAS 13 (1991), 626–629.
Fikes, R., and Kehler, T. The role of frame-based representation in reasoning. CACM, 28,9 (September 1985), 904–920.
Goldberg, A., and Robson, D. SmallTalk-80: The Language and its Implementation. Addison-Wesley, Reading, MA. (1980).
Gosling, J., Joy, B., Steele, G., and Bracha, G. The Java Language Specification, 2nd Edition. Addison-Wesley, Reading, MA, (2000).
Habib, M., and Nourine, L., Bit-vector encoding for partially ordered sets, ORDAL’94, LNCS No 831, Springer-Verlag, Berlin (1994), 1–12.
Keene, S. E. Object-Oriented Programming in Common Lisp: A Programmer’s Guide to CLOS. Addison-Wesley, Reading, Massachusetts (1989).
Raynaud, O. and Thierry, E. A quasi optimal bit-vector encoding of tree hierarchies. Application to efficient type inclusion tests. In Proc. ECOOP 2001. LNCS 2072, Berlin: Springer-Verlag, (2001), 165–180.
Schubert, L. K., Papalaskaris, M. A., and Taugher, L. Determining type, part, color, and time relationships. IEEE Computer 16,10 (October 1983), 53–60.
Stickel, M. E. Automatic deduction by theory resolution. In Proc. IJCAI-85. Los Angeles, Morgan Kauffman, Los Altos, CA (1985), 1181–1186.
Vitek, J., Horspool, R. N., and Krall, A. Efficient type inclusion tests. In Proc. OOPSLA-97, Atlanta, (October 1997), 142–157.
Walton, J., Filman, R. E., and Korsmeyer, D. J. The evolution of the DARWIN system. In Proc. ACM Symposium on Applied Computing, Como, Italy, (March 2000), 971–977.
Wilson, D. E., and Reeder, D. M. (Eds.). Mammal Species of the World. Smithsonian Institution Press, Washington, D.C., 1993. http://gopher://nmnhgoph.si.edu/00/.docs/mammals_data/list
Zibin, Y. and Gil, J. Efficient subtyping tests with PQ-Encoding. In Proc. OOPSLA-2001, Tampa, Florida (October 2001), 96–106.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2002 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Filman, R.E. (2002). Polychotomic Encoding: A Better Quasi-Optimal Bit-Vector Encoding of Tree Hierarchies. In: Magnusson, B. (eds) ECOOP 2002 — Object-Oriented Programming. ECOOP 2002. Lecture Notes in Computer Science, vol 2374. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-47993-7_23
Download citation
DOI: https://doi.org/10.1007/3-540-47993-7_23
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-43759-8
Online ISBN: 978-3-540-47993-2
eBook Packages: Springer Book Archive