def remaining_values(variable,csp): res=0 for value in variable.domain: variable.value=value if csp.consistent(): res += 1 variable.value=None return res
def mrvwd_rec (csp, order): if csp.complete(): return (csp, order) else: var=mrv_variable_degree(csp) order.append(var) for value in var.domain: var.value=value if csp.consistent(): result=mrvwd_rec(csp,order) if result!="failure": return result var.value=None return "failure"