1: \begin{abstract}
2: Huffman Codes are {\em optimal} Instantaneous Fixed-to-Variable (FV) codes in which every source symbol can only be encoded by one codeword. Relaxing these constraints permits constructing better FV codes.
3: More specifically, recent work has shown that AIFV-$m$ codes can beat Huffman coding. AIFV-$m$ codes construct am $m$-tuple of different coding trees between which the code alternates and are only {\em almost instantaneous} (AI). This means that decoding a word might require a delay of a finite number of bits.
4:
5: Current algorithms for constructing optimal AIFV-$m$ codes are iterative processes that construct progressively ``better sets'' of code trees.
6: The processes have been proven to finitely converge to the optimal code but with no known bounds on the convergence rate.
7:
8: This paper derives a geometric interpretation of the space of binary AIFV-$2$ codes, permitting the development of the first polynomially time-bounded iterative procedures for constructing optimal AIFV codes.
9:
10: We first show that a simple binary search procedure can replace the current iterative process to construct optimal binary AIFV-$2$ codes. We then
11: describe how to frame the problem as a linear programming with an exponential number of constraints but a polynomial-time separability oracle. This permits using the
12: Gr{\"o}tschel, Lov{\'a}sz and Schrijver
13: ellipsoid method to solve the problem in a polynomial number of steps. While more complicated, this second method has the potential to lead to a polynomial time algorithm to construct optimal AIFV-$m$ codes for general $m$.
14:
15: \medskip
16:
17: Keywords: AIFV Codes, AIFV-$m$ Codes. Linear Programming. Ellipsoid Methods
18: \end{abstract}
19: