Genetic Algorithms for Soft Decision Decoding of Linear Block Codes

,


Introduction
Codes are used for the reliable transmission of data over communication channels susceptible to noise.Codes may be classified as either block codes or tree codes.An encoder for a block code accepts as input a k symbol message sequence (usually binary sequence) and maps it to an n ( > k) symbol sequence.Each n-symbol sequence is completely determined by a specific k-symbol message.Block codes may further be classified as linear or nonlinear.A linear code, is defined as a vector space over a finite field.We restrict our attention to codes over the two- The above equation holds since we assume that all codewords are equally likely to be transmitted.A maximum-likelihood decoder is optimal in this sense.If transmitted signals are binary antipodal over a discrete memoryless channel susceptible to additive white Gaussian noise, and the noise affects each symbol independently, then P(rjc') is maximized when the squared Euclidean distance between vector 1' and c', L:j= 1 (rj-c'j) 2 , is minimized [2], [5].Thus maximum-likelihood decoding reduces to nearest-neighbor decoding, with the Euclidean metric.More formally the soft-decision decoding problem reduces to: Given received real vector 1' = ( r1, ... , rn).find a codeword c E C that minimizes L:j= 1 ( ri -Cj ) 2 .
Most research in decoding algorithms has been focused on hard-decision decoding algorithms based on algebraic techniques.Soft-decision decoding has not been as extensively studied and until recently there were not many efficient decoding algorithms for linear block codes of large block length.An efficient algorithm is the recently developed A*-based decoding algorithm [4).Algorithm GADEC is a significant contribution to soft-decision decoding as shown hy comparing it with an A* based approach that is currently the most successful algorithm for soft decision decoding.
The problem of decoding an error correcting code is known to be NP-hard.It is indeed desirable and often preferable to obtain suboptimal solutions to such a problem.In this paper we present a suboptimal decoding algorithm for linear block codes that is based on finding a near-global minimum for the function L:j= 1 ( rj -Cj ) 2 • In section 2, we describe the motivation for considering a genetic algorithm-based decoding scheme.In section 3, GADEC, our genetic algorithm for decoding, is described.In section 4, we present and discuss simulation results.In section 5, we analyze the algorithm.In Section 6, we give a comparison with other decoding algorithms.

Walsh Polynomials and Nearest Neighbor Decoding
Walsh polynomials have been used as a benchmark for genetic algorithm performance by Tanese [8].
This section describes how the soft-decision decoding problem is equivalent to a Walsh polynomial optimization problem.A Walsh polynomial is a function of the form iEB where B is the set of 1-bit strings and ~ E B. Note that each j can be uniquely identified with a vector of dimension 1, j.In the context of soft-decision decoding recei~ed vector components rj play the role of Wj• Each ri is real, and Walsh function tPj(~) = ( -1)3•~ = 1 if j.~ has even parity and tPj(~) = -1 otherwise [7].Consider the transformation: given by a ~--+ ( -1 )a, where a E Z 2 • This isomorphism maps the additive binary group to the multiplicative binary group.Under this transformation, the cj's defined earlier transform to ( -1)'•9i = 1 if i.gi has even parity and -1 otherwise.This is the Walsh function corresponding to the j-th column of G.
We need to minimize the following objective function for nearest-neighbor decoding: As the first and second terms are constants, this is equivalent to the task of maximizing: I:j= 1 rjCJ.With i and the columns of G playing the role of~ and j respectively, this is seen to be a problem of optimizing, I:j rjc;, a Walsh polynomial.

Decoding and Tanese Functions
Tanese reported [8] that genetic algorithms performed rather poorly on optimizing a certain class of Walsh polynomials, genetic algorithms were in fact outperformed by hillclimbing 1 • An important investigation in this regard was undertaken by Forrest and Mitchell [7] in which they remark that: For a given Tanese function, F, the fitness of string~ under F depends on the parity of ~ 1\ j, for each j in F. Because of this parity calculation, a change of a single bit in ~ in any of the positions in which j has a 1 will produce the opposite value for ~ 1\ j, thus reversing the contribution of the term to the total fitness.This implies that in general, for a Tanese function of order n, no schema of order less than n will give any useful information; since for a given j, half the instances of the schema will have even parity with respect to j, and half will have odd parity with respect to j.This is because each of the Walsh functions is of the same order.
[Therefore] schema of lower order than n do not provide the GA with useful information.
Thus for problems equivalent to Tanese functions, crossover is not a useful tool for recombining building blocks.In the case of soft-decision decoding of linear block codes the j's correspond to the columns of the generator matrix, G. Recall that G is constructed by listing the basis vectors of C as rows.Through elementary row operations G can be reduced to a systematic form, i.e:

