•**RBFS
(node : N, ****value: F(N),**** bound : B)
**

•**IF
f(N)>B, RETURN f(N)
**

•**IF
N is a goal, EXIT algorithm
**

•**IF
N has no children, RETURN infinity
**

•**FOR
each child Ni of N
**

–**IF f(N)<F(N) THEN F[i] := MAX(F(N),f(Ni))
**

–**ELSE F[i] := f(Ni)
**

•**sort Ni and F[i] in increasing order of
F[i]
**

•**IF
only one child, F[2] := infinity
**

•**WHILE
(F[1] <= B and F[1] < infinity)
**

–**F[1]
:= RBFS(N1, ****F[1],**** MIN(B, F[2]))
**

–**Insert
N1 and F[1] in sorted order
**

•**RETURN
F[1]**