chlorine compounds codes (symbols) computer programming flow of solids information theory programming theory coding theory compression techniques empirical results information distortion kolmogorov complexity normalized compression distance data compression