Unifying search algorithms for CSP

Size: px
Start display at page:

Download "Unifying search algorithms for CSP"

Transcription

1 Unifying search algorithms for CSP Narendra Jussien École des Mines de Nantes 4 rue Alfred Kastler F Nantes Cedex 3 France Olivier Lhomme Ilog SA 1681 route des Dolines F Valbonne France Abstract Ginsberg and McAllester [5] have shown that systematic and nonsystematic search algorithms can be quite close. In this paper, we go one step further in the direction of understanding the relationships between systematic and nonsystematic search algorithms by introducing the PLM model. We introduce a generic search algorithm for solving csp, and we show that search algorithms can be decomposed in primitives. A reduced set of primitives is sufficient to express almost all existing search algorithms. The knowledge of these primitives is of great help for comparing search algorithms as well as for configuring new search algorithms. 1 Introduction In recent years many new search algorithms for solving Constraint Satisfaction Problems (csp) have been proposed, ranging from improvements of chronological backtracking, local search algorithms, genetic algorithms to hybrid approaches combining several search methods. Some questions come to mind: Why so much algorithms were needed? What are their similarities? Their differences? Does a unifying framework exist? In a new search method, is everything new? To compare the different algorithms, or to design a new search method, we need to know some principles, some properties of the different algorithms. Such properties seem to be easy to study: in AI, a general search framework has been used for years. Nevertheless, if every search algorithm is an instance of this general framework, why so much search algorithms exist? Backjumping, learning [21, 23, 18], filtering techniques, heuristics for variable or values orderings, repair methods, greedy method, Tabu Search (TS) [7], GSAT [22]), conflict based search, revision, symetries breaking, Dynamic Backtracking (DBT) [6], MAC-DBT [13], Dynamic Domain Splitting (DDS) [14], PBS [9], LDS [8], IDFS [17],... are ideas that are quite interesting. However they are not easy to compare nor to combine; some seem to be incompatible, but how can we prove that? And the usual general search framework does not help much: based over 1

2 states space and operators, it is too general to catch the precise properties we are looking for. In this paper, we show that most search algorithms can be decomposed in three components P, L and M where: P is a propagation component, L is a learning component, M is a moving component. The first two components, P and L, prune the remaining search space in order to avoid subparts that would necessarily lead to a dead end; they exploit respectively information about the remaining search space and information about search which has already been performed. M, the third component is responsible of the move in the search space. It chooses a direction in the remaining search space and performs a move in that direction. The P and L components constrain the allowed movements in the search space. Their purpose is to reduce the freedom of the M component to choose moves. Those three components are themselves decomposed in more basic operators, which underline similarities and differences between different search algorithms. A generic search algorithm, PLM, which propagates constraints, learns and moves in the search space, is introduced in this paper. It provides a simple and common mold for many existing search algorithms. Also, it leads to new search algorithms that are different combinations of existing P, L and M components. Indeed, this schema has already given a new and quite efficient algorithm, pathrepair (PR) that combines local search, filtering algorithm and use of conflicts. PR was born when looking for an example of the interest of the generic PLM search to design new search algorithms. The paper is organized as follows. Section 2 describes the three components of search algorithms. Section 3 presents our generic search algorithm. Finally, section 4 shows how existing algorithms fit in that generic framework and introduces a taxonomy of search algorithms. 2 Three components: P, L and M Our claim is that most search algorithms can be decomposed in a learn component, a propagate component and a move component. This section describes those three components. We consider here Constraint Satisfaction Problems (csp) represented by a couple (V, C). C is a set of constraints and V a set of variables. The goal of a search algorithm is to find a solution 1 satisfying all the constraints in C. We 1 The notion of solution is clearly dependent on the kind of problem that is to be solved: for a csp, a solution is found when domains of variables are reduced to a singleton; for a numeric csp, a solution is found when all intervals (representing the domain) are of a small enough size; for scheduling problems, a solution is found when all disjunctive constraints have been made conjunctive; etc. 2

3 assume throughout the paper that variables may be discrete or continuous, and that domains are represented by unary constraints. Moreover, the enumeration mechanism that is classically used when solving csp can be considered as a series of constraints additions and retractions. Those constraints are called decision constraints. Indeed, enumeration is not limited to enumeration done through variable assignment. Enumeration can be done through any kind of decision constraints: ordering constraints between tasks for scheduling, splitting constraints for numeric csp, etc. The current state of a search algorithm is represented by a 5-uple P = {V, C, C P, C L, C D } where: V is the set of variables, C is the initial set of constraints, C P is a set of redundant constraints added by the propagation component of the algorithm. For example, domain reduction that occurs trough arcconsistency maintenance [16] can be considered as the addition of unary constraints. C D is the set of decisions constraints that are active at the considered step of the search. Notice that the current position in the search space is completely identified by C C D (C P being redundant). C L is a et of constraints that have been learnt during search (eg. inconsistent states, etc.). It can be seen as a memory of the past of the search. Notice that like a human memory, information in this set can be forgotten during search. A state for which the set of solutions of the csp (V, C C D ) is not empty is called a consistent state. In the following, we equally handle sets of constraints as sets or as logical formulae. The empty set is then denoted by true. Let us informally outline the generic search that will be given on Section 3. It will consist in a loop over the three following steps: 1. Use the P component: it propagates the current set of constraints (C C D ) thus modifying the set of redundant constraints C P. 2. If the propagation leads to an inconsistent state, the L component is used to gather information from the identified dead-end thus modifying the set of constraints C L. 3. Use the M component: it moves in the search space thus modifying the set of constraints C D. Movement can be: a forward move (eg. classical partial solution extension), a backward move (eg. classical backtracking, back-jumping, etc.), or other kinds of moves. The next three subsections precisely describe the semantics of the P, L and M components in terms of modifications of P = {V, C, C P, C L, C D }, the state of the search algorithm. 3

4 2.1 The P component The aim of the P component is to propagate information throughout the constraint network when a decision is made. A propagation component consists in an filtering operator (filter) and a state interpreter (check). filter filters the search space in order to avoid subparts that can be proved as leading to a failure. Filtering is effectively done by adding (redundant) constraints to the current state while taking into account the current set C D of decision constraints. The used algorithm does not need to be complete. We have: P filter ({V, C, C P, C L, C D }) = {V, C, C P, C L, C D } where C C D = C P. In practice, constraints added by the P component are domain reduction information. check is used to check the resulting state after the application of filter. It provides three possible different results: solution found: a solution has been found. no solution: no solution exists given the current set of decision constraints C D (most of the time, this occurs when there exists a domain with an empty variable). In that particular case, we require the P component to provide a conflict (i.e. a set N C D of decision constraints such that the csp (V, C N) has no solution). Notice that the whole C D set is always a conflict. However, in some search, smallest and therefore more precise conflicts are preferred 2. not enough information: The current state does not allow to make a decision wether there exists or not a solution to the problem (including the decisions made so far). More decisions need to be made. It is important to notice that the computational cost of check should remain very low. For example, when dealing with classical csp check can be written as: If there exists an empty domain in the current state, return no solution. If all domains are singletons return solution found. Otherwise return not enough information. 2.2 The L component The aim of the L component is to make sure that the search mechanism will avoid (as much as possible) to get back to states that have been explored and proved to be solution-less. Learning, in a rough analogy with the brain, is an 2 Computing precise conflicts is studied since works on TMS [4] and ATMS [3]. More recent works include [10] and [11] and show that efficient techniques do exist to compute precise conflicts when using filtering techniques. 4

