In many compression algorithms, the ranking is equivalent to probability mass function estimation.
The obvious way to handle them is to create a "never-seen" symbol which triggers the escape sequence[clarification needed].
The symbol size is usually static, typically a single byte, which makes generic handling of any file format easy.
Software implementations were not popular until the early 1990s because PPM algorithms require a significant amount of RAM.
Recent PPM implementations are among the best-performing lossless compression programs for natural language text.
PPMd is a public domain implementation of PPMII (PPM with information inheritance) by Dmitry Shkarin which has undergone several incompatible revisions.