Applying Case Based Reasoning to Boolean Satisfiability - PowerPoint PPT Presentation

1 / 12
About This Presentation
Title:

Applying Case Based Reasoning to Boolean Satisfiability

Description:

Applying Case Based Reasoning to Boolean Satisfiability – PowerPoint PPT presentation

Number of Views:54
Avg rating:3.0/5.0
Slides: 13
Provided by: cco3
Category:

less

Transcript and Presenter's Notes

Title: Applying Case Based Reasoning to Boolean Satisfiability


1
Applying Case Based Reasoning to Boolean
Satisfiability
  • Chris Cole
  • 21 April 2008

2
Outline of Presentation
  • What is Boolean Satisfiability?
  • Why might CBR be useful?
  • A basic backtracking algorithm.
  • Backtracking with a Case-base.
  • Similarity and Adaptation.
  • Design Details

3
Satisfiability Problem
  • A boolean expression is satisfiable if there is
    an assignment to each of the boolean variables in
    the expression such that the expression evaluates
    to true.
  • The Satisfiability Problem is to determine if an
    expression is satisfiable.
  • Tied to the question P NP by Cook-Levin
    theorem. See Sipser, 2006.

4
Satisfiability Example 1
  • (x ? y ? z) ? (x ? y ? z)
  • Set z true, x and y to anything, and the
    expression evaluates to true.
  • Therefore, the expression is satisfiable.

5
Satisfiability Example 2
  • (x ? y ? z) ? (x ? y ? z) ? y ? z
  • y and z must be false by the last conjuncts. Then
    x must be false by the second conjunct. The first
    conjunct evaluates to false. There is no
    assignment of the variables to make the
    expression true.
  • Therefore, the expression is not satisfiable.

6
Why CBR Might Work
  • Many useful problems, such as factorization, can
    be expressed as a satisfiability problem.
  • Problems drawn from such domains may contain
    statistical structure some sub-problems are much
    more likely than others.
  • If the most likely sub-problems are stored in a
    case-base, then they might be used to speed up
    finding the solution.

7
Backtracking Algorithm
contradiction
Input Problem
Check for Singles, update
Return No Solution
no contradiction
all variables set
Return solution
no more values
Guess Next Value, update
next value exists
contradiction
all variables set
Check for Singles, update
no contradiction
solve - no solution
solve - found solution
Recur on Sub-Problem
8
Algorithm with Cases
contradiction
Input Problem
Check for Singles, update
Return No Solution
match - no solution
no contradiction
all variables set
Check Case-Base
Return solution
match - solution
no match
no more values
Guess Next Value, update
Record in Case-Base
next value exists
contradiction
all variables set
Check for Singles, update
Record in Case-Base
no contradiction
match - no solution
match - found solution
Check Case-Base
no match
solve - no solution
solve - found solution
Recur on Sub-Problem
9
Similarity and Adaptation
  • Similarity search in case-base depends on
    adaptation rules.
  • Substitution adaptation make zero, one, or more
    substitutions of a variable name in target
    expression and search base for match.
  • Case expressions in case-base stored in
    lexicographic order on conjuncts conjuncts
    ordered lexicographically on disjuncts.

10
Other Possible Adaptations
  • Substitution adaptation maintains the same number
    of variables and conjuncts.
  • Possible to take two cases and form their
    conjunction to generate a new case. (But I do not
    know how to search efficiently for it.)

11
Design Details
  • Put all the problem details into a class that is
    manipulated by the algorithm. Can replace class
    with more efficient implementation later.
  • Problem description consists of linked list of
    disjuncts and associative array of variable
    bindings.
  • Cases stored as sorted list.

12
Thank you!
Write a Comment
User Comments (0)
About PowerShow.com