Richard Karp, at the University of California, Berkeley, published in 1972 "Reducibility Among Combinatorial Problems", taking Stephen Cook's 1971 result — which establishes the existence of NP-complete problems via the case of Boolean satisfiability — and showing that twenty-one other classic combinatorial problems, appearing completely different from one another, are also NP-complete: the traveling salesman problem (finding the shortest route visiting a set of cities exactly once), graph coloring, the knapsack problem, the maximum independent set problem, and many others. The technique Karp employs — reducing one problem to another via transformations that preserve computational difficulty — becomes the standard method for classifying new problems as NP-complete without needing to prove their difficulty directly from scratch: it suffices to show that a known problem can be translated into the new problem in polynomial time. The article transforms NP-completeness from an isolated theoretical curiosity into a structural property found throughout practical computer science: thousands of optimization problems in logistics, scheduling, network design, and computational biology turn out to be NP-complete, which explains why approximate or heuristic algorithms are used in practice instead of seeking guaranteed exact solutions.