Smalltalk-80: the language and its implementation
Smalltalk-80: the language and its implementation
The role of frame-based representation in reasoning
Communications of the ACM
Efficient implementation of lattice operations
ACM Transactions on Programming Languages and Systems (TOPLAS)
A programmer's guide to object-oriented programming in Common LISP
A programmer's guide to object-oriented programming in Common LISP
Type-extension type test can be performed in constant time
ACM Transactions on Programming Languages and Systems (TOPLAS)
A decision procedure for Common Lisp's SUBTYPE predicate
Lisp and Symbolic Computation
Efficient handling of multiple inheritance hierarchies
OOPSLA '93 Proceedings of the eighth annual conference on Object-oriented programming systems, languages, and applications
Efficient type inclusion tests
Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
The evolution of the DARWIN system
SAC '00 Proceedings of the 2000 ACM symposium on Applied computing - Volume 2
Efficient subtyping tests with PQ-encoding
OOPSLA '01 Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Java Language Specification, Second Edition: The Java Series
Java Language Specification, Second Edition: The Java Series
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
Bit-Vector Encoding for Partially Ordered Sets
ORDAL '94 Proceedings of the International Workshop on Orders, Algorithms, and Applications
Automated deduction by theory resolution
IJCAI'85 Proceedings of the 9th international joint conference on Artificial intelligence - Volume 2
Computational aspects of the 2-dimension of partially ordered sets
Theoretical Computer Science
Efficient subtyping tests with PQ-encoding
ACM Transactions on Programming Languages and Systems (TOPLAS)
Hi-index | 0.01 |
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.