Programming Assignment:
Data Compression Experiment
Conclusions:
Was there a clear winner?
Which ones works best on which types of files?
What general comments can be made about the results presented?
If it turns out that different groups have implemented the same algorithms and the 'statistical' results are different, how do you account for that?
  TEXT CORPUS TEXT [NUMBERS] CORPUS BINARY CORPUS OTHER CORPUS
METHOD Compressoin Ratio Compression Speed Decompression Speed Compressoin Ratio Compression Speed Decompression Speed Compressoin Ratio Compression Speed Decompression Speed Compressoin Ratio Compression Speed Decompression Speed
  MIN MAX AVE MIN MAX AVE MIN MAX AVE MIN MAX AVE MIN MAX AVE MIN MAX AVE MIN MAX AVE MIN MAX AVE MIN MAX AVE MIN MAX AVE MIN MAX AVE MIN MAX AVE
                     
Adaptive Huffman Encoding 4.1670 0.4000 3.6500 28642.0000 38535.0000 31148.0000 21354.0000 42415.0000 25603.0000 0.5100 0.4700 0.4900 12525.0000 17053.0000 15943.0000 11276.0000 17240.0000 13914.0000 0.5810 0.2100 0.5120 20094.0000 27520.0000 23405.0000 18956.0000 24152.0000 21774.0000 0.4390 0.0068 0.2330 3285.0000 7829.0000 5295.0000 4632.0000 6138.0000 5302.0000
                     
Arithmetic Code 38.9900 62.9100 57.5500 1824.0000 9187.0000 5978.0000 1613.0000 11025.0000 6629.0000 38.7100 47.3700 43.6000 5053.0000 39245.0000 22919.0000 11984.0000 45377.0000 24190.0000 40.7400 74.8900 67.7000 1730.0000 14256.0000 2865.0000 1972.0000 14257.0000 3318.0000 73.5400 102.6000 88.0700 2067.0000 4138.0000 3103.0000 2256.0000 4260.0000 3258.0000
                     
Huffman 39.7200 62.5500 58.9300 1369.0000 12249.0000 5968.0000 1148.0000 10569.0000 6927.0000 38.8200 46.5200 43.0300 4122.0000 42924.0000 23304.0000 4920.0000 51509.0000 26270.0000 41.7600 75.0900 67.9400 1237.0000 28513.0000 3395.0000 969.0000 21385.0000 2652.0000 73.7900 102.5500 88.1700 1616.0000 3164.0000 2390.0000 1186.0000 3043.0000 2115.0000
huffman 39.7810 63.4470 55.9900 0.0177 0.0385 0.0300 0.0398 0.0464 0.0400 38.8210 46.5490 44.4900 0.0928 0.2570 0.1400 0.0551 0.1256 0.0900 41.9850 75.4190 64.9000 0.0160 0.0223 0.0200 0.0345 0.0387 0.0400 68.8550 104.1320 113.1700 0.0207 0.0732 0.0400 0.0353 0.0373 0.0400
Huffman 61.0000 62.0000 61.3000     41.0000 47.9000 45.2000   68.9000 70.2000 69.0000     102.0000 105.0000 103.0000    
Huffman 15.0000 92.6000 62.7000 0.2000 96.8500 33.0000 no no no 16.8000 21.2000 18.4000 0.7300 0.5300 no no no no no no no no no no no no no no no no no no no no no
Huffman Coding 61.0000 62.0000 61.5000 0.1000 0.2000 0.1500 0.0500 0.0500 0.0500 40.0000 49.0000 44.5000 0.0800 0.0700 0.0750 0.0500 0.0500 0.0500 68.0000 70.0000 69.0000 0.1000 0.3000 0.2000 0.1000 0.1000 0.1000   0.3000 0.5000 0.4000 0.3000 0.2000 0.2500
Huffman Coding 59.0000 95.0000 77.0000 205.0000 581.0000 407.0000 205.0000 581.0000 407.0000 62.0000 190.0000 126.0000 1071.0000 3508.0000 2279.0000 1071.0000 3508.0000 2279.0000 69.0000 150.0000 110.0000 210.0000 2039.0000 1124.0000 218.0000 2039.0000 2257.0000 27.0000 109.0000 68.0000 120.0000 2127.0000 1069.0000 98.0000 2482.0000 1246.0000
Huffman Encoding (Java) 57.8400 57.8400 57.8400 117658.2990 135463.2920 121437.3180 171727.3390 204648.4070 178812.9970 46.3500 46.3500 46.3500 102397.4020 117025.6030 106785.8620 139632.8210 216763.3320 149340.6270 74.9900 74.9900 75.9900 144488.4100 153048.7650 147601.2660 241038.8340 253230.8550 247108.9040   154256.0060 163450.0730 158043.0860 259185.1150 2777573.2400 264212.6650
static huffman 39.5000 59.5000 56.3000 3095.8886 33380.4859 18475.2177 3404.9979 27196.4956 16172.3692 37.2000 45.9000 39.8000 15692.0694 128772.4910 76420.1724 17213.2859 150193.9090 91031.7296 41.6000 74.8000 67.0000 2317.8378 77698.6974 8727.8275 2964.8775 56210.2144 7142.5975 27.1000 100.0000 86.7000 1493.7734 13151.7654 6317.3706 2912.1592 6627.2901 4119.9954
Static Huffman 35.0000 60.0000 39.0000 108.0000 233.0000 155.0000 235.0000 327.0000 281.0000 29.0000 54.0000 41.0000 71.0000 584.0000 194.0000 661.0000 320.0000 20.0000 55.0000 30.0000 101.0000 475.0000 155.0000 233.0000 505.0000 257.0000 102.0000 67.0000 12.0000 81.0000 256.0000 180.0000 229.0000 334.0000 260.0000
                     
