06.03.2013 Views

Artificial Intelligence and Soft Computing: Behavioral ... - Arteimi.info

Artificial Intelligence and Soft Computing: Behavioral ... - Arteimi.info

Artificial Intelligence and Soft Computing: Behavioral ... - Arteimi.info

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

The above algorithm considers two depth cut-off levels. If the stack contains<br />

nodes whose children all have ‘f’ value lower than the cut-off value c, then<br />

these children are pushed into the stack to satisfy the depth first criteria of<br />

iterative deepening algorithms. However, when it fails, i.e., ‘f’ value of one or<br />

more child n’ of n exceeds the cut-off level c, then the c’ value of the node n<br />

is set to min (c’, f(n’)). The algorithm terminates when either i) the goal is<br />

identified (successful termination) or ii) the stack is empty <strong>and</strong> the cut-off<br />

value c’ = ∝.<br />

The main advantage of IDA* over A* lies in the memory requirement.<br />

The A* requires an exponential amount of memory because of no restriction<br />

on depth cut-off. The IDA* on the other h<strong>and</strong> exp<strong>and</strong>s a node n only when all<br />

its children n’ have f (n’) value less than the cut-off value c. Thus it saves a<br />

considerable amount of memory.<br />

Another important point to note is that IDA* exp<strong>and</strong>s the same nodes<br />

exp<strong>and</strong>ed by A* <strong>and</strong> finds an optimal solution when the heuristic function<br />

used is optimal.<br />

4.3.3 Heuristic Search on AND-OR Graphs<br />

The second classical problem, where the heuristic search is applicable, is the<br />

backward reasoning problem implemented on AND-OR graphs. Before<br />

describing the technique of pruning an AND-OR graph, let us first underst<strong>and</strong><br />

the process of exp<strong>and</strong>ing an unconstrained graph. Consider the problem of<br />

acquiring a TV set. One has to identify the possible ways one can acquire the<br />

TV set. So, here the goal is “to acquire a TV set” <strong>and</strong> the terminals of the<br />

graph describe the possible means by which it can be achieved. The details of<br />

the possibility space are given in fig. 4.10.<br />

For heuristic search on AND-OR graph, we use an algorithm, called an AO*<br />

algorithm. The major steps of the AO* algorithm are presented below.<br />

1. Given the Goal node, hereafter called the starting state, find the<br />

possible offsprings of the starting state, such that the Goal can be<br />

derived from them by AND / OR clauses.<br />

3. Estimate the h’ values at the leaves <strong>and</strong> find the leaf (leaves) with<br />

minimum h’. The cost of the parent of the leaf (leaves) is the minimum<br />

of the cost of the OR clauses plus one or the cost of the AND clauses<br />

plus the number of AND clauses. After the children with minimum h’<br />

are estimated, a pointer is attached to point from the parent node to<br />

its promising children.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!