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.