Knowledge (XXG)

Look-ahead (backtracking)

Source 📝

224:. Namely, given a partial solution extended with a value for a new variable, it enforces arc consistency for all unassigned variables. In other words, for any unassigned variables, the values that cannot consistently be extended to another variable are removed. The difference between forward checking and arc consistency is that the former only checks a single unassigned variable at time for consistency, while the second also checks pairs of unassigned variables for mutual consistency. The most common way of using look-ahead for solving constraint satisfaction problems is the 272:, and enforces arc consistency between them. This is different than enforcing global arc consistency, which may possibly require a pair of variables to be reconsidered more than once. Instead, once full look ahead has enforced arc consistency between a pair of variables, the pair is not considered any more. Partial look ahead is similar, but a given order of variables is considered, and arc consistency is only enforced once for every pair 199: 85: 63: 358:
checking only satisfiability or unsatisfiability of variable/value pairs. In particular, the next variable that is chosen is the one having a minimal number of values that are consistent with the current partial solution. In turn, consistency can be evaluated by simply checking partial consistency, or by using any of the considered look ahead techniques discussed above.
357:
The choice of the next variable to evaluate is particularly important, as it may produce exponential differences in running time. In order to prove unsatisfiability as quickly as possible, variables leaving few alternatives after being assigned are the preferred ones. This idea can be implemented by
353:
The choice of the next variable and the choice of the next value to give it are complementary, in that the value is typically chosen in such a way that a solution (if any) is found as quickly as possible, while the next variable is typically chosen in such a way unsatisfiability (if the current
114:. Given the current partial solution and a candidate assignment to evaluate, it checks whether another variable can take a consistent value. In other words, it first extends the current partial solution with the tentative value for the considered variable; it then considers every other variable 371:
estimate solutions: the preferred values are those producing the maximal number of solutions, as evaluated by look ahead making the assumption that all values left in the domains of unassigned variables are consistent with each other; in other words, the preference for a value is obtained by
349:
The results of look ahead are used to decide the next variable to evaluate and the order of values to give to this variable. In particular, for any unassigned variable and value, look-ahead estimates the effects of setting that variable to that value.
231:
Two other methods involving arc consistency are full and partial look ahead. They enforce arc consistency, but not for every pair of variables. In particular, full look considers every pair of unassigned variables
50:, every variable can take a value in a domain. A backtracking algorithm therefore iteratively chooses a variable and tests each of its possible values; for each value the algorithm is 379:
Randomization is also sometimes used for choosing a variable or value. For example, if two variables are equally preferred according to some measure, the choice can be done randomly.
368:
max-domain-size: the preferred values are those maximising the number of values in the smallest domain they produce for the unassigned variables, as evaluated by look ahead;
310: 270: 336: 193: 166: 139: 38:
to evaluate one of its values. The two main aims of look-ahead are to choose a variable to evaluate next and to choose the order of values to assign to it.
365:
min-conflicts: the preferred values are those removing the least total values from the domain of unassigned variables as evaluated by look ahead;
341:
Look ahead based on arc consistency can also be extended to work with path consistency and general i-consistency or relational arc consistency.
54:
run. Look ahead is used to check the effects of choosing a given variable to evaluate or to decide the order of values to give to it.
450: 401: 494: 47: 396: 462: 499: 168:
that is consistent with the extended partial solution. More generally, forward checking determines the values for
32: 376:
Experiments proved that these techniques are useful for large problems, especially the min-conflicts one.
35: 220:
A look-ahead technique that may be more time-consuming but may produce better results is based on
275: 235: 110:
The simpler technique for evaluating the effect of a specific assignment to a variable is called
419: 446: 361:
The following are three methods for ordering the values to tentatively assign to a variable:
471: 315: 171: 144: 117: 221: 216:
are consistent with each other (red lines) removing also the value 1 from their domains.
476: 457: 488: 439: 435: 17: 103: 28: 51: 20: 198: 141:
that is still unassigned, and checks whether there exists an evaluation of
84: 62: 397:
Increasing tree search efficiency for constraint satisfaction problems
88:
Forward checking only checks whether each of the unassigned variables
354:
partial solution is unsatisfiable) is proven as quickly as possible.
106:
with the partial assignment, removing the value 2 from their domains.
61: 372:
multiplying the size of all domains resulting from look ahead.
202:
Arc consistency look ahead also checks whether the values of
420:
Contradicting Conventional Wisdom in Constraint Satisfaction
318: 278: 238: 174: 147: 120: 31:that attempts to foresee the effects of choosing a 424:Principles and Practice of Constraint Programming, 330: 304: 264: 195:that are consistent with the extended assignment. 187: 160: 133: 418:Sabin, Daniel and Eugene C. Freuder (1994), “ 8: 475: 317: 296: 283: 277: 256: 243: 237: 179: 173: 152: 146: 125: 119: 395:R.M. Haralick and G.L. Elliott (1980), " 197: 83: 458:"How Good Are Branching Rules in DPLL?" 388: 7: 14: 226:maintaining arc-consistency (MAC) 73:=2 and the tentative assignment 48:constraint satisfaction problem 1: 477:10.1016/S0166-218X(98)00045-6 463:Discrete Applied Mathematics 305:{\displaystyle x_{i},x_{j}} 265:{\displaystyle x_{i},x_{j}} 516: 27:is the generic term for a 402:Artificial Intelligence 42:Constraint satisfaction 495:Constraint programming 332: 331:{\displaystyle i<j} 306: 266: 217: 189: 162: 135: 107: 81: 456:Ouyang, Ming (1998). 441:Constraint Processing 333: 307: 267: 201: 190: 188:{\displaystyle x_{k}} 163: 161:{\displaystyle x_{k}} 136: 134:{\displaystyle x_{k}} 87: 65: 58:Look ahead techniques 316: 276: 236: 172: 145: 118: 444:. Morgan Kaufmann. 328: 302: 262: 218: 185: 158: 131: 108: 82: 500:Search algorithms 345:Use of look ahead 80:=1 is considered. 66:In this example, 507: 481: 479: 470:(1–3): 281–286. 445: 427: 416: 410: 393: 337: 335: 334: 329: 311: 309: 308: 303: 301: 300: 288: 287: 271: 269: 268: 263: 261: 260: 248: 247: 194: 192: 191: 186: 184: 183: 167: 165: 164: 159: 157: 156: 140: 138: 137: 132: 130: 129: 112:forward checking 515: 514: 510: 509: 508: 506: 505: 504: 485: 484: 455: 434: 431: 430: 417: 413: 394: 390: 385: 347: 314: 313: 292: 279: 274: 273: 252: 239: 234: 233: 222:arc consistency 215: 208: 175: 170: 169: 148: 143: 142: 121: 116: 115: 101: 94: 79: 72: 60: 44: 12: 11: 5: 513: 511: 503: 502: 497: 487: 486: 483: 482: 453: 429: 428: 411: 387: 386: 384: 381: 374: 373: 369: 366: 346: 343: 327: 324: 321: 299: 295: 291: 286: 282: 259: 255: 251: 246: 242: 213: 206: 182: 178: 155: 151: 128: 124: 99: 92: 77: 70: 59: 56: 43: 40: 13: 10: 9: 6: 4: 3: 2: 512: 501: 498: 496: 493: 492: 490: 478: 473: 469: 465: 464: 459: 454: 452: 451:1-55860-890-7 448: 443: 442: 437: 436:Dechter, Rina 433: 432: 425: 421: 415: 412: 408: 404: 403: 398: 392: 389: 382: 380: 377: 370: 367: 364: 363: 362: 359: 355: 351: 344: 342: 339: 325: 322: 319: 297: 293: 289: 284: 280: 257: 253: 249: 244: 240: 229: 227: 223: 212: 205: 200: 196: 180: 176: 153: 149: 126: 122: 113: 105: 98: 91: 86: 76: 69: 64: 57: 55: 53: 49: 46:In a general 41: 39: 37: 34: 30: 26: 22: 19: 467: 461: 440: 423: 414: 409:pp. 263–313. 406: 400: 391: 378: 375: 360: 356: 352: 348: 340: 230: 225: 219: 210: 203: 111: 109: 96: 89: 74: 67: 45: 29:subprocedure 24: 18:backtracking 15: 228:algorithm. 52:recursively 489:Categories 426:pp. 10-20. 383:References 104:consistent 25:look ahead 21:algorithms 33:branching 438:(2003). 36:variable 449:  312:with 447:ISBN 323:< 209:and 95:and 472:doi 422:.” 407:14, 399:". 102:is 16:In 491:: 468:89 466:. 460:. 405:, 338:. 23:, 480:. 474:: 326:j 320:i 298:j 294:x 290:, 285:i 281:x 258:j 254:x 250:, 245:i 241:x 214:4 211:x 207:3 204:x 181:k 177:x 154:k 150:x 127:k 123:x 100:4 97:x 93:3 90:x 78:2 75:x 71:1 68:x

Index

backtracking
algorithms
subprocedure
branching
variable
constraint satisfaction problem
recursively


consistent

arc consistency
Increasing tree search efficiency for constraint satisfaction problems
Artificial Intelligence
Contradicting Conventional Wisdom in Constraint Satisfaction
Dechter, Rina
Constraint Processing
ISBN
1-55860-890-7
"How Good Are Branching Rules in DPLL?"
Discrete Applied Mathematics
doi
10.1016/S0166-218X(98)00045-6
Categories
Constraint programming
Search algorithms

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.