Optimization of Fuzzy Logic Based Virtual Pilot for Wargaming

: This paper deals with the design of an autopilot based on a set of fuzzy controllers. The model of the aircraft that the autopilot controls is deﬁned as a model with 6 degrees of freedom, where the inputs to this model are the settings of the engine thrust (DX), rudder rotation (Dl) and elevators (Dm and Dn). The fuzzy controllers are of the Mamdani type, where the set of parameters deﬁning the controller allow the derivation of membership functions of the input variables and membership functions of the output variables. The parameters of fuzzy controllers are determined by the optimization process. For the purpose of optimization, a ﬁtness function is deﬁned, which derives the simulation parameters from its parameter (vector), and the simulation subsequently performed and evaluated determines whether it is a feasible solution in addition the value of this solution. By this optimization process, the sub-optimal solution is found and is then used to deﬁne the settings of the fuzzy controllers and, therefore, the autopilot. This paper contains a description of each step of the solution of the described problem, and with the help of the obtained results, it is determined that the presented procedure allows us to ﬁnd an autopilot capable of controlling the deﬁned model of the aircraft. In addition, there is a brief description regarding the misconceptions explored during the development of the experiment.


Introduction
Modelling is one of the fundamental disciplines that aid human cognition. Very often, its results are used in simulation, which also has a strong place in innovation. In the modern concept of the armed forces, simulation and simulation tools are an integral part of training and decision support systems. The quality and accuracy of these simulation systems are determined by the quality and accuracy of the implemented simulation models. In order for these simulators to be approved for use in a military environment, they must pass a system of military tests to ensure that their results meet the required level of conformance with real systems used in the military. These complex simulation systems consist of many models that interact with each other so that the results of one model affect the inputs of another model. The models used are selected according to the level of accuracy required. The level of accuracy affects the intended use of the simulation system. This paper deals with a part of the simulation system for air defence purposes. Air defence has sensors and effectors which need a sufficiently accurate model of the aircraft they are to counteract. In terms of sensors, this includes, for example, a reflecting surface, which may change during the course of the aircraft's mission. This is determined by the roll of the aircraft and its position relative to the sensor-the radar. Effectors and their defensive actions are affected by the maneuver of the aircraft.
For this system, a general model of an aircraft moving along a predetermined path must be constructed. Since detailed models of the means of detection and tracking of airborne targets will be implemented in the developed simulation system, it is necessary that the developed model allows us to simulate the aircraft as a detailed three-dimensional model that moves realistically in space and contains not only positional data but also orientation around all axes and control surface deflections.
In our case, it is, therefore, a simulation model of an aircraft originally developed for a flight simulator. The choice of the model defines the requirements for the pilot who must be able to fly the aircraft in the simulation and thus accomplish the specified mission. The pilot cannot be realized or represented by a human in conditions where a repeated number of simulations are involved. Therefore, the question is: "how can a system be created that would realize the tasks set by the mission?".
Thus, the problem to be solved consists of the simulation model of an aircraft and the simulation model of a pilot flying along a specified trajectory.
Previously published aircraft control systems that satisfy the above requirements have used expertly designed pilot models. The aim of this paper is to show the possibility of an automated control system-pilot design using optimization methods.

