Prediction by partial matching

What is PPM?

PPM uses the last n symbols of source data to predict the next symbol in the stream. Like adaptive Huffman compression, PPM is an adaptive algorithm which gains information about the source data as it encodes.

All implementation details of PPM are not constant

Newer versions of PPM with extra optimizations are known as the PAQ series of data compression algorithms.