Presentation is loading. Please wait.

Presentation is loading. Please wait.

Applying Constraint Satisfaction Techniques to AI Planning Problems Daniel Buettner Constraint Systems Laboratory Department of Computer Science and Engineering.

Similar presentations


Presentation on theme: "Applying Constraint Satisfaction Techniques to AI Planning Problems Daniel Buettner Constraint Systems Laboratory Department of Computer Science and Engineering."— Presentation transcript:

1 Applying Constraint Satisfaction Techniques to AI Planning Problems Daniel Buettner Constraint Systems Laboratory Department of Computer Science and Engineering University of Nebraska-Lincoln Under the supervision of Dr. Berthe Y. Choueiry

2 Outline Background Background The GP-CSP planning system The GP-CSP planning system Exploiting partial interchangeability Exploiting partial interchangeability Investigating decomposition Investigating decomposition Maintaining Arc Consistency (MAC) Maintaining Arc Consistency (MAC) Conclusion Conclusion

3 Questions addressed Are CSP techniques suitable for solving AI planning problems? Are CSP techniques suitable for solving AI planning problems? Yes! Yes! Is Dynamic Neighborhood Partial Interchangeability (DNPI) effective in the context of CSP formulations of AI planning problems? Is Dynamic Neighborhood Partial Interchangeability (DNPI) effective in the context of CSP formulations of AI planning problems? Not with the CSP formulation that we have studied. Not with the CSP formulation that we have studied.

4 Questions addressed… Is there an effective conjunctive decomposition for planning problems formulated as CSPs? Is there an effective conjunctive decomposition for planning problems formulated as CSPs? Not with the CSP formulation that we have studied. Not with the CSP formulation that we have studied. Is Maintaining Arc Consistency (MAC) an effective algorithm for finding solutions to CSP formulations of AI planning problems? Is Maintaining Arc Consistency (MAC) an effective algorithm for finding solutions to CSP formulations of AI planning problems? Yes! Yes! How does MAC perform with various variable orderings? How does MAC perform with various variable orderings? MAC performs well on a wide range of variable orderings. MAC performs well on a wide range of variable orderings.

5 Contributions We have found a variable pruning method for our CSP representation We have found a variable pruning method for our CSP representation We have shown that DNPI cannot work with our CSP representation We have shown that DNPI cannot work with our CSP representation We provide an iterative implementation of MAC We provide an iterative implementation of MAC We identify some dynamic variable ordering schemes for MAC that work well on AI planning problems We identify some dynamic variable ordering schemes for MAC that work well on AI planning problems

6 Background

7 Background Introduction to AI planning Introduction to AI planning Introduction to Constraint Satisfaction Introduction to Constraint Satisfaction Introduction to the GP-CSP planning system Introduction to the GP-CSP planning system

8 AI planning A planning problem is one in which an agent capable of sensing and of performing some actions finds itself in a world, needing to achieve certain goals A planning problem is one in which an agent capable of sensing and of performing some actions finds itself in a world, needing to achieve certain goals A solution to a planning problem is an ordered sequence of actions that, when carried out, will achieve the desired goals A solution to a planning problem is an ordered sequence of actions that, when carried out, will achieve the desired goals An example will help illustrate this. An example will help illustrate this.

9 Planning example A simple example of such a problem is one in which two men, Jason and Alex, are initially in London with Jason wishing to travel to New York and Alex wishing to travel to Paris. There are two rockets in London, each capable of carrying one or more persons and making a single flight. A simple example of such a problem is one in which two men, Jason and Alex, are initially in London with Jason wishing to travel to New York and Alex wishing to travel to Paris. There are two rockets in London, each capable of carrying one or more persons and making a single flight. The available actions allow one to: The available actions allow one to: load a person into a rocket load a person into a rocket fly a rocket from one city to another fly a rocket from one city to another unload a person from a rocket. unload a person from a rocket.

