# Designing bidirectional search algorithm

Write down the algorithm for bidirectional search, in pseudo-code. Assume that each search will be a breadth-first search, and that the forward and backward searches takes turns expanding a node at a time . Be careful to avoid checking each node in the forward search against each node in the backward direction.

Artificial Inteligence, A Modern Approach. Stuart Russel and Peter Norvig, ch 3, p89, ex 3.10

After googling a correction, I wasn't even able to find an "official" algorithm version. I'm not sure if my bidirectional search pseudo-code version respects the very last condition given by Russel. Could you help me improving my pseudo-code ?

For both start and goal nodes

boolean founded = false
While founded = false
if pulse == distance_n
if(!founded_n)
founded_n=true
pulse ++
else
founded = true
break
end if
end if
end while


When one of the algorithm find a node the orhter algorithm has already visited we have found a solution.