We consider several problems related to maintaining and analyzing dataflow dependencies in and-parallel execution of logic programs. Several problems related to optimal selection of literals for parallel execution are established to be intractable (NP-complete). Most importantly, we establish intractability even when the arity of the predicates in the logic program is restricted to a small constant. This situation represents PROLOG programs used in practice. We subsequently address the complexity of maintaining data- dependency changes that occur during program execution as variables in the literals become instantiated. For this problem we propose a simple and efficient data structure to maintain the dataflow dependencies among literals during the execution of the program. These dependencies may then be used by an intelligent control to minimize backtracking.
ASJC Scopus subject areas