Autarky Pruning in Propositional Model Elimination Reduces Failure Redundancy

    loading  Checking for direct PDF access through Ovid

Abstract

Goal-sensitive resolution methods, such as Model Elimination, have been observed to have a higher degree of search redundancy than model-search methods. Therefore, resolution methods have not been seen in high-performance propositional satisfiability testers. A method to reduce search redundancy in goal-sensitive resolution methods is introduced. The idea at the heart of the method is to attempt to construct a refutation and a model simultaneously and incrementally, based on subsearch outcomes. The method exploits the concept of ‘autarky’, which can be informally described as a ‘self-sufficient’ model for some clauses, but which does not affect the remaining clauses of the formula. Incorporating this method into Model Elimination leads to an algorithm called Modoc. Modoc is shown, both analytically and experimentally, to be faster than Model Elimination by an exponential factor. Modoc, unlike Model Elimination, is able to find a model if it fails to find a refutation, essentially by combining autarkies. Unlike the pruning strategies of most refinements of resolution, autarky-related pruning does not prune any successful refutation; it only prunes attempts that ultimately will be unsuccessful; consequently, it will not force the underlying Modoc search to find an unnecessarily long refutation. To prove correctness and other properties, a game characterization of refutation search is introduced, which demonstrates some symmetries in the search for a refutation and the search for a model. Experimental data is presented on a variety of formula classes, comparing Modoc with Model Elimination and model-search algorithms. On random formulas, model-search methods are faster than Modoc, whereas Modoc is faster on structured formulas, including those derived from a circuit-testing application. Considerations for first-order refutation methods are discussed briefly.

Related Topics

    loading  Loading Related Articles