problem solving and search in artificial intelligence