In 1970, Saul Needleman and Christian Wunsch published a three-page paper with a surprisingly simple idea: comparing two protein sequences is a shortest-path problem in disguise, and dynamic programming can solve it exactly.
The question was urgent. Biologists wanted to know which parts of two proteins were evolutionarily related — which letters matched, which had mutated, and which had been inserted or deleted over millions of years. Doing it by hand was error-prone and subjective. Needleman and Wunsch gave the field a rigorous, reproducible algorithm that found the single best global alignment every time.
The core insight is optimal substructure: the best alignment of two full sequences can be built from the best alignments of their shorter prefixes. That observation turns an exponentially large search space into a grid you fill one cell at a time, row by row — the hallmark of dynamic programming.
Comments
Loading comments...