a class of problems for which no known algorithm can find the exact solution in polynomial time (like O(n²) or O(n³)). For NP-hard problems, the practical approach is usually: