local search algorithms for CSP's Flashcards
CSP local search
assume an assignment is inconsistent
the next assignment can be constructed in such a way that constraint violation is smaller
-only “small” changes of the assignment are allowed
-next assignment should be “better” than previous
–better=more constraints are satisfied
-assignments are not necessarily generated systematically
–we lose completeness but we hopefully get better efficiency
local search terminology
search space S set of solutions Sol neighboring relation evaluation function initialization function step function set of memory states termination criterion
search space S
set of all complete variable assignments
set of solutions Sol
subset of the search space
all assignments satisfying all the constraints
neighborhood relation
a subset of SxS indicating what assignments can be reached by a search step given the current assignment during the search procedure
evaluation function
mapping each assignment to a real number representing “how far the assignment is from being a solution”
initialization function
returns an initial position given a possibility distribution over the assignments
step function
given an assignment, its neighborhood and the evaluation function returns the new assignment to be explored by the search
set of memory states(optional)
holding information about the state of the search mechanism
termination criterion
stopping the search when satisfied
CSP neighborhood of an assignment
all assignments differing on one the value of one variable (1-exchange-neighborhood)
CSP evaluation function
mapping each assignment to the number of constraints it violates
CSP initialization function
returns an initial assignment chosen randomly
CSP termination criterion
if a soln is found or if a given number of search steps is exceeded
CSP Hill Climbing
the basic technique of local search
- starts at randomly generated assignment
- at each state of the search
- iterative best improvement
- iterative first improvement
- if multiple choices choose one randomly
- neighborhood= differs in the value of any variable