Please note that the content of this book primarily consists of articles available from Wikipedia or other free sources online. Pages: 23. Chapters: Gzip, Bzip2, ARJ, PAQ, PeaZip, 7-Zip, Info-ZIP, Zlib, Pngcrush, Rzip, Liblzg, FreeArc, Lzip, XZ Utils, UPX, Xarchiver, KGB Archiver, AdvanceCOMP, File Roller, The Unarchiver, Lempel-Ziv-Oberhumer, Ark, Bitser software, DAR, Keka, Unrar, P7zip, Lzop, XAD, LZRW, QUAD. Excerpt: PAQ is a series of lossless data compression archivers that have evolved through collaborative development to top rankings on several benchmarks measuring compression ratio (although at the expense of speed and memory usage). Specialized versions of PAQ have won the Hutter Prize and the Calgary Challenge. PAQ is free software distributed under the GNU General Public License. PAQ uses a context mixing algorithm. Context mixing is related to Prediction by Partial Matching (PPM) in that the compressor is divided into a predictor and an arithmetic coder, but differs in that the next-symbol prediction is computed using a weighed combination of probability estimates from a large number of models conditioned on different contexts. Unlike PPM, a context doesn't need to be contiguous. Most PAQ versions collect next-symbol statistics for the following contexts: All PAQ versions predict and compress one bit at a time, but differ in the details of the models and how the predictions are combined and postprocessed. Once the next-bit probability is determined, it is encoded by arithmetic coding. There are three methods for combining predictions, depending on the version. PAQ1SSE and later versions postprocess the prediction using secondary symbol estimation (SSE). The combined prediction and a small context are used to look up a new prediction in a table. After the bit is encoded, the table entry is adjusted to reduce the prediction error. SSE stages can be pipelined with different contexts, or computed in parallel with the outputs averaged. A string s is comp...