The most widely used search strategy in continuous speech recognition is the left-to-right time-synchronous search. However, the left-to-right strategy often produces erroneous results because it does not utilize a full path score. In this research project, we studied a bi-directional search algorithm consisting of a forward time-synchronous search and a backward time-asynchronous search. In the first pass, the HMM-based one-pass algorithm, guided by a finite-state automaton (FSA), is used time-asynchronously for preparing a partial path map. Here, the partial path map keeps recognition likelihood of all partial paths that lead to any grammar state at every time instant. After the first pass, a new, forward time-synchronous search, guided by a finite-state or context-free grammar (CFG), is performed for finding the best recognition hypothesis. The second pass uses the partial path map to compute the full path likelihood.We implemented an experimental speech recognition system based on the above-mentioned bi-directional search algorithm. In the system, discrete HMMs were used as acoustic models. We also conducted experiments to compare the accuracy of several kinds of search strategies using the ATR speech database. FSA-based one-directional search attained an accuracy of 77.1%-87.3%, while FSA-backward CGF-forward search attained an accuracy of 88.6%. These results shows the effectiveness of the bi-directional search algorithm.