I agree with the recommendation, but it assumes a certain amount of Prolog knowledge.
BTW, here’s Richard O’Keefe’s implementation of Fast Fourier Transforms in Prolog (and many other programming languages), if you want to compare:
Which shows that Prolog can be reasonably efficient for some algorithms that normally use mutable matrices.
On the other hand, you won’t find many examples of search algorithms with conventional code, whereas such things are pretty easy to write in Prolog. Here’s one, which gives Haskell and Prolog code (the Prolog code isn’t very good, though): Escape from Zurg: An Exercise in Logic Programming