Fast algorithms for finding nearest common ancestors
SIAM Journal on Computing
Maintaining order in a generalized linked list
Acta Informatica
On the single-operation worst-case time complexity of the disjoint set union problem
SIAM Journal on Computing
The nearest common ancestor in a dynamic tree
Acta Informatica
The Aurora or-parallel Prolog system
New Generation Computing - Selected papers on parallel logic programming from the International Conference on Fifth Generation Computer Systems, 1988
The Muse Or-parallel Prolog model and its performance
Proceedings of the 1990 North American conference on Logic programming
ACE: and/or-parallel copying-based execution of logic programs
Proceedings of the eleventh international conference on Logic programming
A third-generation SELF implementation: reconciling responsiveness with performance
OOPSLA '94 Proceedings of the ninth annual conference on Object-oriented programming systems, language, and applications
ACM SIGACT News
Minimizing row displacement dispatch tables
Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications
Lower bounds for the union-find and the split-find problem on pointer machines
Journal of Computer and System Sciences
The direct cost of virtual function calls in C++
Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
ACM Computing Surveys (CSUR)
Efficient dynamic dispatch without virtual function tables: the SmallEiffel compiler
Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Proceedings of the tenth annual ACM-SIAM symposium on Discrete algorithms
On the complexity of or-parallelism
New Generation Computing
Concepts and paradigms of object-oriented programming
ACM SIGPLAN OOPS Messenger
Parallel execution of prolog programs: a survey
ACM Transactions on Programming Languages and Systems (TOPLAS)
Construction and Optimization of a Parallel Engine for Answer Set Programming
PADL '01 Proceedings of the Third International Symposium on Practical Aspects of Declarative Languages
LATIN '00 Proceedings of the 4th Latin American Symposium on Theoretical Informatics
On the Complexity of Parallel Implementation of Logic Programs
Proceedings of the 17th Conference on Foundations of Software Technology and Theoretical Computer Science
Concurrent constraint programming languages
Concurrent constraint programming languages
LPAR'05 Proceedings of the 12th international conference on Logic for Programming, Artificial Intelligence, and Reasoning
Hi-index | 0.00 |
The single most serious issue in the development of a parallel implementation of non-deterministic programming languages and systems (e.g., logic programming, constraint programming, search-based artificial intelligence systems) is the dynamic management of the binding environments-i.e., the ability to associate with each parallel computation the correct set of bindings/values representing the solution generated by that particular branch of the non-deterministic computation. The problem has been abstracted and formally studied previously (ACM Trans. Program. Lang. Syst. 15(4) (1993) 659; New Generation Comput. 17(3) (1999) 285), but to date only relatively inefficient data structures (ACM Trans. Program. Lang. Syst. (2002); New Generation Comput. 17(3) (1999) 285; J. Funct. Logic Program. Special issue #1 (1999)) have been developed to solve it. We provide a very efficient solution to the problem (O(lgn) per operation). This is a significant improvement over previously best known @W(n3) solution. Our solution is provably optimal for the pointer machine model. We also show how the solution can be extended to handle the abstraction of search problems in object-oriented systems, with the same time complexity.