Content deleted Content added
m ISBNs (Build KE) |
DavidBrooks (talk | contribs) Reverted 1 edit by Dragonthereal (talk): Editorializing |
||
(24 intermediate revisions by 18 users not shown) | |||
Line 1:
{{Short description|Lower bound for size of software program}}
The chain rule for [[Kolmogorov complexity]] is an analogue of the chain rule for [[information entropy]], which states:▼
{{inline|date=July 2014}}
▲The chain rule{{cn|date=July 2014}} for [[Kolmogorov complexity]] is an analogue of the chain rule for [[information entropy]], which states:
:<math>
Line 6 ⟶ 8:
That is, the combined [[randomness]] of two sequences ''X'' and ''Y'' is the sum of the randomness of ''X'' plus whatever randomness is left in ''Y'' once we know ''X''.
This follows immediately from the definitions of [[conditional entropy|conditional]] and [[joint entropy]], and the fact from [[probability theory]] that the [[joint probability]] is the product of the [[marginal probability|marginal]] and [[conditional probability]]:
:<math>
P(X,Y) = P(X) P(Y|X)
</math>▼
:<math>▼
</math>
The equivalent statement for Kolmogorov complexity does not hold exactly; it is
:<math>
K(
</math>
(An exact version, {{math|1=''KP''(''
holds for the prefix complexity ''KP'', where
It states that the shortest program
==Proof==
Line 27 ⟶ 32:
The ≤ direction is obvious: we can write a program to produce ''x'' and ''y'' by concatenating a program to produce ''x'', a program to produce ''y'' given
access to ''x'', and (whence the log term) the length of one of the programs, so
that we know where to separate the two programs for ''x'' and {{math|1=''y''
For the ≥ direction, it suffices to show that for all {{mvar|k,l}} such that {{tmath|1=k+l = K(x,y)}} we have that either
or
:<math> K(y|x) \le \log(|A_x|) + O(\log(K(x,y))) + O(1) \, </math>▼
Consider the list (''a''<sub>1</sub>,''b''<sub>1</sub>), (''a''<sub>2</sub>,''b''<sub>2</sub>), ..., (''a<sub>e</sub>,b<sub>e</sub>'') of all pairs {{tmath|1=(a,b)}} produced by programs of length exactly {{tmath|1=K(x,y)}} [hence {{tmath|K(a,b) \le K(x,y)}}]. Note that this list
* contains the pair {{tmath|1=(x,y)}},
* can be [[recursively enumerable|enumerated]] given {{mvar|k}} and {{mvar|l}} (by running all programs of length {{tmath|1=K(x,y)}} in parallel),
* has at most 2<
First, suppose that ''x'' appears less than {{math|2<sup>''l''</sup>}} times as first element. We can specify ''y'' given {{mvar|x,k,l}} by enumerating (''a''<sub>1</sub>,''b''<sub>1</sub>), (''a''<sub>2</sub>,''b''<sub>2</sub>), ... and then selecting {{tmath|1=(x,y)}} in the sub-list of pairs {{tmath|1=(x,b)}}. By assumption, the index of {{tmath|1=(x,y)}} in this sub-list is less than {{math|2<sup>''l''</sup>}} and hence, there is a program for ''y'' given {{mvar|x,k,l}} of length {{tmath|1=l + O(1)}}.
▲:<math> K(y|x) > K(x,y) - K(x) + O(\log(K(x,y))) \, </math>
Now, suppose that ''x'' appears at least {{math|2<sup>''l''</sup>}} times as first element. This can happen for at most {{math|1=2<sup>''K''(''x,y'')−l</sup> = 2<sup>''k''</sup>}} different strings. These strings can be enumerated given {{mvar|k,l}} and hence ''x'' can be specified by its index in this enumeration. The corresponding program for ''x'' has size {{tmath|1=k + O(1)}}. Theorem proved.
▲:<math>
▲</math>
▲most <math>2^{K(x,y)}</math> elements, since there are only that many programs of length
▲K(x) < \log(K(x,y)) + \log(K(x,y) + K(x) + \log(K(x,y))
==References==
* {{cite book
| last = Li
| first = Ming
|
| title = An introduction to Kolmogorov complexity and its applications
| ___location = New York
| publisher = [[Springer-Verlag]]
|
| isbn = 0-387-94868-6 }}
* {{cite journal | last=Kolmogorov | first=A. | title=Logical basis for information theory and probability theory | journal=IEEE Transactions on Information Theory | publisher=Institute of Electrical and Electronics Engineers (IEEE) | volume=14 | issue=5 | year=1968 | issn=0018-9448 | doi=10.1109/tit.1968.1054210 | pages=662–664| s2cid=11402549 }}
* {{cite journal | last1=Zvonkin | first1=A K | last2=Levin | first2=L A | title=The complexity of finite objects and the development of the concepts of information and randomness by means of the theory of algorithms | journal=Russian Mathematical Surveys | publisher=IOP Publishing | volume=25 | issue=6 | date=1970-12-31 | issn=0036-0279 | doi=10.1070/rm1970v025n06abeh001269 | pages=83–124| bibcode=1970RuMaS..25...83Z | s2cid=250850390 }}
[[Category:Algorithmic information theory|*]]
|