10 Planning example… One solution to this problem is the following sequence of actions: One solution to this problem is the following sequence of actions: 1. Load Jason into rocket 1 2. Load Alex into rocket 2 3. Fly rocket 1 to New York 4. Fly rocket 2 to Paris 5. Unload Jason from rocket 1 6. Unload Alex from rocket 2

11 AI planning… A planning problem should specify: A planning problem should specify: A description of the world's initial state (as a set of facts) A description of the world's initial state (as a set of facts) A description of the agent's goal (as a set of facts) A description of the agent's goal (as a set of facts) A description of the possible actions that can be carried out to affect the state of the world A description of the possible actions that can be carried out to affect the state of the world Planning systems read domain and problem descriptions in a standard language called PDDL Planning systems read domain and problem descriptions in a standard language called PDDL

12 Classical AI planning Several simplifying assumptions are made in classical AI planning: Several simplifying assumptions are made in classical AI planning: All actions require a single, uniform, unit of time to execute All actions require a single, uniform, unit of time to execute Actions will be successful and produce their expected results Actions will be successful and produce their expected results The agent knows the initial state of the world, as well as the impact of its own actions on the state of the world The agent knows the initial state of the world, as well as the impact of its own actions on the state of the world The only change in the world is the result of the agent's own actions The only change in the world is the result of the agent's own actions

13 GraphPlan Planning system introduced in 1995 by Blum and Furst Planning system introduced in 1995 by Blum and Furst Today’s fast planning systems use stochastic techniques and sacrifice guarantees of optimality; however, planning systems that guarantee optimality in time steps are still based on the ideas of GraphPlan Today’s fast planning systems use stochastic techniques and sacrifice guarantees of optimality; however, planning systems that guarantee optimality in time steps are still based on the ideas of GraphPlan

14 GraphPlan… GraphPlan finds solutions to planning problems by constructing a planning graph level-by-level, and searching for valid plans within that graph GraphPlan finds solutions to planning problems by constructing a planning graph level-by-level, and searching for valid plans within that graph Planning graphs consist of alternating layers of facts and actions Planning graphs consist of alternating layers of facts and actions

15 The planning graph When a planning graph is first created, it simply contains a fact layer made up of the initial conditions that specify the initial state of the planning problem

16 The planning graph… Planning graphs are extended by finding all actions whose prerequisites are satisfied at the most recent fact level and adding these actions in the next layer of the graph Planning graphs are extended by finding all actions whose prerequisites are satisfied at the most recent fact level and adding these actions in the next layer of the graph The effects of these actions form the next fact layer The effects of these actions form the next fact layer a so-called noop action exists that can take any fact as a prerequisite with that same fact as the action's only effect a so-called noop action exists that can take any fact as a prerequisite with that same fact as the action's only effect

17 GraphPlan mutexes GraphPlan discovers binary mutual exclusion (mutex) relationships between actions and facts GraphPlan discovers binary mutual exclusion (mutex) relationships between actions and facts Actions are mutex when: Actions are mutex when: The effect of one action is the negation of another action's effect The effect of one action is the negation of another action's effect One action deletes the precondition of another One action deletes the precondition of another The actions have preconditions that are marked as mutex The actions have preconditions that are marked as mutex

18 GraphPlan mutexes… Facts are mutex when: Facts are mutex when: One fact is the negation of the other One fact is the negation of the other All actions supporting the facts are pairwise mutex All actions supporting the facts are pairwise mutex Mutex relationships are specific to levels in the planning graph; a pair of facts that are mutex in one level of the planning graph may not be mutex at later levels Mutex relationships are specific to levels in the planning graph; a pair of facts that are mutex in one level of the planning graph may not be mutex at later levels

19 Plan extraction Plan extraction is first attempted when all of the goals are present in the highest fact layer and are non-mutex Plan extraction is first attempted when all of the goals are present in the highest fact layer and are non-mutex Plans are extracted via a simple backtracking search, starting with the highest fact layer Plans are extracted via a simple backtracking search, starting with the highest fact layer If no plan is found, the planning graph is extended and GraphPlan attempts plan extraction on this new planning graph If no plan is found, the planning graph is extended and GraphPlan attempts plan extraction on this new planning graph

