Generating Interpretable Fuzzy Controllers using Particle Swarm Optimization and

DANIEL HEIN∗, Siemens AG, Corporate Technology,, Germany STEFFEN UDLUFT, Siemens AG, Corporate Technology,, Germany THOMAS A. RUNKLER, Siemens AG, Corporate Technology,, Germany

Autonomously training interpretable control strategies, called policies, using pre-existing plant trajectory data is of great interest in industrial applications. Fuzzy controllers have been used in industry for decades as interpretable and efficient system controllers. In this study, we introduce a fuzzy genetic programming (GP) approach called fuzzy GP reinforcement learning (FGPRL) that can select the relevant state features, determine the size of the required fuzzy rule set, and automatically adjust all the controller parameters simultaneously. Each GP individual’s fitness is computed using model-based batch reinforcement learning (RL), which first trainsa model using available system samples and subsequently performs Monte Carlo rollouts to predict each policy candidate’s performance. We compare FGPRL to an extended version of a related method called fuzzy particle swarm reinforcement learning (FPSRL), which uses swarm intelligence to tune the fuzzy policy parameters. Experiments using an industrial benchmark show that FGPRL is able to autonomously learn interpretable fuzzy policies with high control performance.

CCS Concepts: • Theory of computation → Reinforcement learning; • Software and its engineering → Genetic program- ming; • Computing methodologies → Vagueness and fuzzy logic;

Additional Key Words and Phrases: Interpretable reinforcement learning, fuzzy control, swarm optimization, genetic programming, industrial benchmark

ACM Reference Format: Daniel Hein, Steffen Udluft, and Thomas A. Runkler. 2018. Generating Interpretable Fuzzy Controllers using Particle Swarm Optimiza- tion and Genetic Programming. 1, 1 (May 2018), 14 pages. https://doi.org/10.1145/3205651.3208277

1 INTRODUCTION In typical industrial applications, such as controlling wind or gas turbines, control strategies, known as policies, that can be interpreted and controlled by humans, are of great interest [21]. However, using domain experts to manually design such policies is complicated and sometimes infeasible, since it requires the plant’s system dependencies to be modeled in great detail with dedicated mathematical representations. Since such representations cannot be found for many real-world applications, policies have to be learned via reward samples from the plant itself. Reinforcement learning (RL) [29] is capable of determining such policies using only the available system data.

∗Also with Technical University of Munich, Departement of Informatics.

Authors’ addresses: Daniel Hein, Siemens AG, Corporate Technology, Otto-Hahn-Ring 6, Munich, 81739, Germany, [email protected]; Steffen Ud- arXiv:1804.10960v1 [cs.AI] 29 Apr 2018 luft, Siemens AG, Corporate Technology, Otto-Hahn-Ring 6, Munich, 81739, Germany, [email protected]; Thomas A. Runkler, Siemens AG, Corporate Technology, Otto-Hahn-Ring 6, Munich, 81739, Germany, [email protected].

Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights forcomponents of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]. © 2018 Copyright held by the owner/author(s). Publication rights licensed to Association for Computing Machinery. Manuscript submitted to ACM

Manuscript submitted to ACM 1 2 D. Hein et al.

Recently, fuzzy particle swarm reinforcement learning (FPSRL) has been proposed, and it has been shown that an method, namely particle swarm optimization (PSO), can be successfully combined with fuzzy rule-based systems to generate interpretable RL policies [13]. This can be achieved by first training a model on a batch of pre-existing state-action trajectory samples and subsequently conducting model-based RL. This step uses PSO to optimize a predefined set of fuzzy rule parameters. FPSRL has been applied to several well-known RL benchmarks, such as the mountain car and cart-pole problems [13]. While such simple benchmark problems are well-suited to introducing a new method and comparing its performance to that of standard approaches, their easy-to-model dynamics and low-dimensional state and action spaces share few similarities with real-world industrial applications. Real applications usually have high-dimensional continuous state and action spaces. Applying FPSRL to systems with many state features often yields non-interpretable fuzzy systems since every fuzzy rule contains all the state dimensions, including redundant or irrelevant state dimensions, in its membership function by default. In this paper, we propose an approach to efficiently determine the most important state features with respect tothe optimal policy. Selecting only the most important features prior to policy parameter training makes the production of interpretable fuzzy policies using FPSRL possible again. However, performing a heuristic feature selection initially and subsequently creating policy structures manually is a feasible but limited approach; in high-dimensional state and action spaces, the effort involved grows exponentially. Instead, we propose as main contribution of our work fuzzy genetic programming reinforcement learning (FGPRL), an approach, such as FPSRL, that is based on model-based batch RL. By creating fuzzy rules using genetic programming (GP) rather than tuning the fuzzy rule parameters via PSO, FGPRL eliminates the manual feature selection process. This GP technique is able to automatically select the most important features as well as the most compact fuzzy rule representation with respect to a certain level of performance. Moreover, it returns not just one solution to the problem but a whole Pareto front containing the best-performing solutions for many different levels of complexity. Although genetic fuzzy systems have demonstrated their ability to learn and adapt to solve different types of problems in various application domains, GP-generated fuzzy logic controllers have never been combined with a model-based batch RL approach so far. Combining a fuzzy system’s approximate reasoning with an ’s ability to learn allows the proposed method to learn human-interpretable soft-computing solutions autonomously. Cordón et al. [7] provide an extensive overview of previous genetic fuzzy rule-based systems. While most of the existing research in this area has focused on genetic tuning of scaling and membership functions as well as genetic learning of rule and knowledge bases, less attention has been paid to using GP to design fuzzy rule-based systems. Since GP is concerned with automatically generating computer programs [19], it should theoretically be able to both learn rule and knowledge bases as well as tune scale and membership functions simultaneously [10]. Fuzzy rule-based systems have been combined with GP for modeling [16] and classification [3, 6, 24, 26] tasks. In the optimal system control field considered in this paper, early applications that combine GP and fuzzy rule-based systems for mobile robot path tracking have been demonstrated [32]. Type-constraint GP has also been used to define fuzzy logic controller rule-bases for the cart-centering problem [1, 2]. Memetic GP, which combines local and global optimization, has been used to train Takagi-Sugeno fuzzy controllers to solve the cart-pole balancing problem [31]. Recently, based on the GP fuzzy inference system (GPFIS), GPFIS-control has been proposed [18]. They used multi-gene GP to automatically train a fuzzy logic controller and tested its performance on the cart-centering and inverted pendulum problems.

Manuscript submitted to ACM Generating Interpretable Fuzzy Controllers using PSO and GP 3

FGPRL PSO Training Evalu- model ation FPSRL Feature selection Rule PSO-P construction

AMIFS PSO

Fig. 1. Comparing FPSRL to FGPRL

In this study, we apply FPSRL and FGPRL to two different benchmarks, namely the cart-pole swing-up and industrial benchmarks, to compare their RL policy performance and the interpretability of their fuzzy system controllers.

2 POLICY GENERATION METHODS This paper compares two approaches to generate fuzzy RL policies from a batch of previously generated state-action trajectories (Fig. 1). FPSRL, first proposed in [13], tunes the fuzzy membership parameters of a predefined fuzzy set. Here, we extend FPSRL by adding an initial feature selection step, thus enabling its application to RL problems with high-dimensional state spaces. In addition, we compare FPSRL to a new approach, called FGPRL, that uses GP to create fuzzy RL policies using the same underlying model-based RL fitness function as FPSRL.

2.1 Model-based Reinforcement Learning Inspired by behaviorist psychology, RL is concerned with the actions software agents should take in an environment to maximize their received accumulated rewards. In RL, the agents are not explicitly told the actions they are supposed to take; instead, they must learn the best strategy by observing the rewards given by the environment in response to their actions. In general, their actions can affect both the next reward and all subsequent rewards [29].

In the RL formalism, each agent observes the system state st ∈ S at each discrete time step t = 0, 1, 2,... and takes an action at ∈ A, where S and A are the state and action spaces, respectively. In deterministic systems, state transitions can be expressed as function д : S × A → S with д(st , at ) = st+1. The corresponding rewards are given by reward function r : S × A × S → R, with r(st , at , st+1) = rt+1. Thus, the RL problem’s optimal solution is the policy that maximizes the expected accumulated rewards. In the proposed approach, the goal is to find the best policy π ∈ Π, with Π being the set of all possible fuzzy RL policies. Policies associate every state st with an action π(st ) = at , and their performance, for a given starting state st , is measured by the return R(st , π), i.e., the accumulated future rewards obtained by executing them. To account for the increasing uncertainties associated with future rewards, the reward rt+k received k time steps in the future is weighted by γ k , where γ ∈ [0, 1]. In addition, we adopt the common approach of only including a finite number T > 1 of future

Manuscript submitted to ACM 4 D. Hein et al. rewards in the return [29], as follows: T −1 Õ k R(st , π) = γ r(st+k , π(st+k ), st+k+1), k=0 (1)

with st+k+1 = д(st+k , at+k ).

The overall state-independent policy performance F(π) is obtained by averaging R(st , π) over all starting states st ∈ S ⊂ S. Thus, the optimal solutions to the RL problem are the policies πˆ where 1 Õ πˆ ∈ arg max F(π), with F(π) = R(st , π). (2) π ∈Π |S| st ∈S In optimization terminology, the policy performance function F(π) is known as the fitness function. For most real-world industrial control problems, the cost of executing a potentially bad policy is prohibitive. Therefore, in model-based RL [5], the state transition function д is approximated by a model д˜, that is either a first-principles model or has been created from previously recorded data. Substituting д˜ for the real system д in (1) allows us to obtain a model-based approximation F(˜ π) of the true fitness function (2). Here, we consider models based on neural networks (NNs), but the proposed method could be extended to other models, such as Bayesian NNs [8] and Gaussian process models [25]. The model-based RL approaches considered in this paper are based on data sets D of state transition samples gathered from a real system. These samples are tuples (st , at , st+1,rt+1) that represent a start state st transitioning to a next state st+1 owing to take action at and yielding a reward rt+1. The set D can be generated using any policy (even a random one) prior to policy training and is subsequently used to generate world models д˜ that take inputs (st , at ) and predict st+1 and rt+1.

2.2 Fuzzy Controller Fuzzy set theory was first proposed by Zadeh [34]. Based on this theory, Mamdani and Assilian [22] subsequently introduced so-called fuzzy controllers, specified by sets of linguistic if-then rules, whose membership functions canbe activated independently to produce a combined output, computed by a suitable defuzzification function. In a D-inputs-single-output system with C rules, the fuzzy rules R(i) can be expressed as follows:

R(i) : IF s is m(i) THEN o(i), with i ∈ {1,...,C}, (3) where s ∈ RD is the input vector (environment state, in our case), m(i) is the membership of a fuzzy set of the input vector in the premise part, and o(i) is a real number in the consequent part. We use Gaussian membership functions [33]. These multivariate Gaussian functions are formed from products over all membership dimensions and yield smooth outputs, are local, and never produce zero activation. We define each rule’s membership function as follows: D Ö (i)( ) [ (i) (i)]( ) ( (i) (i) ) m s = m c , σ s = d cj , σj ,sj , (4) j=1  (c − s)2  with d(c, σ,s) = exp − , (5) 2σ 2 where m(i) is the i-th parameterized Gaussian m(c, σ), with center c(i) and width σ (i).

Manuscript submitted to ACM Generating Interpretable Fuzzy Controllers using PSO and GP 5

The output is determined by the following equation: ! ÍC m(i)(s)· o(i) π(s) = tanh α · i=1 , (6) ÍC (i) i=1 m (s) where the hyperbolic tangent limits the output to be between -1 and 1, and the parameter α can be used to change the function’s slope.

