Kolmogorov complexity: Difference between revisions

Content deleted Content added
m Added extra information about incomputability of kolmogorov complexity (and added citation to that information)
Tags: Visual edit Mobile edit Mobile web edit Advanced mobile edit
Citation bot (talk | contribs)
Alter: date, template type. Add: bibcode, arxiv, pmc, pmid, doi-access. Removed URL that duplicated identifier. | Use this bot. Report bugs. | Suggested by Jay8g | Category:CS1 errors: dates | #UCB_Category 116/120
Line 5:
 
The notion of Kolmogorov complexity can be used to state and [[Proof of impossibility|prove impossibility]] results akin to [[Cantor's diagonal argument]], [[Gödel's incompleteness theorem]], and [[halting problem|Turing's halting problem]].
In particular, no program ''P'' computing a [[lower bound]] for each text's Kolmogorov complexity can return a value essentially larger than ''P''<nowiki>'</nowiki>s own length (see section {{slink||Chaitin's incompleteness theorem}}); hence no single program can compute the exact Kolmogorov complexity for infinitely many texts. Kolmogorov complexity is the length of the ultimately compressed version of a file (i.e., anything which can be put in a computer). Formally, it is the length of a shortest program from which the file can be reconstructed. We discuss the incomputability of Kolmogorov complexity, which formal loopholes this leaves us with, recent approaches to compute or approximate Kolmogorov complexity, which approaches are problematic, and which approaches are viable.<ref>{{Cite journal |last=Vitányi |first=Paul M. B. |date=April 2020-04 |title=How Incomputable Is Kolmogorov Complexity? |url=https://www.mdpi.com/1099-4300/22/4/408 |journal=Entropy |language=en |volume=22 |issue=4 |pages=408 |doi=10.3390/e22040408 |doi-access=free |pmid=33286182 |pmc=7516884 |arxiv=2002.07674 |bibcode=2020Entrp..22..408V |issn=1099-4300}}</ref>
 
==Definition==
Line 352:
If we have a halting oracle, then the Kolmogorov complexity of a string can be computed by simply trying every halting program, in lexicographic order, until one of them outputs the string.
 
The other direction is much more involved.<ref>{{Cite journal |last1=Chaitin |first1=G. |last2=Arslanov |first2=A. |last3=Calude |first3=Cristian S. |date=1995-09-01 |title=Program-size Complexity Computes the Halting Problem |journal=Bull. EATCS|s2cid=39718973 }}</ref><ref>{{Cite journalbook |last1=Li |first1=Ming |last2=Vitányi |first2=Paul |date=2008 |title=An Introduction to Kolmogorov Complexity and Its Applications |url=https://link.springer.com/book/10.1007/978-0-387-49820-1 |journal=Texts in Computer Science |language=en |at=Exercise 2.7.7. |doi=10.1007/978-0-387-49820-1 |bibcode=2008ikca.book.....L |isbn=978-0-387-33998-6 |issn=1868-0941}}</ref> It shows that given a Kolmogorov complexity function, we can construct a function <math>p</math>, such that <math>p(n) \geq BB(n)</math> for all large <math>n</math>, where <math>BB</math> is the [[Busy beaver|Busy Beaver]] shift function (also denoted as <math>S(n)</math>). By modifying the function at lower values of <math>n</math> we get an upper bound on <math>BB</math>, which solves the halting problem.
 
Consider this program <math display="inline">p_K</math>, which takes input as <math display="inline">n</math>, and uses <math display="inline">K</math>.