20 Plan extraction… Graphplan first searches for a solution at the earliest possible point that a plan could exist Graphplan first searches for a solution at the earliest possible point that a plan could exist It incrementally extends the planning graph if no solution is found It incrementally extends the planning graph if no solution is found Thus, GraphPlan finds the plan that uses the fewest time steps and is therefore optimal in this respect Thus, GraphPlan finds the plan that uses the fewest time steps and is therefore optimal in this respect However, GraphPlan allows multiple actions to occur at each time step and so it cannot guarantee optimality in the total number of actions in the plan However, GraphPlan allows multiple actions to occur at each time step and so it cannot guarantee optimality in the total number of actions in the plan

21 GraphPlan concluded Our work is based upon the ideas of GraphPlan Our work is based upon the ideas of GraphPlan We convert the planning graph to a Constraint Satisfaction Problem (CSP) and extract solutions by solving the CSP We convert the planning graph to a Constraint Satisfaction Problem (CSP) and extract solutions by solving the CSP Next: introduction to Constraint Satisfaction Next: introduction to Constraint Satisfaction

22 Constraint satisfaction Constraint satisfaction is a general method of problem formulation in which the goal is to find values for variables such that these values do not violate any constraints that hold between the variables Constraint satisfaction is a general method of problem formulation in which the goal is to find values for variables such that these values do not violate any constraints that hold between the variables

23 Definitions A Constraint Satisfaction Problem (CSP) involves: A Constraint Satisfaction Problem (CSP) involves: A set of variables {V 1, V 2, …, V n } A set of variables {V 1, V 2, …, V n } Each variable V i has an associated domain D i which specifies the possible values of the variable Each variable V i has an associated domain D i which specifies the possible values of the variable Finally, there exists a set of constraints between the variables Finally, there exists a set of constraints between the variables a constraint is a relation that restricts the values that variables involved in the constraint may simultaneously hold a constraint is a relation that restricts the values that variables involved in the constraint may simultaneously hold

24 CSP example D 1 ={R, G, B}, D 2 ={R, G}, and D 3 ={R, G, B} The constraints all require that certain variables not assume the same value A CSP is solved when a value is found for each variable such that no constraints are violated V 1 := R, V 2 := G, V 3 := B

25 Solution extraction While looking for solutions, the variables are considered in some order While looking for solutions, the variables are considered in some order As a partial solution is constructed, past variables are those that have been instantiated, while future variables are those that have not yet had a value assigned to them As a partial solution is constructed, past variables are those that have been instantiated, while future variables are those that have not yet had a value assigned to them

26 Solution extraction… One of the simplest systematic methods of finding a solution to a CSP is a depth first backtracking search One of the simplest systematic methods of finding a solution to a CSP is a depth first backtracking search This search proceeds by starting with the first variable and assigning it the first value in that variable's domain This search proceeds by starting with the first variable and assigning it the first value in that variable's domain It then moves to the next variable and checks the first value in that variable's domain against the previously assigned variable; if there is no problem it moves on to the next variable, otherwise it tries the next value in the current variable's domain It then moves to the next variable and checks the first value in that variable's domain against the previously assigned variable; if there is no problem it moves on to the next variable, otherwise it tries the next value in the current variable's domain

27 Forward checking Forward checking (FC) is a more intelligent method for finding a solution to a CSP Forward checking (FC) is a more intelligent method for finding a solution to a CSP A look-ahead scheme in which consistency with future variables is ensured, removing the need to check against previously assigned variables A look-ahead scheme in which consistency with future variables is ensured, removing the need to check against previously assigned variables When a variable is assigned a value, that value is used to filter the domains of future variables When a variable is assigned a value, that value is used to filter the domains of future variables By always checking forward, we eliminate the need to reconsider past variables By always checking forward, we eliminate the need to reconsider past variables Next: GP-CSP Next: GP-CSP

28 The GP-CSP planning system

29 GP-CSP Our work extends a planning system called GP-CSP (Do and Kambhampati 2001) Our work extends a planning system called GP-CSP (Do and Kambhampati 2001) GP-CSP unifies the traditional GraphPlan method for planning with CSP methods for solution extraction GP-CSP unifies the traditional GraphPlan method for planning with CSP methods for solution extraction GraphPlan's plan extension is unchanged while the normal backtracking search is replaced with a CSP solver GraphPlan's plan extension is unchanged while the normal backtracking search is replaced with a CSP solver

30 GP-CSP… The architecture of the GP-CSP system

31 CSP formulation CSP variables represent facts CSP variables represent facts The variable domains are the actions supporting these facts The variable domains are the actions supporting these facts Each variable has an extra value called NOTHING added to it, which allows a fact to be left with no support Each variable has an extra value called NOTHING added to it, which allows a fact to be left with no support The constraints between variables enforce action and fact mutexes, as well as activity constraints The constraints between variables enforce action and fact mutexes, as well as activity constraints The transformation from GraphPlan’s planning graph to a CSP of this type is straight forward and is carried out automatically by GP-CSP The transformation from GraphPlan’s planning graph to a CSP of this type is straight forward and is carried out automatically by GP-CSP

32 Our changes to GP-CSP We have replaced their general GAC solver with a strictly binary solver which is extended to perform: We have replaced their general GAC solver with a strictly binary solver which is extended to perform: Dynamic symmetry detection Dynamic symmetry detection Decomposition Decomposition Maintaining Arc Consistency (MAC) Maintaining Arc Consistency (MAC) We have our own representation of the CSP formulation just described which takes advantage of the object orientation of C++ We have our own representation of the CSP formulation just described which takes advantage of the object orientation of C++

33 Preprocessing We have discovered a preprocessing step that can reduce certain variables to a single value We have discovered a preprocessing step that can reduce certain variables to a single value These variables have only the actions noop and NOTHING in their domains, and they are only constrained to act as prerequisites for other actions These variables have only the actions noop and NOTHING in their domains, and they are only constrained to act as prerequisites for other actions Such variables correspond to facts that encode typing information Such variables correspond to facts that encode typing information This typing information is necessary during creation of the planning graph, but is no longer needed during solution extraction and can then be ignored This typing information is necessary during creation of the planning graph, but is no longer needed during solution extraction and can then be ignored

34 Preprocessing results CSP#var#pruned%removed rocket problem 371335.1 3 disc tower of hanoi 1648149.4 4 disc tower of hanoi 56629151.4 Mystery problem 2 43518843.2 Gripper problem 2 1163731.9 Logistics rocket-a 28093.2 Bulldozer problem 1 26916460.9 Bw-large-a720141.9

35 GP-CSP concluded We tried several static variable orderings in conjunction with Forward Checking We tried several static variable orderings in conjunction with Forward Checking The default ordering obtained by moving backwards in the planning graph from highest layer to lowest was the only effective ordering The default ordering obtained by moving backwards in the planning graph from highest layer to lowest was the only effective ordering Next: Partial interchangeability Next: Partial interchangeability

36 Exploiting partial interchangeability

37 Interchangeability amongst the values of a variable in a CSP is a term used to describe an equivalence that exists between these values Interchangeability amongst the values of a variable in a CSP is a term used to describe an equivalence that exists between these values The idea is that if values d 1 and d 2 for variable V i are found to be interchangeable, then any solution to the CSP with V i taking the value d 1 will remain a solution if the value is changed to d 2 The idea is that if values d 1 and d 2 for variable V i are found to be interchangeable, then any solution to the CSP with V i taking the value d 1 will remain a solution if the value is changed to d 2

38 Interchangeability is good Interchangeable values: Interchangeable values: help to create more robust solutions since failures can potentially be repaired by simply substituting values instead of resolving help to create more robust solutions since failures can potentially be repaired by simply substituting values instead of resolving can help to reduce the search space, by allowing us to replace the interchangeable (or bundled) values with a single meta-value can help to reduce the search space, by allowing us to replace the interchangeable (or bundled) values with a single meta-value

