Title: Slide sem t
1Optimum Odd Detection Trees (OODT) Data
Compression And Error Detection Integration
Paulo Eustáquio Duarte Pinto (UERJ) Jayme L.
Szwarcfiter (UFRJ) Fábio Protti (UFRJ)
2The Data Compression (original) problem
Convert a input data stream into another
with a smaller size.
General solution assign short codes to
frequent events and long codes to rare
events.
Statistical Methods Input An alphabet A (a1
, a2 ,... an) and a vector (f1 , f2 ,... fn)
of corresponding frequencies Output A Code C
(c1 , c2 ,... cn) for A which minimizes F
? (d i . f i ), where d i is the length of c i
.
3The (original) solution Huffman Coding (1952)
Creates a prefix variable-size code, using a
greedy algorithm with complexity O(n. log n).
Huffman Trees strictly binary rooted trees,
with encoding in the leaves.
Example a1 b f1 10 a2 c f2 6 a3
d f3 3 a4 e f4 2 Code b 1 c
01 d 001 e 000
b
c
e
d
4Error Detection/Correction on data transmission
Noise
Source
Channel
Decoding
Reception
Encoding
Redundancy
Encoded Message
(Two different operations)
5Integrating Compressing And Error Detection
Proposal Hamming-Huffman Trees (Hamming 1980)
How to combine the source compression of
Huffman encoding with the noise
protection of Hamming encoding?
Example HHT which detects 1 bit error Code b
11 c 0000 d 0011
b
c
d
6Integrating Compressing And Error Detection
How much error can be detected?
1 bit - HHT ? k bits
- k-HHT odd number of bits -
ODT (Odd Detection Trees) lt m maximum length
of encoding (?)
Example of a 2-HHT Code b 0111 c 0000
c
b
7Odd Detection Codes (ODC) and Odd Detection
Trees - (ODT)
ODC - a prefix variable size code where all odd
number of changed bits can be detected. ODT
strictly binary rooted tree related to an
ODC, with 3 kinds of nodes internal nodes,
encoding leaves and error leaves.
Example ODT which detects all odd changed
bits Code b 11 c 0000 d 0011
b
c
d
8Optimum Odd Detection Codes (OODC) and Optimum
Odd Detection Trees (OODT)
Basic Property Any OODC, C, is equivalent to
another, C, where all encodings have even
parity.
Example OODT where all encodings have even
parity Code b 11 c 0000 d 0011
b
c
d
9Optimum Odd Detection Trees (OODT) for equal
frequencies
Only two kinds of trees subfull ODT or
k-complete ODT (k 2, 3) Subfull ODTs ODTs of
minimum height where all encoding leaves are at
the same level. k-complete ODT encoding leaves
are on 2 levels second level has only full ODT
subtrees.
Example of an subfull ODT for 3 encodings
d
b
c
10Optimum Odd Detection Trees (OODT) for equal
frequencies
Example of an 2-complete ODT for 5 encodings
d
e
f
b
c
The OODT is subfull iff n gt (2/3).2d , d
?log2 n? , otherwise is 2-complete
11OODT - general case - A DP algorithm
Five basic properties in OODT/OODF 1. Given 2
encodings, c1, c2, if (f1 ? f2 ) gt (d1 ? d2
) 2. An OODT can be seen as an OODF, if we
look only to the levels below the first one
where there is an encoding leaf. 3. In an OODT
with n encoding leaves, the minimum depth of the
leaf with greatest frequency is 2 and the maximum
is (?log2 n? 1). 4. In an OODF with p encoding
leaves and q roots (q gt 1), the minimum depth of
the leaf with greatest frequency is 0 and if
(p gt 2q), the maximum is ( ? log2 ((p - 2)/
(q - 1)) ? 1) and not 1. 5. If we remove the
encoding leaf with the greatest frequency, at the
depth 0 of a OODF, F(p, q), (q gt 1), the
remaining forest F(p-1, q-1) is an OODF.
12OODT - general case - A DP Algorithm
Example of an OODT for a1 b f1 4 a2 c
f2 5 a3 d f3 6 a4 e f4 7 a5 f
f5 8
d
e
f
c
b
Possible depths of leaf f 2, 3, 4 Forest for
(b, c, d, e) with 3 roots is OODF.
13OODT - general case - A DP algorithm
T(p, q) 0, if (p ? q) ?, if
(q 0) MinT(p - 1, q - 1),
T(p - 1), q.2k-1 -1) k.(? fj)
1 ? j ? p, 2 ?
k ? dm(p, q), if (p gt q) dm(p,
q) (?log2 p? 1), if q 1
( ? log2 ((p - 2)/ (q - 1)) ? 1) ,
if q gt 1
We are interested in T(n, 1).
14OODT- general case - A DP Algorithm
Example A b c d e f g h F 1 1 1 1 1 20 75 T(p,q)
1 0 - - - - - - 2 4 0 - - - - - 3 9 4 0 - - - - 4
12 8 4 0 - - - 5 19 12 8 4 0 - - 6 69 19 12 8 4 0
- 7 269 69 19 12 8 4 0
Complexity of the algorithm O( n2 log2 n)
15OODT- general case - A DP Algorithm
Example A b c d e f g h F 1 1 1 1 1 20 75 Code
b 000000010 c 000000001 d 0000011 e
0000101 f 0000110 g 0011 h 11
An OODT subtree 2-complete with 5
leaves
h
g
16OODT - Future Works
1. Characterization of Hamming-Huffman
Trees 2. Characterization of k-Hamming-Huffman
Trees 3. Determination of how much error can be
detected 4. Comparative study HHT x Huffman
Trees 5. Improvement of OODT algorithm(?)