5 interaction between two processes, a recording process and a forgetting process. In our model, a learning component consists in three operators: a recording operator record, a forgetting operator forget and a checking operator check memory. check memory is a predicate that answers whether a given state is known to be contradictory by checking the memory C L. record records a new piece of knowledge N. Notice that this recording may itself lead to forget other pieces of knowledge (typically for space bounds reasons; because N is more general than a piece of knowledge in C L, which now can be erased). We have: L record ({V, C, C P, C L, C D }, N) = {V, C, C P, C L, C D } where C L does not necessarily implies C L. However, some pre- and post- conditions hold over the current and resulting states: C D constitutes a new dead-end (C = N, N C D, L check memory (C L, C D ) is true), C L is a set of redundant constraints (C = C L ). The aim of record is to record that the current position is a dead-end (and to ensure that the M component cannot retry immediately at least and preferably never again that same position). Therefore, we must have L check memory (C L, C D ) = false. A typical example consists in choosing C L such that C L = N. forget forgets some pieces of knowledge. We have: L forget ({V, C, C P, C L, C D }, N) = {V, C, C P, C L, C D } Preconditions for the call to L forget will be: L check memory (C L, C D ) = true and C = C L. L forget being a forgetting process will only ensure that C L = C L. 2.3 The M component Unlike P and L components, the M component does not aim at pruning the search space but rather at exploring it. The current position in the search space is described by C D, the set of decision constraints. In several search algorithms, the move is different depending on the consistency or the inconsistency of the csp associated to the current node of the search space. For example, in chronological backtracking, when the current csp is consistent, another variable is assigned a value, whereas when a dead-end occurs, a previous state is first restored. Thus component M consists in two operators. extend performs a move when the csp associated to the current node in the search space is consistent and repair performs a move when the csp associated to the current node in the search space is inconsistent. extend and repair can only modify the current position in the search space i.e. they can only change the decision constraints. We have: M extend ({V, C, C P, C L, C D }) = {V, C, C P, C L, C D} (1) M repair ({V, C, C P, C L, C D }) = {V, C, C P, C L, C D} (2) 5

6 Let S = {V, C, C P, C L, C D } be the current state. Preconditions for extend are: P check (S) = not enough information (the current position is not contradictory) P filter (S) = S (propagation has been performed) L check memory (C L, C D ) = true (the current position is not contradictory with what has been learnt) Preconditions for repair are: P check (S) = no solution (the current position is contradictory) L check memory (C L, C D ) = false (the current position is contradictory with what has been learnt; actually, this has been learnt just before the call to repair as we will see in the general algorithm Section 3) For extend, the set of allowed moves is constrained by the set C of original constraints, C P the propagation done so far and C L the dead-ends encountered (and remembered) so far. More precisely, in equation 1, C D is such that P check ({V, C, C P, C L, C D }) no solution i.e. the new position is compatible with the old one; and L check memory) (C L, C D ) = true i.e. the new position is not known as being a dead-end. For repair, the set of allowed moves is constrained by C and C L as for extend. However, the set C P may need some modifications in order to ensure that C C D = C P. Indeed, inferences (redundant constraints) in C P that depend on decisions made in C D but not in C D should disappear in C P since they may not be redundant constraints any more. This can be quite easy. Consider, for example, Standard Backtracking (BT), the repair operator consists in replacing the most recent (positive) decision constraint in C D by its negation and remove from C P all inferences made since the last call to extend (which added the undone decision!) and remove from C D all negative decision constraints added since that same time. However, solving this problem in a more general way is related to handling dynamic retraction of constraints. For example, [2] introduced dynamic arc-consistency enforcement. More recently [13] introduced the use of explanations (set of constraints justifying value removals). Notice that such explanations can be used to compute accurate conflicts [11] as required by the P component. Both operators of the M component may share information about the followed path to reach the current node. For example, in chronological backtracking, a stack is needed to return to previously encountered nodes. For the sake of simplicity of our model, we do not explicitly refer to such a shared information, but keep in mind that some hidden data may be shared between operators in the M component. 6

7 procedure PLM(V,C,C D ) (1) begin (2) P b {V, C,,, C D } (3) repeat (4) P b P filter (P b) (5) switch P check(p b) (6) case no solution : (7) P b L forget (M repair (L record (P b, N))) (8) case solution found : (9) return P b (10) case not enough information : (11) P b M extend(p b) (12) endswitch (13) until conditions of termination (14) end Figure 1: The PLM generic algorithm 3 PLM: a generic search algorithm The three components (P, L and M) are combined to provide a generic search algorithm for solving csp: the PLM (Propagate, Learn and Move) algorithm. 3.1 The algorithm The generic PLM algorithm is given in figure 1. It ensures that all pre- and postconditions of the P, L and M operators hold. The principles of the algorithms are the following: the search starts from an initial set of decision constraints that may range from the empty set (typically for backtrack-based search) or a total assignement (typically for local search algorithm) decisions are made (extend) and propagated (filter) until a contradiction occurs when a contradiction occurs (line 6), the information related to the deadend (a conflict N) is learnt (record), the current state is repaired (repair) and some information is forgotten (forget). the search terminates as soon as a solution is found (line 8) or the conditions of termination (line 13) are fulfilled. Conditions of termination can be for example a maximum number of iterations, the exhibition of a proof that no solution exists, etc. 3.2 Systematic vs Non-systematic search Each different given combination of P, L and M components gives a different search algorithm. It is interesting to know whether a given combination is systematic or not. In general, that property of being systematic or not may 7

8 come from a subtle combination of the respective work done by the three components. It is thus quite difficult to characterize this property in a generic way. Nevertheless,we provide the following proposition which states that if stronger propagation and learning operators are used, a given systematic search algorithm remains systematic. Let us define what are stronger operators. A propagation component P is stronger than a propagation component P (P Q) iff: P check (S) = n. e. i. = Q check (S) = n. e. i. Q check (S) n. e. i. = P check (S) = Q check (S) S, P filter (S) = S P, Q filter (S) = S Q = (C P C Q ) where S P = {V, C, C P, C L, C D }, S Q = {V, C, C Q, C L, C D } and n. e. i. = not enough information. A learning component L is stronger than a learning component K (L K) iff: L check memory (C l, C d ) = true = K check memory (C l, C d ) = true S, L op (S) = S L, K op (S) = S K = (C L C K ) where S L = {V, C, C P, C L, C D }, S K = {V, C, C P, C K, C D } and op is either record or forget. Proposition 1 If P/L/M defines a systematic search, then any P /L /M such that P P and L L defines a systematic search. Proof (sketch): If there is no solution to C, all the positions corresponding to the allowed moves for P/L/M will be tried or inferred as dead-ends. As P P and L L P and L infer at least the same dead-ends without trying them. So M will explore also in P /L /M all the allowed moves. 4 Instantiating the PLM model Now it is time to specialize our generic algorithm. In the following, we express several well-known (and some new techniques) as instances of PLM. We present both systematic and non-systematic algorithms. We then synthesize different values for the P, L and M components hence defining a new search algorithm taxonomy. 8

9 4.1 Systematic algorithms BT and MAC Standard Backtracking does not perform any propagation and only tests the satisfiability of fully instantiated constraints. When a failure occurs, a conflict is merely defined as the whole current set C D of decisions made so far. Moving upon a success of the propagation amounts to the addition of an instantiation constraint. Moving upon a dead-end consists in reconsidering the latest possible choice as explained in Section 2.3. The L component is anecdotic since learnt information is used only once. We have the following simple equations: P filter (S) = S L record ({..., C L,...}, N) = {..., { N},...} L forget ({..., C L,...}) = {...,,...} M extend ({..., C D }) = {..., C D {c}} M repair ({..., C P,..., C D }) = {..., C P,..., C D { c }} where c is a decision constraint that allows to go to a child node of C D, C D correspond to the position of the latest depth first search ancestor of C D that still have an unexplored child and c is the decision constraint that represent the previous child that has just been rejected. A heuristic variable ordering is easily incorporated in BT by specifying the decision constraint c used in M extend. Interleaving arc-consistency maintenance within BT consists in modifying the filtering operator of the P component: P filter ({V, C, C P, C L, C D }) = {V, C, C P, C L, C D } where C P is the arc-consistent closure of C C D. Notice that this describes the MAC algorithm [20]. Conflict-directed Backjumping Conflict-directed BackJumping (CBJ) [18] is an enhancement of BT, from which a single but significative difference can be noticed: the filtering operator of the P component provides much more precise conflicts leading to an improved behavior regarding backtracking points. Moreover, the L component is enhanced in order to keep track of past conflicts. MAC-CBJ [19] integrates arc-consistency filtering in CBJ. The only difference is the definition of the filtering operator of the P component which computes the arc-consistent closure of C C D as in MAC. Dynamic Backtracking DBT [6] replaces BT by a local modification of the current solution. The completeness and the efficiency of the approach is ensured by using a specific recording mechanism. From CBJ operators, the first difference is in the definition of the L component. Formally one can see that: 9