2.3 Fuzzy Particle Swarm Reinforcement Learning FPSRL is a PSO-based approach to solve model-based batch RL problems [13]. PSO is a population-based, non-convex, stochastic optimization heuristic and can be applied to any search space that is a bounded sub-space of a finite- dimensional vector space [17]. The position of each particle in the swarm represents a potential solution to the given problem. The particles fly iteratively through the multidimensional search space, which is referred to as the fitness landscape. At each iteration, the particles move and receive fitness values for their new positions. These values are used to update each particle’s velocity vector as well as those of all the other particles in a certain neighborhood. For a given maximization problem, the best particle positions at iteration p are calculated as follows:  xi (p), if F(xi (p)) > F(yi (p − 1)) yi (p) = (7) yi (p − 1), else,  where, in our framework, F is the fitness function given in (2) and the particle positions represent the policy parameters x. The parameter vector x ∈ X, where X is the set of valid Gaussian fuzzy parameterizations, is of size (2D + 1)· C + 1 and can be presented as follows:

( (1) (1) (1) (1) (1) (1) (1) x = c1 ,c2 ,...,cD , σ1 , σ2 ,..., σD ,o , (2) (2) (2) (2) (2) (2) (2) c1 ,c2 ,...,cD , σ1 , σ2 ,..., σD ,o ,..., (8) (C) (C) (C) (C) (C) (C) (C) ) c1 ,c2 ,...,cD , σ1 , σ2 ,..., σD ,o , α . 2.3.1 Rule Construction. To set up the FPSRL training process, we must take an assumption about the number of rules per policy during the rule construction step (Fig. 1). This requires either prior knowledge about the current problem, or testing different numbers of rules combinatorially [13].

2.3.2 Feature Selection. Industrial applications usually have dozens or even hundreds of possible state features, collected by different plant sensors. However, in our experience, very often only a small subset of them arerequired to create a policy that performs well. Unfortunately, determining the most important features is an expensive and ambiguous process, but it is nonetheless essential if we are to apply promising techniques such as FPSRL to industrial applications. Therefore, we propose a two-step approach that yields lists of features for each action, which are ordered by their relevance to an optimal policy. First, an optimal trajectory is generated by applying the PSO-P receding horizon controller [12, 14] to the system model д˜. Here, PSO-P uses the model д˜ to determine action sequences (at , at+1,..., aT ) starting from the state st . The first action at in the optimal sequence is stored in the tuple (st , at ), and this process is repeated for all possible states in the data set D. Note that no explicit policy representation is required to use the model to generate optimal actions. Manuscript submitted to ACM 6 D. Hein et al.

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

Fig. 2. A fuzzy GP individual

Second, the AMIFS feature selection heuristic [30] is used to order the possible features (s1,s2,...) = s of state s in terms of their relevance to the individual action dimensions (a1, a2,...) = a. AMIFS uses mutual information as a measure of feature relevance and redundancy to reveal non-linear feature-action relations.

Finally, the resulting ordered feature lists, e.g., {s3,s2,s1}a1 and {s2,s1,s3}a2 for the action dimensions a1 and a2, are used to construct compact and interpretable fuzzy rule representations, whose parameters will then be optimized by FPSRL.

2.4 Fuzzy Genetic Programming Reinforcement Learning In this section, we introduce a GP-based approach that can generate interpretable fuzzy rule policies automatically using model-based batch RL. Analogously to FPSRL, FGPRL uses an approximate system model to predict the performance of policy candidates and subsequently uses this knowledge to iteratively generate high-performing policies. Unlike FPSRL, FGPRL not only optimizes the predefined policy parameters but also automatically selects the relevant state features, finds the necessary number of rules, and returns a Pareto front of policy candidates with different levels ofcomplexity. FGPRL is based on GP, which encodes computer programs as sets of genes and then modifies (evolves) them using a so-called (GA) to drive the optimization of the population. The solution spaces comprise computer programs that perform well on the given tasks [19]. Since we are interested in using interpretable fuzzy controllers as RL policies, the genes in our case include membership and defuzzification functions, as well as constant floating-point numbers and state variables. These fuzzy policies can be represented as function trees (Fig. 2) and stored efficiently in arrays. The GA drives the optimization process using selection and reproduction of population members, both of which are based on the members’ fitness values F . These represent how well each individual can perform the given task. Selection ensures that only the fittest individuals will survive into the next generation. Similar to the case of biological breeding process, pairs of individuals are selected for reproduction based on their fitness, and two offspring individuals are created for each pair by crossing their chromosomes. Technically, this is achieved by selecting compatible cutting points in the function trees and interchanging the subtrees below these cuts. Here, we apply tournament selection [4] to select the parent individuals. In addition, we use strongly-typed GP for FGPRL to avoid constructing ill-defined rules [2]. This means that each building block is assigned a type (Table 1). The different colors in Fig. 2 highlight the example GP individual’s type structure. During the crossover process, only cutting points of equal type (color) are selected to ensure that only legal offspring are created. We adopt the so-called Gaussian mutator as the mutation operator for floating-point terminals, which is common for evolutionary algorithms [27, 28]. In each generation, a given fraction of the best-performing individuals is selected for Manuscript submitted to ACM Generating Interpretable Fuzzy Controllers using PSO and GP 7

Type Complexity Variable s π,m¯,d¯ 0 Floating-point number c, σ,o, α s 1 Dimension d,d¯ c, σ,o, α 1 Rule m,m¯ d 2 Policy π m 10 Table 1. Types and complexities of the GP building blocks. The terminal blocks m¯ and d¯ have values 0 and 1, respectively.

each level of rule complexity. Then, these individuals are copied, and their original floating-point values z are mutated by drawing replacement values z′ from the normal distribution N(z, 0.1|z|). If the best copy’s performance is better than that of the original individual, it is added to the new population. This allows us to conduct a local search in the policy space because it does not affect the individual’s basic genotype structure. To yield fuzzy rules with the structure described in Section 2.2, we must apply an additional tree correction. The GA can construct rules where two or more activation functions act on the same state variable, such as in Fig. 2 where the same s appears twice below the same rule m. Such rules are expected to be difficult to interpret since their shape does not conform the standard Takagi-Sugeno fuzzy inference model. For FGPRL, we decided to check every tree before evaluating its fitness by looking for recurring state variables and cutting out their corresponding activation functions. Note that the structures of the subsequent activation functions are not affected. Since we are looking for interpretable solutions, we need to establish a suitable complexity measure. An individual’s complexity can generally be measured in terms of its genotype (structural) or phenotype (functional) [20]. Here, we decided to use a simple node counting measurement strategy where different types of functions, variables, and terminals were weighted differently. Table 1 lists the weights (complexities) we decided to use in our experiments. Note thatthe weights yield a problem-specific balance between learning controllers consisting of more rules with less dimensions and vice versa. Finally, we decided to create new generations for FGPRL using the following ratios: 45% crossover, 5% reproduction, 10% mutation, and 40% new random individuals.

2.4.1 Local Search. Since FGPRL’s GP process searches the entire fuzzy policy structure space, it is prone to underestimate the importance of local fuzzy parameter tuning [23, 31]. We propose to counteract this by applying an additional parameter tuning step to all the terminals (c, σ,o, α) after optimization is complete (Fig. 1). Applying PSO to every individual in the final Pareto front yields an updated front comprising at most the same number of individuals with equal or higher fitness values.

3 EXPERIMENTS In this section, we evaluate both approaches, FPSRL and FGPRL, using two benchmarks. The first is the so-called cart-pole swing-up problem (CP), a widely known RL benchmark, that was selected to demonstrate the methods’ performance on a task where they could be easily compared with other RL methods. However, CP has a low-dimensional state space and its dynamics are deterministic and smooth. To investigate these methods’ performance on real-world industry applications, we also selected a second benchmark, the industrial benchmark (IB). This combines a high-dimensional Manuscript submitted to ACM 8 D. Hein et al.

FPSRL FGPRL Particles/Individuals 1, 000 1, 000 Iterations/Generations × 10, 000 × 10, 000 Fitness value calculations (A) 1e+7 1e+7 Optimization result Single policy Pareto front of policies 1 22 to 41 Additional local search × 0 × 1e+6 Additional local fitness value calc. (B) 0 2.2e+7 to 4.1e+7 Runs for multiple complexities 4 1 (A) × 1e+7 × 1e+7 Fitness value calc. for multiple compl. (C) 4e+7 1e+7 Total fitness value calc. (B)+(C) 4e+7 3.2e+7 to 5.1e+7 Table 2. Computational costs for FPSRL and FGPRL

state space with stochastic dynamics, thus making its results increasingly meaningful for industrial applications, such as controlling wind and gas turbines. To compare the computational costs of FPSRL with FGPRL, we decided to use the parameter values shown in Table 2 for our experiments. Unlike FPSRL, FGPRL produces a whole Pareto front of solutions with different complexity and fitness values, while FPSRL only yields one solution, derived from its initial rule set. Note that although itisuseful for FGPRL, FPSRL does not require any additional local optimization. Consequently, we chose the additional local search and runs for multiple complexities settings to produce similar total fitness value calculations, yielding the results presented below.

3.1 Cart-pole Swing-up 3.1.1 Dynamics. The objective of the CP benchmark is to apply forces to a cart moving along a one-dimensional track to keep a pole (hinged to the cart) in an upright position. The four Markov state variables are the pole’s angle θ and angular velocity θÛ, and the cart’s position ρ and velocity ρÛ. These variables completely describe the Markov state; therefore, no additional information is required about the system’s previous behavior. The RL agent’s task is to find a sequence of force actions at , at+1, at+2,... that prevent the pole from falling over [9]. The CP experiments described in this paper were conducted using the CLS2 software1. There are no restrictions on the cart’s position or the pole’s angle. Consequently, the pole can swing through, which is an important property of the CP. Since the pole’s angle can initially be anywhere in the full interval [−π, π], it is often necessary for the policy to swing the pole from one side to another to gain sufficient momentum to raise itand consequently receive the highest reward. CP policies can apply actions of between −30 N and +30 N to the cart, and the reward function is given as follows:

 ′ ′ 0, if |θ | < 0.5 and |ρ | < 0.5, r(s) = (9) −1, otherwise.  1http://ml.informatik.uni-freiburg.de/research/clsquare. Manuscript submitted to ACM Generating Interpretable Fuzzy Controllers using PSO and GP 9

Model penalty Real system penalty 150 150 + FPSRL FGPRL

100 100

model penalty 50 50 real dynamics penalty

0 100 200 3000 100 200 300 complexity complexity

Fig. 3. Comparison of FPSRL and FGPRL performance for the CP, for both the model and the real system. Here, the penalty is equal to the negative fitness. The green lines represent the median Pareto fronts over the FGPRL experiments. The semi-transparent green areas show the minimum and maximum penalties obtained from the experiments, while the black crosses indicate the FPSRL results. These show, from top to bottom, the maximum, median, and minimum penalties for each complexity level. The Pareto fronts resulting from training on the system model are on the left, while the right-hand plot shows the manner in which testing the same policies against the real system dynamics altered the fronts.

3.1.2 Benchmark Setup. Initially, we generated data set D by applying random actions using the real CP dynamics. Generating 100 state-action trajectories of length 100 gave us |D| = 10, 000. These trajectories’ initial states (θ,θÛ, ρ, ρÛ) were sampled uniformly from [−π, π] × {0} × {0} × {0}. Then, we trained five NN system models д˜, one for each state variable and one for predicting the probability of reaching the goal region [13]. These system models д˜ were subsequently used in model-based RL, with a time horizon T of 500 and a discount factor γ of 0.994. The training process involved 100 training states sampled from [−π, π] × {0} × [−0.5, 0.5] × {0}. Solutions with F ≈ −50 or greater were considered to be successful because such policies could swing-up more than 99% of the given test states. Finally, the best policies were tested against the real system dynamics using the same T and γ parameter values but a different set of 100 test states sampled from [−π, π] × {0} × [−0.5, 0.5] × {0}.

