Maintaining Arc Consistency (MAC) MAC is the same as Back-tracking, but with calls to AC-3...
-
Upload
naomi-roberts -
Category
Documents
-
view
219 -
download
0
Transcript of Maintaining Arc Consistency (MAC) MAC is the same as Back-tracking, but with calls to AC-3...
Maintaining Arc Consistency (MAC)
MAC is the same as Back-tracking, but with calls to AC-3 interleaved...
function Backtracking-Search(csp) returns solution/failurereturn Recursive-Backtracking({ }, csp, domains)
function Recursive-Backtracking(assignment,csp,domains) returns domains/failureif assignment is complete then return assignmentvar Select-Unassigned-Variable(Variables[csp], assignment, csp)for each value in Order-Domain-Values(var, assignment, csp) do
if value is consistent with assignment given Constraints[csp] then add {var = value} to assignmentreduced_domains AC-3(assignment,csp) // check for failure tooresult Recursive-Backtracking(assignment, csp, reduced_domains)if result failure then return resultremove {var = value} from assignment
return failure
function Min-Conflicts(csp,max_steps) returns soln/failure
current complete, random initial var assignment
for i=1 to max_steps do
if current is a solution (satisfies all constraints) then return current
var randomly chosen conflicted variable
val value that minimizes Conflicts(var,val,current,csp)
current current {var=val}
return failure (or best assignment found)