Finding satisfying assignments for the variables involved in a set of constraints can be cast as a (bounded) model generation problem: search for (bounded) models of a theory in some logic. The state-of-the-art approach for bounded model generation for rich knowledge representation languages like Answer Set Programming (ASP) and FO(·) and a CSP modeling language such as Zinc, is ground-and-solve: reduce the theory to a ground or propositional one and apply a search algorithm to the resulting theory.An important bottleneck is the blow-up of the size of the theory caused by the grounding phase. Lazily grounding the theory during search is a way to overcome this bottleneck.We present a theoretical framework and an implementation in the context of the FO(·) knowledge representation language. Instead of grounding all parts of a theory, justications are derived for some parts of it. Given a partial assignment for the grounded part of the theory and valid justications for the formulas of the non-grounded part, the justications provide a recipe to construct a complete assignment that satises the non-grounded part. When a justication for a particular formula becomes invalid during search, a new one is derived; if that fails, the formula is split in a part to be grounded and a part that can be justied. Experimental results illustrate the power and generality of this approach.
IntroductionThe world is lled with combinatorial problems. These include important combinatorial optimization tasks such as planning, scheduling and rostering, combinatorics problems such as extremal graph theory, and countless puzzles and games. Solving combinatorial problems is hard, and all the methods we know to tackle them involve some kind of search.Various declarative paradigms have been developed to solve such problems. In such approaches, objects and attributes that are searched for are represented by symbols, and constraints to be satised by those objects are represented as expressions over these symbols c 2015 AI Access Foundation. All rights reserved.De Cat, Denecker, Stuckey & Bruynooghe in a declarative language. Solvers then search for values for these symbols that satisfy the constraints. This idea is found in the elds of Constraint Programming (CP) (Apt, 2003), ASP (Marek & Truszczy«ski, 1999), SAT, Mixed Integer Programming (MIP), etc. In the terminology of logic, the declarative method amounts to expressing the desired properties of a problem class by sentences in a logical theory. The data of a particular problem instance corresponds naturally to a partial interpretation (or structure). The solving process is to apply model generation, or more specically model expansion (Mitchell & Ternovska, 2005), the task of nding a structure that expands the input partial structure and satises the theory. The resulting structure is a solution to the problem. Model generation/expansion, studied for example in the eld of Knowledge Representation (KR) (Baral, 2003), is thus analogous to the task of solving constraint satisfaction problems...