3.1.3 Results. Here, we compare the results of CP experiments in which we ran the benchmark for each method 10 times. FPSRL produced 40 policies for 4 complexity levels, while FGPRL produced 278 policies for 96 complexity levels. Note that both methods involved a similar number of fitness value calculation (Table 2). Since it is known that, for the CP, all four Markov state variables are required to produce policies that perform well, we skipped the feature selection step for FPSRL (Fig. 1) and invested the fitness value calculations budget in evaluating different numbers of rules, i.e., 2, 4, 6, and 8 rules yielding complexities of 63, 125, 187, and 249, respectively. Fig. 3 shows that for problems such as the CP, which have low-dimensional state spaces and no irrelevant or redundant state variables, applying prior knowledge to the rule construction step yields a rule structure that can be easily tuned to produce high-performance, interpretable fuzzy policies. FPSRL can utilize all the available computational resources to tune a fixed set of parameters. However, FGPRL has to employ the same resources to search a significantly larger space of possible solutions. Note that although FGPRL is theoretically able to produce exactly the same fuzzy policies for a complexity of 63 as FPSRL, it was unable to find a comparable solution for the system models in any of our experiments (Fig. 3). The best individual it produced with a complexity of 63 or less had a penalty value of 48.88, which was even above the median FPSRL penalty value of 47.05. Manuscript submitted to ACM 10 D. Hein et al.

Comparing the model and real dynamics penalties yields another interesting observation. Even though the best FGPRL policies never surpassed FPSRL’s performance for complexities of 300 and below on the system model, when they were evaluated using the real dynamics, some FGPRL policies actually performed better than the FPSRL policies. This could possibly be because the swarm optimization had already started to overfit the fuzzy parameters with respect to the system model; this means that FPSRL was exploiting model inaccuracies, thus reducing its performance on the real dynamics.

3.2 Industrial Benchmark 3.2.1 Dynamics. The IB2 was designed to simulate several of the common challenges associated with many industrial applications [11]. It was not designed to approximate any specific real-world system but to be of a comparable hardness and complexity to many industrial applications. The IB’s state space is continuous, high-dimensional, and only partially observable. The actions are made up of three continuous components and affect three control inputs. In addition, the IB includes stochastic and delayed effects.The optimization task also involves multiple criteria; there are two reward components with opposite dependencies on the actions. Its dynamics are heteroscedastic, with state-dependent observation noise and probability distributions that are based on latent variables. Finally, it depends on an external driver that cannot be influenced by the actions. 3 At any given time step t, the RL agent can influence the state via actions at ∈ [−1, 1] that change the three observable state control variables, namely the velocity v, gain д, and shift h, i.e., at = (∆vt , ∆дt , ∆ht ). The state st and successor state st+1 are the Markov environment states. They can only be partially observed by the agent. In addition to the three control variables, v, д, and h, there is a setpoint p that simulates an external force, such as the load on a power plant or the speed of the wind driving a turbine that the agent cannot control but still has a significant influence on the system’s dynamics. The system also suffers from a detrimental fatigue ft , which depends on the setpoint p and the chosen control values at , and consumes resources, such as power and fuel, represented by the consumption ct . At each time step, it generates output values for ct+1 and ft+1, which are part of the internal state st+1. The reward is calculated as rt+1 = −ct+1 − 3ft+1. Note that the IB system’s complete Markov state s is unobservable. Only the observation vector o = (v,д,h,p,c, f ) ⊂ s can be observed externally. The Markov state st can be approximated using a sufficient number of historic observations ( ot−H , ot−H +1,..., ot ) with a time horizon H. A system model д˜ ( ot−H , ot−H +1,..., ot , at ) that computes (ot+1,rt+1) with H = 30, achieved adequate prediction performance during our IB experiments. Note that combining the six- dimensional observation vector with a time horizon H of 30 results in a 180-dimensional approximate Markovian state vector.

3.2.2 Benchmark Setup. The system was initialized for each setpoint p in {10, 20,..., 100} and then random trajectories of length 1,000 were produced. This process was repeated 10 times, resulting in a data set of size |D| = 100, 000. Following the approach reported in [15], we trained two recurrent NNs д˜ to predict the consumption c and fatigue f . These models д˜ were then used in model-based RL, with a time horizon T of 100 and a discount factor γ of 0.97. The training process involved 100 training states, drawn randomly from states in D. Finally, the best policies were tested against the real system dynamics, using the same T and γ parameter values, but a different set of 100 test states drawn randomly from states in D.

2http://github.com/siemens/industrialbenchmark Manuscript submitted to ACM Generating Interpretable Fuzzy Controllers using PSO and GP 11

3 Model penalty Real system penalty ⋅10 90009 9000 + FPSRL FGPRL 80008 8000

70007 7000 model penalty 60006 6000 real dynamics penalty

0 50 100 150 200 2500 50 100 150 200 250 complexity complexity

Fig. 4. Comparison of FPSRL and FGPRL performance for the IB, for both the model and the real system

3.2.3 Results. As with the CP experiments, we ran the IB benchmark 10 times for each method. FPSRL produced 40 policies for 4 complexity levels, while FGPRL produced 368 policies for 86 complexity levels. To construct interpretable fuzzy rules using FPSRL, we have to select suitable features before swarm optimization of the fuzzy parameters (Section 2.3). The proposed method identified the following state variables as being themost important for each action dimension: ∆v: {f0,v7,c13,h0}, ∆д: {c0, f1,c15,p}, and ∆h: {h4,p,h10,h0}. Here, the variables are listed in descending order of importance and the indices represent the time elapsed since the observation. Four different fuzzy rule structures were constructed based on these variables. The first policy with a complexity of99, incorporated only the first variable in each list into two rules per action dimension, while the other policies, with complexities of 129, 159, and 189, incorporated the first two, the first three, or all four variables, respectively. Using the proposed feature selection heuristic, FPSRL was able to generate policies with adequate performance (F˜ = −5700) for complexities of 129 or higher (Fig. 4). However, FGPRL was able to generate policies of a significant low complexity with a higher performance, achieving F˜ = −5635 at a complexity of 94 (Fig. 5). Moreover, the FGPRL search space covers all possible combinations of state dimensions and numbers of rules for each individual action. For industrial problems where the state-to-action dependencies are not known a priori, we expect this ability to search autonomously to be highly valuable to control system designers and domain experts. Comparing the policies’ performance on the approximate IB model with their performance on the real IB dynamics shows that the results of training can be transferred to the real system as long as their regression and generalization quality is adequate (Fig. 4).

4 CONCLUSION In this paper, we have evaluated two approaches to learn fuzzy control policies autonomously in terms of their performance and interpretability in industrial applications. We have considered applications with high-dimensional continuous state and action spaces and have proposed a feature selection heuristic that enables the previously presented FPSRL approach to be applied successfully in such industrial domains. Our second contribution is a GP-based fuzzy policy learning approach called FGPRL that utilizes the same model-based batch RL technique as FPSRL. However, instead of only tuning the parameters of fixed fuzzy policy structures, FGPRL searches the full space of all possible fuzzy controllers by determining the important state variables and the number of rules required and subsequently tunes all the rule parameters. Manuscript submitted to ACM 12 D. Hein et al.

AAAC0HichVFLS8NAEJ7GV1tfVY9egkXwYkhqwXoQCj7wIlQ0tlCLbNJtDc2LJC3UIuLVo1f9Y/pbPPjtmgpapBs2M/vNN9/O7Fih68SJrr9nlJnZufmFbC6/uLS8slpYW7+Og35kc9MO3CBqWCzmruNzM3ESlzfCiDPPcnnd6h2JeH3Ao9gJ/KtkGPKWx7q+03FslgBqBIe7hlbaK98Wirqmy6VOOkbqFCldtaDwQTfUpoBs6pNHnHxK4LvEKMbXJIN0CoG1aAQsgufIOKcHyiO3DxYHgwHt4d/FqZmiPs5CM5bZNm5xsSNkqrSNfSoVLbDFrRx+DPuJfS+x7r83jKSyqHAIa0ExJxXPgSd0B8a0TC9ljmuZnim6SqhDFdmNg/pCiYg+7R+dY0QiYD0ZUelEMrvQsOR5gBfwYU1UIF55rKDKjtuwTFouVfxUkUEvghWvj3owZuPvUCcds6QdaMZFuVitpPPO0iZt0Q6Guk9VOqMayhDDfKFXelMulaHyqDx9U5VMmrNBv5by/AW/3ZBy AAAC0HichVFLS8NAEJ7GV1tfVY9egkXwYkhEtB6Egg+8CBWNLdQim3QbQ/MiSQu1iHj16FX/mP4WD367poIW6YbNzH7zzbczO1bkuUmq6+85ZWp6ZnYuXyjOLywuLZdWVq+TsBfb3LRDL4wbFku45wbcTN3U440o5sy3PF63ukciXu/zOHHD4CodRLzlMydwO67NUkCN8HDbMLS9ym2prGu6XOq4Y2ROmbJVC0sfdENtCsmmHvnEKaAUvkeMEnxNMkinCFiLhsBieK6Mc3qgInJ7YHEwGNAu/g5OzQwNcBaaicy2cYuHHSNTpU3sU6logS1u5fAT2E/se4k5/94wlMqiwgGsBcWCVDwHntIdGJMy/Yw5qmVypugqpQ5VZDcu6oskIvq0f3SOEYmBdWVEpRPJdKBhyXMfLxDAmqhAvPJIQZUdt2GZtFyqBJkig14MK14f9WDMxt+hjjvmjnagGRe75Wolm3ee1mmDtjDUfarSGdVQhhjmC73Sm3KpDJRH5embquSynDX6tZTnL84/kHg=

Example AAAC03ichVFLS8NAEJ7GV1tfVY9egkXwYkikYD0IBR94ESqYtlBLSdJtDc2LTVqo1Yt49ehVf5f+Fg9+u6aCFumGzcx+8823Mzt25LlxouvvGWVufmFxKZvLL6+srq0XNjZrcTjgDjOd0At5w7Zi5rkBMxM38Vgj4szybY/V7f6JiNeHjMduGFwno4i1fKsXuF3XsRJAzWFbP94/MAytXGoXirqmy6VOO0bqFCld1bDwQTfUoZAcGpBPjAJK4HtkUYyvSQbpFAFr0RgYh+fKOKMHyiN3ABYDwwLax7+HUzNFA5yFZiyzHdziYXNkqrSLfS4VbbDFrQx+DPuJfSex3r83jKWyqHAEa0MxJxUvgSd0C8asTD9lTmqZnSm6SqhLZdmNi/oiiYg+nR+dU0Q4sL6MqHQmmT1o2PI8xAsEsCYqEK88UVBlxx1YS1omVYJU0YIehxWvj3owZuPvUKcd80A70oyrUrFSTuedpW3aoT0M9ZAqdEFVlCHG8kKv9KbUlHvlUXn6piqZNGeLfi3l+Qsh2ZFc Example Rule 1: IF AAAC0XichVFLS8NAEJ7GV1tfVY9egkXwFBIVWw9CwQdehAqNrdRSNuk2huZFkhbaIohXj171h+lv8eCXNRW0SDdsZvabb76d2TECx45iVX3PSHPzC4tL2Vx+eWV1bb2wsXkT+f3Q5LrpO37YMFjEHdvjemzHDm8EIWeu4fC60TtN4vUBDyPb92rxMOAtl1me3bVNFgO67bbVk4OSoh21C0VVUcWSpx0tdYqUrqpf+KA76pBPJvXJJU4exfAdYhTha5JGKgXAWjQGFsKzRZzTA+WR2weLg8GA9vC3cGqmqIdzohmJbBO3ONghMmXaxb4QigbYya0cfgT7iT0SmPXvDWOhnFQ4hDWgmBOKV8BjugdjVqabMie1zM5MuoqpS2XRjY36AoEkfZo/OmeIhMB6IiLTuWBa0DDEeYAX8GB1VJC88kRBFh13YJmwXKh4qSKDXgibvD7qwZi1v0OddvR95VjRrg+LlXI67yxt0w7tYaglqtAlVVGGiUJe6JXepJo0kh6lp2+qlElztujXkp6/AM56kNw= AND AAAC0XichVFLS8NAEJ7GV1tfVY9egkXwFBIttB6Egg+8CBUaW6mlJOk2Ls2LJC20RRCvHr3qD9Pf4sEvaypokW7YzOw333w7s2MGDo9iVX3PSAuLS8sr2Vx+dW19Y7OwtX0T+YPQYrrlO37YNI2IOdxjesxjhzWDkBmu6bCG2T9N4o0hCyPue/V4FLC2a9ge73HLiAHdDjvlk5KmHJU6haKqqGLJs46WOkVKV80vfNAddckniwbkEiOPYvgOGRTha5FGKgXA2jQBFsLjIs7ogfLIHYDFwDCA9vG3cWqlqIdzohmJbAu3ONghMmXax74QiibYya0MfgT7iT0WmP3vDROhnFQ4gjWhmBOKV8BjugdjXqabMqe1zM9MuoqpRxXRDUd9gUCSPq0fnTNEQmB9EZHpXDBtaJjiPMQLeLA6Kkheeaogi467sIawTKh4qaIBvRA2eX3UgzFrf4c66+iHyrGiXZeK1Uo67yzt0h4dYKhlqtIl1VCGhUJe6JXepLo0lh6lp2+qlElzdujXkp6/APoykO4= THEN . Rule 1: IF THEN .

