Most Popular Books

Information Theory, Inference, and Learning Algorithms

  • Author: David J. C. MacKay
  • Format: PDF, Postscript, DJVU
  • Price: free

Information theory and inference, often taught separately, are here united in one entertaining textbook. These topics lie at the heart of many exciting areas of contemporary science and engineering – communication, signal processing, data mining, machine learning, pattern recognition, computational neuroscience, bioinformatics, and cryptography.

This textbook introduces theory in tandem with applications. Information theory is taught alongside practical communication systems, such as arithmetic coding for data compression and sparse-graph codes for error-correction. A toolbox of inference techniques, including message-passing algorithms, Monte Carlo methods, and variational approximations, are developed alongside applications of these tools to clustering, convolutional codes, independent component analysis, and neural networks.

The final part of the book describes the state of the art in error-correcting codes, including low-density parity-check codes, turbo codes, and digital fountain codes — the twenty-first century standards for satellite communications, disk drives, and data broadcast.

Richly illustrated, filled with worked examples and over 400 exercises, some with detailed solutions, David MacKay’s groundbreaking book is ideal for self-learning and for undergraduate or graduate courses. Interludes on crosswords, evolution, and sex provide entertainment along the way.

In sum, this is a textbook on information, communication, and coding for a new generation of students, and an unparalleled entry point into these subjects for professionals in areas as diverse as computational biology, financial engineering, and machine learning.

Chapters include:

  • Introduction to Information Theory
  • Probability, Entropy, and Inference
  • More about Inference
  • Data Compression
  • The Source Coding Theorem
  • Symbol Codes
  • Stream Codes
  • Codes for Integers
  • Noisy-Channel Coding
  • Dependent Random Variables
  • Communication over a Noisy Channel
  • The Noisy-Channel Coding Theorem
  • Error-Correcting Codes and Real Channels
  • Further Topics in Information Theory
  • Hash Codes: Codes for Efficient Information Retrieval
  • Binary Codes
  • Very Good Linear Codes Exist
  • Further Exercises on Information Theory
  • Message Passing
  • Communication over Constrained Noiseless Channels
  • Crosswords and Codebreaking
  • Why have Sex? Information Acquisition and Evolution
  • Probabilities and Inference
  • An Example Inference Task: Clustering
  • Exact Inference by Complete Enumeration
  • Maximum Likelihood and Clustering
  • Useful Probability Distributions
  • Exact Marginalization
  • Exact Marginalization in Trellises
  • Exact Marginalization in Graphs
  • Laplace’s Method
  • Model Comparison and Occam’s Razor
  • Monte Carlo Methods
  • Efficient Monte Carlo Methods
  • Ising Models
  • Exact Monte Carlo Sampling
  • Variational Methods
  • Independent Component Analysis and Latent Variable Modelling
  • Random Inference Topics
  • Decision Theory
  • Bayesian Inference and Sampling Theory
  • Neural networks
  • Introduction to Neural Networks
  • The Single Neuron as a Classifier
  • Capacity of a Single Neuron
  • Learning as Inference
  • Hopfield Networks
  • Boltzmann Machines
  • Supervised Learning in Multilayer Networks
  • Gaussian Processes
  • Deconvolution
  • Sparse Graph Codes
  • Low-Density Parity-Check Codes
  • Convolutional Codes and Turbo Codes
  • Repeat-Accumulate Codes
  • Digital Fountain Codes

http://www.inference.phy.cam.ac.uk/mackay/itprnn/book.html

Algorithms and Complexity, First Edition

  • Author: Herbert S. Wilf
  • Format: PDF
  • Price: free

This is an introductory textbook, suitable for classroom use, on the design and analysis of algorithms, complexity, methods for solving problems on computers and the costs (usually in running time) of using those methods.

The first edition was available in print from 1986 to 1994. The copyright has been returned to the author and he has made it available to the public, free of charge. He also allows reproduction of the book for educational purposes, but you can not distribute it from the internet in any form.

There is a second edition of this book available for purchase, with the only major difference being the inclusion of solutions to most of the exercises that are presented.

Chapters include:

  • Hard vs easy problems
  • Mathematical Preliminaries
  • Orders of magnitude
  • Positional number systems
  • Manipulations with series
  • Recurrence relations
  • Counting
  • Graphs
  • Quicksort
  • Recursive graph algorithms
  • Fast matrix multiplication
  • The discrete Fourier transform
  • Applications of the FFT
  • Algorithms for the network flow problem
  • The algorithm of Ford and Fulkerson
  • The max-flow min-cut theorem
  • The complexity of the Ford-Fulkerson algorithm
  • Layered networks
  • The MPM Algorithm
  • Applications of network flow
  • The greatest common divisor
  • The extended Euclidean algorithm
  • Primality testing
  • Interlude: the ring of integers modulo n
  • Pseudoprimality tests
  • Proof of goodness of the strong pseudoprimality test
  • Factoring and cryptography
  • Factoring large integers
  • Proving primality
  • Turing machines
  • Cook’s theorem
  • Some other NP-complete problems
  • Half a loaf
  • Backtracking (I): independent sets
  • Backtracking (II): graph coloring
  • Approximate algorithms for hard problems

http://www.math.upenn.edu/~wilf/AlgComp.html

Practical Artificial Intelligence Programming in Java

  • Author: Mark Watson
  • Format: archived PDF and example code
  • Price: free

This Open Content book covers AI programming techniques using Java.

The latest version has a completed new chapter on statistical natural language processing and a new section on embedded expert systems, and a new chapter on spam detection.

This is not the original book written for Morgan Kaufman Publishers. This book contains all new material.

Chapters include:

  • Search – graph search, and alpha-beta search in tic-tac-toe and chess
  • Natural Language Processing – a simple ATN parser that uses a huge lexicon derived from Wordnet data, material NLBean project, and an embedded Prolog parser (includes Sieuwert van Otterloo’s fine Prolog implementation in Java).
  • Expert systems – two simple examples using the Jess system
  • Genetic algorithms – Java utility classes and two examples
  • Neural Networks – utility classes for Hopfield and back propagation. Only includes simple examples to show how to use the utility classes.
  • Statistical Natural Language Processing (Markov Models)
  • SPAM Email detection

http://www.markwatson.com/opencontent/javaai_lic.htm

The Ultimate CSS Reference

  • Author: Tommy Olsson and Paul O’Brien (SitePoint)
  • Format: online HTML (print and pdf editions available)
  • Price: free (print and/or pdf editions priced from $29.95)

A comprehensive reference written by two of the world’s most renowned CSS experts. This is the most detailed and up to date CSS reference available. All the CSS knowledge you will ever need is here.

Online edition is fully searchable and allows you to add and read comments to clarify ambiguities, correct errors, and keep the reference fully up to date.

Chapters include:

  • What Is CSS?
  • General Syntax and Nomenclature
  • At-rules Reference
  • Selector Reference
  • The Cascade, Specificity, and Inheritance
  • CSS Layout and Formatting
  • Box Properties
  • Layout Properties
  • List Properties
  • Table Properties
  • Color and Backgrounds
  • Typographical Properties
  • Generated Content
  • User Interface Properties
  • Paged Media Properties
  • Vendor-specific Properties
  • Workarounds, Filters, and Hacks
  • Differences Between HTML and XHTML
  • Alphabetic Property Index

http://reference.sitepoint.com/css/