In most error correction coding (ECC) frameworks, the typical error metric is the bit error rate (BER) which measures the number of bit errors. For this metric, the positions of the bits are not relevant to the decoding, and in many noise models, not relevant to the BER either. In many applications this is unsatisfactory as typically all bits are not equal and have different significance. We look at ECC from a Bayesian perspective and introduce Bayes estimators with general loss functions to take into account the bit significance. We propose ECC schemes that optimize this error metric. As the problem is highly nonlinear, traditional ECC construction techniques are not applicable. Using exhaustive search is cost prohibitive, and thus we use iterative improvement search techniques to find good codebooks. We optimize both general codebooks and linear codes. We provide numerical experiments to show that they can be superior to classical linear block codes such as Hamming codes and decoding methods such as minimum distance decoding.
The maximum possible number of codewords in a q-ary code of length n and minimum distance d is denoted Aq(n, d). It is a fundamental problem in coding theory to determine this value for given parameters q, n and d. Codes that attain the maximum are said to be optimal. Unfortunately, for many different values of these parameters, the maximum number of codewords is currently unknown: instead we have a known upper bound and a known lower bound for this value. In this paper, we investigate the use of different evolutionary algorithms for improving lower bounds for given parameters. We relate this problem to the well-known Maximum Clique Problem. We compare the performance of the evolutionary algorithms to Hill Climbing, Beam Search, Simulated Annealing, and greedy methods. We found that the GAs outperformed all other algorithms in general; furthermore, the difference in performance became more significant when considering harder test cases.