10 L record ({..., C L,...}, N) = {..., C L { N},...} L forget ({..., C L,...}) = {..., C L,...} Given that each constraint in C L has the form (x j1 = v j1... x jk = v jk ), C L is built from C L by removing all constraints in C L that have at least two variables x i (i {j 1... j k }) such that the current value of x i is different from v i. Notice that if we generalizes to not only constraint having at least two such variables but at least k+1 such variables, one obtain a well-known generalization of DBT: k-relevance bounded learning [1]. The second difference with CBJ is the repair operator of the M component, which consists here in only erasing the most recent culprit decision constraint. M repair ({..., C P,..., C D }) = {..., C P,..., C D} where C D is C D \ {c} where c is the latest decision constraint such that C D is compatible with C L (by construction, we know that there exists at least one such decision constraint, it belongs to the last recorded conflict). Remember that C P therefore needs to be cleaned up with inferences that depends upon c leading to C P. MAC-DBT MAC-DBT [13] and DDS [14] add arc-consistency and bound-consistency maintenance to DBT. Their description in the PLM model derives from the one of DBT by modifying the P component as it was done for MAC or MAC-CBJ above. 4.2 Non-systematic algorithms The PLM model is also capable of handling non-systematic searches. Tabu search In TS [7], a position in a search space C D is a complete assignment of the variables. A Tabu Search is characterized by the size K of the Tabu list that defines the past position that are declared as tabu and to which the algorithm is not allowed to get back. We have: P filter (S) = S L record ({..., C L,...}, N) = {..., C L { N},...} L forget (S) = S M extend not used M repair ({..., C D }) = {..., C D} where C L is equal to C L if C L < K and to C L \ {c} otherwise (c being the oldest constraint in C L ) and where C D is a neighboring3 position of C D that 3 The definition of the neighborhood is dependent on the solved problem. 10

11 is fully compatible with C L. Moreover, the conflict provided by the algorithm would be, as for BT, the whole set C D. GSAT GSAT [22] is a boolean csp algorithm. As in TS, the position in a search space C D is a complete assignment of the variables of the problem. This algorithm is quite close to TS except that no information is recorded and the movements in the neighborhood are more strictly controlled: GSAT is characterized by two number max-tries and max-split; if the current number of iterations is a multiple of max-split, the repair operator of the M component chooses a new random position; else, it flips the variable that results in the greatest decrease in the number of unsatisfied constraints in C. Path-repair PR [15] combines the propagation-based nature of MAC-DBT and the true freedom (in the search space exploration) given by a local search algorithm such as TS. We have: P filter ({V, C, C P, C L, C D }) = {V, C, C P, C L, C D } L record ({..., C L,...}, N) = {..., C L { N},...} L forget (S) = S M extend ({..., C D }) = {..., C D {c}} M repair ({..., C P,..., C D }) = {..., C P,..., C D} where C P is the arc-consistent closure of C C D; C L is equal to C L if C L < K and to C L \ {oldest constraint} otherwise; c is a decision constraint that allows to go to a child node of C D ; C D is C D minus c a heuristically chosen decision constraint such that C D is compatible with C L (when such a c does not exist, the condiiton of termiantion are reached). Remember that C P therefore needs to be cleaned up with inferences that depends upon c leading to C P. PR is a good example of new algorithms that can be obtained using the PLM model. 4.3 A taxonomy of search algorithms From the previous examples of instantiations one can define a (non limitative) list of possible values for our operators. Each of this values will be given a short code so that we can introduce a new notation to characterize any given search algorithm using the values for the three components: P/L/M. The propagation component is mainly character- Propagation component ized by: its filtering operator: a simple consistency check (o) as in BT, a classical local consistency enforcement algorithm (eg. arc-consistency ac, boundconsistency bc), etc. its conflict computation mechanism: none (X-o) or pragmatic one like in [11] (X-e) for any filtering X. 11

12 Algorithm PLM model BT o-o/su/bt MAC ac-o/su/bt CBJ o-e/su/bt MAC-CBJ ac-e/su/bt DBT o-e/rb/jp MAC-DBT ac-e/rb/jp DDS bc-e/rb/jp TS o-o/tb/jp GSAT o-o/su/jp PR ac-e/tb/jp Table 1: PLM description of classical algorithms Learning component The learning component is characterized by the life time of the recorded information: not used (o), single use (su), time-bounded use (tb), size-bounded use (sb) as in [21], relevance-bounded use (rb), etc. Moving component Our examples illustrate two types of movements: a backtrack-like set of movements (bt) or a jump-like set of movements (exploring the neighborhood of a position jp). A taxonomy Using our short codes allows a quick description of the presented examples enlightening relations and differences. Table 1 gives the PLM description of different algorithms. This three-dimensional space of search algorithms presents many untried spots. Our generic algorithm both provides a way of identifying most of them and a framework to express their behavior 4. 5 Conclusion The contribution of this paper is to consider search algorithms as combinations of three components: P,L and M. This is a step towards a characterization of the space of search algorithms. We hope it may help in understanding relationships between search algorithms. Also, new combinations of existing P,L and M components lead to many new algorithms; among them, some are worth trying. The PaLM system [11] can be used for experimentations. Our scheme can be completed in several directions. For example, we already have seen that some implementation tricks cannot be expressed in the current model (hidden connection between the two M operators). Also, we have assumed that knowledge to be learnt can only come from a failure of the filtering operator; this is not mandatory: the generic algorithm has only to be modified 4 Moreover, there exists an implementation of that general algorithm which allows the specification of any P,L and M components for a search algorithm: the PaLM system [12]. That implementation also provides conflict computation routines as described in [11]. 12

13 to call L operators also when propagation succeeds. A third direction to complete the scheme is to allow knowledge that cannot be expressed as constraints to be learnt and used in the M operators. References [1] Roberto J. Bayardo Jr. and Daniel P. Miranker. A complexity analysis of space-bounded learning algorithms for the constraint satisfaction problem. In AAAI 96, [2] Christian Bessière. Arc consistency in dynamic constraint satisfaction problems. In Proceedings AAAI 91, [3] Johan de Kleer. An assumption-based tms. Artificial Intelligence, 28: , [4] J. Doyle. A truth maintenance system. Artificial Intelligence, 12: , [5] Matthew Ginsberg and David McAllester. GSAT and dynamic backtracking. In Alan Borning, editor, Principles and Practice of Constraint Programming, volume 874 of Lecture Notes in Computer Science. Springer, May (PPCP 94: Second International Workshop, Orcas Island, Seattle, USA). [6] Matthew L. Ginsberg. Dynamic backtracking. Journal of Artificial Intelligence Research, 1:25 46, [7] F. Glover and M. Laguna. Modern heuristic Techniques for Combinatorial Problems, chapter Tabu Search, C. Reeves. Blackwell Scientific Publishing, [8] William D. Harvey and Matthew L. Ginsberg. Limited discrepancy search. In Proceedings IJCAI-95; Vol. 1, pages , Montréal, Québec, Canada, [9] Ulrich Junker. Preference-based search for scheduling. In Proceedings AAAI/IAAI 2000, pages , [10] Ulrich Junker. QUICKXPLAIN: Conflict detection for arbitrary constraint propagation algorithms. In IJCAI 01 Workshop on Modelling and Solving problems with constraints, Seattle, WA, USA, August [11] Narendra Jussien. e-constraints: explanation-based constraint programming. In CP01 Workshop on User-Interaction in Constraint Satisfaction, Paphos, Cyprus, 1 December