G=(IIP),
where I is a k x k identity matrix and Pis an n x (n-k) matrix.Consider, for example the row reduced G matrix of the Hamming [7,4] code: ( 1 0 0 0 G= 0 1 0 0 0 0 1 0 0 0 0 1 We see that the Walsh polynomials that arise as a consequence of soft-decision decoding consist of a sum of atmost n terms, where n is the blocklength of the code.This is because there are n columns in the G matrix of an [n, k] linear block code.Each transmission of a codeword gives rise to a potentially different Walsh polynomial as the components of r are likely to be different.We also note that not all Walsh functions are of the same order, in fact the first k terms are necessarily of order 1.This is because not all columns of the G matrix have the same Hamming weight, and the first k have Hamming weight (order) 1. Therefore this problem does not suffer from the lack of low-order schema processing characterizing Tanese functions and there is reason to believe that genetic algorithms would be a useful tool for the decoding problem.This motivates the development of the following genetic algorithm as a nearest-neighbor soft-decision decoding. 1The Walsh polynomials generated and used by Tanese [8] are hereafter referred to as Tanese functions.Tanese selected specific Walsh functions by randomly choosing 32 partition indices j all containing the same number of ones.The Walsh coefficient Wj for each of the 32 chosen partition indices was also chosen at random from the interval (0.0, 0.5].The fitness function used in her experiments was a sum, f(x) = Lj Wj"Pj(x) of these 32 terms, other terms were effectively set to 0.

Algorithm GADEC
The following is an outline of an algorithm that performs a genetic search over the space of all codewords to search for the codeword nearest to received vector r.For exhaustive experimentation, the algorithm first simulates the transmission of codewords over an additive white Gaussian noise channel.An important feature of this algorithm is the utilization of domainspecific "reliability" information for different components of the received vector.
Algorithm GADEC expects as input the blocklength, n, of the code, the dimension, k, of the linear code, the signal to noise ratio, Y, in decibels, the probability of mutating a single bit, Pm• the crossover probability, Pcross.and the size, N, of the population.
• STEP 1: Simulate message transmission.Randomly generate k binary information bits.Encode these information bits using the G matrix of the code, to yield an n-bit vector.Add simulated Gaussian noise after transforming each 0 to a 1 and each 1 to a -1 to obtain a received vector, r E Rn.
• STEP 2: Permute the coordinates of received vector r so that the first k positions are the most reliable linearly independent positions of r .
By assumption data is transmitted over an additive white Gaussian noise channel.Hence, ri is considered to be more reliable than ri if lril > lril• Permute the vector r in such a way that lril > lri+JI, for 1 ~ i ~ n.Further, permute the coordinates of r to ensure that the first k positions of r are its most reliable linearly independent positions [4].Call this vector r'.
Modify the generator matrix of the code by applying the same transformation to the columns of G that produces r' from r, to get G'.Store permutation in vector PERM.
• STEP 3: Randomly generate a population of possible message vectors.Quantize the first k bits of r' to obtain vector h, which is used to seed the initial population.
In addition, uniformly randomly generate (N-1) number of vectors E { -1, 1 }k.Let best be the member of the population that is closest to r'. for each bit i compute Offspring c inherits 1 with probability P(ci = 1) and -1 with probability 1-P(ci = 1).< fitness ( cu rr best), then best = cu rr best.
-end while {loop invariant: Among all the vectors examined so far, best is the closest to r' } • end while • STEP 5: To best apply the inverse of the permutation applied in STEP 2 of the algorithm.Return c' = PERM-1 (best) as the decoded result.

Codeword Transmission
This step is not a part of the decoder(GADEC) but is necessary in order to simulate a message source and noisy transmission channel.In STEP 2, the j-th component of the transmitted codeword c and the received vector r are Cj = ( -1 )cJ VE and ri = ( -1 )cJ VE + ei respectively, where E is the signal energy per channel bit and ei is a noise sample of a Gaussian process with single-sided noise power per hertz N0 .The mean of ei is zero and the variance is N0 /2.The signal-to-noise ratio for the channel is Y = EjN0 • In order to account for the redundancy in codes of different rates, the signal-to-noise ratio per transmitted bit, i.e.,}/, = Yn/k is used.For simulation purposes, E is set to 1 and the mean and variance of ei computed accordingly.

Chromosome Representation
In STEP 3, solutions to the optimization problem are represented as k-dimensional vectors.
The k bits represent the information bits of a code-vector.Hence, crossover and mutation operate only on the information bits, which means that all the individuals in the population are always feasible solutions.An alternative strategy is to represent individuals as n bit codewords.
Reproduction could then create an offspring that is not necessarily a feasible solution.Feasibility could be restored by following this up with a hard-decision decoding step to find the codeword closest in hamming distance to the n bit offspring.

Population Initialization
The initial population is generated uniformly randomly, so that every schema of a given length is equiprobably represented in the intial population.The initial population also contains a binary vector, h, consisting of components hi = sgn(r;). 2It is possible to seed the population with several good estimates of i, the transmitted information vector, by using minor perturbations of h, or perhaps choosing different information sets.We do not follow this approach, since a similar approach in using GA's for the TSP was reported to have led to premature convergence [17].

Fitness Evaluation
In STEP 4.1, to evaluate the fitness of an individual, it is necessary to first encode it by multiplying it with matrix G'.The squared Euclidean distance between r' and this encoded vector is then computed.An individual is fitter than another if it is closer in squared Euclidean distance to r'.

Selection
In STEP 4.2 & 4.3, the selection strategy used is "Linear Ranking Selection".Individuals in the population are sorted by non-decreasing order of squared Euclidean distance and each individual is assigned a rank which determines the number of reproductive trials for that individual.This approach was first proposed by Baker [26], as a means of slowing convergence.It has been reported to also result in more accurate optimization [25].
3.1.6RUX: Reliability Based Uniform Crossover STEP 4.4.2 is the key component of genetic search.We have developed a unique crossover operator for this application, a variant of uniform crossover.In uniform crossover, a choice between inheriting a bit from either of two parents is made at each component of an offspring.Several researchers have investigated the role of uniform crossover in genetic search [21], [22], [23].An advantage of uniform crossover is that the location of bits on the problem encoding is irrelevant.In one and two point crossover, bits that are closer together have a greater chance of propagating together through genetic algorithm generations.Syswerda showed, counter to popular belief, that uniform crossover nearly always combines schemata more effectively than one or two point crossover [21].Schaffer, Eschelman and Offut [22] further pursued this line of investigation, and found uniform crossover to be highly effective in combating spurious correlations.They concluded that, the very good performance of UX combined with population elitist selection seems to show that one can exploit the benefits of the vigorous search from a highly disruptive crossover operator by combining it with a conservative selection operator.
In population-elitist selection, every individual mates every generation without regard to its fitness [22], after which offspring are pooled with all the parents and the best 50% are selected to yield the next generation.Algorithm GADEC implicitly uses elitism in that only one of two possible offspring is preserved; the one that is more likely to contain good schema.This algorithm explicitly enforces the survival of the best individual in the current generation into the next generation.These conservative selection policies and uniform crossover coupled with a technique for exploiting problem specific knowledge lead to very good performance.We discuss the performance of RUX and provide a comparison between RUX, uniform crossover and two point crossover in Section 4, Table 2.
RUX, the reliability based uniform crossover operator used in algorithm GADEC, repeatedly exploits the reliability of the received vector.Incorporating problem specific information is useful in any search problem; in genetic search, Grefenstette has exploited this for the TSP problem [17].•.
•-.. Received Vector Component Value RUX is a variant of uniform crossover where a choice is made between inheriting a bit from either parent based on a suitable probability function.For example: In case ai = 1 :f.bi, P( Ci = ai) approaches 1 as ri approaches oo and 0 as ri approac es -oo.Similarly if ai = -1 :f.bi then P(ci = ai) approaches 1 as r~ approaches -oo and 0 as r/ approaches -oo.
P( Ci = ai) depends on ri in such a way that the probability of Ci inheriting either ai or bi increases, depending upon which one has the same sign as ri.The crossover operator thus exploits reliability information provided by vector r'.
3.1.7 Mutation STEP 4.4.3 is the mutation step.Mutation is done bit-wise on offspring with probability Pmut• Mutation rate for each bit is kept low, since the probability that a vector is perturbed is 1 -( 1 -Pmut )k) ~ kPmut, and k is as high as 52 in some of the problems we have experimented with.

