Algorithm helps NYPD spot crime patterns