
Figure 1
Left: A typical closed loop control task is sketched. The system ẋ = f(x) is observed by some measurements s; it is controlled by by adding the actuation a = u(s, t). The corresponding control law a = u(s, t) is determined by symbolic regression. Right: gp-based symbolic regression finds different candidate control laws. Each candidate solution is given a fitness score Γ which is used to compare different solutions and to advance the search in function space. Figure adapted from [5] with permission.

Figure 2
Sketch of the implementation of the experiment – GP communication as client-server pattern. Left: single experiment server plus event handler. Right: GP client. Both parts are interfaced using ZeroMQ. As described in Sec. the GP program performs requests, e.g. the evaluation of a candidate solution. The event handler takes care of these requests and eventually forwards them to the hardware.
Table 1
Communication protocol. The config action contains the options to be set, the experiment action contains a list of expressions, the shutdown action terminates the application.
| Action name | Payload | Expected return Value |
|---|---|---|
| CONFIG | – | config settings |
| EXPERIMENT | list of expressions | list of fitness value(s) |
| SHUTDOWN | – | – |
Table 2
General setup of the GP runs.
| population size | 500 |
| max. generations | 20 |
| MOO algorithm | NSGA-II |
| tree generation | halfandhalf |
| min. height | 1 |
| max. height | 4 |
| selection | selTournament |
| tournament size | 2 |
| breeding | varOr |
| recombination | cxOnePoint |
| crossover probability | 0.5 |
| crossover max. height | 20 |
| mutation | mutUniform |
| mutation probability | 0.2 |
| mutation max. height | 20 |
| constant optimization | leastsq |
Table 3
Control of the Lorenz system: system setup.
| Dynamic system | GP | ||
|---|---|---|---|
| s | 10 | cost functionals | RMSE (x, 0) |
| r | 28 | RMSE (y, 0) | |
| b | 8/3 | RMSE (z, 0) | |
| x(t0) | 10.0 | length (u) | |
| y(t0) | 1.0 | argument set | {x, y, z} |
| z(t0) | 5.0 | constant set | {k} |
| t0, tn | 0, 100 | seed (in y) | 4360036820278701581 |
| n | 5000 | seed (in z) | 2480329230996732981 |

Figure 3
Phase portrait of the forced Lorenz system with control exerted in ẏ. (Green and red: The system trajectories when controlled by two particular Pareto-front solutions. Blue: the uncontrolled chaotic system).
Table 4
Control of the Lorentz system in y: Pareto-front solutions.
| RMSEx | RMSEy | RMSEz | length | expression | constants |
|---|---|---|---|---|---|
| 0.178884 | 0.087476 | 0.105256 | 7 | –exp(x) + k · y | k = –135.43 |
| 0.241226 | 0.069896 | 0.213063 | 5 | k · x + z | k = –27.84 |
| 0.246315 | 0.014142 | 0.222345 | 6 | –z + k · y | k = –75590.65 |
| 0.246316 | 0.014142 | 0.222347 | 4 | –k · y | k = 75608.50 |
| 0.246367 | 0.028851 | 0.220426 | 10 | –x · (k + y) · exp(exp(y)) | k = 9.62 |
| 0.246729 | 0.118439 | 0.211212 | 6 | –x · (k + y) | k = 29.21 |
| 0.246850 | 0.031747 | 0.220726 | 9 | –x · (k + y) · exp(y) | k = 26.12 |
| 4.476902 | 4.468534 | 7.488516 | 3 | –exp(y) | |
| 7.783655 | 8.820086 | 24.122441 | 2 | –x | |
| 7.931978 | 9.066296 | 25.047630 | 1 | k | k = 1.0 |
| 8.319191 | 8.371462 | 25.932887 | 2 | –y | |
| 8.994685 | 9.042226 | 30.300641 | 1 | z |

Figure 4
Detailed view of the single trajectories in x, y, and z dimension. (blue: uncontrolled; green: u(x, y, z) = –exp(x) + k · y, k = –135.43; red: u(x, y, z) = k · x + z, k = –27.84).
Table 5
Control of the Lorentz system in z: selected Pareto-front solutions.
| RMSEx | RMSEy | RMSEz | length | expression | constants |
|---|---|---|---|---|---|
| 0.289289 | 0.139652 | 26.994070 | 13 | –(k · (–y) + x · z + y + z) | k = 793.129676 |
| 0.327926 | 0.267043 | 27.070289 | 8 | exp(–k + y · sin(y)) | k = –4.254574 |
| 0.431993 | 0.508829 | 32.116326 | 7 | (k + x) · (y + z) | k = 2.638069 |
| 0.471535 | 0.525010 | 26.986321 | 5 | k + x · z | k = 67.137183 |
| 0.637056 | 0.605686 | 26.895493 | 7 | exp(k + y · sin(y)) | k = 3.964478 |
| 0.677204 | 0.703577 | 27.019308 | 4 | y + exp(k) | k = 4.276256 |
| 0.930668 | 0.952734 | 26.895126 | 5 | x + exp(exp(k)) | k = 1.448198 |
| 1.764030 | 1.860288 | 26.766383 | 6 | (k + x) · exp(y) | k = 21.783557 |

Figure 5
Control of the Lorentz system in ż.