1 1 1

AAAC0XichVFLS8NAEJ7GV1tfVY9egkXwFBIftB6Egg+8CBUaW6mlbNJtDM2LJC20RRCvHr3qD9Pf4sEvaypokW7YzOw333w7s2MEjh3FqvqekebmFxaXsrn88srq2nphY/Mm8vuhyXXTd/ywYbCIO7bH9diOHd4IQs5cw+F1o3eaxOsDHka279XiYcBbLrM8u2ubLAZ0222rJwcl5UhrF4qqooolTzta6hQpXVW/8EF31CGfTOqTS5w8iuE7xCjC1ySNVAqAtWgMLIRnizinB8ojtw8WB4MB7eFv4dRMUQ/nRDMS2SZucbBDZMq0i30hFA2wk1s5/Aj2E3skMOvfG8ZCOalwCGtAMScUr4DHdA/GrEw3ZU5qmZ2ZdBVTl8qiGxv1BQJJ+jR/dM4QCYH1RESmc8G0oGGI8wAv4MHqqCB55YmCLDruwDJhuVDxUkUGvRA2eX3UgzFrf4c67ej7yrGiXR8WK+V03lnaph3aw1BLVKFLqqIME4W80Cu9STVpJD1KT99UKZPmbNGvJT1/AcwZkNs= AAAC0XichVFLS8NAEJ7GV1tfVY9egkXwFBKptB6Egg+8CBUaW6mlbNJtDM2LJC20RRCvHr3qD9Pf4sEvaypokW7YzOw333w7s2MEjh3FqvqekRYWl5ZXsrn86tr6xmZha/sm8gehyXXTd/ywabCIO7bH9diOHd4MQs5cw+ENo3+axBtDHka279XjUcDbLrM8u2ebLAZ0O+yUT0oVpXzUKRRVRRVLnnW01ClSump+4YPuqEs+mTQglzh5FMN3iFGEr0UaqRQAa9MEWAjPFnFOD5RH7gAsDgYD2sffwqmVoh7OiWYksk3c4mCHyJRpH/tCKBpgJ7dy+BHsJ/ZYYNa/N0yEclLhCNaAYk4oXgGP6R6MeZluypzWMj8z6SqmHlVENzbqCwSS9Gn+6JwhEgLri4hM54JpQcMQ5yFewIPVUUHyylMFWXTchWXCcqHipYoMeiFs8vqoB2PW/g511tEPlWNFuy4Vq5V03lnapT06wFDLVKVLqqEME4W80Cu9SXVpLD1KT99UKZPm7NCvJT1/ARcWkPo= AAAC0XichVFLS8NAEJ7GV1tfVY9egkXwFBKptB6Egg+8CBUaW6mlJOk2huZFkhbaIohXj171h+lv8eC3aypokW7YzOw333w7s2OGrhMnqvqekRYWl5ZXsrn86tr6xmZha/smDgaRxXQrcIOoaRoxcx2f6YmTuKwZRszwTJc1zP4pjzeGLIqdwK8no5C1PcP2nZ5jGQmg22FHPSlVlPJRp1BUFVUsedbRUqdI6aoFhQ+6oy4FZNGAPGLkUwLfJYNifC3SSKUQWJsmwCJ4jogzeqA8cgdgMTAMoH38bZxaKerjzDVjkW3hFhc7QqZM+9gXQtEEm9/K4Mewn9hjgdn/3jARyrzCEawJxZxQvAKe0D0Y8zK9lDmtZX4m7yqhHlVENw7qCwXC+7R+dM4QiYD1RUSmc8G0oWGK8xAv4MPqqIC/8lRBFh13YQ1hmVDxU0UDehEsf33UgzFrf4c66+iHyrGiXZeK1Uo67yzt0h4dYKhlqtIl1VCGhUJe6JXepLo0lh6lp2+qlElzdujXkp6/AAYpkPM= Velocity Velocity

0.5 0.50.5 0.5

AAAC+HichVFNSxxBEH1OYtSNJqs55rJkiQji0GtkPw6CYJRcBIVsFFyRnrF3HXa+6JkVzLD/In/Ak3jNMVfzJ+JvycHX7RhQCfbQU9WvXr2u6vLSMMhyIf5MOC9eTr6amp6pvJ6de/O2Or/wLUtG2lddPwkTfeDJTIVBrLp5kIfqINVKRl6o9r3hponvnymdBUn8NT9P1VEkB3HQD3yZEzquunGio8X1Xl9Lv1h1heisCLfdbI0L4XZazWXhtsSnca9XWVwXbrN9XK0LksyqPXUapVNHuXaT6g16OEECHyNEUIiR0w8hkfE7RAMCKbEjFMQ0vcDGFcaoMHdEliJDEh3yP+DpsERjno1mZrN93hJya2bW8JF72yp6ZJtbFf2M9i/3d4sN/ntDYZVNhee0HhVnrOIO8RynZDyXGZXM+1qezzRd5eijbbsJWF9qEdOn/0/nMyOa2NBGatiyzAE1PHs+4wvEtF1WYF75XqFmOz6hldYqqxKXipJ6mta8PuvhmBuPh/rU6a66Hbext1bfaJfznsZ7fMASh9rCBr5gl2X4+IFfuMZvp3AunEvn6o7qTJQ57/BgOT9vATVynJY= AAAC+HichVFNSxxBEH2OMdFNTFZzzGXJEgmIQ88iunsQhBjxIii4UXBFesbeddj5omdWWJf9F/4BT+LVY67xTyS/xYOv21FIJNhDT1W9qnpdH34WhXkhxO8JZ/LV1Os30zOVt+9m33+ozs3/yNOBDlQ7SKNUH/gyV1GYqHYRFpE6yLSSsR+pfb//zfj3z5TOwzTZK4aZOoplLwm7YSALQsdVN0l1vLDW6WoZjDy3tdxcEu5qQ4xpCCEWhStWGuNOp7Kw5rneynG1LgzOU3uueKVSR3l20uofdHCCFAEGiKGQoKAeQSLndwgPAhmxI4yIaWqh9SuMUWHugFGKEZJon/8ercMSTWgbztxmB3wl4tXMrOEL76Zl9BltXlXUc8o73nOL9f77wsgymwqHlD4ZZyzjNvECp4x4KTMuIx9reTnTdFWgi6btJmR9mUVMn8ETzwY9mljfemr4biN75PCtfcYJJJRtVmCm/MhQsx2fUEorlWVJSkZJPk1pps96uGbv36U+V9oNt+V6u8v19Wa572l8wmd85VJXsY4t7LCMABf4iV+4dUbOpXPlXD+EOhNlzkf8dZybe+xBnHg= 0 0 0 6 38 69 36 49 61 36 49 61

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 6 38 69 36 49 61

AAACz3ichVFLS8NAEJ7GV1tfVY9egkXwFJKiWA9CwQdehCrGFmqRTbqNoXmRpMVaFK8eveov09/iwW/XVNAibtjM7DfffDuzY0Wem6S6/pZTpqZnZufyheL8wuLScmll9TIJ+7HNTTv0wrhpsYR7bsDN1E093oxiznzL4w2rdyDijQGPEzcMLtJhxNs+cwK369osBdQI9yuavlO9LpV1TZdLnXSMzClTtuph6Z2uqEMh2dQnnzgFlML3iFGCr0UG6RQBa9MIWAzPlXFO91REbh8sDgYD2sPfwamVoQHOQjOR2TZu8bBjZKq0iX0sFS2wxa0cfgL7gX0nMefPG0ZSWVQ4hLWgWJCKp8BTugHjv0w/Y45r+T9TdJVSl6qyGxf1RRIRfdrfOoeIxMB6MqLSkWQ60LDkeYAXCGBNVCBeeaygyo47sExaLlWCTJFBL4YVr496MGbj91AnHbOi7WnG2Xa5Vs3mnad12qAtDHWXanRCdZQhGnymF3pVzpVb5UF5/KIquSxnjX4s5ekTOLmQQA==

AAACzHichVFLS8NAEJ7GV1tfVY9egkXwVBIRrLeCD7yIFYwt1CKbdBtD82KTFGrp1aNX/Wv6Wzz47ZoKWqQbNjP7zTffzuzYse8lqWG8F7SFxaXllWKpvLq2vrFZ2dq+S6JMONxyIj8SbZsl3PdCbqVe6vN2LDgLbJ+37MGpjLeGXCReFN6mo5h3A+aGXt9zWKogkfGHStWoGWrps46ZO1XKVzOqfNA99SgihzIKiFNIKXyfGCX4OmSSQTGwLo2BCXieinOaUBm5GVgcDAZ0gL+LUydHQ5ylZqKyHdziYwtk6rSPfaEUbbDlrRx+AvuJ/aQw998bxkpZVjiCtaFYUopXwFN6BGNeZpAzp7XMz5RdpdSnuurGQ32xQmSfzo/OGSIC2EBFdDpXTBcatjoP8QIhrIUK5CtPFXTVcQ+WKcuVSpgrMugJWPn6qAdjNv8OddaxDmsnNfPmqNqo5/Mu0i7t0QGGekwNuqQmynDQ9Au90pt2rWXaWJt8U7VCnrNDv5b2/AX7WZA5 AAACz3ichVFLS8NAEJ7GV1tfVY9egkXwFBIp2B6Egg+8CFWMFWqRTbqNoXmRpMVaFK8eveov09/iwW/XVNAi3bCZ2W+++XZmx4o8N0l1/T2nzMzOzS/kC8XFpeWV1dLa+mUS9mObm3bohfGVxRLuuQE3Uzf1+FUUc+ZbHm9avQMRbw54nLhhcJEOI972mRO4XddmKaBmuG9otUr1plTWNV0uddIxMqdM2WqEpQ+6pg6FZFOffOIUUArfI0YJvhYZpFMErE0jYDE8V8Y5PVARuX2wOBgMaA9/B6dWhgY4C81EZtu4xcOOkanSNvaxVLTAFrdy+AnsJ/a9xJx/bxhJZVHhENaCYkEqngJP6RaMaZl+xhzXMj1TdJVSl6qyGxf1RRIRfdo/OoeIxMB6MqLSkWQ60LDkeYAXCGBNVCBeeaygyo47sExaLlWCTJFBL4YVr496MGbj71AnHXNXq2nGWaVcr2bzztMmbdEOhrpHdTqhBsoQDb7QK70p58qd8qg8fVOVXJazQb+W8vwFSYmQRw==

