Information distance


Information distance is the distance between two finite objects expressed as the number of bits in the shortest program which transforms one object into the other one or vice versa on a
universal computer. This is an extension of Kolmogorov complexity. The Kolmogorov complexity of a single finite object is the information in that object; the information distance between a pair of finite objects is the minimum information required to go from one object to the other or vice versa.
Information distance was first defined and investigated in based on thermodynamic principles, see also. Subsequently, it achieved final form in. It is applied in the normalized compression distance and the normalized Google distance.

Properties

Formally the information distance between and is defined by
with a finite binary program for the fixed universal computer
with as inputs finite binary strings. In it is proven that
with
where is the Kolmogorov complexity defined by of the prefix type. This is the important quantity.

Universality

Let be the class of upper semicomputable distances that satisfy the density condition
This excludes irrelevant distances such as for ;
it takes care that if the distance growth then the number of objects within that distance of a geven object grows.
If then up to a constant additive term.

Metricity

The distance is a metric up to an additive
term in the metric equalities.

Maximum overlap

If, then there is a program of length that converts to, and a program of length such that the program converts to. That is, the shortest programs to convert between two objects can be made maximally overlapping: For it can be divided into a program that converts object to object, and another program which concatenated with the first converts to while the concatenation of these two programs is a shortest program to convert between these objects.

Minimum overlap

The programs to convert between objects and can also be made minimal overlapping.
There exists a program of length up to an additive term of that maps to and has small complexity when is known. Interchanging the two objects we have the other program Having in mind the parallelism between Shannon information theory and Kolmogorov complexity theory, one can say that this result is parallel to the Slepian-Wolf and Körner–Imre Csiszár–Marton theorems.

Applications

Theoretical

The result of An.A. Muchnik on minimum overlap above is an important theoretical application showing
that certain codes exist: to go to finite target object from any object there is a program which almost only
depends on the target object! This result is fairly precise and the error term cannot be significantly improved. Information distance was material in the textbook, it occurs in the Encyclopedia on Distances.

Practical

To determine the similarity of objects such as genomes, languages, music, internet attacks and worms, software programs, and so on, information distance is normalized and the Kolmogorov complexity terms approximated by real-world compressors. The result is the normalized compression distance between the objects. This pertains to objects given as computer files like the genome of a mouse or text of a book. If the objects are just given by name such as `Einstein' or `table' or the name of a book or the name `mouse', compression does not make sense. We need outside information about what the name means. Using a data base and a means to search the database provides this information. Every search engine on a data base that provides aggregate page counts can be used in the normalized Google distance.

Related literature