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.

issues: first ‘what to search’ <strong>and</strong> secondly ‘where to search’. The first one is<br />

generally referred to as ‘the key’, while the second one is termed ‘search<br />

space’. In AI the search space is generally referred to as a collection of states<br />

<strong>and</strong> is thus called state space. Unlike common search space, the state space in<br />

most of the problems in AI is not completely known, prior to solving the<br />

problem. So, solving a problem in AI calls for two phases: the generation of<br />

the space of states <strong>and</strong> the searching of the desired problem state in that space.<br />

Further, since the whole state space for a problem is quite large, generation of<br />

the whole space prior to search may cause a significant blockage of storage,<br />

leaving a little for the search part. To overcome this problem, the state space<br />

is exp<strong>and</strong>ed in steps <strong>and</strong> the desired state, called “the goal”, is searched after<br />

each incremental expansion of the state space.<br />

Depending on the methodology of expansion of the state space <strong>and</strong><br />

consequently the order of visiting the states, search problems are differently<br />

named in AI. For example, consider the state space of a problem that takes the<br />

form of a tree. Now, if we search the goal along each breadth of the tree,<br />

starting from the root <strong>and</strong> continuing up to the largest depth, we call it<br />

breadth first search. On the other h<strong>and</strong>, we may sometimes search the goal<br />

along the largest depth of the tree, <strong>and</strong> move up only when further traversal<br />

along the depth is not possible. We then attempt to find alternative offspring<br />

of the parent of the node (state) last visited. If we visit the nodes of a tree<br />

using the above principles to search the goal, the traversal made is called<br />

depth first traversal <strong>and</strong> consequently the search strategy is called depth first<br />

search. We will shortly explore the above schemes of traversal in a search<br />

space. One important issue, however, needs mention at this stage. We may<br />

note that the order of traversal <strong>and</strong> hence search by breadth first or depth first<br />

manner is generally fixed by their algorithms. Thus once the search space,<br />

here the tree, is given, we know the order of traversal in the tree. Such types<br />

of traversal are generally called ‘deterministic’. On the other h<strong>and</strong>, there exists<br />

an alternative type of search, where we cannot definitely say which node will<br />

be traversed next without computing the details in the algorithm. Further, we<br />

may have transition to one of many possible states with equal likelihood at an<br />

instance of the execution of the search algorithm. Such a type of search, where<br />

the order of traversal in the tree is not definite, is generally termed ‘nondeterministic’<br />

1 . Most of the search problems in AI are non-deterministic. We<br />

will explore the details of both deterministic <strong>and</strong> non-deterministic search in<br />

this chapter.<br />

1 There exists also a third variety, called stochastic (r<strong>and</strong>om) search, where<br />

r<strong>and</strong>om numbers are used to select the order of visiting the states in the search<br />

space. The execution of such search algorithms twice at a given iteration need<br />

not necessarily select the same state in the next visit.

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

Saved successfully!

Ooh no, something went wrong!