14 [12] Narendra Jussien and Vincent Barichard. The palm system: explanationbased constraint programming. In Proceedings of TRICS: Techniques for Implementing Constraint programming Systems, a post-conference workshop of CP 2000, pages , Singapore, September [13] Narendra Jussien, Romuald Debruyne, and Patrice Boizumault. Maintaining arc-consistency within dynamic backtracking. In Principles and Practice of Constraint Programming (CP 2000), number 1894 in Lecture Notes in Computer Science, pages , Singapore, September Springer-Verlag. [14] Narendra Jussien and Olivier Lhomme. Dynamic domain splitting for numeric csp. In European Conference on Artificial Intelligence, pages , Brighton, United Kingdom, August [15] Narendra Jussien and Olivier Lhomme. Local search with constraint propagation and conflict-based heuristics. In Seventh National Conference on Artificial Intelligence AAAI 2000, pages , Austin, TX, USA, August [16] Alan Mackworth. Consistency in networks of relations. Artificial Intelligence, 8(1):99 118, [17] Pedro Meseguer. Interleaved depth-first search. In Proceedings IJCAI, pages , [18] Patrick Prosser. Hybrid algorithms for the constraint satisfaction problem. Computational Intelligence, 9(3): , August (Also available as Technical Report AISL-46-91, Stratchclyde, 1991). [19] Patrick Prosser. MAC-CBJ: maintaining arc-consistency with conflictdirected backjumping. Research Report 95/177, Department of Computer Science University of Strathclyde, [20] Daniel Sabin and Eugene Freuder. Contradicting conventional wisdom in constraint satisfaction. In Alan Borning, editor, Principles and Practice of Constraint Programming, volume 874 of Lecture Notes in Computer Science. Springer, May (PPCP 94: Second International Workshop, Orcas Island, Seattle, USA). [21] Thomas Schiex and Gérard Verfaillie. Nogood Recording for Static and Dynamic Constraint Satisfaction Problems. International Journal of Artificial Intelligence Tools, 3(2): , [22] Bart Selman, Hector Levesque, and David Mitchell. A new method for solving hard satisfiability problems. In AAAI 92, Tenth National Conference on Artificial Intelligence, pages , [23] Gérard Verfaillie and Thomas Schiex. Solution reuse in dynamic constraint satisfaction problems. In AAAI 94, pages , Seattle, WA,

Combining constraint programming and local search to design new powerful heuristics

Combining constraint programming and local search to design new powerful heuristics MIC2003: The Fifth Metaheuristics International Conference 028-1 Combining constraint programming and local search to design new powerful heuristics Narendra Jussien Olivier Lhomme École des Mines de Nantes

More information

Local search with constraint propagation and conflict-based heuristics

Local search with constraint propagation and conflict-based heuristics Local search with constraint propagation and conflict-based heuristics Narendra Jussien École des Mines de Nantes BP 20722 F-44307 NANTES Cedex 3 FRANCE Narendra.Jussien@emn.fr Olivier Lhomme ILOG Les

More information

Maintaining Arc-Consistency within Dynamic Backtracking

Maintaining Arc-Consistency within Dynamic Backtracking Maintaining Arc-Consistency within Dynamic Backtracking Narendra Jussien, Romuald Debruyne, and Patrice Boizumault École des Mines de Nantes 4 rue Alfred Kastler BP 20722 F-44307 Nantes Cedex 3 {jussien,rdebruyn,boizu}@emn.fr

More information

Application to numeric csps. F Nantes Cedex 3 { France. Abstract. Relaxation Management). That system can be seen as an integration

