scispace - formally typeset
Journal ArticleDOI

Efficient implementation of lattice operations

TLDR
A general technique for the efficient implementation of lattice operations such as greatest lower bound, least upper bound, and relative complementation based on an encoding method, which takes into account idiosyncrasies of the topology of the poset being encoded that are quite likely to occur in practice.
Abstract
Lattice operations such as greatest lower bound (GLB), least upper bound (LUB), and relative complementation (BUTNOT) are becoming more and more important in programming languages supporting object inheritance. We present a general technique for the efficient implementation of such operations based on an encoding method. The effect of the encoding is to plunge the given ordering into a boolean lattice of binary words, leading to an almost constant time complexity of the lattice operations. A first method is described based on a transitive closure approach. Then a more space-efficient method minimizing code-word length is described. Finally a powerful grouping technique called modulation is presented, which drastically reduces code space while keeping all three lattice operations highly efficient. This technique takes into account idiosyncrasies of the topology of the poset being encoded that are quite likely to occur in practice. All methods are formally justified. We see this work as an original contribution towards using semantic (vz., in this case, taxonomic) information in the engineering pragmatics of storage and retrieval of (vz., partially or quasi-ordered) information.

read more

Content maybe subject to copyright    Report

Citations
More filters
Book ChapterDOI

Optimization of Object-Oriented Programs Using Static Class Hierarchy Analysis

TL;DR: In this article, a complete inheritance graph of a program is examined, which is called class hierarchy analysis, and the compiler can improve the quality of static class information and thereby improve run-time performance.
Journal ArticleDOI

Efficient management of transitive relationships in large data and knowledge bases

TL;DR: This work presents a transitive closure compression technique, based on labeling spanning trees with numeric intervals, and provides both analytical and empirical evidence of its efficacy, including a proof of optimality.
Proceedings ArticleDOI

Dual Labeling: Answering Graph Reachability Queries in Constant Time

TL;DR: This paper proposes a novel labeling scheme for sparse graphs that ensures that graph reachability queries can be answered in constant time, and provides an alternative scheme to tradeoff query time for label space, which further benefits applications that use tree-like graphs.
Journal ArticleDOI

A fast algorithm for building lattices

TL;DR: This algorithm can be used to compute the Galois (concept) lattice, the maximal antichains lattice or the Dedekind‐MacNeille completion of a partial order, without increasing time complexity.
Journal ArticleDOI

Lowest common ancestors in trees and directed acyclic graphs

TL;DR: The problem of finding lowest common ancestors (LCA) in trees and directed acyclic graphs (DAGs) is extended to DAGs and a close relationship between the LCA, all-pairs-shortest-path, and transitive-closure problems is revealed.
References
More filters
Book

The Design and Analysis of Computer Algorithms

TL;DR: This text introduces the basic data structures and programming techniques often used in efficient algorithms, and covers use of lists, push-down stacks, queues, trees, and graphs.
Book

Smalltalk-80: The Language and its Implementation

TL;DR: This book is the first detailed account of the Smalltalk-80 system and is divided into four major parts: an overview of the concepts and syntax of the programming language, a specification of the system's functionality, and an example of the design and implementation of a moderate-size application.
Proceedings ArticleDOI

Constraint logic programming

TL;DR: In this article, a class of logic programming languages, called CLP languages, are defined, all of which share the same essential semantic properties and are based on a unified formal semantics.
Journal ArticleDOI

Login: A logic programming language with built-in inheritance

TL;DR: An elaboration of the PROLOG language is described in which the notion of first-order term is replaced by a more general one, which allows the integration of inheritance directly into the unification process rather than indirectly through the resolutionbased inference mechanism of PROLOG.
Journal ArticleDOI

Automated deduction by theory resolution

TL;DR: Theoretical resolution as mentioned in this paper is a set of complete procedures for incorporating theories into a resolution theorem-proving program, thereby making it unnecessary to resolve directly upon axioms of the theory.