Several extensions of the logic programming language Prolog to non Horn clauses use case analysis to handle non-Horn clauses. In this paper, analytical and empirical evidences are presented to show that, by making a ...Several extensions of the logic programming language Prolog to non Horn clauses use case analysis to handle non-Horn clauses. In this paper, analytical and empirical evidences are presented to show that, by making a set of clauses less 'non-Horn' using predicate renaming, the performance of these case-analysis based procedures can be improved significantly. In addition, the paper also investigated the problem of efficiently constructing a predicate renaming that reduces the degree of 'non-Hornness' of a clause set maximally. It is shown that this problem of finding a predicate renaming to achieve minimal 'non-Hornness' is NP-complete.展开更多
There have been active work to extend the Prolog style Horn Clause logic programming to non-Horn clauses.In this paper,we will analyze the complexities of several such extensions.The purpose is to understand the compu...There have been active work to extend the Prolog style Horn Clause logic programming to non-Horn clauses.In this paper,we will analyze the complexities of several such extensions.The purpose is to understand the computational complexity of these inference systems.The analyses do not prove that any one system is better than the others all the time.But they do suggest that one system may be better than the others for some particular problems.We also discuss the effect of caching.展开更多
The Standard Template Library (STL) is a C++ library that provides a set of wellstructured generic C++ components that work together. Based on its well-structured design, STL can be extended by adding new generic algo...The Standard Template Library (STL) is a C++ library that provides a set of wellstructured generic C++ components that work together. Based on its well-structured design, STL can be extended by adding new generic algorithms or new generic containers. In this paper, the work on extending STL by adding several efficient cofitainer classes for threaded binary search trees is discussed. It is shown that the addition of threads signilicantly increases the efficiency of some important access operations on the binary tree containers. In general, significant gain in efficiency can be expected in situations where the data structures are relatively stable, that is, the data structures are looked up often but modified little.展开更多
文摘Several extensions of the logic programming language Prolog to non Horn clauses use case analysis to handle non-Horn clauses. In this paper, analytical and empirical evidences are presented to show that, by making a set of clauses less 'non-Horn' using predicate renaming, the performance of these case-analysis based procedures can be improved significantly. In addition, the paper also investigated the problem of efficiently constructing a predicate renaming that reduces the degree of 'non-Hornness' of a clause set maximally. It is shown that this problem of finding a predicate renaming to achieve minimal 'non-Hornness' is NP-complete.
文摘There have been active work to extend the Prolog style Horn Clause logic programming to non-Horn clauses.In this paper,we will analyze the complexities of several such extensions.The purpose is to understand the computational complexity of these inference systems.The analyses do not prove that any one system is better than the others all the time.But they do suggest that one system may be better than the others for some particular problems.We also discuss the effect of caching.
文摘The Standard Template Library (STL) is a C++ library that provides a set of wellstructured generic C++ components that work together. Based on its well-structured design, STL can be extended by adding new generic algorithms or new generic containers. In this paper, the work on extending STL by adding several efficient cofitainer classes for threaded binary search trees is discussed. It is shown that the addition of threads signilicantly increases the efficiency of some important access operations on the binary tree containers. In general, significant gain in efficiency can be expected in situations where the data structures are relatively stable, that is, the data structures are looked up often but modified little.