Literature Review
In general terms, we can look at this task as the creation of a simulation model of an autopilot piloting a simulated aircraft. One possible approach to autopilot design is to model the behavior of a human pilot. In [1], many possible approaches to human pilot models can be found. One of the described models is the quasi-linear model that utilizes the servomechanism theory. This model (and its variants) are easy-to-implement for single input-single output scenarios, but for complex multi-input handling, it becomes very complex to implement. The autopilot problem is usually addressed using automatic control theory as in [2] or [3], which focuses on UAV control issues. The PID assisted control approach is also mentioned in [4], which focuses on the automatic control of a model aircraft simulated in the X-plane flight simulator.
The modelling of a plane and air defence during a particular conflict and its solution has been published in [5][6][7]. However, in this case, quite a simple aircraft model has been used, and thus some of the attributes mentioned above cannot be considered.
Another approach to solving this problem is the use of fuzzy logic to optimize the fuzzy controller and genetic algorithms, such as in [8], but in which authors are focusing on the control of the ship. Similarly, an adaptive fuzzy controller is used for trajectory control purposes in [9], but with a limitation to its application in ship control.
The determination of the fuzzy logic controller, with the help of optimization, has been published in [10]. In this case, the optimal robot movement, in short-range, was the goal.
The abovementioned fuzzy logic controllers assume a disturbance-free environment. In case of dealing with disturbances, the fuzzy controller should be combined with other methods such as an active disturbance rejection control with a proportional-derivative Takagi-Sugeno fuzzy control as described in [11].
The solution described in this paper focuses on the application of a fuzzy controller in a turbulence-free environment with optimization using genetic algorithms for the purpose of modelling a virtual pilot controlling a simulation model of an aircraft.

Proposed System
The proposed system consists of three parts: The input to the path planner is a description of the flight path in the form of a list of waypoints. This block passes these values to the pilot model, which simulates the movements of the aircraft controlled by a real pilot. The outputs from this model are the positions of the individual control elements of the aircraft and are inputs to the airplane simulator model. The output of the simulator model combined with path planner data are used as feedback to the pilot model to simulate "human-in-the-loop" airplane control ( Figure 1). positions of the individual control elements of the aircraft and are inputs to the simulator model. The output of the simulator model combined with path planner used as feedback to the pilot model to simulate "human-in-the-loop" airplane con ure 1).

