1 / 16

Optimum Odd Detection Trees (OODT): Error Detection Integrated Design

Learn about Optimum Odd Detection Trees (OODT) for data compression and error detection. Dive into Huffman Coding, Hamming-Huffman Trees, ODC, and ODT methods for efficient encoding and noise protection. Explore algorithms and complexities. Discover future research directions.

boyerc
Download Presentation

Optimum Odd Detection Trees (OODT): Error Detection Integrated Design

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Optimum Odd Detection Trees (OODT): Data Compression And Error Detection Integration Paulo Eustáquio Duarte Pinto (UERJ) Jayme L. Szwarcfiter (UFRJ) Fábio Protti (UFRJ)

  2. The 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.

  3. The (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

  4. Error Detection/Correction on data transmission Noise Source Channel Decoding Reception Encoding Redundancy Encoded Message (Two different operations)

  5. Integrating 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

  6. Integrating 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) < m = maximum length of encoding (?) Example of a 2-HHT Code: b = 0111 c = 0000 c b

  7. Odd Detection Codes (ODC) and Odd Detection Trees - (ODT) ODC - a prefix variable size code where allodd 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

  8. Optimum 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

  9. Optimum 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

  10. Optimum 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 > (2/3).2d , d = log2 n , otherwise is 2-complete

  11. OODT - general case - A DP algorithm Five basic properties in OODT/OODF: 1. Given 2 encodings, c1, c2, if (f1 f2 ) => (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 > 1), the minimum depth of the leaf with greatest frequency is 0 and if (p > 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 > 1), the remaining forest F’(p-1, q-1) is an OODF.

  12. OODT - 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.

  13. OODT - general case - A DP algorithm T(p, q) = 0, if (p  q); , if (q = 0); Min{T(p - 1, q - 1), T(p - 1), q.2k-1 -1) + k.( fj) } 1  j  p, 2  k  dm(p, q), if (p > q) dm(p, q) = (log2 p +1), if q = 1 = (  log2 ((p - 2)/ (q - 1))  + 1) , if q > 1 We are interested in T(n, 1).

  14. OODT- 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)

  15. OODT- 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

  16. OODT - 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(?)

More Related