Simulation Results and Discussion
We present simulation results at various signal-to-noise ratios for the [104, 52] extended binary quadratic residue code.This is a large code, with a search space of size 2 52 • We present graphs and data showing the excellent performance of our approach.We illustrate the relation between bit error probability and the number of genetic algorithm generations.Simulation parameters for the results presented in Figures 3, 4, and Table 1 are: n = 104, k = 52, Pmut =3%, Pcross = 70%, N = population size= 300.
Figures 3 and 4 indicate the evolution of bit-error-probability with genetic algorithm generations.Bit error probability is calculated by simulating several (about 1000) transmissions of codewords and finding the average fraction of information bits in error.Notice that the bit-errorprobability decreases with increasing number of generations, reflecting the fact that it is possible to balance solution quality with computational efficiency.Also notice in figure 4, the rapid initial evolution which settles down to a steady rate of improvement in bit-error-probability.An important question about this algorithm and, more generally, any genetic algorithmbased optimization technique, is about the stopping criterion.When should one stop iterating STEP 4 of algorithm GADEC?Since GADEC is iterative, one has the luxury of balancing performance and computational effort.Table 1 shows that there is a steady decrease in bit error  probability with increase in the number of generations, with about 30 to 40% reduction when the number of generations is increased from 50 to 100.
For a given [n, k] code, it is possible to perform a regression between the bit-error rate and numbers of genetic algorithm generations, based on simulation data.This will give a relation between bit error probability and an upper bound on the number of codewords evaluated ( = number of generations x population size).
We present in Table 1, bit error probability and related statistics after 50 and 100 genetic algorithm generations.Figures 5 and 6 exhibit the relation between bit-error probability and the signal-to-noise ratio, after 50 and 100 generations, respectively.Some of these errors would necessarily be made by any maximum likelihood decoder (MLD) as well and reflect cases where a codeword other than the transmitted codeword was found to be closer to the received vector, r'.This "lower bound" is also presented.The difference between the two curves, given in Figures 5 and 6, is often used to gauge the performance of a suboptimal decoding algorithm...-----'----L...-----L------l---......__ _ _ ---1 1.4  0.01 0.001   The results obtained using GADEC are excellent: the ratio of the bit error probability to the maximum likelihood decoding lower bound, is as low as 1.65 to 2.2 after 100 generations.As shown by the simulation results, it is possible to obtain a lower bit error probability and Pb/ M LD ratio, at the expense of more computation.
For a fixed bit error probability, it is possible to compute the difference in SNR between the lower bound maximum-likelihood decoding curve and the curve obtained from algorithm GADEC.This difference is atmost 0.55 dB after 50 generations of genetic search and reduces to atmost 0.35 dB after 100 generations.
In Table 2 we present a comparison between results obtained using RUX, uniform crossover (UX), and two point crossover (2PTX) in algorithm GADEC.In the case of two point crossover the algorithm was modified to produce two offspring.
Simulation results show that RUX is superior to UX and 2PTX by atleast an order of magnitude.

