Would it be possible to do better than standard compression if you fed a bunch of zipped files through a machine learning algorithm that kept track of the most common bit sequences and produced a lookup map, with a heuristic for giving the longest / most commonly used sequences the shortest key values?
The compression algorithm would then go through a zip file and replace sequences from the map with their lookup key. If the map was big enough (both compress / decompress parties would have access to it) could you reliably get a smaller file than the original?
Some doubts I have about this method:
- Files your learning algorithm had never seen before wouldn't contain many sequences that had been seen before
- The keys would have to be smaller than the sequence of bits it replaces in order to save space, maybe it quickly runs out of keys smaller than common sequences
- Zip files don't repeat bit sequences very often so we wouldn't be able to find large pieces to replace