problem solving in artificial intelligenc