Analysis of Algorithm GADEC
In this section we show analyze the time and memory complexity of algorithm GADEC.We present a probabilistic analysis of the algorithm which includes an analysis of the role played by crossover.

Complexity Analysis
We show that algorithm GADEC has polynomial time complexity per generation.Given that: n = blocklength of code, k = dimension of code = length of individuals in population, N = population size = total number of individuals in population, At any given stage, we maintain a few sets of N x k arrays, therefore the memory complexity of this algorithm is O(Nk).STEP 3 has time complexity of O(Pn) [4].

STEPS 4.1 to 4.3 have a computational complexity of O(knN) + O(N log N) + O(k).
The complexity of STEP 3 depends on the random number generator in use; but the cost is negligible compared to that of STEP 4 STEPS 4.4.1 to 5 have an average case complexity of 0(1)

Probabilistic Analysis of Algorithm GADEC
Next, we proceed to give a mathematical and empirical analysis of the algorithm.Such an analysis must necessarily be probabilistic because genetic algorithms are essentially stochastic processes.We start this analysis by computing the effect of STEP 2 on the decoding effort.We obtain the probability that the vector produced as a result of STEP 3, is the nearest neighbor code vector to the received vector r.We know that vector r = (rh ... , rn) has components ri that are Gaussian random variables with mean +1 or -1 and variance N 0 J2, as described in STEP 2 of algorithm GADEC.
If n independent and identically distributed random variables with probability density function f(x) are rearranged in order of decreasing magnitude, denoted by X then the probability density function of X(i) is given by We are interested in computing the probability that STEP 3 of algorithm GADEC produces the nearest-neighbor codeword.Let }i = lrd; then P(l'i ~ x) = P( -x < r; < x).
-oo V 27r Likewise, if ri is received with mean p. = -1, then l x 1 1(!±!)2 (x+1) (x-1) In other words, the random variables Y1, ... , Yn are distributed independently and identically, irrespective of the mean of the received component r i for i = 1, ... , n and the common distribution function of the }i's is given by equation ( 1) with associated density function We will approximate the probability of STEP 3, producing the nearest-neighbor codeword by neglecting the effect of interchanges required to restore linear independence to the first k bit positions.These interchanges should not affect the probability very much [19], as there are very few of them; they are hence neglected in the analysis.
The probability of quantization yielding the transmitted bit is given by --e-2 -adt = Cb -1 00 1 l(t-1)2 (1)   0 Vii u if 1 was transmitted, and In other words, this probability of quantization yielding the transmitted bit is also independent of the transmitted bit.
The following expression for A(n,j) approximates the probability that the j-th received vector component is quantized to its associated transmitted bit.
where f( x) is defined in Equation 2, F( x) is the associated distribution function and, G( x) =

