Chaitin. Algorithmic information theory
.pdfALGORITHMIC INFORMATION THEORY
Third Printing
G J Chaitin
IBM, P O Box 218 Yorktown Heights, NY 10598
chaitin@us.ibm.com
April 2, 2003
This book was published in 1987 by Cambridge University Press as the rst volume in the series Cambridge Tracts in Theoretical Computer Science. In 1988 and 1990 it was reprinted with revisions. This is the text of the third printing. However the APL character set is no longer used, since it is not generally available.
Acknowledgments
The author is pleased to acknowledge permission to make free use of previous publications:
Chapter 6 is based on his 1975 paper \A theory of program size formally identical to information theory" published in volume 22 of the Journal of the ACM, copyright c 1975, Association for Computing Machinery, Inc., reprinted by permission.
Chapters 7, 8, and 9 are based on his 1987 paper \Incompleteness theorems for random reals" published in volume 8 of Advances in Applied Mathematics, copyright c 1987 by Academic Press, Inc.
The author wishes to thank Ralph Gomory, Gordon Lasher, and the Physics Department of the Watson Research Center.
1
2
Foreword
Turing's deep 1937 paper made it clear that G¨odel's astonishing earlier results on arithmetic undecidability related in a very natural way to a class of computing automata, nonexistent at the time of Turing's paper, but destined to appear only a few years later, subsequently to proliferate as the ubiquitous storedprogram computer of today. The appearance of computers, and the involvement of a large scienti c community in elucidation of their properties and limitations, greatly enriched the line of thought opened by Turing. Turing's distinction between computational problems was rawly binary: some were solvable by algorithms, others not. Later work, of which an attractive part is elegantly developed in the present volume, re ned this into a multiplicity of scales of computational di culty, which is still developing as a fundamental theory of information and computation that plays much the same role in computer science that classical thermodynamics plays in physics: by de ning the outer limits of the possible, it prevents designers of algorithms from trying to create computational structures which provably do not exist. It is not surprising that such a thermodynamics of information should be as rich in philosophical consequence as thermodynamics itself.
This quantitative theory of description and computation, or Computational Complexity Theory as it has come to be known, studies the various kinds of resources required to describe and execute a computational process. Its most striking conclusion is that there exist computations and classes of computations having innocentseeming de nitions but nevertheless requiring inordinate quantities of some computational resource. Resources for which results of this kind have been established include:
3
4
(a)The mass of text required to describe an object;
(b)The volume of intermediate data which a computational process would need to generate;
(c)The time for which such a process will need to execute, either on a standard \serial" computer or on computational structures unrestricted in the degree of parallelism which they can employ.
Of these three resource classes, the rst is relatively static, and pertains to the fundamental question of object describability; the others are dynamic since they relate to the resources required for a computation to execute. It is with the rst kind of resource that this book is concerned. The crucial fact here is that there exist symbolic objects (i.e., texts) which are \algorithmically inexplicable," i.e., cannot be speci ed by any text shorter than themselves. Since texts of this sort have the properties associated with the random sequences of classical probability theory, the theory of describability developed in Part II of the present work yields a very interesting new view of the notion of randomness.
The rst part of the book prepares in a most elegant, even playful, style for what follows; and the text as a whole reﬂects its author's wonderful enthusiasm for profundity and simplicity of thought in subject areas ranging over philosophy, computer technology, and mathematics.
J. T. Schwartz
Courant Institute
February, 1987
Preface
The aim of this book is to present the strongest possible version of G¨odel's incompleteness theorem, using an informationtheoretic approach based on the size of computer programs.
One half of the book is concerned with studying Ω, the halting probability of a universal computer if its program is chosen by tossing a coin. The other half of the book is concerned with encoding Ω as an algebraic equation in integers, a socalled exponential diophantine equation.
G¨odel's original proof of his incompleteness theorem is essentially the assertion that one cannot always prove that a program will fail to halt. This is equivalent to asking whether it ever produces any output. He then converts this into an arithmetical assertion. Over the years this has been improved; it follows from the work on Hilbert's 10th problem that G¨odel's theorem is equivalent to the assertion that one cannot always prove that a diophantine equation has no solutions if this is the case.
In our approach to incompleteness, we shall ask whether or not a program produces an in nite amount of output rather than asking whether it produces any; this is equivalent to asking whether or not a diophantine equation has in nitely many solutions instead of asking whether or not it is solvable.
If one asks whether or not a diophantine equation has a solution for N di erent values of a parameter, the N di erent answers to this question are not independent; in fact, they are only log2 N bits of information. But if one asks whether or not there are in nitely many solutions for N di erent values of a parameter, then there are indeed cases in which the N di erent answers to these questions are inde
5
6
pendent mathematical facts, so that knowing one answer is no help in knowing any of the others. The equation encoding Ω has this property.
When mathematicians can't understand something they usually assume that it is their fault, but it may just be that there is no pattern or law to be discovered!
How to read this book: This entire monograph is essentially a proof of one theorem, Theorem D in Chapter 8. The exposition is completely selfcontained, but the collection Chaitin (1987c) is a useful source of background material. While the reader is assumed to be familiar with the basic concepts of recursive function or computability theory and probability theory, at a level easily acquired from Davis (1965) and Feller (1970), we make no use of individual results from theseelds that we do not reformulate and prove here. Familiarity with LISP programming is helpful but not necessary, because we give a selfcontained exposition of the unusual version of pure LISP that we use, including a listing of an interpreter. For discussions of the history and signi cance of metamathematics, see Davis (1978), Webb (1980), Tymoczko (1986), and Rucker (1987).
Although the ideas in this book are not easy, we have tried to present the material in the most concrete and direct fashion possible. We give many examples, and computer programs for key algorithms. In particular, the theory of programsize in LISP presented in Chapter 5 and Appendix B, which has not appeared elsewhere, is intended as an illustration of the more abstract ideas in the following chapters.
Contents
1 Introduction 
13 
I Formalisms for Computation: Register Ma 


