Alignment of 27 avian influenza hemagglutinin protein sequences colored by residue conservation (top) and residue properties (bottom)
Index plot of 10 family life sequences
Dynamic time warping
Edit distance matrix for two words using cost of substitution as 1 and cost of deletion or insertion as 0.5
A profile HMM modelling a multiple sequence alignment
Two repetitions of a walking sequence recorded using a motion-capture system. While there are differences in walking speed between repetitions, the spatial paths of limbs remain highly similar.

The method was tailored to social sciences from a technique originally introduced to study molecular biology (protein or genetic) sequences (see sequence alignment).

- Optimal matching

It is closely related to pairwise string alignments.

- Levenshtein distance

The optimal match is denoted by the match that satisfies all the restrictions and the rules and that has the minimal cost, where the cost is computed as the sum of absolute differences, for each matched pair of indices, between their values.

- Dynamic time warping

This sequence alignment method is often used in time series classification.

- Dynamic time warping

The methods used for biological sequence alignment have also found applications in other fields, most notably in natural language processing and in social sciences, where the Needleman-Wunsch algorithm is usually referred to as Optimal matching.

- Sequence alignment
Alignment of 27 avian influenza hemagglutinin protein sequences colored by residue conservation (top) and residue properties (bottom)

266 related topics

Relevance

Figure 1. Finding the shortest path in a graph using optimal substructure; a straight line indicates a single edge; a wavy line indicates a shortest path between the two vertices it connects (among other paths, not shown, sharing the same two vertices); the bold line is the overall shortest path from start to goal.

Dynamic programming

Both a mathematical optimization method and a computer programming method.

Both a mathematical optimization method and a computer programming method.

Figure 1. Finding the shortest path in a graph using optimal substructure; a straight line indicates a single edge; a wavy line indicates a shortest path between the two vertices it connects (among other paths, not shown, sharing the same two vertices); the bold line is the overall shortest path from start to goal.
Figure 2. The subproblem graph for the Fibonacci sequence. The fact that it is not a tree indicates overlapping subproblems.
A model set of the Towers of Hanoi (with 8 disks)
An animated solution of the Tower of Hanoi puzzle for T(4,3).

Dynamic programming is widely used in bioinformatics for the tasks such as sequence alignment, protein folding, RNA structure prediction and protein-DNA binding.

Many string algorithms including longest common subsequence, longest increasing subsequence, longest common substring, Levenshtein distance (edit distance)

The dynamic time warping algorithm for computing the global distance between two time series

Figure 1: Needleman-Wunsch pairwise sequence alignment

Needleman–Wunsch algorithm

Figure 1: Needleman-Wunsch pairwise sequence alignment

The Needleman–Wunsch algorithm is an algorithm used in bioinformatics to align protein or nucleotide sequences.

It is also sometimes referred to as the optimal matching algorithm and the global alignment technique.

("time warping"), and by Robert A. Wagner and Michael J. Fischer in 1974 for string matching.

Another possibility is to minimize the edit distance between sequences, introduced by Vladimir Levenshtein.

Charles Babbage, sometimes referred to as the "father of computing".

Hirschberg's algorithm

Charles Babbage, sometimes referred to as the "father of computing".

In computer science, Hirschberg's algorithm, named after its inventor, Dan Hirschberg, is a dynamic programming algorithm that finds the optimal sequence alignment between two strings.

Optimality is measured with the Levenshtein distance, defined to be the sum of the costs of insertions, replacements, deletions, and null actions needed to change one string into the other.

Alan Turing: computer scientist and namesake developer of the Turing test as a method of measuring the intelligence of a machine

Edit distance

Way of quantifying how dissimilar two strings are to one another by counting the minimum number of operations required to transform one string into the other.

Way of quantifying how dissimilar two strings are to one another by counting the minimum number of operations required to transform one string into the other.

Alan Turing: computer scientist and namesake developer of the Turing test as a method of measuring the intelligence of a machine

Levenshtein distance operations are the removal, insertion, or substitution of a character in the string.

Hirschberg's algorithm computes the optimal alignment of two strings, where optimality is defined as minimizing edit distance.

Collage of images representing different academic disciplines

Speech recognition

Interdisciplinary subfield of computer science and computational linguistics that develops methodologies and technologies that enable the recognition and translation of spoken language into text by computers with the main benefit of searchability.

Interdisciplinary subfield of computer science and computational linguistics that develops methodologies and technologies that enable the recognition and translation of spoken language into text by computers with the main benefit of searchability.

Collage of images representing different academic disciplines

Around this time Soviet researchers invented the dynamic time warping (DTW) algorithm and used it to create a recognizer capable of operating on a 200-word vocabulary.

The loss function is usually the Levenshtein distance, though it can be different distances for specific tasks; the set of possible transcriptions is, of course, pruned to maintain tractability.

Google Chrome spell checker in action for the above poem, the word "chequer" marked as unrecognized word

Spell checker

Software feature that checks for misspellings in a text.

Software feature that checks for misspellings in a text.

Google Chrome spell checker in action for the above poem, the word "chequer" marked as unrecognized word
A screenshot of Enchant, the AbiWord spell checker.

Spell checkers can use approximate string matching algorithms such as Levenshtein distance to find correct spellings of misspelled words.

A picture showing scratches on the readable surface of a CD-R. Music and data CDs are coded using error correcting codes and thus can still be read even if they have minor scratches using error detection and correction.

Hamming distance

Number of positions at which the corresponding symbols are different.

Number of positions at which the corresponding symbols are different.

A picture showing scratches on the readable surface of a CD-R. Music and data CDs are coded using error correcting codes and thus can still be read even if they have minor scratches using error detection and correction.

However, for comparing strings of different lengths, or strings where not just substitutions but also insertions or deletions have to be expected, a more sophisticated metric like the Levenshtein distance is more appropriate.

A fuzzy Mediawiki search for "angry emoticon" has as a suggested result "andré emotions"

Approximate string matching

Technique of finding strings that match a pattern approximately (rather than exactly).

Technique of finding strings that match a pattern approximately (rather than exactly).

A fuzzy Mediawiki search for "angry emoticon" has as a suggested result "andré emotions"

In fact, we can use the Levenshtein distance computing algorithm for E(m, j), the only difference being that we must initialize the first row with zeros, and save the path of computation, that is, whether we used E(i − 1,j), E(i,j − 1) or E(i − 1,j − 1) in computing E(i, j).

Optical character recognition

Electronic or mechanical conversion of images of typed, handwritten or printed text into machine-encoded text, whether from a scanned document, a photo of a document, a scene-photo (for example the text on signs and billboards in a landscape photo) or from subtitle text superimposed on an image (for example: from a television broadcast).

Electronic or mechanical conversion of images of typed, handwritten or printed text into machine-encoded text, whether from a scanned document, a photo of a document, a scene-photo (for example the text on signs and billboards in a landscape photo) or from subtitle text superimposed on an image (for example: from a television broadcast).

The Levenshtein Distance algorithm has also been used in OCR post-processing to further optimize results from an OCR API.

A picture showing scratches on the readable surface of a CD-R. Music and data CDs are coded using error correcting codes and thus can still be read even if they have minor scratches using error detection and correction.

Vladimir Levenshtein

Russian scientist who did research in information theory, error-correcting codes, and combinatorial design.

Russian scientist who did research in information theory, error-correcting codes, and combinatorial design.

A picture showing scratches on the readable surface of a CD-R. Music and data CDs are coded using error correcting codes and thus can still be read even if they have minor scratches using error detection and correction.

Among other contributions, he is known for the Levenshtein distance and a Levenshtein algorithm, which he developed in 1965.