1-F(x).
The product nJ=l A(n,j) 'approximates the probability that all of T(l)• ... ' T(A:) are quantized to their associated transmitted bits.Since the first k positions uniquely determine a codeword, product nJ= 1 A(n,j) represents the probability that STEP 3 yields the transmitted codeword.
The results presented in Table 3  the frequency with which STEP 3 produced the transmitted codeword correctly.The theoretical estimate of probability given by nJ= 1 A(n,j) computed using Mathematica, agrees very closely with simulation results for the [104, 52] code at six different signal-to-noise ratios.
This leads to the Building Block Hypothesis which says that a GA seeks near optimal performance through the juxtaposition of short, low-order, high performance schemata, called Building Blocks.
The above analysis by Holland assumed a one point crossover operator.In algorithm GADEC we use, RUX, a uniform crossover operator that exploits information from the problem at hand.Crossover is done with a bit being selected from either parent a or parent b with some probability.This probability is computed using the reliability of the received signal at the concerned position.
We now consider the disruptive effect of RUX on schema S. Let Pri =probability that the same bit as in schema defined position is selected during crossover.If the schema defined position is 1 then Pri = P( Ci = 1 ).If the schema defined position is -1 then Pri = P(ci = -1).Pri therefore depends on the magnitude of ri, as illustrated in Figure 2.
The probability that schema S survives RUX is at least TI Pr, where the product is taken over o( S) terms.The crossover disruption probability changes from ( 1 -f~~~p to TI Pr,, where the product is taken over o( S) terms corresponding to schema defined positions.Another difference between the traditional genetic algorithm and algorithm GADEC is that we use ranking selection instead of fitness proportionate selection [26].Indviduals are assigned a rank based on their fitness and we can interpret this rank as an assigned fitness value [25].Therefore, instead o usmg t e tness ratio F"'~(t), we use = • •es 1 , w ere ran z = ran o m IVI ua z.
Hence, the reproductive growth equation takes the form: 1/;(S, t + 1) 2:: Let us define the reliability of a schema as the product of the reliabilities of schema defined positions.Clearly 1/;( S, t) increases exponentially if TI Pr, is large and if the contribution of the mutation term, ( 1 -Pmut )o(S) is small.This allows us to re-interpret the building block hypothesis as saying that, "above average, low-order, high reliability schema are allocated an exponentially increasing number of trials." The building blocks for algorithm GADEC are low-order, high reliability schema.

Comparison of Algorithm GADEC with Other Decoding Algorithms
We provide a comparison of algorithm GADEC with pure random search, a systematic exhaustive search method an an A* based algorithm.The comparison puts in perspective the excellent results obtained which are indistinguishable in performance from the A* based algorithm, an order of magnitude better than the systematic exhaustive search method and several orders of magnitude better than pure random search.This is just the first step in what will emerge as a very important technique in soft-decision decoding of linear block codes with issues such as population representation, population size, distributed population models and crossover and mutation rates constituting important research topics in soft-decision decoding.

Systematic Exhaustive Search
To further bolster the claim that the genetic algorithm is driven by the forces of reproduction and intelligent search space sampling we give a comparison of the performance of algorithm GADEC with a systematic, exhaustive search procedure.
• Algorithm SystematicExhaustiveSearch(n, k, Y, dim) n is the of the code, k is the dimension of the code, Y is the signal to noise ratio, in decibels, and dim the dimension of the subspace to be exhaustively searched.
• STEP 3: Compute squared Euclidean distance between vector rand transmitted codeword c, call it dist.Let h be the quantized estimate obtained from vector r'.dist', between vector c' and vector r'.Keep a running count of the minimum dist' encountered so far.Find the number of its information bits in error.
Steps 1 through 3 of this algorithm are essentially the same as those of algorithm GADEC.Once vector h has been obtained, its most reliable n-dim bits determines the subspace (schema) that is exhaustively searched for the codeword nearest in Euclidean distance to the received vector r.
The following simulations were done on the [104, 52] code with dim = 15, and the results are shown in Table 4. Bit error probability was computed in the same way as for algorithm GADEC, i.e., taking the average fraction of information bits in error over all simulated codeword transmissions.A total of 2 15 = 32767 codewords were evaluated for each simulated transmission.This is to provide a fair comparison with algorithm GADEC simulated to perform 30, 000 codeword evaluations.Simulation results obtained from this approach demonstrate that SNR (dB) SystematicExhaustiveSearch (BEP) GADEC (BEP)

Pure Random Search
To further support the claim that crossover plays the major role role in algorithm GADEC, simulation results with Pcross = 0 (crossover turned off) and a bit mutation rate of 3% show that the bit error probability rose from .0165 to .120 at a signal-to-noise ratio of 1.5dB, which is a significant deterioration in performance.
We now analyze the behavior of a random search over the space of all codewords for the one closest in Euclidean distance to the received vector, r.This is done to show the failure of blind random search for this problem.We use the extreme value theory of random variables to approximate this behavior.
In a random sample of size n drawn from a population with cumulative distribution function P(x), the asymptotic distribution of the largest/smallest element, X(n)' may possess a limiting distribution.If it does, then the limiting distribution must be one of three possible types whose forms are found in [20).If P(x) denotes the distribution of the standard normal random variable then the limiting cumulative distribution of X(n)l the largest observation in a sample of n, normalized as V2ln n[x(n)-V2ln n], is exp( -e-x).
In pure random search we denote the squared Euclidean distance by random variable x;, i.e., x; = L:(rj-Cij) 2 , where r = (rt, ... ,rn) is the fixed received vector and c;j's are randomly generated binary bits.By the central limit theorem, x; is normally distributed for large n.In the context of nearest-neighbor decoding we are interested in the distribution of the minimum X;, and v2ln n[x(n)-V2ln n] describes the distribution of the maximum, consequently, we will consider the statistical behavior of -max( -x;).
In case the c;j's are randomly selected, each satisfying the Bernoulli distribution with probabilty p = 1/2, each x; has expected value LJ=I rJ +nand standard deviation 2JL:j= 1 rJ.Hence, -x; has mean J-t = -LJ=I r] -n, standard deviation a = 2~, and ( -x; + L: rJ + n) 2~ represents a standard normal random variable.Consider a search algorithm that randomly samples L codewords from a code of size 2k.Then, by the extreme value theorem, the minimum distance among L codewords is P [-X(L) + L:r] + n-V2lnL < y l = e-e-Y.

2~ -V2lnL
Let x* = -2~ { J 2 kL + J21n L} + L: r] + n.For a given value of e-e-Y = c and a specified threshold x*, we can estimate the number, L, of samples that would be required to discover a codeword at squared Euclidean distance less than x*, with probability 1 -c.This can be done by solving .r*as a quadratic equation in L.
The results presented in Table 5, give an estimate of L for threshold x* set to some typical values of distance obtained after STEP 3 of algorithm GADEC.We use values of unconditional mean, E(L:~~~ rJ + n) = /-luc = n(2 + a 2 ) and unconditional variance, a~c = 4n(l + o-2 ), where u 2 = t1t (see description of GADEC) in place of conditional mean and variance, J-t and u 2 respectively.It is observed that Lis a significant fraction (between ! and ~)of the search space it on a large code, of size 2 52 and demonstrated the superiority of this method over other existing soft-decision decoding methods.We have presented a new crossover operator whose performance is superior by atleast an order of magnitude to conventional crossover operators.The relationship between soft-decision decoding and optimizing Walsh polynomials, which has been observed for the first time, provides an interesting analogy between fundamental problems in genetic algorithms and information theory.
From the perspective of soft-decision decoding, results of a Pb/ M LD ratio between 1.65 and 2.2 represent excellent performance in the presence of very high noise, i.e., between 1.5 dB and 2.4 dB.These results suggest that GADEC is a viable and good soft-decision decoding algorithm with a very low memory complexity and near-optimal performance, that can be iterated to balance computation with performance.The re-interpretation of the schema theorem in this context is an interesting twist to genetic search and is perhaps a harbinger of similar reliability based crossover techniques applied to other optimization problems.

