# Improving Decodability of Polar Codes by Adding Noise
## 4 Proposed Decoding Algorithms
### Online-PDNE Decoding Algorithm  
For the GA, the choice of the fitness function plays an important role in the quality of the final solution and the speed of convergence. The evolutionary search process of the GA is only based on the fitness of each individual in the population. Therefore, the selection of the fitness function directly affects the convergence speed of the GA and whether the optimal solution can be found. In Equation (2), d is the failed decoding sequence output by the decoder, and d\({}_{\mathrm{p}}\) is the corresponding perturbed decoded sequence. There is no guarantee that their difference can converge effectively unless d is the correct decoding result. However, in the PP-SSC decoder, the GA-based decoding is performed only if the previous perturbed decoding fails. Therefore, we need better fitness function to carry out the genetic process to find the optimal solution. Similar to the PP-SSC decoder, we propose an online perturbed and directed neural-evolutionary (Online-PDNE) decoding algorithm for polar codes, which adopts the same decoding structure, but with a new fitness function:  
\[\mathrm{F_{c}}=1\,/(1+\sum\mathrm{CRC\_Calc}(\mathrm{d_{p}})), \tag{3}\]  
where \(\mathrm{CRC\_Calc}(\cdot)\) is the CRC check operation [50]. Fitness function is used to measure whether an individual is the optimal solution in the GA process, which requires the individual's fitness value to be as high as possible. Depending on the fitness function and the selection algorithm, the population can continuously evolve towards the local optimal solution. In this paper, we take the sum of the CRC check remainders as the fitness function. When using Equation (3), it is ensured that the more number of zeros in the CRC remainder, the larger the value of \(\mathrm{F_{c}}\), which meets the requirements of the fitness function. To ensure the evolution direction of the GA population, the roulette wheel selection strategy is used to select the offspring, which is selected according to the cumulative probability. The fitness score of an individual is calculated by  
\[\mathrm{F_{s}}=\mathrm{F_{c}}(\mathrm{j})\,\Big{/}\sum_{\mathrm{j}=1}^{\mathrm{ T_{1}}}\mathrm{F_{c}}(\mathrm{j}). \tag{4}\]  
As shown in Figure 2, when the maximum number of decoding attempts \(\mathrm{T_{1}}\) in the second round is exceeded, the directed neural-evolutionary noise (NE) \(\mathrm{n_{ne}^{(k)}}\) will be generated online by the NE noise generator and added to the received signal \(\mathrm{y^{N}}\) as  
\[\mathrm{y^{N}_{2}}=\mathrm{y^{N}}+\mathrm{n_{ne}^{(k)}}. \tag{5}\]  
Figure 2: Block diagram of the Online-PDNE decoding algorithm. In this paper, the GA is employed to realize neuro-evolution to obtain the required directed neural-evolutionary noise. The genetic process NE(\(\cdot\)) is as follows:  
1. Initialization: Unlike the initialization method in [31], which adopts the perturbation noise when the second round of decoding fails as the initial value. In this paper, the initial population \(\mathrm{S_{n}^{(0)}}\)\(=\{\mathrm{n_{ne}^{(i)}}|\mathrm{i}=1,2,\ \ldots,\mathrm{T}\}\) is randomly generated, where T is the number of individuals in the population. 2. Selection: According to Equations (3) and (4), the individuals which have high fitness scores with roulette wheel selection from the initial population are forwarded as parents for the upcoming offspring. 3. Population reproduction: This step includes the crossover and mutation. The evolution of GA towards the (sub)optimal solution is mainly due to the crossover operation. The mutation operation guarantees more diversity and reduces the occurrence of a famous phenomenon called premature convergence. 4. Termination criterion: The new directed neural-evolutionary noise generated in the above steps is added to the input of the decoder, and if the CRC checking is successful, the decoding result is output. Otherwise, the GA is continued until the decoding is successful or the maximum number of generations T\({}_{2}\) is reached.