Prognostic Algorithms For Condition Monitoring And Remaining Useful Life Estimation