Rule 2: IF AAAC0XichVFLS8NAEJ7GV1tfVY9egkXwFBIftB6Egg+8CBUaW6mlbNJtDM2LJC20RRCvHr3qD9Pf4sEvaypokW7YzOw333w7s2MEjh3FqvqekebmFxaXsrn88srq2nphY/Mm8vuhyXXTd/ywYbCIO7bH9diOHd4IQs5cw+F1o3eaxOsDHka279XiYcBbLrM8u2ubLAZ0222rJwdHykGpXSiqiiqWPO1oqVOkdFX9wgfdUYd8MqlPLnHyKIbvEKMIX5M0UikA1qIxsBCeLeKcHiiP3D5YHAwGtIe/hVMzRT2cE81IZJu4xcEOkSnTLvaFUDTATm7l8CPYT+yRwKx/bxgL5aTCIawBxZxQvAIe0z0YszLdlDmpZXZm0lVMXSqLbmzUFwgk6dP80TlDJATWExGZzgXTgoYhzgO8gAero4LklScKsui4A8uE5ULFSxUZ9ELY5PVRD8as/R3qtKPvK8eKdn1YrJTTeWdpm3ZoD0MtUYUuqYoyTBTyQq/0JtWkkfQoPX1TpUyas0W/lvT8BdDbkN0= AND AAAC0XichVFLS8NAEJ7GV1tfVY9egkXwFJKitB6Egg+8CBUaW6mlJOk2huZFkhbaIohXj171h+lv8eC3aypokW7YzOw333w7s2OGrhMnqvqekRYWl5ZXsrn86tr6xmZha/smDgaRxXQrcIOoaRoxcx2f6YmTuKwZRszwTJc1zP4pjzeGLIqdwK8no5C1PcP2nZ5jGQmg22GnfHKkKuVSp1BUFVUsedbRUqdI6aoFhQ+6oy4FZNGAPGLkUwLfJYNifC3SSKUQWJsmwCJ4jogzeqA8cgdgMTAMoH38bZxaKerjzDVjkW3hFhc7QqZM+9gXQtEEm9/K4Mewn9hjgdn/3jARyrzCEawJxZxQvAKe0D0Y8zK9lDmtZX4m7yqhHlVENw7qCwXC+7R+dM4QiYD1RUSmc8G0oWGK8xAv4MPqqIC/8lRBFh13YQ1hmVDxU0UDehEsf33UgzFrf4c66+gl5VjRrg+L1Uo67yzt0h4dYKhlqtIl1VCGhUJe6JXepLo0lh6lp2+qlElzdujXkp6/AP8BkPA= THEN . Rule 2: IF THEN .

1 1 1.00 1.00

0.703 * -1.234 = -0.867

0.5 0.50.5 0.00 0.00

0 0 -1.00 -1.00 6 38 69 36 49 61 -0.5 0 0.5 -1 0 1

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 Rule 2: IF AND THEN .

AAAC03ichVFLS8NAEJ7GV1tfVY9egkXwYkisaD0IBR94ESqYtlBLSdJtDM2LJC3U6kW8evSqv0t/iwe/XVNBi3TDZma/+ebbmR0zdJ04UdX3jDQzOze/kM3lF5eWV1YLa+u1OOhHFtOtwA2ihmnEzHV8pidO4rJGGDHDM11WN3snPF4fsCh2Av86GYas5Rm273Qdy0gANbvt0vFu6UBT1HK7UFQVVSx50tFSp0jpqgaFD7qhDgVkUZ88YuRTAt8lg2J8TdJIpRBYi0bAIniOiDN6oDxy+2AxMAygPfxtnJop6uPMNWORbeEWFztCpkzb2OdC0QSb38rgx7Cf2HcCs/+9YSSUeYVDWBOKOaF4CTyhWzCmZXopc1zL9EzeVUJdKotuHNQXCoT3af3onCISAeuJiExngmlDwxTnAV7Ah9VRAX/lsYIsOu7AGsIyoeKnigb0Ilj++qgHY9b+DnXS0feUI0W72i9Wyum8s7RJW7SDoR5ShS6oijL4WF7old6kmnQvPUpP31Qpk+Zs0K8lPX8BBwuRUQ== Rule 1: IF AND THEN . Example AAAC0HichVFLS8NAEJ7GV1tfVY9egkXwFJJSbD0IBR94ESoaW6hFNum2huZFkhZqEfHq0av+Mf0tHvx2TQUt0g2bmf3mm29ndqzQdeJE198zytz8wuJSNpdfXlldWy9sbF7HwSCyuWkHbhA1LRZz1/G5mTiJy5thxJlnubxh9Y9EvDHkUewE/lUyCnnbYz3f6To2SwA1w8NSeV8rVW4LRV3T5VKnHSN1ipSuelD4oBvqUEA2DcgjTj4l8F1iFONrkUE6hcDaNAYWwXNknNMD5ZE7AIuDwYD28e/h1EpRH2ehGctsG7e42BEyVdrFPpWKFtjiVg4/hv3EvpdY798bxlJZVDiCtaCYk4rnwBO6A2NWppcyJ7XMzhRdJdSlquzGQX2hRESf9o/OMSIRsL6MqHQimT1oWPI8xAv4sCYqEK88UVBlxx1YJi2XKn6qyKAXwYrXRz0Ys/F3qNOOWdIONOOiXKxV03lnaZt2aA9DrVCNzqiOMsQwX+iV3pRLZaQ8Kk/fVCWT5mzRr6U8fwHkA5CB Example

AAAC0nichVFLS8NAEJ7GV1tfVY9egkXwFJIiWA9CwQdehArGFmspSbqNoXmRbAu1eBCvHr3q/9Lf4sFv11TQIt2wmdlvZr552bHvpVzX33PK3PzC4lK+UFxeWV1bL21sXqfRIHGY6UR+lDRtK2W+FzKTe9xnzThhVmD7rGH3j4W9MWRJ6kXhFR/FrB1Ybuj1PMfigG6cjn5kGFVNr3RKZV3T5VGnFSNTypSdelT6oFvqUkQODSggRiFx6D5ZlOJrkUE6xcDaNAaWQPOkndEDFRE7gBeDhwW0j7+LVytDQ7wFZyqjHWTxcRNEqrSLeyYZbXiLrAx6CvmJey8x998MY8ksKhxB2mAsSMYL4Jzu4DErMsg8J7XMjhRdcepRVXbjob5YIqJP54fnBJYEWF9aVDqVni44bPkeYgIhpIkKxJQnDKrsuAtpSckkS5gxWuBLIMX0UQ/WbPxd6rRiVrRDzbjcL9eq2b7ztE07tIelHlCNzqmOMhwkeaFXelNMZaw8Kk/frkoui9miX0d5/gJWLJEO

AAAC0XichVFLS8NAEJ7GV1tfVY9egkXwFBKttB6Egg+8CBUardRSNuk2huZFkhbaIohXj171h+lv8eCXNRW0SDdsZvabb76d2TECx45iVX3PSHPzC4tL2Vx+eWV1bb2wsXkd+f3Q5LrpO37YMFjEHdvjemzHDm8EIWeu4fAbo3eSxG8GPIxs36vHw4C3XGZ5dtc2WQzottvWjg8OlVK5XSiqiiqWPO1oqVOkdNX8wgfdUYd8MqlPLnHyKIbvEKMIX5M0UikA1qIxsBCeLeKcHiiP3D5YHAwGtIe/hVMzRT2cE81IZJu4xcEOkSnTLva5UDTATm7l8CPYT+yRwKx/bxgL5aTCIawBxZxQvAQe0z0YszLdlDmpZXZm0lVMXaqIbmzUFwgk6dP80TlFJATWExGZzgTTgoYhzgO8gAero4LklScKsui4A8uE5ULFSxUZ9ELY5PVRD8as/R3qtKPvK0eKdlUqVivpvLO0TTu0h6GWqUoXVEMZJgp5oVd6k+rSSHqUnr6pUibN2aJfS3r+AtWskN8= 1 1 1 1 Gain Gain

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

0.5 0.5 0.5 0.5

AAAC+HichVFNSxxBEH2OMdFNTFZz9LJkiQTEoUeXdT0IgknwEjDgRsEV6Rl712Hni57ZhXXYf5E/kFPwmqPX5E8kv8VDXndGIZFgDz1V/erV66ouP4vCvBDi54wz+2ju8ZP5hdrTZ4vPX9SXlj/l6UgHqhukUaqPfZmrKExUtwiLSB1nWsnYj9SRP9wz8aOx0nmYJofFJFOnsRwkYT8MZEHorO4mqY5Xd3p9LYOy7bZbW+tt19vemJaeK4RYE25rszPt9WqrO8Ld9M7qTWFwrsZ9x6ucJqp1kNZ/oYdzpAgwQgyFBAX9CBI5vxN4EMiInaIkpumFNq4wRY25I7IUGZLokP8BTycVmvBsNHObHfCWiFszs4HX3O+tok+2uVXRz2lvuC8tNvjvDaVVNhVOaH0qLljFD8QLXJDxUGZcMW9reTjTdFWgj47tJmR9mUVMn8GdzltGNLGhjTTwzjIH1PDtecwXSGi7rMC88q1Cw3Z8TiutVVYlqRQl9TSteX3WwzF7/w71vtPdcLdd72Orudup5j2PFbzCGw51C7vYxwHLCPAZ1/iOH07pfHG+Old/qM5MlfMSfy3n228MyJyF

AAAC+HichVFNSxtRFD1ObatRa7TLboJBEYrDTKwmWQQCanEjWGiqYETejC9xyHzxZhKwIf+if6Cr4rZLt/on7G9x4XmvY6GV4hve3HvPvfe8++GlYZDljnM3Zb2Yfvnq9cxsaW5+4c1ieWn5S5YMlS87fhIm6tgTmQyDWHbyIA/lcaqkiLxQHnmDHe0/GkmVBUn8Ob9M5Wkk+nHQC3yREzor23GiorVWt6eEP3bsulvbcOytZn2ijWb9vWNv1zYn3W5preXYTuOsXKUwp/JUcQuliuIcJuVf6OIcCXwMEUEiRk49hEDG7wQuHKTETjEmpqgFxi8xQYm5Q0ZJRgiiA/77tE4KNKatOTOT7fOVkFcxs4JV3o+G0WO0flVSzyjveb8arP/fF8aGWVd4SemRcdYwHhDPccGI5zKjIvKxluczdVc5emiYbgLWlxpE9+n/4dmlRxEbGE8FeyayTw7P2CNOIKbssAI95UeGiun4nFIYKQ1LXDAK8ilKPX3WwzW7/y71qdKp2U3b/fSh2m4U+57BO6xgnUuto419HLIMH99wjRvcWmPru/XDuvodak0VOW/x17F+PgApcpyR 0 0 0 0 27 166 306 6 38 69 6 38 69 26 55 84

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 27 166 306 6 38 69

AAACz3ichVFLS8NAEJ7GV1tfVY9egkXwFBIpbT0IBR94EaoYW6hFNum2huZFkhZrUbx69Kq/TH+LB79dU0GLuGEzs9988+3MjhW6Tpzo+ltGmZmdm1/I5vKLS8srq4W19cs4GEQ2N+3ADaKmxWLuOj43EydxeTOMOPMslzes/oGIN4Y8ip3Av0hGIW97rOc7XcdmCaBGsF/WyqXKdaGoa7pc6rRjpE6R0lUPCu90RR0KyKYBecTJpwS+S4xifC0ySKcQWJvGwCJ4joxzuqc8cgdgcTAY0D7+PZxaKerjLDRjmW3jFhc7QqZK29jHUtECW9zK4cewH9h3Euv9ecNYKosKR7AWFHNS8RR4Qjdg/JfppcxJLf9niq4S6lJVduOgvlAiok/7W+cQkQhYX0ZUOpLMHjQseR7iBXxYExWIV54oqLLjDiyTlksVP1Vk0ItgxeujHozZ+D3Uacfc1fY046xUrFXTeWdpk7ZoB0OtUI1OqI4yRIPP9EKvyrlyqzwoj19UJZPmbNCPpTx9Akv8kEg=