Figure 1 :
Figure 1: A Typical Communication System

• STEP 4 :
while(generation_counter < Total-Number-Generations) do -STEP 4.1: Compute the fitness of each individual in the population.An individual represents an information vector of length k bits which is encoded, c = i G', to an n-bit codevector.The fitness function is the negated squared Euclidean distance -E~=l ( r; -ci) 2 between the received word and the encoded individual.-STEP 4.2: Sort population in increasing order of fitness.-STEP 4.3: Allot ranks to individuals in population and allocate reproductive trials to them.-STEP 4.4: while(population-size-counter < N ) do STEP 4.4.2:Crossover( a, b) with probability Pcross to produce offspring c.If a= (at, ... ,ak) and b = (bt, ... ,bk) then:

STEP 4 . 4 . 3 :
Mutate(c).Flip each bit of c with probability Pmut.STEP 4.4.4:Introduce c as an individual into new population.* else • STEP 4.4.5:Introduce either a or b into new population with equal probability.* STEP 4.5: Let currbest =fittest member of the new population.If fitness( best)

Figure 4 :
Figure 4: Bit Error Probability in the Later Stages of Evolution

Figure 6 :
Figure 6: Bit Error Probability, (BEP) vs Signal-to-noise Ratio, 100 generations: [104,52] Code This reduces to O(k), which is also the worst case complexity.Hence each iteration of the genetic algorithm part of GADEC has a total time complexity of 0( knN + N log N) per generation.Algorithm GADEC has a time complexity of O(knN + N log N) per generation + an Initialization complexity of O(Pn).

Table 2 :
Comparison Between Different Crossover Operators in Algorithm GADEC Signal-to-Noise Ratio, dB

Table 4 :
Systematic Exhaustive Search vs Algorithm GADEC GADEC is superior by an order of magnitude showing that selection, crossover and mutation do play important roles in nearest-neighbor decoding.