Generating error control codes with automata and transducers

We introduce the concept of an f -maximal error-detecting block code, for some parameter f between 0 and 1, in order to formalize the situation where a block code is close to maximal with respect to being error-detecting. Our motivation for this is that constructing a maximal error-detecting code is a computationally hard problem. We present a randomized algorithm that takes as input two positive integers N, `, a probability value f , and a specification of the errors permitted in some application, and generates an error-detecting, or error-correcting, block code having up to N codewords of length `. If the algorithm finds less than N codewords, then those codewords constitute a code that is f -maximal with high probability. The error specification is modelled as a (nondeterministic) transducer, which allows one to model any rational combination of substitution and synchronization errors. We also present some elements of our implementation of various error-detecting properties and their associated methods. Then, we show several tests of the implemented randomized algorithm on various error specifications. A methodological contribution is the presentation of how various desirable error combinations can be expressed formally and processed algorithmically.

[1]  Eric Zhi Chen Computer construction of quasi-twisted two-weight codes , 2009 .

[2]  Jean Berstel,et al.  Transductions and context-free languages , 1979, Teubner Studienbücher : Informatik.

[3]  M. Mitzenmacher,et al.  Probability and Computing: Chernoff Bounds , 2005 .

[4]  F. MacWilliams,et al.  The Theory of Error-Correcting Codes , 1977 .

[5]  Stavros Konstantinidis,et al.  Formal Descriptions of Code Properties: Decidability, Complexity, Implementation , 2012, Int. J. Found. Comput. Sci..

[6]  Clement W. H. Lam Finding error-correcting codes using computers , 2011, Information Security, Coding Theory and Related Combinatorics.

[7]  Nelma Moreira,et al.  Implementation of Code Properties via Transducers , 2016, CIAA.

[8]  Sang Joon Kim,et al.  A Mathematical Theory of Communication , 2006 .

[9]  Nelma Moreira,et al.  Channels with Synchronization/Substitution Errors and Computation of Error Control Codes , 2016, ArXiv.

[10]  Nelma Moreira,et al.  FAdo and GUItar : Tools for Automata Manipulation and Visualization , 2009 .

[11]  Vahid Tarokh,et al.  A survey of error-correcting codes for channels with symbol synchronization errors , 2010, IEEE Communications Surveys & Tutorials.

[12]  Pedro V. Silva,et al.  Maximal Error-Detecting Capabilities of Formal Languages , 2008, J. Autom. Lang. Comb..

[13]  H. Shyr Free monoids and languages , 1979 .

[14]  Khaled A. S. Abdel-Ghaffar,et al.  Insertion/Deletion Detecting Codes and the Boundary Problem , 2013, IEEE Transactions on Information Theory.

[15]  Helmut Jürgensen,et al.  Solid Codes , 1991, J. Inf. Process. Cybern..

[16]  Michael Mitzenmacher,et al.  Codes for deletion and insertion channels with segmented errors , 2010, IEEE Trans. Inf. Theory.

[17]  Vladimir I. Levenshtein,et al.  Binary codes capable of correcting deletions, insertions, and reversals , 1965 .