Bidirectional Search-Artificial intelligence:
We've concentrated so far on searches where the point of the search is to search a solution, not the path to the solution. In another search, we know the solution, and we know the first state, but we don't know how to get from one to the other, and the point of the search is to search a path. In these cases, in addition to searching forward from the first state, we may sometimes also search backwards from the solution. This is known a bidirectional search.
For example, suppose the 8-puzzle game in the diagram below, where the point of the game is to move the pieces around so that they are set in the right hand diagram. It's likely that in the search for the solution to this puzzle (given an arbitrary starting state), you must start off by moving some of the pieces around to get some of them in their end positions. Then, as you got nearer to the solution state, you must work backwards: by asking yourself, how can I get from the solution to where I am at the moment, then reversing the seek path. In this type of case, you've used a bidirectional search.
Bidirectional search has the advantage that search conduct in both directions is only required to go to a depth half that of usual searches, and this may often lead to a strong reduction in the number of paths looked at. For example, if we were searching for a path from one town to other through at mainly six other towns, we only need to look for a journey through 3 towns from both directions, which is easy to do, compare to searching every paths through 6 towns in a normal search.