AAACzHichVFLS8NAEJ7GV1tfVY9egkXwVBIRrLeCD7yIFYwt1CKbdBtD82KTFGrp1aNX/Wv6Wzz47ZoKWqQbNjP7zTffzuzYse8lqWG8F7SFxaXllWKpvLq2vrFZ2dq+S6JMONxyIj8SbZsl3PdCbqVe6vN2LDgLbJ+37MGpjLeGXCReFN6mo5h3A+aGXt9zWKogkfGHStWoGWrps46ZO1XKVzOqfNA99SgihzIKiFNIKXyfGCX4OmSSQTGwLo2BCXieinOaUBm5GVgcDAZ0gL+LUydHQ5ylZqKyHdziYwtk6rSPfaEUbbDlrRx+AvuJ/aQw998bxkpZVjiCtaFYUopXwFN6BGNeZpAzp7XMz5RdpdSnuurGQ32xQmSfzo/OGSIC2EBFdDpXTBcatjoP8QIhrIUK5CtPFXTVcQ+WKcuVSpgrMugJWPn6qAdjNv8OddaxDmsnNfPmqNqo5/Mu0i7t0QGGekwNuqQmynDQ9Au90pt2rWXaWJt8U7VCnrNDv5b2/AX7WZA5 Rule 2: IF AND THEN AAAC0HichVFLS8NAEJ7GV+uz6tFLsAheDIkotgeh4AMvQkVjC7XIJt3G0LxI0kItIl49etU/pr/Fg9+uqaBFumEzs9988+3MjhV5bpLq+ntOmZqemZ3LF+YXFpeWV4qra9dJ2IttbtqhF8YNiyXccwNupm7q8UYUc+ZbHq9b3SMRr/d5nLhhcJUOIt7ymRO4HddmKaBGeLija5X98m2xpGu6XOq4Y2ROibJVC4sfdENtCsmmHvnEKaAUvkeMEnxNMkinCFiLhsBieK6Mc3qgeeT2wOJgMKBd/B2cmhka4Cw0E5lt4xYPO0amSlvYp1LRAlvcyuEnsJ/Y9xJz/r1hKJVFhQNYC4oFqXgOPKU7MCZl+hlzVMvkTNFVSh0qy25c1BdJRPRp/+gcIxID68qISieS6UDDkuc+XiCANVGBeOWRgio7bsMyablUCTJFBr0YVrw+6sGYjb9DHXfMXa2iGRd7pWo5m3eeNmiTtjHUA6rSGdVQhhjmC73Sm3KpDJRH5embquSynHX6tZTnL9ylkH4= . Rule 2: IF THEN .

AAAC0nichVFLS8NAEJ7GV1tfVY9egkXwFJJSsD0IBR94ESoYW6ylJOm2hubFZluoxYN49ehV/5f+Fg9+WVNBi3TDZma/mfnmZUeeGwtdf88oC4tLyyvZXH51bX1js7C1fR2HQ+4w0wm9kDdtK2aeGzBTuMJjzYgzy7c91rAHx4m9MWI8dsPgSowj1vatfuD2XMcSgG6cjn5U0qtatdwpFHVNl0edVYxUKVJ66mHhg26pSyE5NCSfGAUkoHtkUYyvRQbpFAFr0wQYh+ZKO6MHyiN2CC8GDwvoAP8+Xq0UDfBOOGMZ7SCLh8sRqdI+7plktOGdZGXQY8hP3HuJ9f/NMJHMSYVjSBuMOcl4AVzQHTzmRfqp57SW+ZFJV4J6VJHduKgvkkjSp/PDcwILBzaQFpVOpWcfHLZ8jzCBANJEBcmUpwyq7LgLaUnJJEuQMlrg45DJ9FEP1mz8XeqsYpa0qmZclou1SrrvLO3SHh1gqYdUo3OqowwHSV7old4UU5koj8rTt6uSSWN26NdRnr8AcvWRGg==

AAAC0XichVFLS8NAEJ7GV1tfVY9egkXwFJIi2h6Egg+8CBUaW6mlbNJtDM2LJC20RRCvHr3qD9Pf4sEvaypokW7YzOw333w7s2MEjh3FqvqekRYWl5ZXsrn86tr6xmZha/sm8gehyXXTd/ywabCIO7bH9diOHd4MQs5cw+ENo3+axBtDHka279XjUcDbLrM8u2ebLAZ02+toJyVNOap0CkVVUcWSZx0tdYqUrppf+KA76pJPJg3IJU4exfAdYhTha5FGKgXA2jQBFsKzRZzTA+WROwCLg8GA9vG3cGqlqIdzohmJbBO3ONghMmXax74QigbYya0cfgT7iT0WmPXvDROhnFQ4gjWgmBOKV8BjugdjXqabMqe1zM9MuoqpR2XRjY36AoEkfZo/OmeIhMD6IiLTuWBa0DDEeYgX8GB1VJC88lRBFh13YZmwXKh4qSKDXgibvD7qwZi1v0OddfSSUlG068NitZzOO0u7tEcHGOoxVemSaijDRCEv9EpvUl0aS4/S0zdVyqQ5O/RrSc9f0zmQ3g== 1 1 10.00 10.00

0.5 0.5 0.00 0.00

0 0 -10.00 -10.00 27 166 306 6 38 69 -0.1 0 0.1 -0.2 0 0.2

AAADAnichVFNT9tAEH1xPwihH2l77MUiqhQOtZwUSnKIhARFvSBRqSGREorWziZY8ZfsDRKNcuRv8Ac4oV575Ar38ls49HkxlSCqWGs9s2/evJ3ZcWLfS5Vt/ykYT54+e75QXCwtvXj56nX5zdu9NJokrmy7kR8lXUek0vdC2Vae8mU3TqQIHF92nPFmFu8cyST1ovC7Oo7lfiBGoTf0XKEIHZQbwY9ptb4yq/YDoQ6d4TSdrfTdQaTM6DbQsq3P9U8a+mhbzbVGi2atuX5QrtiWrZc579Ryp4J87Ubla/QxQAQXEwSQCKHo+xBI+fVQg42Y2D6mxBJ6no5LzFBi7oQsSYYgOuZ/xFMvR0OeM81UZ7u8xedOmGniA/e2VnTIzm6V9FPaG+6fGhv994apVs4qPKZ1qLioFXeIKxyS8VhmkDPvank8M+tKYYiG7sZjfbFGsj7dfzpbjCTExjpi4otmjqjh6PMRXyCkbbOC7JXvFEzd8YBWaCu1SpgrCuoltNnrsx6OufZwqPNOu241rdq31cpGI593Ee+xjCqHuo4NfMUuy3Bxigtc4so4Mc6Mc+PXLdUo5DnvcG8Zv/8CDHShyg== AAADAHichVHLTttAFD2YPni0xZRlN1YjpLCJbIQCXSAhlaJuKlGpKUhJisbOJFjxS/YECays+A1+oCvEliVb+IH2W7romcFUKhHKWON759xzz9w718+isFCu+2vGmn32/MXLufmFxVev3yzZy2+/F+koD2QrSKM0P/RFIaMwkS0VqkgeZrkUsR/JA3/4UccPTmRehGnyTZ1mshuLQRL2w0AoQkd2M/5R1tfXxvVOLNSx3y+L8Von6KXKSe8D217DdV0DNRvNjc1t8z+ya67GuZxJx6ucGqq1n9q/0UEPKQKMEEMigaIfQaDg14YHFxmxLkpiOb3QxCXGWGDuiCxJhiA65H/AU7tCE561ZmGyA94ScefMdLDKvWcUfbL1rZJ+QfuH+8xggydvKI2yrvCU1qfivFH8QlzhmIxpmXHFfKhleqbuSqGPLdNNyPoyg+g+g386u4zkxIYm4uCTYQ6o4ZvzCV8goW2xAv3KDwqO6bhHK4yVRiWpFAX1clr9+qyHY/YeD3XSaa03PjS8rxu1na1q3nN4h/eoc6ib2MFn7LOMABe4wS3urHPrp3VpXd1TrZkqZwX/Lev6L7XDoVU=

AAAC0HichVFLS8NAEJ7GV1tfVY9egkXwYkiK0noQCj7wIlQ0tlCLbNJtDc2LJC3UIuLVo1f9Y/pbPPjtmgpapBs2M/vNN9/O7Fih68SJrr9nlJnZufmFbC6/uLS8slpYW7+Og35kc9MO3CBqWCzmruNzM3ESlzfCiDPPcnnd6h2JeH3Ao9gJ/KtkGPKWx7q+03FslgBqBIe7Ja28X7ktFHVNl0uddIzUKVK6akHhg26oTQHZ1CePOPmUwHeJUYyvSQbpFAJr0QhYBM+RcU4PlEduHywOBgPaw7+LUzNFfZyFZiyzbdziYkfIVGkb+1QqWmCLWzn8GPYT+15i3X9vGEllUeEQ1oJiTiqeA0/oDoxpmV7KHNcyPVN0lVCHKrIbB/WFEhF92j86x4hEwHoyotKJZHahYcnzAC/gw5qoQLzyWEGVHbdhmbRcqvipIoNeBCteH/VgzMbfoU46Zkk70IyLvWK1ks47S5u0RTsYapmqdEY1lCGG+UKv9KZcKkPlUXn6piqZNGeDfi3l+QvcqZB+ Rule 1: IF AND THEN . Example Rule 1: IF THEN AAAC0XichVFLS8NAEJ7GV1tfVY9egkXwYkjEaj0IBR94ESo0tlKLJOk2huZFsi20RRCvHr3qD9Pf4sEvaypokW7YzOw333w7s2OGrhNzVX3PSDOzc/ML2Vx+cWl5ZbWwtn4dB73IYroVuEHUMI2YuY7PdO5wlzXCiBme6bK62T1J4vU+i2In8Gt8ELKWZ9i+03EsgwO6CY53tQOlpJbuCkVVUcWSJx0tdYqUrmpQ+KBbalNAFvXII0Y+cfguGRTja5JGKoXAWjQCFsFzRJzRA+WR2wOLgWEA7eJv49RMUR/nRDMW2RZucbEjZMq0jX0uFE2wk1sZ/Bj2E3soMPvfG0ZCOalwAGtCMScUL4FzugdjWqaXMse1TM9MuuLUobLoxkF9oUCSPq0fnVNEImBdEZHpTDBtaJji3McL+LA6Kkheeawgi47bsIawTKj4qaIBvQg2eX3UgzFrf4c66eh7ypGiXe0XK+V03lnapC3awVAPqUIXVEUZFgp5oVd6k2rSUHqUnr6pUibN2aBfS3r+AmtXkLM= . Example

