Abstract

Unification is a basic operation in theorem proving, in type inference algorithms, and in logic programming languages such as Prolog. Prolog will play a major role in software development for the Fifth Generation project, and thus developing fast algorithms for unification is an important goal. This paper shows that the running time for a linear unification algorithm can often be improved substantially by use of parallel processing. The same is true for algorithms for some other complete problems in P, namely, the monotone circuit value problem and the path system accessibility problem. Previous theoretical work in computational complexity has suggested that these problems are not parallelizable; in practice this is not the case. To resolve this paradox, we introduce new complexity classes PC and PC* that capture the practical notion of parallelizability we discuss in this paper. We pose several open questions concerning PC and PC*.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call