## 2 A Genetic Algorithm Markov Chain and Related Preliminaries  
A GA Markov Chain framework for steady-state distribution convergence was proposed both for binary GAs [5] and floating-point (real values) GAs [6]. This paper uses and adapts the GA floating-point framework. While the proposed method is general enough to learn parameters for both non-linear and linear regression functions, the linear model is used in this section for ease of exposition. The search for regression parameters occurs on a cone (a cone is a non-empty set \(C\in^{\circ n}\) with vertex 0, such that if \(\theta\in C\Rightarrow\lambda\theta\in C\), \(\forall\)\(\lambda\geq 0\)). The benefit of searching for solutions on a cone is that the search for regression parameters can be restricted over the symmetric fixed closed interval, with a center at zero. Let that fixed interval be \(\theta\in[-1,1]\), and the true linear regression equation is represented as follows:  
\[y_{j}=\sum_{i=1}^{n}\beta_{i}x_{j}+\beta_{n+1} \tag{4}\]  
where \(j=\{1,\ldots,m\}\) is the index representing individual examples in the dataset \(D\), \(i=\{1,\ldots,n\}\) is the number of independent variables, \(\beta_{i}\)s are regression coefficients, and \(\beta_{n+1}\) is the regression intercept. When \(\theta\in[-1,1]\), the equivalent regression equation can be written as follows:  
\[y_{j}=\lambda\left(\sum_{i=1}^{n}\theta_{i}x_{j}+\theta_{n+1}\right) \tag{5}\]  
The variable \(\lambda\) is a predetermined positive constant. The issue of selecting an appropriate value for this constant is taken up later in this section. For the rest of the paper, the dimensionality of \(\theta=[\theta_{1},\ldots,\theta_{2}]^{\mathsf{T}}\), where the last parameter \(z=n+1\), is the intercept for the linear regression. When the correct regression model is learned, then \(\lambda\theta_{i}=\beta_{i}\), \(i=\{1,\ldots,z\}\). The GA used for the solution procedure is a random floating-point (real attribute) population-based search procedure, represented as a matrix \(Q^{g}\). The rows of the matrix are equal to the size of the population (\(\Omega\)) and the number of columns in the matrix is equal to \(z\). For the sake of illustration, the matrix \(Q^{g}\) is represented as follows:  
\[Q^{g}= \begin{bmatrix}\theta_{11}&\ldots\ldots&\theta_{1z}\\.&\ldots\ldots&.\\ \theta_{\Omega 1}&\ldots\ldots&\theta_{\Omega z}\end{bmatrix}  \tag{6}\]  
The superscript \"\(g\)\" represents the generation number for the population. Each row represents a regression model described by its row parameters. In GA terminology, each row (regression model) is called a population member. A population member's fitness is computed using the dataset \(D\), applying the regression model using row parameters and Equation (5), and computing a reciprocal function of the root-mean-square error of Equation (2) as the fitness value. This approach to computing the fitness value means that population members with higher fitness values have lower root-mean-square errors. Each population member is represented with the subscript \(s=\{1,\ldots,\Omega\}\), and an individual population member is defined as \(\theta_{s}=[\theta_{s1},\ldots,\theta_{sz}]^{\intercal}\). Any component of population vector \(\theta_{s}\) is called a gene of the population member \(s\). All genes for all population members take values between \(-1\) and \(1\), i.e., \(\theta_{sz}\in[-1,1]\). Initially, when \(g=0\), the values of genes for all population members are randomly generated over this interval using a uniform distribution. Next, for each population member, using the dataset \(D\), its fitness is computed. The population for the next generation, i.e., \(g=1\), is computed by applying selection, crossover, and mutation operations. All of these three operations are probabilistic. The selection operator used in this research is proportional selection.