Forward checking - artificial intelligence, Computer Engineering

Forward checking:

Whether to add some sophistication to the search method there constraint solvers use a technique called as forward checking. So here the general idea is to work the like as a backtracking search but, where checking compliance with constraints behind assigning a  value to a variable there the agent also checks when this assignment is going to break constraints with  future variable assignments. Hence is supposing that Vc has been assigned to the current variable c, after then for each unassigned variable xi, as temporarily remove all values from Di that along with Vc break a constraint. Thus it may be that in doing so, Di becomes empty. Because the choice of Vc for the current variable is bad  -  so however it will not find its way into a solution to the problem just because there's no way to assign a value to xi without breaking a constraint. In that condition even though the assignment of Vc may not break any constraints such that already assigned variables so a new value is chosen as or backtracking occurs whether there are no values left, just because we know that V  is a bad assignment. 

Here the next diagram like again, taken from Smith's tutorial to shows how forward checking improves the search for a solution to the 4-queens problem as;:. 

2484_Forward checking.png

In such a scenario to forward checking, to improve the intelligence of the constraint solving agent so there are some possibilities for a heuristic search. Therefore firstly, our agent can worry about the order such that looks at the variables, that is, in example of the 4-queens problem so it might try to put a queen in row 2, after then one in row 3, one in row 1 and then finally one in row 4. Moreover a solver taking such care is said to be utilizing a variable-ordering heuristic. Conversely the ordering of variables can be done earlier than a search  is started and rigidly adhered to during the search. In fact this might be a good idea whether there is extra knowledge about the problem, like an example that a particular variable should be assigned a value sooner quite than later. In such a scenario  the ordering of the variables can be done dynamically so in response to some information gathered about that how the search is progressing during the search procedure.

Posted Date: 1/12/2013 6:00:39 AM | Location : United States







Related Discussions:- Forward checking - artificial intelligence, Assignment Help, Ask Question on Forward checking - artificial intelligence, Get Answer, Expert's Help, Forward checking - artificial intelligence Discussions

Write discussion on Forward checking - artificial intelligence
Your posts are moderated
Related Questions
What is the system call available to transmit a signal? System call Kill is used to send a signal to a method or a group of processes. Int kill (pad tepid, Int sig); This

What is Fork Clk gets its value after 1 time unit, reset after 10 time units, enable after 5 time units, data after 3 time units. All the statements are executed in parallel.

Explain Flash devices It is possible to read the contents of a one cell, but it is only possible to write an whole block of cells Greater density which leads to superior cap

What is a privileged instruction? To protect the operating system of a computer from being corrupted by user programs, particular instructions can be executed only whereas the

The following is the required interface for the mouse and cheese problem. Your program is required to read its input from a file named 'maze.txt' In the maze.txt


Pipeline Processing Pipelining is a process to realize, overlapped parallelism in the proposed answer of a problem, on a digital computer in an economical way. To understand th

Advantages and Disadvantages of Structured Analysis With time, you will find out that most customers understand structured methods better than object oriented (OO) methods. As

dynamic storage allocation technique

What is an interrupt?  An interrupt is an event that causes the implementation of one program to be suspended and another program to be implemented.