diff --git a/OMSCS/Courses/AI/AIMA Textbook Notes/AIMA - Chapter 6 - Constraint Satisfaction Problems.md b/OMSCS/Courses/AI/AIMA Textbook Notes/AIMA - Chapter 6 - Constraint Satisfaction Problems.md index 00bf4e5..72b2f99 100644 --- a/OMSCS/Courses/AI/AIMA Textbook Notes/AIMA - Chapter 6 - Constraint Satisfaction Problems.md +++ b/OMSCS/Courses/AI/AIMA Textbook Notes/AIMA - Chapter 6 - Constraint Satisfaction Problems.md @@ -4,7 +4,7 @@ tags: - AI - AIMA --- -**# AIMA - Chapter 6 - Constraint Satisfaction Problems +# AIMA - Chapter 6 - Constraint Satisfaction Problems - [[AIMA - Chapter 3 - Solving Problems by Searching]] and Chapter 4 (no chapter notes, module notes link: [[Module 02 - Simulated Annealing]]) - These prior chapters considered the "state" of a problem to be a black box, atomic, indivisible. - Searching for solutions within the state space required domain-specific code to describe the transition between states. @@ -253,4 +253,4 @@ Notes incomplete. Subsection headings and key terms: - **Conflict-directed backjumping** backtracks directly to the source of the problem. - **Constraint learning** records the conflicts as they are encountered during search in order to avoid the same conflict later in the search. - Local search using the **min-conflicts** heuristic has also been applied to constraint satisfaction problems with great success. -- The complexity of solving a CSP is strongly related to the structure of its constraint graph. Tree-structured problems can be solved in linear time. **Cutset conditioning** can reduce a general CSP to a tree-structured one and is quite efficient (requiring only linear memory) if a small cutset can be found. **Tree decomposition** techniques transform the CSP into a tree of subproblems and are efficient if the **tree width** of the constraint graph is small; however they need memory exponential in the tree width of the constraint graph. Combining cutset conditioning with tree decomposition can allow a better tradeoff of memory versus time. \ No newline at end of file +- The complexity of solving a CSP is strongly related to the structure of its constraint graph. Tree-structured problems can be solved in linear time. **Cutset conditioning** can reduce a general CSP to a tree-structured one and is quite efficient (requiring only linear memory) if a small cutset can be found. **Tree decomposition** techniques transform the CSP into a tree of subproblems and are efficient if the **tree width** of the constraint graph is small; however they need memory exponential in the tree width of the constraint graph. Combining cutset conditioning with tree decomposition can allow a better tradeoff of memory versus time.