AAAC0XichVFLS8NAEJ7GV1tfVY9egkXwFFKtWg9CwQdehAqNrdRSknSbhubFJi20RRCvHr3qD9Pf4sEvaypokW7YzOw333w7s2MEjh1GqvqekubmFxaX0pns8srq2npuY/M29PvcZJrpOz6vG3rIHNtjWmRHDqsHnOmu4bCa0TuL47UB46Hte9VoGLCmq1ue3bFNPQJ0120VT4sHyuFRK5dXFVUsedopJE6eklXxcx90T23yyaQ+ucTIowi+QzqF+BpUIJUCYE0aA+PwbBFn9EBZ5PbBYmDoQHv4Wzg1EtTDOdYMRbaJWxxsjkyZdrEvhaIBdnwrgx/CfmKPBGb9e8NYKMcVDmENKGaE4jXwiLpgzMp0E+akltmZcVcRdagkurFRXyCQuE/zR+ccEQ6sJyIyXQimBQ1DnAd4AQ9WQwXxK08UZNFxG1YXlgkVL1HUocdh49dHPRhz4e9Qpx1tXzlRCjfFfLmUzDtN27RDexjqMZXpiioow0QhL/RKb1JVGkmP0tM3VUolOVv0a0nPX99hkOM= AAAC1HichVFLS8NAEJ7GV1tfVY9egkXwYkhspfUgFHzgRahgbKEtJUnXdmleJGmhlp7Eq0ev+rf0t3jwy5oKWqQbNjP7zTffzuyYvs3DSFXfU9LC4tLySjqTXV1b39jMbW3fhd4gsJhuebYX1E0jZDZ3mR7xyGZ1P2CGY9qsZvbP4nhtyIKQe+5tNPJZyzG6Lr/nlhEBavbaxdPDglpQjkvldi6vKqpY8qyjJU6eklX1ch/UpA55ZNGAHGLkUgTfJoNCfA3SSCUfWIvGwAJ4XMQZTSiL3AFYDAwDaB//Lk6NBHVxjjVDkW3hFhs7QKZM+9iXQtEEO76VwQ9hP7EfBNb994axUI4rHMGaUMwIxWvgEfXAmJfpJMxpLfMz464iuqey6IajPl8gcZ/Wj845IgGwvojIdCGYXWiY4jzEC7iwOiqIX3mqIIuOO7CGsEyouImiAb0ANn591IMxa3+HOuvoR8qJot0U85VyMu807dIeHWCoJarQFVVRhoU2XuiV3qSaNJEepadvqpRKcnbo15KevwC8z5GW

AAACz3ichVFLS8NAEJ7GV1tfVY9egkXwFJIitD0IBR94EaoYW6hFNum2huZFkhZrUbx69Kq/TH+LB79dU0GLdMNmZr/55tuZHSt0nTjR9feMMje/sLiUzeWXV1bX1gsbm1dxMIhsbtqBG0RNi8XcdXxuJk7i8mYYceZZLm9Y/UMRbwx5FDuBf5mMQt72WM93uo7NEkCN8KBc0srVm0JR13S51GnHSJ0ipaseFD7omjoUkE0D8oiTTwl8lxjF+FpkkE4hsDaNgUXwHBnn9EB55A7A4mAwoH38ezi1UtTHWWjGMtvGLS52hEyVdrFPpKIFtriVw49hP7HvJdb794axVBYVjmAtKOak4hnwhG7BmJXppcxJLbMzRVcJdakiu3FQXygR0af9o3OESASsLyMqHUtmDxqWPA/xAj6siQrEK08UVNlxB5ZJy6WKnyoy6EWw4vVRD8Zs/B3qtGOWtKpmnO8Xa5V03lnaph3aw1DLVKNTqqMM0eALvdKbcqHcKY/K0zdVyaQ5W/RrKc9fUzSQSw== 1 1 1 Shift Shift

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

0.5 0.5 0.5

AAAC+XichVFNT9tAEH2YAiHlI9BjL1ajokpVgx0lfBwiIUFRL0ggkQaJoGhtNsGKv7R2kEKan9E/0BPqlWOv7Y+gv6WHPi9OJUBVdrU7M29m3s7sOLHvJall3c8Ysy/m5hcKi8WXS8srq6W19c9JNFCubLqRH6kzRyTS90LZTL3Ul2exkiJwfNly+vuZv3UtVeJF4Wk6jOVFIHqh1/VckRLqlDbDSAUbjXZXCXdkVWyr+oF33RrTsLaq73nXa+N2u7jRoKNmd0plQnqZzxU7V8rI13FU+o02LhHBxQABJEKk1H0IJNznsGEhJnaBETFFzdN+iTGKzB0wSjJCEO3z7tE6z9GQdsaZ6GyXr/g8ipkm3vIcakaH0dmrknpC+YfnRmO9/74w0sxZhUNKh4yLmvGIeIorRkzLDPLISS3TM7OuUnSxo7vxWF+skaxP9x/PAT2KWF97THzUkT1yONq+5g+ElE1WkP3yhMHUHV9SCi2lZglzRkE+RZn9PuvhmO2nQ32uNKuV3Yp9Uivv7eTzLuA13uAdh7qNPXzCMctw8RU/8BO/jC/GN+PW+P4QaszkOa/waBl3fwFfkpye AAAC+XichVFLTxNRFP46iJQKUnDpprGRkBDG2welLEia+IgbE0wskFDS3JnelknnlTtTEqj9GfwBVsatS7f6I/S3uPCb62AixPRO7pxzvnPOd8/DiX0vSYX4UbAWHiw+XCoulx6trD5eK69vHCXRRLuq60Z+pE8cmSjfC1U39VJfncRaycDx1bEzfpn5jy+UTrwo/JBexuoskKPQG3quTAn1yy/CSAebB72hlu5U2G3R2hH2fqM+o9FsiG1hi93WrNcrbR7QUW/1y1VC5lTuK7VcqSI/h1H5J3oYIIKLCQIohEip+5BI+J2iBoGY2BmmxDQ1z/gVZigxd8IoxQhJdMz/iNZpjoa0M87EZLt8xefVzKzgOe8bw+gwOntVUU8of/FeGWz03xemhjmr8JLSIeOyYXxHPMU5I+ZlBnnkbS3zM7OuUgzRNt14rC82SNan+5fnFT2a2Nh4KnhtIkfkcIx9wQmElF1WkE35lqFiOh5QSiOVYQlzRkk+TZlNn/VwzbW7S72vdOv2vl1736x22vm+i3iKZ9jiUvfQwVscsgwX1/iKb/hufbRurE/W5z+hViHPeYJ/jvXlN5jTnLU= 0 0 0 20 49 79 26 55 84 20 49 79

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 20 49 79 26 55 84 Rule 2: IF AND THEN AAACz3ichVFLS8NAEJ7GV1tfVY9egkXwFBJRWw9CwQdehCrGFmqRJN3W0LxItsVaFK8eveov09/iwW/XVNAi3bCZ2W+++XZmx448N+G6/p5RpqZnZueyufz8wuLScmFl9SoJe7HDTCf0wrhuWwnz3ICZ3OUeq0cxs3zbYzW7eyjitT6LEzcMLvkgYk3f6gRu23UsDqgWHhja3m7pplDUNV0uddwxUqdI6aqGhQ+6phaF5FCPfGIUEIfvkUUJvgYZpFMErElDYDE8V8YZPVAeuT2wGBgW0C7+HZwaKRrgLDQTme3gFg87RqZKm9gnUtEGW9zK4Cewn9j3Euv8e8NQKosKB7A2FHNS8Qw4p1swJmX6KXNUy+RM0RWnNpVlNy7qiyQi+nR+dI4QiYF1ZUSlY8nsQMOW5z5eIIA1UYF45ZGCKjtuwVrSMqkSpIoW9GJY8fqoB2M2/g513DG3tX3NON8pVsrpvLO0Thu0haGWqEKnVEUZosEXeqU35UK5Ux6Vp2+qkklz1ujXUp6/AEJVkEQ= . Rule 2: IF THEN AAACz3ichVFLS8NAEJ7GV+uz6tFLsAieQiJi60Eo+MCLUMXYQi2ySbcxNC+StFiL4tWjV/1l+ls8+O2aClqkGzYz+803387sWJHnJqmuv+eUqemZ2bl8YX5hcWl5pbi6dpWEvdjmph16YdywWMI9N+Bm6qYeb0QxZ77l8brVPRTxep/HiRsGl+kg4i2fOYHbcW2WAqqHB4ZWKe/dFEu6psuljjtG5pQoW7Ww+EHX1KaQbOqRT5wCSuF7xCjB1ySDdIqAtWgILIbnyjinB5pHbg8sDgYD2sXfwamZoQHOQjOR2TZu8bBjZKq0hX0iFS2wxa0cfgL7iX0vMeffG4ZSWVQ4gLWgWJCKZ8BTugVjUqafMUe1TM4UXaXUoYrsxkV9kUREn/aPzhEiMbCujKh0LJkONCx57uMFAlgTFYhXHimosuM2LJOWS5UgU2TQi2HF66MejNn4O9Rxx9zR9jXjfLdUrWTzztMGbdI2hlqmKp1SDWWIBl/old6UC+VOeVSevqlKLstZp19Lef4CSYqQRw== .

AAAC0XichVFLS8NAEJ7GV1tfVY9egkXwFJJS2noQCj7wIlRobKWWkqTbNjQvkm2hLYJ49ehVf5j+Fg9+WVNBi7hhM7PffPPtzI4ZOHbEVfUtJS0tr6yupTPZ9Y3Nre3czu5N5I9Ci+mW7/hh0zQi5tge07nNHdYMQma4psMa5vA0jjfGLIxs36vzScDartH37J5tGRzQ7aBTPCmVlEK5k8uriiqWvOhoiZOnZNX83DvdUZd8smhELjHyiMN3yKAIX4s0UikA1qYZsBCeLeKM7imL3BFYDAwD6BD/Pk6tBPVwjjUjkW3hFgc7RKZMh9gXQtEEO76VwY9gP7CnAuv/ecNMKMcVTmBNKGaE4hVwTgMw/st0E+a8lv8z46449agiurFRXyCQuE/rW+cMkRDYUERkOhfMPjRMcR7jBTxYHRXErzxXkEXHXVhDWCZUvETRgF4IG78+6sGYtd9DXXT0gnKsaNfFfLWSzDtN+3RARxhqmap0STWUYaGQZ3qhV6kuTaUH6fGLKqWSnD36saSnT+aekOY=

AAAC0XichVFLS8NAEJ7GV1tfVY9egkXwYkiqYHsQCj7wIlRobKUWSdJtXJoXSVpoiyBePXrVH6a/xYNf1lTQIt2wmdlvvvl2ZscMHB7FqvqekebmFxaXsrn88srq2nphY/M68vuhxXTLd/ywaRoRc7jH9JjHDmsGITNc02ENs3eSxBsDFkbc9+rxMGBt17A93uWWEQO6CY73S1pFOVDvCkVVUcWSpx0tdYqUrppf+KBb6pBPFvXJJUYexfAdMijC1yKNVAqAtWkMLITHRZzRA+WR2weLgWEA7eFv49RKUQ/nRDMS2RZucbBDZMq0i30uFE2wk1sZ/Aj2E3skMPvfG8ZCOalwCGtCMScUL4HHdA/GrEw3ZU5qmZ2ZdBVTl8qiG476AoEkfVo/OqeIhMB6IiLTmWDa0DDFeYAX8GB1VJC88kRBFh13YA1hmVDxUkUDeiFs8vqoB2PW/g512tFLSkXRrg6L1XI67yxt0w7tYahHVKULqqEMC4W80Cu9SXVpJD1KT99UKZPmbNGvJT1/AWkBkLI=

AAACz3ichVFLS8NAEJ7GV1tfVY9egkXwFJIi2h6Egg+8CFWMLdQim3RbQ/MiSYu1KF49etVfpr/Fg9+uqaBFumEzs9988+3MjhW6Tpzo+ntGmZmdm1/I5vKLS8srq4W19as46Ec2N+3ADaKGxWLuOj43EydxeSOMOPMsl9et3qGI1wc8ip3Av0yGIW95rOs7HcdmCaB6eLBX0Ur6TaGoa7pc6qRjpE6R0lULCh90TW0KyKY+ecTJpwS+S4xifE0ySKcQWItGwCJ4joxzeqA8cvtgcTAY0B7+XZyaKerjLDRjmW3jFhc7QqZK29gnUtECW9zK4cewn9j3Euv+e8NIKosKh7AWFHNS8Qx4QrdgTMv0Uua4lumZoquEOlSW3TioL5SI6NP+0TlCJALWkxGVjiWzCw1Lngd4AR/WRAXilccKquy4Dcuk5VLFTxUZ9CJY8fqoB2M2/g510jFLWkUzzneL1XI67yxt0hbtYKj7VKVTqqEM0eALvdKbcqHcKY/K0zdVyaQ5G/RrKc9fQBiQQw== 1 1 5.75 1 5.75