chines, Exponential Diophantine Equations, & 


Pure LISP 
19 

2 Register Machines 
23 

2.1 
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 
23 
2.2 
Pascal's Triangle Mod 2 . . . . . . . . . . . . . . . . . . 
26 
2.3 
LISP Register Machines . . . . . . . . . . . . . . . . . . 
30 
2.4Variables Used in Arithmetization . . . . . . . . . . . . . 45
2.5An Example of Arithmetization . . . . . . . . . . . . . . 49
2.6A Complete Example of Arithmetization . . . . . . . . . 59
2.7Expansion of )'s . . . . . . . . . . . . . . . . . . . . . . 63
2.8 
LeftHand Side . . . . . . . . . . . . . . . . . . . . . . . 
71 
2.9 
RightHand Side . . . . . . . . . . . . . . . . . . . . . . 
75 
3 A Version of Pure LISP 
79 
3.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 79
3.2De nition of LISP . . . . . . . . . . . . . . . . . . . . . . 81
3.3 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . 89
3.4LISP in LISP I . . . . . . . . . . . . . . . . . . . . . . . 93
3.5LISP in LISP II . . . . . . . . . . . . . . . . . . . . . . . 94
3.6LISP in LISP III . . . . . . . . . . . . . . . . . . . . . . 98
7
8 
CONTENTS 
4 The LISP Interpreter EVAL 
103 
4.1Register Machine PseudoInstructions . . . . . . . . . . . 103
4.2EVAL in Register Machine Language . . . . . . . . . . . 106
4.3The Arithmetization of EVAL . . . . . . . . . . . . . . . 123
4.4Start of LeftHand Side . . . . . . . . . . . . . . . . . . . 129

4.5 
End of RightHand Side . . . . . . . . . . . . . 
. . . . . 131 
II 
Program Size, Halting Probabilities, 
Ran 

domness, & Metamathematics 
135 

5 
Conceptual Development 
139 


5.1 
Complexity via LISP Expressions . . . . . . . . 
. . . . . 139 

5.2 
Complexity via Binary Programs . . . . . . . . 
. . . . . 145 
5.3SelfDelimiting Binary Programs . . . . . . . . . . . . . . 146
5.4Omega in LISP . . . . . . . . . . . . . . . . . . . . . . . 149
6 Program Size 
157 
6.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 157
6.2De nitions . . . . . . . . . . . . . . . . . . . . . . . . . . 158
6.3 Basic Identities . . . . . . . . . . . . . . . . . . . . . . . 162
6.4Random Strings . . . . . . . . . . . . . . . . . . . . . . . 174
7 Randomness 
179 
7.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 179
7.2Random Reals . . . . . . . . . . . . . . . . . . . . . . . . 184
8 Incompleteness 
197 
8.1Lower Bounds on Information Content . . . . . . . . . . 197
8.2 Random Reals: First Approach . . . . . . . . . . . . . . 200
8.3Random Reals: jAxiomsj . . . . . . . . . . . . . . . . . . 202
8.4Random Reals: H(Axioms) . . . . . . . . . . . . . . . . . 209
9 
Conclusion 
213 
10 
Bibliography 
215 
A 
Implementation Notes 
221 