Exploring Randomness 
Gregory J. Chaitin
Springer, Berlin
This book presents the technical core of Chaitin's theory of program-size complexity, also known as algorithmic information theory. LISP is used to present the key algorithms and to enable computer users to interact with the author's proofs and discover for themselves how they work.