Airplane Simulation Model
The simulation of aircraft motion is one of the fundamental problems that addressed in military simulations that consider the air domain. The simulatio used is described in detail in [12]. The model is defined in the standard form as: , where x is model state and t is time.
The state of the model consists of variables: where , and are positions, ψ, θ and φ are angular rotations of plane (Figur α, β are angle of attack and angle of sideslip, , and are angular velocities of t relative to the earth in the plane frame of reference, and is the velocity.  Figure 1 depict a close loop control with the input taken from a path planner block, which compares the preplanned (war) mission (fly route) with the current output of the plane model block, which contains the aircraft position. If the aircraft finishes a stage of preplanned mission (flies through a waypoint), the path planner block changes its output to the next waypoint. The state and goal comparison block calculates inputs used by the pilot model block controlling the plane model (block).

Airplane Simulation Model
The simulation of aircraft motion is one of the fundamental problems that must be addressed in military simulations that consider the air domain. The simulation model used is described in detail in [12]. The model is defined in the standard form as: .
where x is model state and t is time.
The state of the model consists of variables: where x, y and z are positions, ψ, θ and ϕ are angular rotations of plane ( Figure 2) and α, β are angle of attack and angle of sideslip, p, q and r are angular velocities of the plane relative to the earth in the plane frame of reference, and V is the velocity.
Aerodynamics coefficients can be computed as follows: The state variables can be computed using following equations: Aerodynamics coefficients can be computed as follows:   • C iα and C iβ are moment coefficients; • α 0 is the zero-lift angle of attack; • C ip , C iq and C ir are rolling, pitching or yawing damping coefficients; • C iδl , C iδm and C iδn are coefficients representing the influences of steering (dihedral effect, inducted rolling and adverse yaw); Aerodynamic force F R R x , R y , R z can be computed as follows: and transformed into the plane of reference: The actual thrust of the engine F T can be computed from the position of the engine control lever δ x (Figure 3) in range of (0, 0-1, 0).
The non-state variables are: • g is gravitational force; • ρ is density of the air and assuming it is constant relatively to the altitude and time, thus ρ = 1.225 kg/m 3 .

Airplane Simulation Model Implementation
The airplane simulation model has been implemented in the Python programming language [13] using the Runge-Kutta numerical integration method. In addition, the SciPy library [14] has been used for the numerical solution. The implementation of this model has been verified via the original implementation in [12]. As the programming code must use a standard ASCII character set, the δl, δm, δn and δ x symbols have been replaced by Dl, Dm, Dn and DX variable names. In order to make the text clearer, they will be referred to as such below.

Fuzzy Controller
The fuzzy controller used is to be one of the Mamdani [15] or Sugeno [16] type. For the problem discussed in this article, the Mamdani fuzzy system has been chosen. This means that all input variables are fuzzified, then a rule set is applied and the result of the inference system is defuzzified to get a crisp value (see Figure 4).

1.225
The non-state variables are: is density of the air and assuming it is constant relatively to the altitude and time, thus 1.225 kg/m .

Airplane Simulation Model Implementation
The airplane simulation model has been implemented in the Python programming language [13] using the Runge-Kutta numerical integration method. In addition, the SciPy library [14] has been used for the numerical solution. The implementation of this model has been verified via the original implementation in [12]. As the programming code must use a standard ASCII character set, the , , and symbols have been replaced by Dl, Dm, Dn and DX variable names. In order to make the text clearer, they will be referred to as such below.

Fuzzy Controller
The fuzzy controller used is to be one of the Mamdani [15] or Sugeno [16] type. For the problem discussed in this article, the Mamdani fuzzy system has been chosen. This means that all input variables are fuzzified, then a rule set is applied and the result of the inference system is defuzzified to get a crisp value (see Figure 4).

Fuzzy Controller as a Part of Pilot
The fuzzy controller used for autopilot modelling has been implemented up to four times, each time for one autopilot output. The variability of the number of the used fuzzy system originated in the option defining a pilot's output by a constant. Such fixation means that the appropriate pilot's output is constant (does not change during the entire simulation).

Fuzzy Controller as a Part of Pilot
The fuzzy controller used for autopilot modelling has been implemented up to four times, each time for one autopilot output. The variability of the number of the used fuzzy system originated in the option defining a pilot's output by a constant. Such fixation means that the appropriate pilot's output is constant (does not change during the entire simulation).  To simplify the autopilot definition, Dn and Dl output variables have been fixed to value 0. This leads to the inability of the aircraft to make any maneuver on a horizontal   To simplify the autopilot definition, Dn and Dl output variables have been fixed to value 0. This leads to the inability of the aircraft to make any maneuver on a horizontal plane.  To simplify the autopilot definition, Dn and Dl output variables have been fixed to value 0. This leads to the inability of the aircraft to make any maneuver on a horizontal plane.

The Input Variables for Fuzzy Controllers
It has been stated that for the determination of DX and Dm output pilot's variables, the difference between angles α and β and distance |DP| (see Figure 7) should be enough. For the determination of Dn and Dl, the difference between angles γ and δ and distance |DP| (see Figure 7) should be enough. Thus, for the fuzzy controller, there are three different variables on the input of fuzzy systems, but a single fuzzy system uses just two of them. It should be noted that input variables do not have to have the same definition for different fuzzy controllers, even if they are based on the same state values.

The Input Variables for Fuzzy Controllers
It has been stated that for the determination of DX and Dm output pilot's variables, the difference between angles α and β and distance | | (see Figure 7) should be enough. For the determination of Dn and Dl, the difference between angles γ and δ and distance | | (see Figure 7) should be enough. Thus, for the fuzzy controller, there are three different variables on the input of fuzzy systems, but a single fuzzy system uses just two of them. It should be noted that input variables do not have to have the same definition for different fuzzy controllers, even if they are based on the same state values.

Optimization Process
For the design of the autopilot based on fuzzy control systems, an optimization process can be used. Generally, the optimization process is an algorithm where a fitness function is evaluated multiple times and the best value found is considered as an optimum.

Types of Optimization
There are two basic sets of optimizations: deterministic optimization and stochastic

Optimization Process
For the design of the autopilot based on fuzzy control systems, an optimization process can be used. Generally, the optimization process is an algorithm where a fitness function is evaluated multiple times and the best value found is considered as an optimum.

Types of Optimization
There are two basic sets of optimizations: deterministic optimization and stochastic optimization. The second set (stochastic optimization) contains several algorithms developed over the last few decades [17]. It is important to understand that the application of stochastic optimization gives a result that must not be an optimal solution and often is not.
For the problem discussed in this paper, the genetic algorithm has been used.

Genetic Algorithm Brief Description
The genetic algorithm [18] is based on observations of the behavior of nature where successful individuals have offspring while others do not. The offspring inherit the behavior (or properties) of parents, and this behavior is encoded into their chromosomes. During the production of the offspring, the chromosomes of the parents are combined. Sadly (or luckily), the combination could be imperfect, and thus sometimes, the resulting chromosome is damaged (mutated).
The genetic algorithm, when implemented in a programming language such as Python, has a generation where every member represents a feasible solution with its fitness function value. Such a generation is replaced with the new generation in two steps: • reproduction (creation of new offspring) of the best members; • mutation applied with a probability.
The discussed problem needs to find the best (optimal) setup of autopilot. Thus, to get a single fitness function value, a simulation has to be computed. The parameters of the fitness function have to define the autopilot's parameters. The evaluation of the fitness function means that parameters must be translated into a simulation description, the simulation must be executed, observed values must be evaluated during the simulation, and when the simulation ends, the result of the fitness function is derived from the gathered values (see Figure 8). Due to the fact that this simulation can fail, this must be detected, and then parameters given to the fitness function must be marked as an unacceptable solution.
Mathematics 2021, 9, x FOR PEER REVIEW 9 of 18 simulation must be executed, observed values must be evaluated during the simulation, and when the simulation ends, the result of the fitness function is derived from the gathered values (see Figure 8). Due to the fact that this simulation can fail, this must be detected, and then parameters given to the fitness function must be marked as an unacceptable solution.

Mapping a Chromosome to Simulation
The connection between the chromosome and a full set of autopilot descriptions is crucial. The set autopilot description can be defined in different ways. Below, three of them are mentioned.

The Lowest Chromosome Count
For a fuzzy controller, it is quite common to have five membership functions. To slightly simplify the problem, only the triangular membership function is considered. As the triangular membership function is defined by three parameters (see Figure 9), the full set of parameters is 15 (for five membership functions).

Mapping a Chromosome to Simulation
The connection between the chromosome and a full set of autopilot descriptions is crucial. The set autopilot description can be defined in different ways. Below, three of them are mentioned.

The Lowest Chromosome Count
For a fuzzy controller, it is quite common to have five membership functions. To slightly simplify the problem, only the triangular membership function is considered. As the triangular membership function is defined by three parameters (see Figure 9), the full set of parameters is 15 (for five membership functions).

The Lowest Chromosome Count
For a fuzzy controller, it is quite common to have five membership functions. To slightly simplify the problem, only the triangular membership function is considered. As the triangular membership function is defined by three parameters (see Figure 9), the full set of parameters is 15 (for five membership functions). If the leftmost and rightmost membership functions are expected to have their maximum bounds, four parameters could be omitted. The next simplification could be conducted by binding the left bound of the triangular membership function to the maximum of the left neighbor (membership function) and the right bound of the membership function to the maximum of the right neighbor (membership function). Such simplification If the leftmost and rightmost membership functions are expected to have their maximum bounds, four parameters could be omitted. The next simplification could be conducted by binding the left bound of the triangular membership function to the maximum of the left neighbor (membership function) and the right bound of the membership function to the maximum of the right neighbor (membership function). Such simplification leads to the ability to describe a full set of membership functions with just three parameters (see Figure 10). leads to the ability to describe a full set of membership functions with just three parameters (see Figure 10).

The Optimal Chromosome Count
In the previous section, the description of the full set of membership functions has been reduced to three parameters. However, such simplification can significantly limit the feasible setup of fuzzy controllers. Therefore, it can be useful to allow the definition of the left and right bound of triangular membership functions (exclude the leftmost and rightmost). A special case is an expectation that the triangular function can be symmetric. If this symmetry is not expected, then the full set of membership functions can be defined by 11 parameters (see Figure 11), otherwise, 8 parameters are able to describe the full set of membership functions.

The Optimal Chromosome Count
In the previous section, the description of the full set of membership functions has been reduced to three parameters. However, such simplification can significantly limit the feasible setup of fuzzy controllers. Therefore, it can be useful to allow the definition of the left and right bound of triangular membership functions (exclude the leftmost and rightmost). A special case is an expectation that the triangular function can be symmetric. If this symmetry is not expected, then the full set of membership functions can be defined by 11 parameters (see Figure 11), otherwise, 8 parameters are able to describe the full set of membership functions. been reduced to three parameters. However, such simplification can significantly limit the feasible setup of fuzzy controllers. Therefore, it can be useful to allow the definition of the left and right bound of triangular membership functions (exclude the leftmost and rightmost). A special case is an expectation that the triangular function can be symmetric. If this symmetry is not expected, then the full set of membership functions can be defined by 11 parameters (see Figure 11), otherwise, 8 parameters are able to describe the full set of membership functions. This setup (11 parameters) has been used in experiments published in [10].

The Extended Chromosome Count
As is noted below, it can be practical to unbind the leftmost and rightmost membership functions. This leads to the requirement of 15 parameters for the description of the full set of membership functions (see Figure 12). This setup (11 parameters) has been used in experiments published in [10].

The Extended Chromosome Count
As is noted below, it can be practical to unbind the leftmost and rightmost membership functions. This leads to the requirement of 15 parameters for the description of the full set of membership functions (see Figure 12). For a fuzzy controller, three variables are expected (two of them as the input and the last one as the output). Such a number of variables leads to 9, 24, 44 or 60 parameters. As the autopilot can have up to four fuzzy controllers, the problem can have up to 240 dimensions. This is the main reason why the problem discussed in this article has been reduced only to movement on the vertical plane.

Rule Sets
The fuzzy controller needs a rule set that allows it to derive the value of the fuzzy variable at the output from input variables. For the autopilot problem, the form of a full cartesian product has been chosen. The full cartesian product means that all fuzzy lexical representations from the first input are combined with all fuzzy lexical representations from the second input, and there is one fuzzy lexical representation of output as a result. Such operations can be represented by a table (see Tables 1 and 2).  For a fuzzy controller, three variables are expected (two of them as the input and the last one as the output). Such a number of variables leads to 9, 24, 44 or 60 parameters. As the autopilot can have up to four fuzzy controllers, the problem can have up to 240 dimensions. This is the main reason why the problem discussed in this article has been reduced only to movement on the vertical plane.

Rule Sets
The fuzzy controller needs a rule set that allows it to derive the value of the fuzzy variable at the output from input variables. For the autopilot problem, the form of a full cartesian product has been chosen. The full cartesian product means that all fuzzy lexical representations from the first input are combined with all fuzzy lexical representations from the second input, and there is one fuzzy lexical representation of output as a result. Such operations can be represented by a table (see Tables 1 and 2).  If the optimization process finds a setup (marked as the best option) where relations above are not valid, rules should be considered as wrongly defined, which has happened in this discussed set of experiments.

Set of Feasible Solutions of Optimization Problem
For the standard optimization problem, a fitness function and a set of feasible solutions are needed. Fitness function and its evaluation are defined above. The set of feasible solutions is usually defined by volume and function, which excludes values from this volume.
For linear problems, such a set is defined/named as a simplex. If the optimization problem is being solved with the help of stochastic optimization methods such as genetic algorithm, the set of feasible solutions are right n-prism, where n is the number of variables in the optimization problem. For such a case, if all n variable intervals are defined, the right n-prism is also defined. If variables are directly derived from real objects, it is quite common that the left and right bounds of the interval reflect the limits (abilities or properties) of a real object.
The optimization problem, which is mentioned in this article, works with angle, distance, throttle lever position and elevator angle. The elevator angle is limited by the aircraft design to − π 4 [rad] and + π 4 [rad]. The throttle lever position has limits naturally described as "idle" and "full throttle", which are projected to interval 0; 1 . As the variables values define the parameters of the triangular function, their limits are taken from appropriate spaces. The angle variable naturally has limits derived from schema depicted in Figure 7. The distance variable has been bound to the interval 0; 30, 000 [km] according to expert advice. Table 3 summarizes intervals of all optimization problem variables. Table 3. Optimization problem variables limits.

Optimization Variables Low Bound High Bound
Related to triangular functions for distance 0 km 30,000 km Related to triangular functions for angle −π rad +π rad Related to triangular functions for throttle lever position 0 1 Related to triangular functions for elevator − π 4 rad + π 4 rad

Usage of a Different Description for Membership Functions
During the experiments, it has been found that the implementation of autopilot with the help of a fuzzy system the definitions provided by three and eight parameters are inappropriate. After a couple of experiments' hypotheses, it appeared that those rule sets could be wrong. At that stage, the extended set of parameters came into play. With such a setup, the fuzzy pilot adjustment was found, and it can be stated that the extended set of parameters can discover an error in the fuzzy rule definitions.
The simulation time was limited to 500 s. If the airplane went to loopback, the appropriate autopilot setup was marked as an unacceptable solution.
In the section below, the behavior of the (sub)optimal fuzzy autopilot is presented.

Genetic Algorithm Setup
For the optimization, the Python language has been chosen. This choice has been determined by the availability of different tools needed for this problem. Python has a library for numerical solutions of differential equations, which comes in handy for simulations. In addition, there is the Pymoo library [19] which has already implemented a couple of optimization algorithms. This could also be useful that the new version of Pymoo (0.5) integrated support for distributed optimization employs the Dask [20]. For optimization, the genetic algorithm implemented in the Pymoo library has been chosen; the size of the population has been set to 200 members and the generation count has been set to 500.

Selected State Variables Evolution in Time
The autopilot should keep an appropriate altitude level. As can be read out from Figure 13, the altitude has been kept with errors less than 20 m. The figure does not keep the aspect ratio.
for numerical solutions of differential equations, which comes in handy for simulations. In addition, there is the Pymoo library [19] which has already implemented a couple of optimization algorithms. This could also be useful that the new version of Pymoo (0.5) integrated support for distributed optimization employs the Dask [20]. For optimization, the genetic algorithm implemented in the Pymoo library has been chosen; the size of the population has been set to 200 members and the generation count has been set to 500.

Selected State Variables Evolution in Time
The autopilot should keep an appropriate altitude level. As can be read out from Figure 13, the altitude has been kept with errors less than 20 m. The figure does not keep the aspect ratio. For the aircraft movement, it is also important to keep an appropriate velocity. Figure 13 shows that the velocity [m s −1 ] during the flight (41 s) has a maximum error of less than 2 m s −1 (seed Figure 14). For the aircraft movement, it is also important to keep an appropriate velocity. Figure  13 shows that the velocity [m s −1 ] during the flight (41 s) has a maximum error of less than 2 m s −1 (seed Figure 14).

Selected Autopilot Outputs Evolution in Time
During the flight, the Dm and DX autopilot's outputs were observed. The results of this observation can be found in Figures 15 and 16

Selected Autopilot Outputs Evolution in Time
During the flight, the Dm and DX autopilot's outputs were observed. The results of this observation can be found in Figures 15 and 16  In the simulation, the 15th s is interesting because the autopilot 'noticed' the change in height and changed the Dm. At the 21st s, it increased the DX and adapted the Dm accordingly. At the 41st s, the waypoint was been reached.

Fuzzy Controller Setup
The fuzzy controller is the main result of the optimization process. As has been stated above, the ruleset defined by an expert has made several optimizations unsuccessful. When it was hypothesized that the ruleset is imperfect (or limiting) and the extension of parameters defining the full set of membership functions, the solution was found. Below, Figures 17-19 show the fuzzy controller setup. There are several important aspects. One of the aforementioned aspects is that the relation between the maximums of membership functions has not been fulfilled. As a reminder, for angle input, the relations should be: AHN < ANN < AZZ < APP < AHP, but Figure 16 shows that AZZ < ANN < AHN < APP < AHP. Moreover, Distance should have DRC < DQC < DMD < DQF < DFA, but (see Figure 17) DRC < DQF < DFA < DQC < DMD.
In Figure 17, it must be noted that there is missing control for distances in the interval In the simulation, the 15th s is interesting because the autopilot 'noticed' the change in height and changed the Dm. At the 21st s, it increased the DX and adapted the Dm accordingly. At the 41st s, the waypoint was been reached.

Fuzzy Controller Setup
The fuzzy controller is the main result of the optimization process. As has been stated above, the ruleset defined by an expert has made several optimizations unsuccessful. When it was hypothesized that the ruleset is imperfect (or limiting) and the extension of parameters defining the full set of membership functions, the solution was found. Below, Figures 17-19 show the fuzzy controller setup. There are several important aspects. One of the aforementioned aspects is that the relation between the maximums of membership functions has not been fulfilled. As a reminder, for angle input, the relations should be: Mathematics 2021, 9,            AHN < ANN < AZZ < APP < AHP, but Figure 16 shows that AZZ < ANN < AHN < APP < AHP. Moreover, Distance should have DRC < DQC < DMD < DQF < DFA, but (see Figure 17) DRC < DQF < DFA < DQC < DMD.
In Figure 17, it must be noted that there is missing control for distances in the interval from 21,000 m to 22,000 m.

Conclusions
In the previous chapters, a model of the fuzzy-based virtual pilot for wargaming and its development has been introduced. With the help of a genetic algorithm, the optimization of fuzzy logic controllers has been made. The sequence of experiments that have been conducted reveal that setting up the fuzzy rules for a complex system is a difficult problem that can be underestimated, and if the expert's proposal is not tested appropriately, it can mislead the research. As has been stated above, a definition able to check the inaccuracy of the ruleset can be used.
The proposed system was developed as a special subsystem for experimentation with the scenario of a battle aircraft against air defence systems where aircraft (pilots) should follow a mission. The models available in the literature have been determined too complicated for such a task. Unfortunately, modelling the aircraft as a point with constant velocity from one waypoint to the next miss some important aspects such as elevations of the plane, and thus it is not possible to model the detection of an approaching airplane by a radar, appropriately. Therefore, the main advantage of the proposed system is the perfect level of model details.
This article describes the first phase of implementing a synthetic pilot using fuzzy controllers. At this stage, the authors have limited themselves to simulating the control of the throttle lever and the elevator. The conclusions described above will be used to refine the proposed model and extend it to control other controls of the simulated aircraft.
There is a plan for the next iteration. The fuzzy rule setup will be revised with the help of an expert. In addition, a more flexible setup for the identification of an expert's mistake can be chosen. Such a setup can be based on increased membership functions employed in the output definition. If an extended setup version is achieved, 25 membership functions can be used. However, this case has a very large count of variables, and thus it will be quite hard to optimize it. Moreover, 25 membership functions for an output variable can help to point out that the use of the Sugeno fuzzy system could be more appropriate. It is also possible to perform a minimization process on the set of 25 membership functions, such as identifying clusters of membership functions and their replacement with one membership function.
Author Contributions: Conceptualization, A.S. and P.F.; methodology, A.S.; software, A.S.; validation, A.S. and P.F.; writing-original draft preparation, A.S. and P.F.; writing-review and editing, A.S. and P.F. All authors have read and agreed to the published version of the manuscript.

Conflicts of Interest:
The authors declare no conflict of interest. The funders had no role in the design of the study; in the collection, analyses, or interpretation of data; in the writing of the manuscript, or in the decision to publish the results.