Likelihood-based Algorithm