39 DNPI Full interchangeability is expensive to compute Full interchangeability is expensive to compute Partial interchangeability finds a subset of interchangeable values with lower overhead Partial interchangeability finds a subset of interchangeable values with lower overhead Dynamic neighborhood partial interchangeability (DNPI) requires the same computations as FC with some additional bookkeeping Dynamic neighborhood partial interchangeability (DNPI) requires the same computations as FC with some additional bookkeeping

40 DNPI… How does it work? How does it work? When a variable is first considered, forward checking is performed with each of that variable’s values When a variable is first considered, forward checking is performed with each of that variable’s values A structure called the Joint Discrimination Tree captures this information and bundles values that have the exact same impact on future variables A structure called the Joint Discrimination Tree captures this information and bundles values that have the exact same impact on future variables Sets of bundled values are replaced in the variable's domain with a single meta-value, thus reducing the search space Sets of bundled values are replaced in the variable's domain with a single meta-value, thus reducing the search space

41 Application to planning There are many situations in which planning problems exhibit what seem to be symmetric actions There are many situations in which planning problems exhibit what seem to be symmetric actions In the gripper domain a robot with a right and left arm needs to move a set of balls from one room to another In the gripper domain a robot with a right and left arm needs to move a set of balls from one room to another It does not matter whether the left arm or right arm moves a ball It does not matter whether the left arm or right arm moves a ball Each robot arm cares little about the distinction between the different balls Each robot arm cares little about the distinction between the different balls

42 Application to planning… Unfortunately, DNPI is unable to take advantage of this symmetry Unfortunately, DNPI is unable to take advantage of this symmetry Recall that values are interchangeable only when they have the same impact on future variables Recall that values are interchangeable only when they have the same impact on future variables However, in our CSP formulation, different values do not share the same neighborhood However, in our CSP formulation, different values do not share the same neighborhood Each value represents an action, and actions do not share the same preconditions, effects, and mutexes unless they are identical actions Each value represents an action, and actions do not share the same preconditions, effects, and mutexes unless they are identical actions

43 DNPI concluded The explicit naming of objects in PDDL prevents DNPI from bundling values in our CSP representation The explicit naming of objects in PDDL prevents DNPI from bundling values in our CSP representation An instantiation of an action must refer to particular facts as preconditions and effects, so no two actions refer to the same set of facts unless the actions are identical An instantiation of an action must refer to particular facts as preconditions and effects, so no two actions refer to the same set of facts unless the actions are identical Next: Decomposition Next: Decomposition

44 Investigating decomposition

45 It is sometimes possible to more efficiently solve a problem by decomposing that problem into a set of independent subproblems It is sometimes possible to more efficiently solve a problem by decomposing that problem into a set of independent subproblems Each subproblem can be independently solved, and those solutions can be combined to form a solution to the original problem Each subproblem can be independently solved, and those solutions can be combined to form a solution to the original problem

46 Tree clustering We investigated the tree clustering algorithm of Dechter and Pearl We investigated the tree clustering algorithm of Dechter and Pearl This is a method of restructuring a CSP to make solution extraction less costly This is a method of restructuring a CSP to make solution extraction less costly The constraint graphs that are created by converting a planning problem to our CSP representation exhibit structure that makes decomposition quite simple The constraint graphs that are created by converting a planning problem to our CSP representation exhibit structure that makes decomposition quite simple

47 Tree clustering…

48 Decomposition We can start at the highest level in the planning graph and form a new CSP with the variables one layer lower We can start at the highest level in the planning graph and form a new CSP with the variables one layer lower Only the constraints between this subset of variables are kept Only the constraints between this subset of variables are kept We can again form a new CSP, this time using the next lowest layer We can again form a new CSP, this time using the next lowest layer We continue in this way until we reach the layer of initial conditions We continue in this way until we reach the layer of initial conditions An n layer planning graph will be decomposed into n-1 CSPs An n layer planning graph will be decomposed into n-1 CSPs