Application to numeric csps. F Nantes Cedex 3 { France. Abstract. Relaxation Management). That system can be seen as an integration Dynamic Backtracking with Constraint Propagation Application to numeric csps Narendra Jussien and Olivier Lhomme Ecole des Mines de Nantes { Departement Informatique 4 Rue Alfred Kastler { BP 20722 F-44307

More information

Propagate the Right Thing: How Preferences Can Speed-Up Constraint Solving

Propagate the Right Thing: How Preferences Can Speed-Up Constraint Solving Propagate the Right Thing: How Preferences Can Speed-Up Constraint Solving Christian Bessiere Anais Fabre* LIRMM-CNRS (UMR 5506) 161, rue Ada F-34392 Montpellier Cedex 5 (bessiere,fabre}@lirmm.fr Ulrich

More information

A generic framework for solving CSPs integrating decomposition methods

A generic framework for solving CSPs integrating decomposition methods A generic framework for solving CSPs integrating decomposition methods L. Blet 1,3, S. N. Ndiaye 1,2, and C. Solnon 1,3 1 Université de Lyon - LIRIS 2 Université Lyon 1, LIRIS, UMR5205, F-69622 France

More information

A strong local consistency for constraint satisfaction

A strong local consistency for constraint satisfaction A strong local consistency for constraint satisfaction Romuald Debruyne Ecole des Mines de Nantes 4, rue Alfred Kastler, La Chantrerie 4437 Nantes cedex 3 - France Email: debruyne@lirmm.fr Abstract Filtering

More information

MINLP Problems and Explanation-based Constraint Programming

MINLP Problems and Explanation-based Constraint Programming MINLP Problems and Explanation-based Constraint Programming Guillaume Rochart 1,2, Eric Monfroy 1, and Narendra Jussien 2 1 LINA, FRE CNRS 2729 2, rue de la Houssinière B.P. 92208 F-44322 Nantes Cedex

More information

A Fast Arc Consistency Algorithm for n-ary Constraints

A Fast Arc Consistency Algorithm for n-ary Constraints A Fast Arc Consistency Algorithm for n-ary Constraints Olivier Lhomme 1 and Jean-Charles Régin 2 1 ILOG, 1681, route des Dolines, 06560 Valbonne, FRANCE 2 Computing and Information Science, Cornell University,

More information

Backtracking. Narendra Jussien 1,Romuald Debruyne 1, and Patrice Boizumault 1. Ecole des Mines de Nantes

Backtracking. Narendra Jussien 1,Romuald Debruyne 1, and Patrice Boizumault 1. Ecole des Mines de Nantes Maintaining Arc-Consistency within Dynamic Backtracking Narendra Jussien 1,Romuald Debruyne 1, and Patrice Boizumault 1 Ecole des Mines de Nantes 4 rue Alfred Kastler { BP 20722 F-44307 Nantes Cedex 3

More information

Inconsistency and Redundancy Do Not Imply Irrelevance

Inconsistency and Redundancy Do Not Imply Irrelevance From: AAAI Technical Report FS-94-02. Compilation copyright 1994, AAAI (www.aaai.org). All rights reserved. Inconsistency and Redundancy Do Not Imply Irrelevance Eugene C. Freuder Paul D. Hubbe Daniel

More information

Last Conflict based Reasoning

Last Conflict based Reasoning Last Conflict based Reasoning Christophe Lecoutre and Lakhdar Sais and Sébastien Tabary and Vincent Vidal 1 Abstract. In this paper, we propose an approach to guide search to sources of conflicts. The

More information

A Uniform View of Backtracking

A Uniform View of Backtracking A Uniform View of Backtracking Fahiem Bacchus 1 Department. of Computer Science, 6 Kings College Road, University Of Toronto, Toronto, Ontario, Canada, M5S 1A4, fbacchus@cs.toronto.edu? Abstract. Backtracking

More information

VALCSP solver : a combination of Multi-Level Dynamic Variable Ordering with Constraint Weighting

VALCSP solver : a combination of Multi-Level Dynamic Variable Ordering with Constraint Weighting VALCS solver : a combination of Multi-Level Dynamic Variable Ordering with Constraint Weighting Assef Chmeiss, Lakdar Saïs, Vincent Krawczyk CRIL - University of Artois - IUT de Lens Rue Jean Souvraz -

More information

Constraint Satisfaction Problems

Constraint Satisfaction Problems Constraint Satisfaction Problems CE417: Introduction to Artificial Intelligence Sharif University of Technology Spring 2013 Soleymani Course material: Artificial Intelligence: A Modern Approach, 3 rd Edition,

More information

programming Narendra Jussien and Vincent Barichard F Nantes Cedex 3, France WWW home page:

programming Narendra Jussien and Vincent Barichard F Nantes Cedex 3, France WWW home page: The PaLM system: explanation-based constraint programming Narendra Jussien and Vincent Barichard Ecole des Mines de Nantes, 4 rue Alfred Kastler, BP 20722 F-44307 Nantes Cedex 3, France Narendra.Jussien@emn.fr

More information

Constraint Satisfaction Problems. Chapter 6

Constraint Satisfaction Problems. Chapter 6 Constraint Satisfaction Problems Chapter 6 Constraint Satisfaction Problems A constraint satisfaction problem consists of three components, X, D, and C: X is a set of variables, {X 1,..., X n }. D is a

More information

Constraint Satisfaction Problems

Constraint Satisfaction Problems Constraint Satisfaction Problems Tuomas Sandholm Carnegie Mellon University Computer Science Department [Read Chapter 6 of Russell & Norvig] Constraint satisfaction problems (CSPs) Standard search problem:

More information

Conflict based Backjumping for Constraints Optimization Problems

Conflict based Backjumping for Constraints Optimization Problems Conflict based Backjumping for Constraints Optimization Problems Roie Zivan and Amnon Meisels {zivanr,am}@cs.bgu.ac.il Department of Computer Science, Ben-Gurion University of the Negev, Beer-Sheva, 84-105,

More information

Conflict Directed Backjumping for Max-CSPs

Conflict Directed Backjumping for Max-CSPs Conflict Directed Backjumping for Max-CSPs Roie Zivan and Amnon Meisels, Department of Computer Science, Ben-Gurion University of the Negev, Beer-Sheva, 84-105, Israel Abstract Max-CSPs are Constraint

More information

Set 5: Constraint Satisfaction Problems

Set 5: Constraint Satisfaction Problems Set 5: Constraint Satisfaction Problems ICS 271 Fall 2014 Kalev Kask ICS-271:Notes 5: 1 The constraint network model Outline Variables, domains, constraints, constraint graph, solutions Examples: graph-coloring,

More information

Set 5: Constraint Satisfaction Problems Chapter 6 R&N

Set 5: Constraint Satisfaction Problems Chapter 6 R&N Set 5: Constraint Satisfaction Problems Chapter 6 R&N ICS 271 Fall 2017 Kalev Kask ICS-271:Notes 5: 1 The constraint network model Outline Variables, domains, constraints, constraint graph, solutions Examples:

More information

Example: Map coloring

Example: Map coloring Today s s lecture Local Search Lecture 7: Search - 6 Heuristic Repair CSP and 3-SAT Solving CSPs using Systematic Search. Victor Lesser CMPSCI 683 Fall 2004 The relationship between problem structure and

More information

Optimal and Suboptimal Singleton Arc Consistency Algorithms

Optimal and Suboptimal Singleton Arc Consistency Algorithms Optimal and Suboptimal Singleton Arc Consistency Algorithms Christian Bessiere LIRMM (CNRS / University of Montpellier) 161 rue Ada, Montpellier, France bessiere@lirmm.fr Romuald Debruyne École des Mines

More information

Reduced branching-factor algorithms for constraint satisfaction problems

Reduced branching-factor algorithms for constraint satisfaction problems Reduced branching-factor algorithms for constraint satisfaction problems Igor Razgon and Amnon Meisels Department of Computer Science, Ben-Gurion University of the Negev, Beer-Sheva, 84-105, Israel {irazgon,am}@cs.bgu.ac.il

More information

Chronological Backtracking Conflict Directed Backjumping Dynamic Backtracking Branching Strategies Branching Heuristics Heavy Tail Behavior

Chronological Backtracking Conflict Directed Backjumping Dynamic Backtracking Branching Strategies Branching Heuristics Heavy Tail Behavior PART III: Search Outline Depth-first Search Chronological Backtracking Conflict Directed Backjumping Dynamic Backtracking Branching Strategies Branching Heuristics Heavy Tail Behavior Best-First Search

More information

On the Space-Time Trade-off in Solving Constraint Satisfaction Problems*

On the Space-Time Trade-off in Solving Constraint Satisfaction Problems* Appeared in Proc of the 14th Int l Joint Conf on Artificial Intelligence, 558-56, 1995 On the Space-Time Trade-off in Solving Constraint Satisfaction Problems* Roberto J Bayardo Jr and Daniel P Miranker

More information

A Greedy Approach to Establish Singleton Arc Consistency

A Greedy Approach to Establish Singleton Arc Consistency A Greedy Approach to Establish Singleton Arc Consistency Christophe Lecoutre and Stéphane Cardon CRIL-CNRS FRE 2499, Université d Artois Lens, France {lecoutre, cardon}@cril.univ-artois.fr Abstract In

More information

A Re-examination of Limited Discrepancy Search

A Re-examination of Limited Discrepancy Search A Re-examination of Limited Discrepancy Search W. Ken Jackson, Morten Irgens, and William S. Havens Intelligent Systems Lab, Centre for Systems Science Simon Fraser University Burnaby, B.C., CANADA V5A

More information

3 No-Wait Job Shops with Variable Processing Times

3 No-Wait Job Shops with Variable Processing Times 3 No-Wait Job Shops with Variable Processing Times In this chapter we assume that, on top of the classical no-wait job shop setting, we are given a set of processing times for each operation. We may select

More information

Unrestricted Backtracking Algorithms for Satisfiability

Unrestricted Backtracking Algorithms for Satisfiability From: AAAI Technical Report FS-01-04. Compilation copyright 2001, AAAI (www.aaai.org). All rights reserved. Unrestricted Backtracking Algorithms for Satisfiability I. Lynce, L. Baptista and J. Marques-Silva

More information

A COMPARISON OF ATMS AND CSP TECHNIQUES

A COMPARISON OF ATMS AND CSP TECHNIQUES A COMPARISON OF ATMS AND CSP TECHNIQUES Johan de Kleer Xerox Palo Alto Research Center 3333 Coyote Hill Road, Palo Alto CA 94304 Abstract A fundamental problem for most AI problem solvers is how to control

More information

A New Algorithm for Singleton Arc Consistency

A New Algorithm for Singleton Arc Consistency A New Algorithm for Singleton Arc Consistency Roman Barták, Radek Erben Charles University, Institute for Theoretical Computer Science Malostranské nám. 2/25, 118 Praha 1, Czech Republic bartak@kti.mff.cuni.cz,

More information

Unrestricted Nogood Recording in CSP search

Unrestricted Nogood Recording in CSP search Unrestricted Nogood Recording in CSP search George Katsirelos and Fahiem Bacchus Department of Computer Science, University Of Toronto, Toronto, Ontario, Canada [gkatsi,fbacchus]@cs.toronto.edu Abstract.

More information

Constraint (Logic) Programming

Constraint (Logic) Programming Constraint (Logic) Programming Roman Barták Faculty of Mathematics and Physics, Charles University in Prague, Czech Republic bartak@ktiml.mff.cuni.cz Sudoku Combinatorial puzzle, whose goal is to enter

More information

Constraint Satisfaction Problems. slides from: Padhraic Smyth, Bryan Low, S. Russell and P. Norvig, Jean-Claude Latombe

Constraint Satisfaction Problems. slides from: Padhraic Smyth, Bryan Low, S. Russell and P. Norvig, Jean-Claude Latombe Constraint Satisfaction Problems slides from: Padhraic Smyth, Bryan Low, S. Russell and P. Norvig, Jean-Claude Latombe Standard search problems: State is a black box : arbitrary data structure Goal test

More information

Decomposable Constraints

Decomposable Constraints Decomposable Constraints Ian Gent 1, Kostas Stergiou 2, and Toby Walsh 3 1 University of St Andrews, St Andrews, Scotland. ipg@dcs.st-and.ac.uk 2 University of Strathclyde, Glasgow, Scotland. ks@cs.strath.ac.uk

More information

Lecture: Iterative Search Methods

Lecture: Iterative Search Methods Lecture: Iterative Search Methods Overview Constructive Search is exponential. State-Space Search exhibits better performance on some problems. Research in understanding heuristic and iterative search

More information

Conflict-based Statistics

Conflict-based Statistics Conflict-based Statistics Tomáš Müller 1, Roman Barták 1 and Hana Rudová 2 1 Faculty of Mathematics and Physics, Charles University Malostranské nám. 2/25, Prague, Czech Republic {muller bartak}@ktiml.mff.cuni.cz

More information

A CSP Search Algorithm with Reduced Branching Factor

A CSP Search Algorithm with Reduced Branching Factor A CSP Search Algorithm with Reduced Branching Factor Igor Razgon and Amnon Meisels Department of Computer Science, Ben-Gurion University of the Negev, Beer-Sheva, 84-105, Israel {irazgon,am}@cs.bgu.ac.il

More information

General Methods and Search Algorithms

General Methods and Search Algorithms DM811 HEURISTICS AND LOCAL SEARCH ALGORITHMS FOR COMBINATORIAL OPTIMZATION Lecture 3 General Methods and Search Algorithms Marco Chiarandini 2 Methods and Algorithms A Method is a general framework for

More information

CONSTRAINT SATISFACTION PROBLEM: A CASE STUDY

CONSTRAINT SATISFACTION PROBLEM: A CASE STUDY Available Online at www.ijcsmc.com International Journal of Computer Science and Mobile Computing A Monthly Journal of Computer Science and Information Technology IJCSMC, Vol. 4, Issue. 5, May 2015, pg.33

More information

Local Consistency in Weighted CSPs and Inference in Max-SAT

Local Consistency in Weighted CSPs and Inference in Max-SAT Local Consistency in Weighted CSPs and Inference in Max-SAT Student name: Federico Heras Supervisor name: Javier Larrosa Universitat Politecnica de Catalunya, Barcelona, Spain fheras@lsi.upc.edu,larrosa@lsi.upc.edu

More information

Search Algorithms in Type Theory

Search Algorithms in Type Theory Search Algorithms in Type Theory James L. Caldwell Ian P. Gent Judith Underwood Revised submission to Theoretical Computer Science: Special Issue on Proof Search in Type-theoretic Languages May 1998 Abstract

More information

Arc Consistency for Dynamic CSPs

Arc Consistency for Dynamic CSPs Arc Consistency for Dynamic CSPs Malek Mouhoub mouhoubm@cs.uregina.ca Department of Computer Science, University of Regina 3737 Waskana Parkway, Regina SK, Canada, S4S 0A2 ABSTRACT Constraint Satisfaction

More information

Some Applications of Graph Bandwidth to Constraint Satisfaction Problems

Some Applications of Graph Bandwidth to Constraint Satisfaction Problems Some Applications of Graph Bandwidth to Constraint Satisfaction Problems Ramin Zabih Computer Science Department Stanford University Stanford, California 94305 Abstract Bandwidth is a fundamental concept

More information

Chapter 27. Other Approaches to Reasoning and Representation

Chapter 27. Other Approaches to Reasoning and Representation Chapter 27. Other Approaches to Reasoning and Representation The Quest for Artificial Intelligence, Nilsson, N. J., 2009. Lecture Notes on Artificial Intelligence Summarized by Ha, Jung-Woo and Lee, Beom-Jin

More information

Heuristic Backtracking Algorithms for SAT

Heuristic Backtracking Algorithms for SAT Heuristic Backtracking Algorithms for SAT A. Bhalla, I. Lynce, J.T. de Sousa and J. Marques-Silva IST/INESC-ID, Technical University of Lisbon, Portugal fateet,ines,jts,jpmsg@sat.inesc.pt Abstract In recent

More information

Module 4. Constraint satisfaction problems. Version 2 CSE IIT, Kharagpur

Module 4. Constraint satisfaction problems. Version 2 CSE IIT, Kharagpur Module 4 Constraint satisfaction problems Lesson 10 Constraint satisfaction problems - II 4.5 Variable and Value Ordering A search algorithm for constraint satisfaction requires the order in which variables

More information

Search. Krzysztof Kuchcinski. Department of Computer Science Lund Institute of Technology Sweden.

Search. Krzysztof Kuchcinski. Department of Computer Science Lund Institute of Technology Sweden. Search Krzysztof Kuchcinski Krzysztof.Kuchcinski@cs.lth.se Department of Computer Science Lund Institute of Technology Sweden January 12, 2015 Kris Kuchcinski (LTH) Search January 12, 2015 1 / 46 Search

More information

Constraint Programming

Constraint Programming Constraint In Pursuit of The Holly Grail Roman Barták Charles University in Prague Constraint programming represents one of the closest approaches computer science has yet made to the Holy Grail of programming:

More information

1st International Workshop on Local Search Techniques in Constraint Satisfaction

1st International Workshop on Local Search Techniques in Constraint Satisfaction 1st International Workshop on Local Search Techniques in Constraint Satisfaction Toronto, Canada September 27, 2004 Workshop Organisers Justin Pearson, Uppsala University Magnus Ågren, Uppsala University

More information

Constructive Search Algorithms

Constructive Search Algorithms Constructive Search Algorithms! Introduction Historically the major search method for CSPs Reference: S.W.Golomb & L.D.Baumert (1965) Backtrack Programming, JACM 12:516-524 Extended for Intelligent Backtracking

More information

The Constraint Satisfaction is a general framework for modeling and solving combinatorial

The Constraint Satisfaction is a general framework for modeling and solving combinatorial Chapter 2 Constraint Satisfaction When all you have is a hammer, everything looks like a nail Folklore The Constraint Satisfaction is a general framework for modeling and solving combinatorial problems.

More information

On the Space-Time Trade-off in Solving Constraint Satisfaction Problems*

On the Space-Time Trade-off in Solving Constraint Satisfaction Problems* On the Space-Time Trade-off in Solving Constraint Satisfaction Problems* Roberto J. Bayardo Jr. and Daniel P. Miranker Department of Computer Sciences and Applied Research Laboratories The University of

More information

A proof-producing CSP solver: A proof supplement

A proof-producing CSP solver: A proof supplement A proof-producing CSP solver: A proof supplement Report IE/IS-2010-02 Michael Veksler Ofer Strichman mveksler@tx.technion.ac.il ofers@ie.technion.ac.il Technion Institute of Technology April 12, 2010 Abstract

More information

ON THE COMPLETENESS OF THE ALGORITHMS DISTRIBUTED WITHIN THE DCSP MODELING (DISTRIBUTED CONSTRAINT SATISFACTION PROBLEM)

ON THE COMPLETENESS OF THE ALGORITHMS DISTRIBUTED WITHIN THE DCSP MODELING (DISTRIBUTED CONSTRAINT SATISFACTION PROBLEM) 1 2 ON THE COMPLETENESS OF THE ALGORITHMS DISTRIBUTED WITHIN THE DCSP MODELING (DISTRIBUTED CONSTRAINT SATISFACTION PROBLEM) MUSCALAGIU Ionel, PĂNOIU Manuela, OSACI Mihaela UNIVERSITY POLITEHNICA TIMISOARA,

More information

AI Fundamentals: Constraints Satisfaction Problems. Maria Simi

AI Fundamentals: Constraints Satisfaction Problems. Maria Simi AI Fundamentals: Constraints Satisfaction Problems Maria Simi Constraints satisfaction LESSON 3 SEARCHING FOR SOLUTIONS Searching for solutions Most problems cannot be solved by constraint propagation

More information

Set 5: Constraint Satisfaction Problems

Set 5: Constraint Satisfaction Problems Set 5: Constraint Satisfaction Problems ICS 271 Fall 2013 Kalev Kask ICS-271:Notes 5: 1 The constraint network model Outline Variables, domains, constraints, constraint graph, solutions Examples: graph-coloring,

More information

Adaptive Singleton-Based Consistencies

Adaptive Singleton-Based Consistencies Proceedings of the Twenty-Eighth AAAI Conference on Artificial Intelligence Adaptive Singleton-Based Consistencies Amine Balafrej CNRS, U. Montpellier, France U. Mohammed V Agdal, Morocco Christian Bessiere

More information

Solution Reuse in Dynamic Constraint Satisfaction Problems

Solution Reuse in Dynamic Constraint Satisfaction Problems From: AAAI-94 Proceedings. Copyright 1994, AAAI (www.aaai.org). All rights reserved. Solution Reuse in Dynamic Constraint Satisfaction Problems Gkrard Verfaillie and Thomas Schiex ONERA-CERT 2 avenue Edouard

More information

Constraint Satisfaction Problems

Constraint Satisfaction Problems Constraint Satisfaction Problems Look-Back Malte Helmert and Stefan Wölfl Albert-Ludwigs-Universität Freiburg June 5, 2007 S. Wölfl, M. Helmert (Universität Freiburg) Constraint Satisfaction Problems June

More information

Set 5: Constraint Satisfaction Problems

Set 5: Constraint Satisfaction Problems Set 5: Constraint Satisfaction Problems ICS 271 Fall 2012 Rina Dechter ICS-271:Notes 5: 1 Outline The constraint network model Variables, domains, constraints, constraint graph, solutions Examples: graph-coloring,

More information

Mathematical Programming Formulations, Constraint Programming

Mathematical Programming Formulations, Constraint Programming Outline DM87 SCHEDULING, TIMETABLING AND ROUTING Lecture 3 Mathematical Programming Formulations, Constraint Programming 1. Special Purpose Algorithms 2. Constraint Programming Marco Chiarandini DM87 Scheduling,

More information

Constraint Programming

Constraint Programming Depth-first search Let us go back to foundations: DFS = Depth First Search Constraint Programming Roman Barták Department of Theoretical Computer Science and Mathematical Logic 2 3 4 5 6 7 8 9 Observation:

More information

Validating Plans with Durative Actions via Integrating Boolean and Numerical Constraints

Validating Plans with Durative Actions via Integrating Boolean and Numerical Constraints Validating Plans with Durative Actions via Integrating Boolean and Numerical Constraints Roman Barták Charles University in Prague, Faculty of Mathematics and Physics Institute for Theoretical Computer

More information

Rina Dechter. Irvine, California, USA A constraint satisfaction problem (csp) dened over a constraint network

Rina Dechter. Irvine, California, USA A constraint satisfaction problem (csp) dened over a constraint network Constraint Satisfaction Rina Dechter Department of Computer and Information Science University of California, Irvine Irvine, California, USA 92717 dechter@@ics.uci.edu A constraint satisfaction problem

More information

6.034 Notes: Section 3.1

6.034 Notes: Section 3.1 6.034 Notes: Section 3.1 Slide 3.1.1 In this presentation, we'll take a look at the class of problems called Constraint Satisfaction Problems (CSPs). CSPs arise in many application areas: they can be used

More information

The Branch & Move algorithm: Improving Global Constraints Support by Local Search

The Branch & Move algorithm: Improving Global Constraints Support by Local Search Branch and Move 1 The Branch & Move algorithm: Improving Global Constraints Support by Local Search Thierry Benoist Bouygues e-lab, 1 av. Eugène Freyssinet, 78061 St Quentin en Yvelines Cedex, France tbenoist@bouygues.com

More information

Propositional Logic. Part I

Propositional Logic. Part I Part I Propositional Logic 1 Classical Logic and the Material Conditional 1.1 Introduction 1.1.1 The first purpose of this chapter is to review classical propositional logic, including semantic tableaux.

More information

05 - Constraints Programming

05 - Constraints Programming 05 - Constraints Programming Artificial Intelligence J. BUISINE 1 1 IT Student at ULCO Calais February 22, 2018 J. BUISINE (ULCO Calais) 05 - Constraints Programming February 22, 2018 1 / 48 Summary 1

More information

Foundations of AI. 8. Satisfiability and Model Construction. Davis-Putnam, Phase Transitions, GSAT and GWSAT. Wolfram Burgard & Bernhard Nebel

Foundations of AI. 8. Satisfiability and Model Construction. Davis-Putnam, Phase Transitions, GSAT and GWSAT. Wolfram Burgard & Bernhard Nebel Foundations of AI 8. Satisfiability and Model Construction Davis-Putnam, Phase Transitions, GSAT and GWSAT Wolfram Burgard & Bernhard Nebel Contents Motivation Davis-Putnam Procedure Average complexity

More information

Speeding Up the ESG Algorithm

Speeding Up the ESG Algorithm Speeding Up the ESG Algorithm Yousef Kilani 1 and Abdullah. Mohdzin 2 1 Prince Hussein bin Abdullah Information Technology College, Al Al-Bayt University, Jordan 2 Faculty of Information Science and Technology,

More information

Constraint Satisfaction Problems

Constraint Satisfaction Problems Constraint Satisfaction Problems Adrian Groza Department of Computer Science Technical University of Cluj-Napoca 12 Nov 2014 Outline 1 Constraint Reasoning 2 Systematic Search Methods Improving backtracking

More information

CMU-Q Lecture 7: Searching in solution space Constraint Satisfaction Problems (CSPs) Teacher: Gianni A. Di Caro

CMU-Q Lecture 7: Searching in solution space Constraint Satisfaction Problems (CSPs) Teacher: Gianni A. Di Caro CMU-Q 15-381 Lecture 7: Searching in solution space Constraint Satisfaction Problems (CSPs) Teacher: Gianni A. Di Caro AI PLANNING APPROACHES SO FAR Goal: Find the (best) sequence of actions that take

More information

Massively Parallel Seesaw Search for MAX-SAT

Massively Parallel Seesaw Search for MAX-SAT Massively Parallel Seesaw Search for MAX-SAT Harshad Paradkar Rochester Institute of Technology hp7212@rit.edu Prof. Alan Kaminsky (Advisor) Rochester Institute of Technology ark@cs.rit.edu Abstract The

More information

Andrew Davenport and Edward Tsang. fdaveat,edwardgessex.ac.uk. mostly soluble problems and regions of overconstrained, mostly insoluble problems as

Andrew Davenport and Edward Tsang. fdaveat,edwardgessex.ac.uk. mostly soluble problems and regions of overconstrained, mostly insoluble problems as An empirical investigation into the exceptionally hard problems Andrew Davenport and Edward Tsang Department of Computer Science, University of Essex, Colchester, Essex CO SQ, United Kingdom. fdaveat,edwardgessex.ac.uk

More information

Path Consistency on Triangulated Constraint Graphs*

Path Consistency on Triangulated Constraint Graphs* Path Consistency on Triangulated Constraint Graphs* Christian Bliek ILOG 1681 Route des Dolines 06560 Valbonne, France bliekqilog.fr Djamila Sam-Haroud Artificial Intelligence Laboratory Swiss Federal

More information

Random backtracking in backtrack search algorithms for satisfiability

Random backtracking in backtrack search algorithms for satisfiability Discrete Applied Mathematics 155 (2007) 1604 1612 www.elsevier.com/locate/dam Random backtracking in backtrack search algorithms for satisfiability I. Lynce, J. Marques-Silva Technical University of Lisbon,

More information

CS-E3200 Discrete Models and Search

CS-E3200 Discrete Models and Search Shahab Tasharrofi Department of Information and Computer Science, Aalto University Lecture 7: Complete and local search methods for SAT Outline Algorithms for solving Boolean satisfiability problems Complete

More information

Lecture 6: Constraint Satisfaction Problems (CSPs)

Lecture 6: Constraint Satisfaction Problems (CSPs) Lecture 6: Constraint Satisfaction Problems (CSPs) CS 580 (001) - Spring 2018 Amarda Shehu Department of Computer Science George Mason University, Fairfax, VA, USA February 28, 2018 Amarda Shehu (580)

More information

CMU-Q Lecture 6: Planning Graph GRAPHPLAN. Teacher: Gianni A. Di Caro

CMU-Q Lecture 6: Planning Graph GRAPHPLAN. Teacher: Gianni A. Di Caro CMU-Q 15-381 Lecture 6: Planning Graph GRAPHPLAN Teacher: Gianni A. Di Caro PLANNING GRAPHS Graph-based data structure representing a polynomial-size/time approximation of the exponential search tree Can

More information

Towards a Memory-Efficient Knapsack DP Algorithm

Towards a Memory-Efficient Knapsack DP Algorithm Towards a Memory-Efficient Knapsack DP Algorithm Sanjay Rajopadhye The 0/1 knapsack problem (0/1KP) is a classic problem that arises in computer science. The Wikipedia entry http://en.wikipedia.org/wiki/knapsack_problem

More information

is a kind of generalization of AC-3 to non-binary constraints. As AC-3, that algorithm has a bad worst-case time complexity (O(er 2 d r+1 ), with e th

is a kind of generalization of AC-3 to non-binary constraints. As AC-3, that algorithm has a bad worst-case time complexity (O(er 2 d r+1 ), with e th Arc consistency for general constraint networks: preliminary results Christian Bessiere LIRMM{CNRS (UMR 5506) 161 rue Ada 34392 Montpellier cedex 5, France Email: bessiere@lirmm.fr Jean-Charles Regin ILOG

More information

Dynamic Variable Filtering for Hard Random 3-SAT Problems

Dynamic Variable Filtering for Hard Random 3-SAT Problems Dynamic Variable Filtering for Hard Random 3-SAT Problems Anbulagan, John Thornton, and Abdul Sattar School of Information Technology Gold Coast Campus, Griffith University PMB 50 Gold Coast Mail Centre,

More information

Distributed minimum spanning tree problem

Distributed minimum spanning tree problem Distributed minimum spanning tree problem Juho-Kustaa Kangas 24th November 2012 Abstract Given a connected weighted undirected graph, the minimum spanning tree problem asks for a spanning subtree with

More information

Crossword Puzzles as a Constraint Problem

Crossword Puzzles as a Constraint Problem Crossword Puzzles as a Constraint Problem Anbulagan and Adi Botea NICTA and Australian National University, Canberra, Australia {anbulagan,adi.botea}@nicta.com.au Abstract. We present new results in crossword

More information

CONSTRAINT-BASED SCHEDULING: AN INTRODUCTION FOR NEWCOMERS. Roman Barták

CONSTRAINT-BASED SCHEDULING: AN INTRODUCTION FOR NEWCOMERS. Roman Barták In Proceedings of 7th IFAC Workshop on Intelligent Manufacturing Systems (IMS 2003), Elsevier Science, 2003 (to appear). CONSTRAINT-BASED SCHEDULING: AN INTRODUCTION FOR NEWCOMERS Roman Barták Charles

More information

Introduction. Chapter 1

Introduction. Chapter 1 Chapter 1 Introduction This thesis addresses search algorithms for Distributed Constraint Satisfaction problems. Distributed Constraint Satisfaction is a novel research topic related to two well-known

More information

Kalev Kask and Rina Dechter

Kalev Kask and Rina Dechter From: AAAI-96 Proceedings. Copyright 1996, AAAI (www.aaai.org). All rights reserved. A Graph-Based Method for Improving GSAT Kalev Kask and Rina Dechter Department of Information and Computer Science University

More information

Heuristic-Based Backtracking for Propositional Satisfiability

Heuristic-Based Backtracking for Propositional Satisfiability Heuristic-Based Backtracking for Propositional Satisfiability A. Bhalla, I. Lynce, J.T. de Sousa, and J. Marques-Silva Technical University of Lisbon, IST/INESC-ID, Lisbon, Portugal {ateet,ines,jts,jpms}@sat.inesc.pt

More information

Formalizing the PRODIGY Planning Algorithm

Formalizing the PRODIGY Planning Algorithm Formalizing the PRODIGY Planning Algorithm Eugene Fink eugene@cs.cmu.edu http://www.cs.cmu.edu/~eugene Manuela Veloso veloso@cs.cmu.edu http://www.cs.cmu.edu/~mmv Computer Science Department, Carnegie

More information

Dipartimento di Elettronica Informazione e Bioingegneria. Cognitive Robotics. SATplan. Act1. Pre1. Fact. G. Gini Act2

Dipartimento di Elettronica Informazione e Bioingegneria. Cognitive Robotics. SATplan. Act1. Pre1. Fact. G. Gini Act2 Dipartimento di Elettronica Informazione e Bioingegneria Cognitive Robotics SATplan Pre1 Pre2 @ 2015 Act1 Act2 Fact why SAT (satisfability)? 2 Classical planning has been observed as a form of logical

More information

Constraint-Based Scheduling: An Introduction for Newcomers

Constraint-Based Scheduling: An Introduction for Newcomers Constraint-Based Scheduling: An Introduction for Newcomers Roman Barták * Charles University in Prague, Faculty of Mathematics and Physics Malostranské námestí 2/25, 118 00, Praha 1, Czech Republic bartak@kti.mff.cuni.cz

More information

Discrete Optimization. Lecture Notes 2

Discrete Optimization. Lecture Notes 2 Discrete Optimization. Lecture Notes 2 Disjunctive Constraints Defining variables and formulating linear constraints can be straightforward or more sophisticated, depending on the problem structure. The

More information

Learning Techniques for Pseudo-Boolean Solving and Optimization

Learning Techniques for Pseudo-Boolean Solving and Optimization Learning Techniques for Pseudo-Boolean Solving and Optimization José Faustino Fragoso Fremenin dos Santos September 29, 2008 Abstract The extension of conflict-based learning from Propositional Satisfiability

More information

Improving search using indexing: a study with temporal CSPs

Improving search using indexing: a study with temporal CSPs Improving search using indexing: a study with temporal CSPs Nikos Mamoulis Dimitris Papadias Department of Computer Science Hong Kong University of Science Technology Clear Water Bay, Hong Kong http://www.es.ust.hk/{-mamoulis,

More information

Robert Effinger. Final Project Report. Cognitive Robotics J - Spring 2004

Robert Effinger. Final Project Report. Cognitive Robotics J - Spring 2004 Robert Effinger Final Project Report Cognitive Robotics 16.412J - Spring 2004 May 13, 2004 Table of Contents 1.) Table of Contents.. 2 2.) Overall Description.3 a.) Brief Group Project Description b.)

More information

P Is Not Equal to NP. ScholarlyCommons. University of Pennsylvania. Jon Freeman University of Pennsylvania. October 1989

P Is Not Equal to NP. ScholarlyCommons. University of Pennsylvania. Jon Freeman University of Pennsylvania. October 1989 University of Pennsylvania ScholarlyCommons Technical Reports (CIS) Department of Computer & Information Science October 1989 P Is Not Equal to NP Jon Freeman University of Pennsylvania Follow this and

More information

Backtracking algorithms for disjunctions of temporal constraints

Backtracking algorithms for disjunctions of temporal constraints Artificial Intelligence 120 (2000) 81 117 Backtracking algorithms for disjunctions of temporal constraints Kostas Stergiou a,, Manolis Koubarakis b,1 a APES Research Group, Department of Computer Science,

More information