0.5 0.5 0.00 0.5 0.00

0 0 -5.75 0 -5.75 20 49 79 26 55 84 -0.4-0.2 0 0.2 0.4 26 55 84 -0.2 0 0.2

AAADAHichVFNSxtRFD1OW5totbFduhkaCskmzIQ26kIItBU3QgSjgSTKm8lLHDJfzLwIGrLq3+gf6Kp026Vb/QP6W1x45jkKVsQ3vLn3nnvveffDiX0vVZZ1NWe8ev1m/m2huLD4bmn5fWnlw34aTRJXtt3Ij5KOI1Lpe6FsK0/5shMnUgSOLw+c8bfMf3Aik9SLwj11Gst+IEahN/RcoQgdlRrB4bRSr84qvUCoY2c4TWfVnjuIlBndOTatmtWoa8iuNb6u0bat+lGpTFwf86li50oZ+WlFpWv0MEAEFxMEkAihqPsQSPl1YcNCTKyPKbGEmqf9EjMsMHfCKMkIQXTM/4hWN0dD2hlnqrNdvuLzJsw08Zl3SzM6jM5eldRTyhveM42Nnn1hqpmzCk8pHTIWNeMOcYVjRryUGeSR97W8nJl1pTDEuu7GY32xRrI+3Qee7/QkxMbaY+KHjhyRw9H2CScQUrZZQTblewZTdzygFFpKzRLmjIJ8CWU2fdbDNdv/L/Wp0q7XNmr27pdycz3fdwGr+IQKl7qGJrbRYhkufuEcF7g0fhq/jT/G37tQYy7P+YhHx/h3C40voUQ= AAADAHichVHLTttAFD2Y0iaUtgaWbKxGSGFj2YBCWFSKxEPdIKVS0yARisbOJFjxS/YEiUZZ8Rv8ACvUbZfdtj9Av6WLHg+mUokqxhrfe8+998x9eGkY5Mpx7uaM+WcLz19Uqosvl169fmMur3zKk3Hmy46fhEl27IlchkEsOypQoTxOMykiL5Rdb7RX+LsXMsuDJP6oLlN5GolhHAwCXyhCZ2Yj+jypb25M671IqHNvMMmnGz2/nygruXe8c+ztLUdDrt3cadBuOo0zs+bYjj7WrOKWSg3laSfmL/TQRwIfY0SQiKGohxDI+Z3AhYOU2CkmxDJqgfZLTLHI3DGjJCME0RH/Q1onJRrTLjhzne3zlZA3Y6aFdd5DzegxunhVUs8pf/N+0djwvy9MNHNR4SWlR8aqZjwirnDOiKcyozLyoZanM4uuFAZo6m4C1pdqpOjT/8uzT09GbKQ9Fg505JAcnrYvOIGYssMKiik/MFi64z6l0FJqlrhkFOTLKIvpsx6u2X281Fmls2nv2u6H7VqrWe67gjW8RZ1L3UEL79FmGT6u8R0/8NO4Mm6MW+PrfagxV+as4p9jfPsDrGuhUQ== (a) FPSRL (b) FGPRL

Fig. 5. Comparison of the fuzzy policies produced by FPSRL and FGPRL for the IB. Although both policies have similar fitness values (5a: -5700, 5b: -5635), their complexity is very different. The FGPRL policy only involves the minimum number of state variables required to yield adequate performance, meaning that the fuzzy controller is substantially more interpretable.

Experiments using the standard CP RL benchmark showed that FPSRL has a significant advantage when no feature selection is necessary and the number of rules required can be easily determined by simply testing a few different options. In this case, FGPRL’s significantly wide search space is a drawback and it was far less likely to convergetoa

Manuscript submitted to ACM Generating Interpretable Fuzzy Controllers using PSO and GP 13 solution with similar performance to that produced by FPSRL when using a similar number of fitness value calculations. However, FGPRL was occasionally able to produce high-performance solutions for the CP benchmark. Experiments using the IB, a benchmark that mimics real industrial systems like gas or wind turbines, yielded significant advantage for FGPRL over FPSRL. This benchmark has a high-dimensional state space, a multidimensional action space, stochastic and delayed effects, and a reward function with multiple criteria. Applying feature selection to FPSRL and manually testing different fuzzy policy structures did not yield satisfactory performance for low complexity solutions. In contrast, FGPRL was able to find high-quality interpretable solutions of low complexity with a similar number of fitness value calculations. These results indicate that FGPRL is better than FPSRL at creating interpretable fuzzy policies autonomously from existing transition samples.

ACKNOWLEDGMENTS The project this report is based on was supported with funds from the German Federal Ministry of Education and Research under project number 01IB15001. The sole responsibility for the report’s contents lies with the authors.

REFERENCES [1] E. Alba, C. Cotta, and J.M. Troya. 1996. Type-constrained genetic programming for rule-base definition in fuzzy logic controllers. In Proceedings of the 1st annual conference on genetic programming. MIT Press, 255–260. [2] E. Alba, C. Cotta, and J.M. Troya. 1999. Evolutionary design of fuzzy logic controllers using strongly-typed GP. Mathware and Soft Computing 6, 1 (1999), 109–124. [3] F.J. Berlanga, A.J. Rivera, M.J. del Jesús, and F. Herrera. 2010. GP-COACH: Genetic Programming-based learning of COmpact and ACcurate fuzzy rule-based classification systems for High-dimensional problems. Information Sciences 180, 8 (2010), 1183–1200. [4] T. Blickle and L. Thiele. 1995. A Mathematical Analysis of Tournament Selection. In ICGA. 9–16. [5] L. Busoniu, R. Babuska, B. De Schutter, and D. Ernst. 2010. Reinforcement Learning and Dynamic Programming Using Function Approximators. CRC Press. [6] B.-C. Chien, J.Y. Lin, and T.-P. Hong. 2002. Learning discriminant functions with fuzzy attributes for classification using genetic programming. Expert Systems with Applications 23, 1 (2002), 31–37. [7] O. Cordón, F. Gomide, F. Herrera, F. Hoffmann, and L. Magdalena. 2004. Ten years of genetic fuzzy systems: current framework and newtrends. Fuzzy sets and systems 141, 1 (2004), 5–31. [8] S. Depeweg, J.M. Hernández-Lobato, F. Doshi-Velez, and S. Udluft. 2016. Learning and policy search in stochastic dynamical systems with Bayesian neural networks. arXiv preprint arXiv:1605.07127 (2016). [9] I. Fantoni and R. Lozano. 2002. Non-linear control for underactuated mechanical systems. Springer. [10] A. Geyer-Schulz. 1995. Fuzzy Rule-Based Expert Systems and Genetic . Physica-Verlag, Heidelberg (1995). [11] D. Hein, S. Depeweg, M. Tokic, S. Udluft, A. Hentschel, T.A. Runkler, and V. Sterzing. 2017. A benchmark environment motivated by industrial control problems. In 2017 IEEE Symposium Series on Computational Intelligence (SSCI). 1–8. https://doi.org/10.1109/SSCI.2017.8280935 [12] D. Hein, A. Hentschel, T.A. Runkler, and S. Udluft. 2016. Reinforcement Learning with Particle Swarm Optimization Policy (PSO-P) in Continuous State and Action Spaces. International Journal of Swarm Intelligence Research (IJSIR) 7, 3 (2016), 23–42. [13] D. Hein, A. Hentschel, T.A. Runkler, and S. Udluft. 2017. Particle swarm optimization for generating interpretable fuzzy reinforcement learning policies. Engineering Applications of 65 (2017), 87–98. [14] D. Hein, A. Hentschel, T.A. Runkler, and S. Udluft. 2018. Particle swarm optimization for model predictive control in reinforcement learning environments. In Critical Developments and Applications of Swarm Intelligence, Y. Shi (Ed.). IGI Global, Hershey, PA, USA, Chapter 16, 401–427. [15] D. Hein, S. Udluft, M. Tokic, A. Hentschel, T. A. Runkler, and V. Sterzing. 2017. Batch reinforcement learning on the industrial benchmark: First experiences. In 2017 International Joint Conference on Neural Networks (IJCNN). 4214–4221. [16] F. Hoffmann and O. Nelles. 2001. Genetic programming for model selection of TSK-fuzzy systems. Information Sciences 136, 1-4 (2001), 7–28. [17] J. Kennedy and R.C. Eberhart. 1995. Particle swarm optimization. Proceedings of the IEEE International Joint Conference on Neural Networks (1995), 1942–1948. [18] A.S. Koshiyama, T. Escovedo, M.M.B.R. Vellasco, and R. Tanscheit. 2014. GPFIS-Control: A fuzzy Genetic model for Control tasks. In Fuzzy Systems (FUZZ-IEEE), 2014 IEEE International Conference on. IEEE, 1953–1959. [19] J.R. Koza. 1992. Genetic Programming: On the Programming of Computers by Means of Natural Selection. MIT Press, Cambridge, MA, USA.

Manuscript submitted to ACM 14 D. Hein et al.

[20] N. Le, H.N. Xuan, A. Brabazon, and T.P. Thi. 2016. Complexity measures in Genetic Programming learning: A brief review. In Evolutionary Computation (CEC), 2016 IEEE Congress on. IEEE, 2409–2416. [21] F. Maes, R. Fonteneau, L. Wehenkel, and D. Ernst. 2012. Policy search in a space of simple closed-form formulas: towards interpretability of reinforcement learning. Discovery Science (2012), 37–50. [22] E.H. Mamdani and S. Assilian. 1975. An experiment in linguistic synthesis with a fuzzy logic controller. International Journal of Man-Machine Studies 7, 1 (1975), 1–13. [23] P. Moscato. 1989. On evolution, search, optimization, genetic algorithms and martial arts: Towards memetic algorithms. Caltech concurrent computation program, C3P Report 826 (1989), 1989. [24] L.S. Ramos and J.A.C. González. 2000. A niching scheme for steady state GA-P and its application to fuzzy rule based classifiers induction. Mathware and Soft Computing 7, 2-3 (2000), 337–350. [25] E. Rasmussen and C.K.I. Williams. 2006. Gaussian processes for machine learning (adaptive computation and machine learning). Mit Press Ltd. [26] L. Sánchez, I. Couso, and J.A. Corrales. 2001. Combining GP operators with SA search to evolve fuzzy rule based classifiers. Information Sciences 136, 1-4 (2001), 175–191. [27] H.-P. Schwefel. 1981. Numerical optimization of computer models. John Wiley & Sons, Inc. [28] H.-P. Schwefel. 1995. Evolution and optimum seeking. Sixth-generation computer technology series. (1995). [29] R.S. Sutton and A.G. Barto. 1998. Reinforcement learning: an introduction. A Bradford book. [30] M. Tesmer and P.A. Estévez. 2004. AMIFS: Adaptive feature selection by using mutual information. In Neural Networks, 2004. Proceedings. 2004 IEEE International Joint Conference on, Vol. 1. IEEE, 303–308. [31] A. Tsakonas. 2013. Local and global optimization for Takagi–Sugeno fuzzy system by memetic genetic programming. Expert Systems with Applications 40, 8 (2013), 3282–3298. [32] E. Tunstel and M. Jamshidi. 1996. On genetic programming of fuzzy rule-based systems for intelligent control. Intelligent Automation & Soft Computing 2, 3 (1996), 271–284. [33] L.-X. Wang and J.M. Mendel. 1992. Fuzzy basis functions, universal approximation, and orthogonal least-squares learning. IEEE Transactions on Neural Networks 3, 5 (1992), 807–814. [34] L.A. Zadeh. 1965. Fuzzy sets. Information and Control 8 (1965), 338–353.

Manuscript submitted to ACM