A lot of Wikipedia is really well sorted these days (basic math and computer science is best) but there are gaps where people haven't gotten motivated. Compression is one of those gaps, somebody cool needs to go write a bunch of good articles.
Actually it's so shameful maybe I will write it, but I don't really want to get sucked into that rat hole and waste my time on that.
What a proper PPM entry should cover :
1. The basic operation of the PPM algorithm.
2. Theoretical description of finite context modeling, theory of asymptotic optimality for finite context markov sources. Probability structure of PPM as a cascade of models.
3. Exclusions (Update Exclusion, Lazy Exclusion) (Partial Update Exclusion (PPMii)
4. Zero frequency problem & Escape estimation. PPMA,B,C,D variants. PPMP and PPMX. Clearest in Korodi paper.
(Data Compression Using Adaptive Coding and Partial String Matching '84)
(A note on the PPM data compression algorithm '88)
(Probability estimation for PPM '95)
(Experiments on the Zero Frequency Problem '95)
5. PPM* (Unbounded Length Contexts for PPM '95)
6. Langdon's PPM/LZ equivalence
7. Modern PPM : PPMZ, PPMd, PPMii, Rkive
8. Local Order Estimation (PPMZ)
9. Secondary Estimation (PPMZ)
10. Blending (PPMii / Volf)
11. "Information Inheritance" (novel context intitialization) (PPMii) ( "PPM: One Step to Practicality" - Shkarin )
12. Non-simple contexts (skip contexts, position contexts) (Rkive)
http://www.arturocampos.com/ac_finite_context_modeling.html http://chiranjivi.tripod.com/Finite.html http://www.dogma.net/markn/articles/arith/part1.htm http://homepage3.nifty.com/wpage/links/prediction_by_partial_matching.html http://www.compression.ru/ds/ http://www.arturocampos.com/ac_ppmc.html http://www.cs.waikato.ac.nz/~ihw/publications.html
Furthermore, the PAQ page needs to be changed to be more of an Encyclopedia entry and less of a list of software version releases. In particular it should describe the algorithm and its relationship to earlier work, primarily CTW which it is obviously very similar to, and the Weighting/Mixing schemes of Volf/et.al. as well as the very early binary markov coders such as DMC.
While I'm at it, the LZ77 entry is pretty terrible (it makes a big deal about the overlap matches which is actually pretty irrelevant, and doesn't discuss coding methods or optimal parse or anything interesting), CTW is missing an entry, and the Arithmetic Coding entry is really bizarre and badly written. A proper arithmetic coding entry should briefly describe the theoretical [0,1] interval shrinking, and then start talking about practical implementation issues & history, CACM87, DCC95, approximate arithcoding like the skew coder and howard/vitter and ELS coders, the Q & QM coders, CABAC, and finishing with the "Range" coder. The entry on the range coder should be deleted. The example code on the range coder page is actually wrong because it doesn't deal with the underflow case, which is the whole interesting question.