Speeding up the AIFV-2 dynamic programs by two orders of magnitude using Range Minimum Queries

02/23/2020
by   Mordecai Golin, et al.
0

AIFV-2 codes are a new method for constructing lossless codes for memoryless sources that provide better worst-case redundancy than Huffman codes. They do this by using two code trees instead of one and also allowing some bounded delay in the decoding process. Known algorithms for constructing AIFV-code are iterative; at each step they replace the current code tree pair with a "better" one. The current state of the art for performing this replacement is a pair of Dynamic Programming (DP) algorithms that use O(n^5) time to fill in two tables, each of size O(n^3) (where n is the number of different characters in the source). This paper describes how to reduce the time for filling in the DP tables by two orders of magnitude, down to O(n^3). It does this by introducing a grouping technique that permits separating the Θ(n^3)-space tables into Θ(n) groups, each of size O(n^2), and then using Two-Dimensional Range-Minimum Queries (RMQs) to fill in that group's table entries in O(n^2) time. This RMQ speedup technique seems to be new and might be of independent interest.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
09/19/2022

Optimality of Huffman Code in the Class of 1-bit Delay Decodable Codes

For a given independent and identically distributed (i.i.d.) source, Huf...
research
01/04/2023

Dynamic Maintenance of Monotone Dynamic Programs and Applications

Dynamic programming (DP) is one of the fundamental paradigms in algorith...
research
01/30/2020

Polynomial Time Algorithms for Constructing Optimal Binary AIFV-2 Codes

Huffman Codes are optimal Instantaneous Fixed-to-Variable (FV) codes in ...
research
06/13/2023

Properties of k-bit Delay Decodable Codes

The class of k-bit delay decodable codes, source codes allowing decoding...
research
04/10/2022

An improved method for constructing linear codes with small hulls

In this paper, we give a method for constructing linear codes with small...
research
11/05/2020

Group isomorphism is nearly-linear time for most orders

We show that there is a dense set Υ⊆ℕ of group orders and a constant c s...
research
08/05/2020

Solving Dynamic Programming Problem by Pipeline Implementation on GPU

In this paper, we show the effectiveness of a pipeline implementation of...

Please sign up or login with your details

Forgot password? Click here to reset