LZ77 66.0700 696.8000 235.5300 18.5100 485.5800 123.6800 1.7310 4.8280 3.1340 59.4340 191.8300 77.1700 25.1000 88.7700 43.0840 3.5900 30.6790 16.5840 39.3200 81.8770 72.8280 20.3940 52.3570 46.5430 1.9840 13.5400 3.4250 4.8750 526.0700 201.9790 13.3110 105.6230 41.9140 1.3152 15.6330 2.9829
LZ77 93.0000 96.0000 94.7500 0.0600 0.0700 0.0625   51.0000 98.0000 67.0000 0.0600 0.0900 0.0725   66.0000 35.0000 56.0000 0.0700 0.5600 0.2100   - 157.0000 111.7500 0.0600 0.5600 0.2300  
LZ77 30.0000 96.0000 86.0000 51.2000 122.8000 71.6800 N/A N/A N/A 54.0000 98.0000 62.0000 61.4400 143.4000 92.2000 N/A N/A N/A 35.0000 70.0000 61.0000 51.2000 522.2000 112.6000 N/A N/A N/A 33.0000 160.0000 127.0000 40.9600 297.0000 81.9200 N/A N/A N/A
                     
LZ78 27.0000 86.0000 59.0000 19957.0000 26139.0000 27724.0000 425.0000 3800.0000 2112.0000 58.0000 72.0000 63.0000 1000.0000 9425.0000 4607.0000 2102.0000 2295.0000 2223.0000 29.0000 98.0000 66.0000 8157.0000 32645.0000 21751.0000 4316.0000 12084.0000 8233.0000 131.0000 142.0000 140.0000 55601.0000 11468.0000 84733.0000 270.0000 431.0000 351.0000
LZ78 21.0000 61.0000 43.0000 710000.0000 230000.0000 134000.0000 512000.0000 1160000.0000 765000.0000 39.0000 53.0000 44.0000 503000.0000 1280000.0000 970000.0000 326000.0000 925000.0000 502000.0000 27.0000 49.0000 39.0000 1120000.0000 2130000.0000 1620000.0000 508000.0000 1020000.0000 776000.0000 41.0000 87.0000 68.0000 1020000.0000 2700000.0000 1750000.0000 402000.0000 1300000.0000 819000.0000
lz78 40.0000 84.0000 80.0000 70000.0000 36000.0000 18000.0000 100.0000 300.0000 200.0000 84.0000 115.0000 89.0000 21000.0000 10100.0000 18000.0000 160.0000 200.0000 210.0000 37.0000 139.0000 70.0000 31217.0000 190460.0000 99585.0000 239.0000 976.0000 468.0000 37.0000 360.0000 293.0000 1000.0000 90000.0000 77000.0000 11.2000 200.0000 11.5900
                     
