# Population Dynamics in Genetic Programming for Dynamic Symbolic Regression
## 1 Introduction
### Genetic Programming for Symbolic Regression  
Symbolic regression (SR) is a subset of supervised machine learning, where regression models are expressed as symbolic mathematical representations [4]. Analogously, linear regression (LR) can be viewed as a subset of supervised machine learning, with a requirement that the model's prediction remains linear in its parameters. While LR is efficiently solvable using least linear squares [11], achieving optimal models for symbolic regression proves to be a more intricate challenge. The complexity stems from the dual challenge in symbolic regression (SR) where both the structure and numerical parameters of the symbolic model undergo optimization. Notably, optimizing the structure of symbolic models is recognized as an NP-hard problem, as the latest research suggests [12]. Additionally, optimizing the numerical parameters within a specific model structure is frequently framed as a real-vectored optimization problem. Although genetic programming (GP) is a prevalent choice for optimizing the model structure, enhancing the numerical parameters is often more effectively achieved through gradient-based numerical optimization methods [13]. The predominant approach for solving symbolic regression (SR) and acquiring symbolic models lies in the application of genetic programming (GP) [4]. GP, essentially an extension of genetic algorithms (GAs) [6], represents individuals as evolving expression trees over multiple generations. The fitness of an individual is assessed by an error metric, such as the mean squared error, calculated against a specific dataset. The genetic operators play instrumental roles in shaping the evolution of expression trees. The selection operator determines which individuals are chosen to become parents for the next generation based on their fitness. This ensures that genetic material from individuals with higher fitness contributes to the next generation, guiding the algorithm toward more favorable solutions. Crossover facilitates the interchange of subtrees between individuals. This process introduces diversity by combining genetic material from different individuals, potentially creating more adaptive and effective models. Moreover, the mutation operator introduces random changes to the numeric parameters, mathematical operators, or variables within an expression tree. This stochastic element allows for exploration of the solution space, preventing the algorithm from converging prematurely and promoting adaptability to the dynamic nature of the optimization problem. Given the expansive nature of genetic programming beyond basic genetic algorithms, this paper does not delve into exhaustive reviews of GP, symbolic regression, or fundamental machine learning concepts. Interested readers are encouraged to explore other literature, such as the concise yet comprehensive _Field Guide to Genetic Programming_ by [PERSON] et al. [4]. For a more in-depth understanding, the initial work by [PERSON] [3] and further exploration by [PERSON] et al. [14] provide additional insights into GP. While alternative algorithms and variants for SR exist, such as stack-based GP [15], grammatical evolution [16], or non-evolutionary approaches [17], this paper deliberately focuses on GP. As mentioned earlier, SR can be deconstructed into sub-problems for identifying a structure and optimizing numeric parameters. In our experiments, GP operates on both the structure and numeric parameters. However, numeric optimization is also employed to complement GP, as it often yields superior results compared to GP alone [18]. Generally, GP can be hybridized with various local optimization methods. For example, in scenarioswhere acquiring derivatives for gradient-based optimization is impractical or not feasible, derivative-free optimization methods like differential evolution could be employed.