Search Techniques


Uninformed or Blind Search

Search problems can be classified by the amount of information that is available to the search process. Such information might relate to the problem space as a whole or to only some states. It may be available a priori or only after a node has been expanded. In a worst case situation, the only information available will be the ability to distinguish goal from non-goal nodes. When no further information is known a priori, a search program must perform a blind or uninformed search. A blind or uninformed search algorithm is one that uses no information other than the initial state, the search operators, and a test for a solution. A blind search should proceed in a systematic way by exploring nodes in some predetermined order or simply by selecting nodes at random.

Breadth-First Search

Q. Describe Breadth-First Search algorithm. Explain the time and space complexities of the algorithm. Write briefly about its merits and demerits. (Dec. 98, June 99, June 02)

Breadth-first searches are performed by exploring all nodes at a given depth before proceeding to the next level. This means that all immediate children of nodes are explored before any of the children's children are considered .Breadth first tree search is illustrated below:

It has the obvious advantage always finding a minimal path length solution when one exists. However, a great many nodes may need to be explored before a solution is found, especially if the tree is very full.

An algorithm for the breadth-first search is quite simple. It uses a queue structure to hold all generated but still unexplored nodes. The order in which nodes are placed on the queue for removal and exploration determines the type of search. The breadth-first algorithm is paraphrased below:

1. Place the starting node s on the queue.
2. If the queue is empty, return failure and stop.
3. If the first element on the queue is a goal node g, return success and stop. Otherwise ,
4. Remove and expand the first element from the queue and place at the end of the queue in any order .
5. Return to step 2.


The time complexity of this algorithm is O(bd) because all nodes to the goal depth d are generated. The space complexity is also O(bd) because all nodes at a given depth must be stored in order to generate the nodes at the next depth. The use of both exponential time and space is one of the main drawbacks of the breadth-first search.

 
          AI Contents  
©Universal Teacher Publications Web: www.universalteacherpublications.com.