LZW 67.0000 17.0000 57.0000 101.0000 765.0000 450.0000 60.0000 786.0000 428.0000 65.0000 44.0000 53.0000 440.0000 3298.0000 1899.0000 346.0000 3158.0000 1847.0000 110.0000 40.0000 84.0000 96.0000 1856.0000 279.0000 51.0000 1727.0000 186.0000 139.0000 55.0000 84.0000 121.0000 294.0000 208.0000 57.0000 223.0000 140.0000
LZW 22.2600 40.6200 31.4400 170487.0000 366749.0000 268618.0000 11392.8000 15630.4000 13511.6000 54.3300 86.2100 70.6800 151731.0000 594724.0000 191345.0000 9865.1800 55882.4000 34445.1000 51.6800 90.6000 71.1500 213994.0000 6328934.0000 3271464.0000 5408.7700 50224.9000 27816.8000 42.6300 175.0400 108.8500 4296933.0000 6221672.0000 5759302.5000 5985.2100 8155.4200 7070.3100
LZW 47.0438 75.7099 72.2800 0.0001 0.0002 0.0001   49.3567 53.4503 51.0500 0.0002 0.0003 0.0002   21.8892 65.5337 46.0500 0.0001 0.0003 0.0001   45.5980 111.4910 97.5300 0.0001 0.0002 0.0001  
LZW 11.2035 49.0949 30.1492 0.038 * 10 0.04710^-6 0.023*10^- 0.021*10^- 0.041 * 10 0.022*10^- 27.8115 45.7430 36.7773 5*10^-9 9.1*10^-10 4.55*10^-1 0.46*10^-6 0.52*10^-6 0.05*10^-6 16.4530 49.4565 32.9548 0.00012*10 0.3032*10^ 0.15166*10 0.025 * 10 0.0272*10^ 0.025*10^- 15.4593 41.7940 28.6267 0.09261 * 0.32832*10 0.210465*1 0.40*1-^-6 0.46*10^-6 0.43*10^-6
LZW       0.0000 0.0000 0.0000 0.0000 0.0000 0.000003.5            
LZW 22.3000 117.2000 77.1000 32743.0000 66137.0000 50125.0000 7145.0000 25940.0000 16550.0000 54.0000 86.0000 71.0000 51420.0000 106288.0000 72667.0000 16091.0000 113081.0000 68960.0000 26.0000 92.0000 47.0000 42747.0000 71283.0000 47424.0000 6612.0000 55023.0000 10535.0000 1.6000 180.8000 122.7000 41928.0000 75585.0000 61946.0000 1991.0000 8915.0000 5522.0000
LZW 0.8600 3.9000 2.8000 9*10^5 1.1*10^5 1*10^5 2.2*10^5 2.5*10^5 2.3*10^5 1.2800 11.9800 20.0600 2.1*10^6 2.08*10^6 2.09*10^6 2.7*10^5 21.75*10^6 1.12*10^6 1.2000   310000.0000   256142.0000   1.8400 8.7500 3.0000 2078181.0000 4419138.0000 2165773.0000 242424.0000 2394160.0000 877861.0000
LZW 22.2000 90.1000 71.9000 2568.0000 6522.0000 4720.0000 1248.0000 4540.0000 2790.0000 60.1000 86.3000 77.2600 2339.0000 36257.0000 18362.0000 1183.0000 11351.0000 2174.0000 27.3000 90.7000 49.7800 2039.0000 3758.0000 3281.0000 1499.0000 1878.0000 1815.0000 1.6000 180.8000 127.8000 2727.0000 5784.0000 4608.0000 1111.0000 23911.0000 3620.0000
LZW 24.2000 48.9000 32.2000 0.0000 0.0077 0.0021 0.0000 0.0002 0.0001 22.1000 34.9000 27.7000 0.0000 0.0068 0.0020 0.0000 0.0002 0.0001 24.5000 35.5000 28.8000 0.0000 0.0067 0.0023 0.0000 0.0005 0.0001 22.0000 39.8000 29.8000 0.0000 0.0089 0.0028 0.0000 0.0001 0.0000
LZW 15.3500 59.2100 56.2300 2164773.0500 22543465.9000 6066146.1100 13663979.3000 69830090.5000 6403446500.0000 32.9300 53.4300 47.0200 14722674.8000 67537458.4000 30472643.2000 11805589.2000 44200631.5000 30472643.2000 36.6300 45.9000 43.0860 1767111.2600 19430675.7000 3660914.4600 21230586.3000   45.7500 142.1400 106.9400 1099806.4300 7848668.0900 5214222.7000  
LZW 60.0000 62.0000 61.0000 175662.0000 203873.0000 191236.0000 479.0000 931.0000 631.0000 45.0000 61.0000 53.0000 23391.8100 57142.8000 34642.1000 584.0000 701.0000 462.0000 40.0000 48.0000 44.0000 292906.0000 356773.0000 324840.0000 247.0000 311.0000 279.0000 50.7900 144.9500 137.4400    
LZW 65.0000 98.0000 88.6000 100.0000 185.0000 144.0000 1.7800 95.0000 47.0000 75.0000 105.0000 90.0000 60.0000 75.0000 68.0000 0.0000 10.0000 2.0000 20.0000 35.0000 30.0000 1.0000 24.0000 12.0000 13.0000 4.0000 16.0000 29.0000 24.0000 20.0000 7.0000 8.0000 12.0000 9.0000
                     
Move to Front 224.4400 300.0000 247.9600 6572.0800 636364.0000 71862.0000 410.6200 6.42*10^6 502302.0000 209.1000 218.6800 212.2900 3504.6700 4184.6300 3730.6000 2551.4600 40726.5000 15987.2000 265.1500 290.9200 278.0400 8831.5200 7.33*10^6 3.67*10^6 18.7100 2562.1300 1290.4200 412.7800 427.2000 421.5700 860759.0000 201*10^6 1.61*10^6 355441.0000 692450.0000 468006.0000
move to front 50.0000 87.6000 85.5000 14141537.1000 42867676.5000 29050408.8000 15895538.2000 29946781.9000 1853576.1800 50.1000 50.4000 50.2000 159444578.0000 71614035.0000 32338581.7000 21134279.2000 193814385.0000 43525814.5000 75.3000 100.0000 98.1000 33417403.1000 52337355.6000 46830558.2000 14603055.0000 34286101.0000 16557579.6000 100.0000 100.0000 100.0000 44519707.7000 73077672.8000 61808338.4000 14093221.3000 23749179.1000 20162685.7000
move to front 50.0000 87.6000 85.5000 14141.5371 42867.6765 29050.4088 15895.5382 29946.7819 18538.5761 50.1000 50.4000 50.2000 15944.5783 71614.0350 32338.5817 21134.2792 193814.3850 43525.8145 75.3000 100.0000 98.1000 33417.4031 52337.3556 46830.5582 14603.0550 34286.1010 16557.5796 100.0000 100.0000 100.0000 44519.7077 73077.6728 61808.3384 14093.2213 23749.1691 20162.6857
Move to front 0.4000 0.4300 0.4100 4790.0000 5841.0000 5265.0000 12613.0000 16145.0000 13691.0000 0.4600 0.4720 0.4670 5530.0000 5540.0000 5536.0000 11495.0000 3571.0000 9664.0000 39.o% 0.4480 0.4280 3464.0000 4326.0000 4116.0000 49449.0000 67322.0000 55696.0000 0.2800 0.9000 0.5100 9285.0000 8436.0000 8947.0000 21271.0000 33451.0000 26253.0000
Move-to-Front 211.1030 246.0920 230.7770 15.5840 4315.8200 418.9510 0.2556 1506.8300 148.7890 211.1030 212.2810 211.7460 118.4620 4315.8200 1027.8600 0.3844 1506.8300 156.1550 211.1030 246.1460 232.0150 0.6232 4315.8200 359.2360 0.0211 1506.8300 127.5770 182.2360 5408.6400 566.7270 0.6865 4315.8200 291.7260 0.0211 4315.8200 249.5080
                     