49 Results Ideally, each CSP can now be solved separately, and their individual solutions will be combined to form a solution to the original problem Ideally, each CSP can now be solved separately, and their individual solutions will be combined to form a solution to the original problem However, this decomposition makes things worse However, this decomposition makes things worse A planning graph is a compact representation of many planning problems A planning graph is a compact representation of many planning problems The lower subproblems do not have access to goal information and will have, as solutions, parts of valid plans that have nothing to do with the problem we are solving The lower subproblems do not have access to goal information and will have, as solutions, parts of valid plans that have nothing to do with the problem we are solving

50 Results… The only way tree clustering can be made to perform well is to consider the subproblems from the top down, propagating goal information backwards The only way tree clustering can be made to perform well is to consider the subproblems from the top down, propagating goal information backwards This corresponds to using forward checking with the default GraphPlan variable ordering This corresponds to using forward checking with the default GraphPlan variable ordering Thus tree clustering did not improve our ability to find a solution, but it does explain why we had such good results with forward checking and GraphPlan’s default ordering Thus tree clustering did not improve our ability to find a solution, but it does explain why we had such good results with forward checking and GraphPlan’s default ordering Next: MAC Next: MAC

51 Maintaining Arc Consistency (MAC)

52 MAC Maintaining Arc Consistency (MAC) is a technique used to solve CSPs by enforcing Arc Consistency (AC) at each step in a backtracking search Maintaining Arc Consistency (MAC) is a technique used to solve CSPs by enforcing Arc Consistency (AC) at each step in a backtracking search AC is a property of a CSP whereby for any variable V i, each element in its domain has a support in the domain of any variable with which V i is constrained AC is a property of a CSP whereby for any variable V i, each element in its domain has a support in the domain of any variable with which V i is constrained That is, for each value d i in the domain of V i, and for each variable V j constrained with V i there exists a value d j in the domain of V j such that the constraint between V i and V j is not violated That is, for each value d i in the domain of V i, and for each variable V j constrained with V i there exists a value d j in the domain of V j such that the constraint between V i and V j is not violated

53 Arc consistency Obviously, we do not expect to frequently find CSPs that are already in an AC state, and so we must use AC algorithms to propagate constraint information and prune values from variable domains until the CSP is AC Obviously, we do not expect to frequently find CSPs that are already in an AC state, and so we must use AC algorithms to propagate constraint information and prune values from variable domains until the CSP is AC AC is often enforced on a CSP as a preprocessing step to reduce the size of variable domains AC is often enforced on a CSP as a preprocessing step to reduce the size of variable domains

54 MAC redux MAC takes a more active approach and continually enforces AC throughout the process of finding a consistent variable assignment for the CSP MAC takes a more active approach and continually enforces AC throughout the process of finding a consistent variable assignment for the CSP This can be thought of as a backtracking search, but one where an AC algorithm is called each time a variable is assigned a value This can be thought of as a backtracking search, but one where an AC algorithm is called each time a variable is assigned a value

55 Experiments Our experiments with MAC were concerned with the effects of various variable orderings on the performance of MAC Our experiments with MAC were concerned with the effects of various variable orderings on the performance of MAC Static variable orderings Static variable orderings Dynamic variable orderings Dynamic variable orderings

56 Static variable ordering Forward checking only performed well with the default GraphPlan variable ordering; in particular, only the most trivial problems could be solved using any other ordering Forward checking only performed well with the default GraphPlan variable ordering; in particular, only the most trivial problems could be solved using any other ordering In seven of the eight benchmark problems, when a problem is solvable by MAC using one static ordering, it is solvable using any other tested ordering In seven of the eight benchmark problems, when a problem is solvable by MAC using one static ordering, it is solvable using any other tested ordering In two of the eight benchmark problems, a static ordering other than the default resulted in the fastest solution extraction In two of the eight benchmark problems, a static ordering other than the default resulted in the fastest solution extraction

