Arc consistency, Computer Engineering

Assignment Help:

Arc Consistency:

There have been many advances in how constraint solvers search for solutions (remember this means an assignment of a value to each variable in such a way thatno constraint is broken). We look first at a pre-processing step which can greatly improve efficiency by pruning the search space, namely arc-consistency. Following this, we'll look at two search methods, backtracking and forward checking which keep assigning values to variables until a solution is found. Finally, we'll look at some heuristics for improving the efficiency of the solver, namely how to order the choosing of the variables, and how to order the assigning of the values to variables. 

The pre-processing routine for bianry constraints known as  arc-consistency involves calling a pair (xi, xj) an arc and noting that this is an ordered pair, i.e., it is not the same as (xj, xi). Each arc is associated with a single constraint Cij, which constrains variables xi  and xj. We say that the arc (xi, xj) is  consistent  if, for all values a in Di, there is a value b in Dj  such that the assignment xi=a and xj=b satisfies constraint Cij. Note that (xi, xj) being consistent doesn't necessarily mean that (xj,xi) is also consistent. To use this in a pre-processing way, we take every pair of variables and make it arc-consistent. That is, we take each pair (xi,xj) and remove variables from Di  which make it inconsistent, until it becomes consistent. This effectively removes values from the domain of variables, hence prunes the search space and makes it likely that the solver will succeed (or fail to find a solution) more quickly.


Related Discussions:- Arc consistency

Illustration of instruction format, Let's provide you a fundamental illustr...

Let's provide you a fundamental illustration by which you may be able to define the concept of instruction format.  Let us consider the instruction format of a MIPS computer. MI

Register transfer micro-operations, Register Transfer Micro-operations ...

Register Transfer Micro-operations These micro-operations as the name proposes transfer information from one register to another. The information doesn't change during these mi

What are font metrics classes, The FontMetrics class is used to describe im...

The FontMetrics class is used to describe implementation-specific properties, like ascent and descent, of a Font object.

Evaluate physical address of top of stack, Q. Evaluate Physical address of ...

Q. Evaluate Physical address of top of stack? Value of stack segment register (SS) = 6000h Value of stack pointer (SP) which is Offset = 0010h  So Physical address of top

Can we use write statements in screen fields, Can we use WRITE statements i...

Can we use WRITE statements in screen fields? If not how is data transferred from field data to screen fields? We cannot write field data to the screen using the WRITE stateme

Explain the concepts and definitions of e-commerce, The Internet has emerge...

The Internet has emerged as a major worldwide distribution channel for goods, managerial, services, and professional jobs. It has impacted market economics and industry structure,

Explain virtual memory, In a memory hierarchy system, data and programs are...

In a memory hierarchy system, data and programs are first stored in secondary or auxiliary memory. Program and its related data are brought in main memory for execution. What if th

Design issues related to interrupt-driven input - output, Q. Design issues ...

Q. Design issues related to interrupt-driven Input - output? So interrupt handling includes interruption of currently executing program, execution of interrupt servicing progra

Explain pipelining, Define pipelining Pipelining is an efficient way of...

Define pipelining Pipelining is an efficient way of organizing concurrent activity in a computer system. The processor implements the program by fetching and implementing instr

Use of delay loops, A very useful application of assembly is to generate de...

A very useful application of assembly is to generate delay loops. These loops are used for waiting for some time before execution of subsequent instruction. However how to find

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd