14:00 on Friday 15th December 2018
Analyse properties of LZ77 coding:
- Running time of the encoder (compression)
- Running time of the decoder (decompression)
- Compression ratio
- Comparison with other compression techniques
Implement the LZ77 algorithm in Python, write a report on the above.
Each of the four sections is worth 25 marks.
Within each section:
Criteria | Marks |
---|---|
Thoroughness | 15 |
Clarity | 10 |
Thoroughness:
- Different window sizes
- Different input types and sizes
- Search for maximum/minimum/average running time
- Different machines
Code and 5 page PDF report.
-
Experimental Time Complexity
- Input: Lorem ipsum text
- Independent variable: size of input
- Dependent variable: execution time
- Constant variables: window size, buffer size
-
Effect of window size
- Input: Lorem Ipsum text
- Independent variable: window size
- Dependent variable: execution time
- Constant variables: input size, buffer size
-
Effect of buffer size
- Input: Lorem Ipsum text
- Independent variable: buffer size
- Dependent variable: execution time
- Constant variables: input size, window size
-
Different file types
- Input: files
- Independent variable: input file type
- Dependent variable: execution time
- Constant variables: input size, window size, buffer size
-
Different machines
- Perform (1) on different computers and compare
-
Effect of window size
- Input: Lorem ipsum text
- Independent variable: window size
- Dependent variable: compression ratio
- Constant variables: buffer size, input size
-
Effect of buffer size
- Input: Lorem ipsum text
- Independent variable: buffer size
- Dependent variable: compression ratio
- Constant variables: window size, input size
-
Different file types
- Input: files
- Independent variable: input file type
- Dependent variable: execution time
- Constant variables: input size, window size, buffer size
- Running time
- Compression ratio