This implements the algorithm as I understood it described in the paper.
A small implementation detail that might accelerate things (that I haven't yet implemented) might be to sort the neighbours of each vertex in order of decreasing degree.
This would then allow the calculation of the set in "Pruning 5" of Algorithm 1 to terminate as soon as d(w) <= max.
Implementing this in Haskell is going to make for a very nice weekend project. I'll report back with details of the Github repo if I'm done by the end of the day.
This implements the algorithm as I understood it described in the paper.
A small implementation detail that might accelerate things (that I haven't yet implemented) might be to sort the neighbours of each vertex in order of decreasing degree.
This would then allow the calculation of the set in "Pruning 5" of Algorithm 1 to terminate as soon as d(w) <= max.