RLE 328.5259 410.7049 393.3613 2.9205 9.8814 6.2728 1.2879 1.5143 1.4672 286.5197 361.9214 310.9272 7.1428 23.6959 9.9214 0.0000 11.6959 5.4297 125.1804 382.8008 256.1739 4.3219 13.5962 5.8941 1.5024 2.2139 1.8814 241.2035 398.5311 312.7493 5.2081 7.5557 6.2814 1.1889 1.6183 1.3901
RLE (PCX) 89.2803 94.1490 92.4908 24267.2000 24715.5000 24431.8000 25229.2000 28000.5000 26176.8600 68.5959 99.6829 91.9204 21690.8000 26889.7000 24355.3000 24603.3000 30528.9000 27327.0300 88.7419 95.5738 93.1958 26368.2000 27939.5000 27341.8000 29115.8000 30482.8000 29622.2300 84.4072 124.8270 112.6398 26023.1000 30795.2000 29531.7000 22509.3000 31467.4000 25570.3000
Run Length 79.4000 101.5000 89.5000 436.9000 592.9000 496.6000 452.4000 611.0000 526.1000 80.0000 105.0000 88.0000 1170.0000 8214.0000 3746.0000 426.0000 1164.0000 817.0000 46.7000 103.0000 93.3000 372.8000 679.8000 505.0000 491.8000 735.0000 508.9000 87.0000 102.0000 98.8000 1511.1000 4748.7000 3129.5000 468.0000 607.0000 519.0000
run length   9.3000 6.0000 48309.0000 37175.0000 43668.0000 9091.0000 8333.0000 9091.0000 13.1000 9.2000 370370.0000 116279.0000 204082.0000 204100.0000 100000.0000 111111.0000 43.0000 85.0000 62.0000 33333.0000 30303.0000 333333.0000 2577.0000 2545.0000 2597.0000      
Run Length Encoding 76.5000 100.0000 93.4000 2.8400 6.2500 4.2100 2.6600 5.7300 4.1400 78.1000 100.0000 90.1000 0.0000 12.0000 4.1600 0.0000 12.1000 4.3500 45.2000 99.9000 88.9000 1.1300 5.2400 3.8100 3.1800 6.3900 4.1600 83.3000 100.0000 97.9000 3.7400 4.5600 4.1500 3.8200 4.3900 4.0800
Run Length Encoding 179.0000 200.0000 186.0000 156449.0000 1065586.0000 378422.0000 70748.0000 1062379.0000 229009.0000 105.0000 188.0000 144.0000 312142.0000 13644444.0000 2821281.0000 97588.0000 17870084.0000 3536089.0000 75.0000 192.0000 153.0000 86379.0000 1893269.0000 248463.0000 69462.0000 2787023.0000 282345.0000 106.0000 198.0000 182.0000 96905.0000 346203.0000 198858.0000 14884.0000 158215.0000 84155.0000
Run Length Encoding   14.0000 4.1000 175.0000 319.0000 264.0000 160.0000 304.0000 250.0000 159.0000 165.0000 161.0000 142.0000 149.0000 147.0000 1.0000 46.0000 8.2000 9270.0000 21400.0000 17200.0000 8600.0000 18600.0000 15500.0000 11.0000 1.3000 1120.0000 14200.0000 3740.0000 927.0000 12400.0000 3250.0000
Run Length Encoding 80.0000 99.7000 94.8000 1.3100 1.6700 1.4700 1.2500 1.6500 1.4200 92.8000 100.0000 96.5000 0.5030 3.1600 2.6700 0.5090 3.0200 2.5000 85.6000 99.9000 95.2000 0.9900 2.7000 1.2700 0.9500 2.5400 1.1100 86.6000 100.0000 98.3000 1.0300 1.3500 1.1200 1.0100 1.2800 1.0900
Run Length Encoding 94.6200 96.0800 95.3500 0.0000 0.0001 0.0001 0.0000 0.0001 0.0000 96.4300 100.0000 97.5000 0.0000 0.0001 0.0000 0.0000 0.0000 0.0000 51.2500 100.0000 91.2200 0.0000 0.0004 0.0002 0.0000 0.0016 0.0002 87.7900 100.0000 98.4600 0.0000 0.0020 0.0003 0.0000 0.0016 0.0003
run-length encoding 80.4500 99.8900 93.6500 1222.0000 1621.0000 1411.0000 1165.0000 1469.0000 1366.0000 90.2400 99.9000 96.0400 1446.0000 2690.0000 2226.0000 1306.0000 2693.0000 2200.0000 95.4000 99.9300 97.4900 1180.0000 2651.0000 1681.0000 1154.0000 1837.0000 1452.0000 86.6100 99.9900 98.3200 1152.0000 1345.0000 1285.0000 1134.0000 1227.0000 1184.0000
Run-Length Encoding 91.0000 100.0000 94.0000 2.3*10^-15 1.1*10^-16 6.7*10^-16 2.78*10^-1 1.08*10^-1 6.9*10^-16 99.9700 78.0000 89.0000 1.6*10^-14 5.2*10^-15 5.7*10^-15 1.78*10^-1 5.3*10^-15 5.9*10^-15 165.0000 100.0000 131.0000 9.9*10^-15 4.0*10^-17 4.92*10^-1 1.0*10^-14 4.0*10^-17 5.0*10^-17 100.5000 107.0000 106.0000 5.3*10^-16 10.0*10^-1 4.0*10^-17 8.6*10^-16 8.2*10^-18 3.6*10^-17