57 Dynamic variable ordering FC performed very poorly with dynamic variable ordering, since goal information was not propagated quickly enough FC performed very poorly with dynamic variable ordering, since goal information was not propagated quickly enough MAC performs very well with dynamic variable ordering MAC performs very well with dynamic variable ordering Four of the eight benchmark problems were solved more rapidly by a dynamic variable ordering than by the default static ordering Four of the eight benchmark problems were solved more rapidly by a dynamic variable ordering than by the default static ordering One problem was only solved using a dynamic variable ordering One problem was only solved using a dynamic variable ordering There is experimental evidence that indicates MAC performs well in general on problems with low density and high tightness There is experimental evidence that indicates MAC performs well in general on problems with low density and high tightness

58 Improvement to MAC Although widely known and used, the MAC algorithm itself does not seem to be well described in the literature Although widely known and used, the MAC algorithm itself does not seem to be well described in the literature There is a recursive implementation given by Sabin and Freuder and other papers which discuss MAC assume the reader is familiar with how to implement it There is a recursive implementation given by Sabin and Freuder and other papers which discuss MAC assume the reader is familiar with how to implement it However, our problems consist of several hundred variables and are not well suited to recursion However, our problems consist of several hundred variables and are not well suited to recursion

59 Iterative MAC We present an iterative implementation of MAC which includes a simple improvement We present an iterative implementation of MAC which includes a simple improvement We avoid enforcing AC when the next variable has a domain of size one We avoid enforcing AC when the next variable has a domain of size one Because AC is enforced at each step of solution extraction in MAC, we know that any variable with a domain size of one must be consistent with all of its neighbors when that value is selected Because AC is enforced at each step of solution extraction in MAC, we know that any variable with a domain size of one must be consistent with all of its neighbors when that value is selected

60 Improvement tested This improvement does not seem to appear in the CSP literature This improvement does not seem to appear in the CSP literature In our tests, the improvement always reduced constraint checks and calls to AC by at least a factor of 2 In our tests, the improvement always reduced constraint checks and calls to AC by at least a factor of 2 The improvement does not take advantage of anything special about planning problems, so it seems likely that it would be effective in solving general CSPs The improvement does not take advantage of anything special about planning problems, so it seems likely that it would be effective in solving general CSPs

61 Results MAC seems to be an effective tool for use in solving planning problems formulated as CSPs MAC seems to be an effective tool for use in solving planning problems formulated as CSPs Given the extremely low overhead of the improvement to MAC and its potential for reducing effort, we strongly believe that this improvement would carry over to solving general CSPs Given the extremely low overhead of the improvement to MAC and its potential for reducing effort, we strongly believe that this improvement would carry over to solving general CSPs Next: Conclusions Next: Conclusions

62 Conclusion

63 Conclusion We have considered a method of converting an AI Planning Problem to a Constraint Satisfaction Problem We have considered a method of converting an AI Planning Problem to a Constraint Satisfaction Problem We have then turned our attention to the application of various CSP techniques to solving these planning problems We have then turned our attention to the application of various CSP techniques to solving these planning problems

64 Contributions We have found a variable pruning method for our CSP representation We have found a variable pruning method for our CSP representation We have shown that DNPI cannot work with our CSP representation We have shown that DNPI cannot work with our CSP representation We provide a justification for the good performance of FC with the default GraphPlan variable ordering We provide a justification for the good performance of FC with the default GraphPlan variable ordering We provide an improved iterative implementation of MAC We provide an improved iterative implementation of MAC

65 Future work Can our pruning technique be used to derive type information? Can our pruning technique be used to derive type information? Is our improvement to MAC equally effective in solving general CSPs? Is our improvement to MAC equally effective in solving general CSPs? How can we take advantage of the kind of symmetry we see in solutions to planning problems? How can we take advantage of the kind of symmetry we see in solutions to planning problems? Can we find other ways to model planning problems as a CSP that might allow techniques such as DNPI to produce better results? Can we find other ways to model planning problems as a CSP that might allow techniques such as DNPI to produce better results?

66 The end


Download ppt "Applying Constraint Satisfaction Techniques to AI Planning Problems Daniel Buettner Constraint Systems Laboratory Department of Computer Science and Engineering."

Similar presentations


Ads by Google