Applications of artificial intelligence to condition-based maintenance