title: 3D clustering Algorithm
body: <p><strong>Problem Statement:</strong>
  I have the following problem:</p>
  
  <p>There are more than a billion points in 3D space. The goal is to find the top N points which has largest number of neighbors within given distance R. Another condition is that the distance between any two points of those top N points must be greater than R. The distribution of those points are not uniform. It is very common that certain regions of the space contain a lot of points.</p>
  
  <p><strong>Goal:</strong>
  To find an algorithm that can scale well to many processors and has a small memory requirement.</p>
  
  <p><strong>Thoughts:</strong>
  Normal spatial decomposition is not sufficient for this kind of problem due to the non-uniform distribution. irregular spatial decomposition that evenly divide the number of points may help us the problem. I will really appreciate that if someone can shed some lights on how to solve this problem.</p>