concepts.dm.crow.csp_solver.dpll_sampling#
The DPLL-Sampling algorithm for solving CSPs. This algorithm is specifically designed for solving CSPs with mixed Boolean and continuous variables. At a high level, the algorithm uses DPLL-style search to find a solution to Boolean variables. After the value for all Boolean variables are fixed, the algorithm uses a sampling-based method to find a solution to the continuous variables.
Functions
|
Apply the assignments to the constraints. |
|
Filter out Boolean constraints that have been determined. For example, AND(x, y, z) == true, then |
|
Filter the constraints to remove the ones that are determined to be equal. |
|
Filter out duplicated constraints. |
|
Filter out constraints that only appear once in the RHS of the constraints. |
|
Filter out simulation constraints that only appear once in the RHS of the constraints. |
|
Find a Boolean variable that is not determined. |
|
Combine the generator matching in the following order: |
Find a function application whose arguments are all determined. |
|
|
|
|
Simplify the CSP using DPLL algorithm. |
|
Solve the constraint satisfaction problem using the DPLL-sampling algorithm. |
Exceptions
An exception raised when there is no generator that can be matched in order to solve the CSP. |
|
An exception raised when the CSP is not solvable. |