Comparison of Computational Intelligence Methods Based on Fuzzy Sets and Game Theory in the Synthesis of Safe Ship Control Based on Information from a Radar ARPA Syst m

This article presents safe ship control optimization design for navigator advisory system. Optimal safe ship co trol is presented as multistage cision-making in a fuzzy environment and as multistep decision-making in a e e vir nment. The navigat r’s subjective and the maneuvering parameters are taken under consideration in the model process. A computer simulation of fuzzy neural anticollision (FNAC) and matrix game anticollision (MGAC) algorithms was carried out on MATLAB software on an example of the real navigational situation of passing three encountered ships in the Skagerrak Strait, in good and restricted visibility at sea. The developed solution can be applied in decision-support systems on board a ship.


Introduction
One of the most important transport issues is the safe control of movement, measured by the probability of collision risk when passing ships on the route, using information from the radar anticollision system [1,2].In practice, there are many safe trajectories for the ship, from which an optimal trajectory can be chosen that ensures minimum collision risk and the smallest path loss on passing encountered ships [3][4][5].The development of modern information technologies creates appropriate opportunities for the automation of navigation and construction of decision support systems to safety control the movement of a ship (Figure 1).

Introduction
One of the most important transport issues is the safe control of movement, measured by the probability of collision risk when passing ships on the route, using information from the radar anticollision system [1,2].In practice, there are many safe trajectories for the ship, from which an optimal trajectory can be chosen that ensures minimum collision risk and the smallest path loss on passing encountered ships [3][4][5].The development of modern information technologies creates appropriate opportunities for the automation of navigation and construction of decision support systems to safety control the movement of a ship (Figure 1). Figure 1.Safe ship-control system: Dj-distance to j-th met ship, Nj-bearing to j-th met ship, ψcourse of the own ship, V-speed of the own ship, J-number of met ships.
Figure 1.Safe ship-control system: D j -distance to j-th met ship, N j -bearing to j-th met ship, ψ-course of the own ship, V-speed of the own ship, J-number of met ships.
According to Lloyd's statistics, in about 87% of marine accidents, the cause of ship collisions is the navigator's subjectivity in maneuvering decisions, often under conditions of ambiguity and conflict.
Therefore, among the many possibilities of describing this process, models of fuzzy control and game control become useful [6][7][8].
The methods of static and dynamic optimization used so far, evolutionary algorithms or particle swarm methods, do not include the fuzzy and game properties of the real anticollision problems of the ship [9,10].
Therefore, the aim of this paper is to determine an optimal and safe ship trajectory using the theory of fuzzy sets and game theory (Figures 2 and 3).
Remote Sens. 2018, 10, x FOR PEER REVIEW 2 of 16 According to Lloyd's statistics, in about 87% of marine accidents, the cause of ship collisions is the navigator's subjectivity in maneuvering decisions, often under conditions of ambiguity and conflict.Therefore, among the many possibilities of describing this process, models of fuzzy control and game control become useful [6][7][8].
The methods of static and dynamic optimization used so far, evolutionary algorithms or particle swarm methods, do not include the fuzzy and game properties of the real anticollision problems of the ship [9,10].
Therefore, the aim of this paper is to determine an optimal and safe ship trajectory using the theory of fuzzy sets and game theory (Figures 2 and 3).

Kinematic Model of the Ship
In practice, the kinematics parameters of passing ships at sea in the form of: distance of the closest point of approach DCPAj = D j min, • time to the closest point of approach TCPAj = T j min.
These are identified by the automatic radar plotting aids (ARPA) anticollision system (Figure 4).The kinematic model of the control can be presented in the form of state equation where: (Xk+1, Xk) is the set of real ship position co-ordinates, and Uk is the control set [11].
The process ends when the ship reaches the back points called the final states (2)  According to Lloyd's statistics, in about 87% of marine accidents, the cause of ship collisions is the navigator's subjectivity in maneuvering decisions, often under conditions of ambiguity and conflict.Therefore, among the many possibilities of describing this process, models of fuzzy control and game control become useful [6][7][8].
The methods of static and dynamic optimization used so far, evolutionary algorithms or particle swarm methods, do not include the fuzzy and game properties of the real anticollision problems of the ship [9,10].
Therefore, the aim of this paper is to determine an optimal and safe ship trajectory using the theory of fuzzy sets and game theory (Figures 2 and 3).

Kinematic Model of the Ship
In practice, the kinematics parameters of passing ships at sea in the form of: distance of the closest point of approach DCPAj = D j min, • time to the closest point of approach TCPAj = T j min.
These are identified by the automatic radar plotting aids (ARPA) anticollision system (Figure 4).The kinematic model of the control can be presented in the form of state equation where: (Xk+1, Xk) is the set of real ship position co-ordinates, and Uk is the control set [11].
The process ends when the ship reaches the back points called the final states (2)

Kinematic Model of the Ship
In practice, the kinematics parameters of passing ships at sea in the form of: distance of the closest point of approach DCPA j = D j min , • time to the closest point of approach TCPA j = T j min .
These are identified by the automatic radar plotting aids (ARPA) anticollision system (Figure 4).The kinematic model of the control can be presented in the form of state equation where: (X k+1 , X k ) is the set of real ship position co-ordinates, and U k is the control set [11].
The process ends when the ship reaches the back points called the final states The set of final states must meet this condition where: (ψ opt , V opt ) are the optimal own-ship course and speed, (ψ S , V S ) are set point own-ship course and speed, and µ R is the membership function of collision risk [12].

Membership Function of Fuzzy Goal
Different security assessments made by navigators can be described as the membership function of the fuzzy goal, allowing a subjective assessment of where λ d is the navigator's subjective parameter.

Membership Function of Fuzzy Constraints
The membership function of the fuzzy constraints can be defined as where λ c is the navigator's subjective parameter.

Membership Function of Fuzzy Collision Risk
Ships that can take part in a collision should be sorted according to the degree of threat by the collision-risk rating index.In many works, the ship's domain is treated as an assessment of collision risk [8].In this article, the collision-risk transfer function was used as collision-risk assessment where λ rd and λ rd are the navigator's subjective parameters.The fuzzy-set decision is determined as result of an operation of the fuzzy set of a goal and fuzzy set of constraints µ D (., .)= µ C (., .)* µ G (., .)

Fuzzy Neural Anticollision (FNAC) Algorithm
To present the idea of dynamic programming in this case, we first have to present the task in a slightly fuller form µ D (u 0 , ..., u N−1 |X 0 ) = max u 0 ,...,u N−1 After transformation and maximization in relation to controls (u 0 , u 1 , . . ., u N−1 ), we obtain the following system of recursive equations Referring to Formula (9), going back from stage t = N to t = 0, at each stage there are two phases: minimization and maximization.Such operations can be implemented using the special neural network proposed in [13].The traditional artificial neural network does not perform the minimum and maximum operations of a finite set.Appropriate neurons were proposed by Rocha, which will be presented in the next sections [14][15][16][17][18].

Neural Network
The operations presented above require special neurons that can be used in an artificial neural network.Such neurons were proposed by Rocha [19], neurons of maximum type and minimum type.We assume that the neuron has n inputs (b 1 , b 2 . . ., b n ) and the weighted sum of these n inputs is defined by the following formula y = n ∑ k=1 w k b k (10) where w k are the synapse weights connecting the input neurons.
The following pattern shows that the resulting obtained value u is encoded as the axonal activation b p of the postsynaptic neuron.
We have introduced two axonal thresholds α 1 , α 2 , which are defined by polarized neurons, where f transition function.We can now define the maximum-type neuron and the minimum-type neuron.

Maximum-Type Neuron
Defined as such whose axonal threshold α t in stage t is described as However, axionic activation b p is presented as where u(t) is the postsynaptic activation at stage t [20].
Combining the two functions, at the output of the max neuron, we obtain a maximum value of the inputs if weight w Minimum-Type Neuron Defined as a neuron whose axionic threshold α t at stage t is However, axionic activation The equations show that the output of the min neuron encodes at least the minimum value of the In this way, defined neurons allow to build the neural network to solve the task of the optimal safe ship trajectory.

Structure of Neural Networks in Relation to Multistage Control
The neural network proposed in Reference [13] allows solving the task presented above.Its structure consists of alternating layers of minimum and maximum neurons.Weights values of neuron entrances are not given by learning in the ordinary sense, but result from the description the task, i.e., state transitions, fuzzy constraints, and fuzzy goals.Therefore, in order for the structure of the neural network to properly work, it is necessary to determine the connections between minimum and maximum neurons on the same layer, the maximum neurons of the preceding layer, and the minimum neurons on a current layer.
In the following, the neurons are described as

Generating Interconnections between Max and Min Neurons at the Same Layer
The connection of the two types of neurons from the same layer is done using the state-transitions equations, the connection function is as where q R (m i k ) is the number of receptor control, q T (M i k ) is the number of relay states, f N-k (.,.) is the state-transition equation.A value of 1 means there is a connection, while 0 means no connection.

Generating Interconnections between Max Neurons and Min Neurons at the Given Layer
The combination of max neuron M j k−1 (layer k − 1) and min neuron m i k (layer k) is executed by the number of receptors q R (m i k ) and the number of the relay.It allows to obtain state x N−k using the state equation, running neuron driver q C (m i k ).That can be presented as the equation This driver is designed to send to all max neurons in layer (k − 1) the number of receptors q C (m i k ).Neurons, which, due to the sent value, are activated, have the same value as receptor q R (M l k−1 ).Just like in computer networks, between neuron m i k and M l k−1 , a connection is established, which can be defined as The connections presented in this fashion give the possibility to form an algorithm based on an artificial neural network, which will emulate solving the problem of dynamic programming in fuzzy environment, that is, the fuzzy neural anticollision (FNAC) algorithm [21].
The structure of the neural network to determine the safe ship trajectory is atypical, the network consists of six stages, in the first stage there are two layers of neurons, one max neuron and nine min neurons.The next has 9 max neurons and 32 min neurons.However, in third stage there are 25 max neurons and 38 min neurons.The penultimate stage has nine max neurons and nine min neurons.The last has one max neurons.The neurons weight result from the function state transitions and the membership function of fuzzy constraints and the membership function fuzzy goals.
Output step is to find a series of connections of maximum neurons, whose outputs have the highest value fuzzy decision µ Dmax .
The initialization step it is to create a neural network.As in the dynamic programming steps proceed from the latter to zero (initial).
Thus, the steps of numbering 0 (the last stage with respect to X 0 ) to N (last step k, the first with respect to X 0 ) initialize the first layer of neurons maximum at stage k = 0, and increase by 1 (k = 1).From this step on, in each subsequent step we first initialize the layer of minimum neurons and then the layer of maximum neurons (Figure 5).The connection step, as the name suggests, is to combine the maximum and minimum neurons of the same stage k (Phase 1), the maximum neurons at stage k − 1, and the minimum neurons at stage k (Phase 2).The output step is to find a series of connections of maximum neurons whose outputs have the highest value, μDmax.
Of course, this is also true for control, which made it possible to obtain a value μD(u0*, …., uN−1*|X0) so there is also a connection with the minimum neurons.This time, these values are being sought in an order according to the initial state, that is x0 to xN (final state).
The initial state and the final state are single (this is related to the maneuvers of the ship).In some structures of the neural network, this may occur more than once, in the initial and final states, The connection step, as the name suggests, is to combine the maximum and minimum neurons of the same stage k (Phase 1), the maximum neurons at stage k − 1, and the minimum neurons at stage k (Phase 2).The output step is to find a series of connections of maximum neurons whose outputs have the highest value, µ Dmax .
Of course, this is also true for control, which made it possible to obtain a value µ D (u 0 *, . . .., u N−1 *|X 0 ) so there is also a connection with the minimum neurons.This time, these values are being sought in an order according to the initial state, that is x 0 to x N (final state).
The initial state and the final state are single (this is related to the maneuvers of the ship).In some structures of the neural network, this may occur more than once, in the initial and final states, and, in this case, the connection may vary depending on the selection state at the initial stage.
Using the fuzzy toolbox and neural toolbox contained in the MATLAB_R2016a software, the fuzzy neural anti-collision (FNAC) computer program was designed for the determination of the safe own-ship trajectory in a collision situation [11].

Base-Differential Game Model
The most general description of the own ship passing j other encountered ships is the model of a differential game of moving control objects (Figure 6).The connection step, as the name suggests, is to combine the maximum and minimum neurons of the same stage k (Phase 1), the maximum neurons at stage k − 1, and the minimum neurons at stage k (Phase 2).The output step is to find a series of connections of maximum neurons whose outputs have the highest value, μDmax.
Of course, this is also true for control, which made it possible to obtain a value μD(u0*, …., uN−1*|X0) so there is also a connection with the minimum neurons.This time, these values are being sought in an order according to the initial state, that is x0 to xN (final state).
The initial state and the final state are single (this is related to the maneuvers of the ship).In some structures of the neural network, this may occur more than once, in the initial and final states, and, in this case, the connection may vary depending on the selection state at the initial stage.
Using the fuzzy toolbox and neural toolbox contained in the MATLAB_R2016a software, the fuzzy neural anti-collision (FNAC) computer program was designed for the determination of the safe own-ship trajectory in a collision situation [11].

Base-Differential Game Model
The most general description of the own ship passing j other encountered ships is the model of a differential game of moving control objects (Figure 6).The properties of the process are described by the state equation .
Control constraints and the state of the process are connected with the basic condition for the safe passing of the ships at a safe distance D s in compliance with the International Regulations for Preventing Collisions at Sea (COLREGs Rules) g j (x j,β j , u j,δ j ) ≤ 0 (22) Goal function has the form of the payments, the integral payment and the final one The integral payment represents the additional distance traveled by the own-ship while passing the encountered ships and the final payment determines the final collision-risk r j (t k ) relative to the j ship and the final deflection of the own-ship d(t k ) from the reference trajectory [23].
Two types of control goals were taken into consideration, programmed control u 0 (t) and positional control u 0 [x 0 (t),t].The basis for the decision-making control are the decision-making patterns of the positional control processes, the patterns with the feedback arrangement representing the differential games.
While formulating the model of the control process, it is essential to take into consideration both the kinematics and the dynamics of the own-ship movement, the disturbances, the strategy of the encountered ships, and the assumed formula as the goal of the own-ship handling.
The diversity of selection of the possible models directly affects the synthesis of the own-ship control algorithms, which are afterwards affected by the ship-handling device, directly linked to the ARPA system and, consequently, determine the effects of safe and optimal control.
The application of reductions in the description of own-ship dynamics and the dynamics of the j-th encountered ship, and their movement kinematics, leads to the approximated model-positional and matrix.

Approximate Matrix Game Model
When leaving aside the own-ship dynamics equations, the general model of a differential game for the process of preventing collisions is reduced to the matrix game of J participants non-co-operating or co-operating among them.The state and control variables are represented by the values

Matrix Game Anticollision (MGAC) Algorithm
Collision matrix risk R includes the values previously determined on the basis of data taken from anticollision system ARPA; the value of collision-risk r j with regard to the determined strategies of the own-ship and those of j-th encountered ships (Figure 7).

Matrix Game Anticollision (MGAC) Algorithm
Collision matrix risk R includes the values previously determined on the basis of data taken from anticollision system ARPA; the value of collision-risk rj with regard to the determined strategies of the own-ship and those of j-th encountered ships (Figure 7).The form of such a game is represented by the following risk matrix R = [r j (δ 0 , δ j )] containing the same number of columns as the number of participant O (own-ship) strategies.It has; e.g., a constant course and speed, course alteration 20 • to starboard, 20 • to port, etc., and contains a number of lines that correspond to a joint number of participants J (j-th encountered ships) strategies R = [r j (δ 0 , δ j )] = r 11 r 12 . . . .r 1,ν 0 −1 r 1ν 0 r 21 r 22 . . . .r 2,δ 0 −1 r 2δ 0 . . . . . . . . . . . . . . . . . . . .r δ 1 1 r δ 1 2 . . . .r δ 1 ,δ 0 −1 r δ 1 δ 0 . . . . . . . . . . . . . . . . . . . .r δ j 1 r δ j 2 . . . .r δ j ,δ 0 −1 r δ j δ 0 . . . . . . . . . . . . . . . . . . . .r δ J 1 r δ J 2 . . . .r δ J ,δ 0 −1 r δ J δ 0 (26) The value of the collision-risk r j is defined as the reference of the current situation of the approach described by parameters D j min and T j min to the assumed assessment of the situation defined as safe and determined by the safe distance of approach D s and the safe time T s -which are necessary to execute a maneuver avoiding a collision with consideration of actual distance D j between the own-ship and the encountered j-th ship (Figure 8) Remote Sens. 2018, 10, x FOR PEER REVIEW 10 of 16 Weight coefficients ε1, ε2, ε3 are dependent on the state of visibility at sea (good or restricted), the kind of water region (open or restricted), speed V of the ship, static L, and dynamic Ld length of ship, and static B and dynamic Bd beam of ship [10] (28) (29) (30) Assuming higher values of particular weight coefficients ε1, ε2 and ε3; the share of the risk of collision rj depending on the distance of ships Dj and D j min or the time of excessive approach of ships T j min increases.
The constraints affecting the choice of strategies are a result of the recommendations of the way B d = 1.1 (B + 0.767 LV 0.4 ) Assuming higher values of particular weight coefficients ε 1 , ε 2 and ε 3 ; the share of the risk of collision r j depending on the distance of ships D j and D j min or the time of excessive approach of ships T j min increases.The constraints affecting the choice of strategies are a result of the recommendations of the way of priority at sea.Player O (own-ship) may use δ 0 of various pure strategies in a matrix game and player J (encountered ships) has δ j of various pure strategies.
As the game, most frequently does not have a saddle point, the state of balance is not guaranteed, and there is a lack of pure strategies for both players in the game.In order to solve this problem, dual linear programming may be used.
In a dual problem, player O, having δ 0 various strategies to be chosen, tries to minimize the risk of collision I 0 = min δ 0 r j (31) while player J, having δ j strategies to be chosen, tries to maximize the collision-risk For a non-co-operative matrix game, the problem of determining an optimal strategy may be reduced to the task of solving a dual linear programming problem [24] For a co-operative matrix game, the problem of determining an optimal strategy may be reduced to the task of solving a dual linear programming problem Mixed strategy components express probability distribution P = [p j (δ 0 ,δ j )] of players using pure strategies P = [p j (δ 0 , δ j )] = The solution for the steering goal is the strategy of the highest probability and will also be the optimal value approximated to the pure strategy u The safe trajectory of the own-ship was treated here as a sequence of changes to the course and speed.The established values are as follows: safe passing distances among the ships under given visibility at sea D s , time delay of manoeuvring and the duration of one stage of the trajectory as one calculation step.At each step, the most dangerous ship is determined with regard to the value of collision risk r j .
Consequently, on the basis of the semantic interpretation of the COLREGs, the direction of a turn of the own-ship is selected to the most dangerous encountered ship [25][26][27].
Collision matrix risk R is determined for the admissible strategies of the own-ship δ 0 and those δ j for j-th ships encountered.By applying dual linear programming in order to solve the matrix game, we obtain the optimal values of the own-ship course and those of the j-th ship at the smallest deviation from their initial values.
If, at a given step, no solution can be found at the speed of the own-ship V, the calculations are repeated at reduced speed by 25% until the game is solved.
The calculations are repeated step by step until the moment when all elements of matrix R become equal to zero, and the own-ship, after having passed the encountered ships, returns to its initial course and speed.
Using the linprog function, that is, linear programming from the optimtool optimization toolbox contained in the MATLAB_R2017a software, the matrix game anti-collision (MGAC) computer program was designed for the determination of the safe own-ship trajectory in a collision situation [10].

Research Results
The aim of the computer simulation research of the FNAC and MGAC algorithms to determine the optimal safe-ship trajectory in collision situations was to evaluate methods to solve the problem formulated in this work by using fuzzy-set theory as a multistage and matrix game theory as a multistep decision-making process.
The computer simulation of the FNAC and MGAC algorithms was carried out in MATLAB software on an example of the real navigational situation of passing J = 3 encountered ships in the Skagerrak Strait in good visibility D s = 0.2 nm and the restricted visibility D s = 2.0 nm (nautical miles) (Table 1).The situation was registered on board r/v HORYZONT II, a research and training vessel of the Gdynia Maritime University, on the radar screen of the ARPA anticollision system Raytheon.The sample results of the performed computer simulations for the navigational situation when the own-ship passed three met ships in a good and restricted visibility at sea are presented in Figures 9  and 10, respectively.
The trajectories of the own-ship, shown in Figures 9 and 10, are optimal, but in different ways.
The FNAC trajectory ensures minimum risk of collision of own-ship, taking into account the uncertainty of the control process, described by the fuzzy set membership functions of state and control constraints, and collision risk, not including maneuvers of encountered ships.
On the other hand, the trajectory of MGAC ensures a minimum collision-risk of the own-ship taking into account the maneuvering of encountered ships in a co-operative or non-co-operative way.
Designated safe trajectories FNAC and MGAC of the own-ship are the reference trajectories for automatic ship's control systems using the autopilot and main engine.The FNAC trajectory ensures minimum risk of collision of own-ship, taking into account the uncertainty of the control process, described by the fuzzy set membership functions of state and control constraints, and collision risk, not including maneuvers of encountered ships.
On the other hand, the trajectory of MGAC ensures a minimum collision-risk of the own-ship taking into account the maneuvering of encountered ships in a co-operative or non-co-operative way.
Designated safe trajectories FNAC and MGAC of the own-ship are the reference trajectories for automatic ship's control systems using the autopilot and main engine.

Figure 4 .
Figure 4. Situation of passing own ship with other ships.The set of final states must meet this condition

Figure 4 .
Figure 4. Situation of passing own ship with other ships.

Figure 6 .Figure 6 .
Figure 6.Block diagram of the basic model of differential game.The properties of the process are described by the state equation Figure 6.Block diagram of the basic model of differential game.

Figure 7 .Figure 7 .
Figure 7. Matrix game anticollision (MGAC) algorithm block diagram.The form of such a game is represented by the following risk matrix R = [rj(δ0, δj)] (25) containing the same number of columns as the number of participant O (own-ship) strategies.It has; e.g., a constant course and speed, course alteration 20° to starboard, 20° to port, etc., and contains a number of lines that correspond to a joint number of participants J (j-th encountered ships) strategies

Figure 8 .
Figure 8. Example of the dependence of collision risk on the relative values of distance and time of approaching ships.

Figure 8 .
Figure 8. Example of the dependence of collision risk on the relative values of distance and time of approaching ships.Weight coefficients ε 1 , ε 2 , ε 3 are dependent on the state of visibility at sea (good or restricted), the kind of water region (open or restricted), speed V of the ship, static L, and dynamic L d length of ship, and static B and dynamic B d beam of ship[10] registered on board r/v HORYZONT II, a research and training vessel of the Gdynia Maritime University, on the radar screen of the ARPA anticollision system Raytheon.The sample results of the performed computer simulations for the navigational situation when the ownship passed three met ships in a good and restricted visibility at sea are presented in Figures9 and 10, respectively.

Figure 9 .
Figure 9.Comparison of safe and optimal trajectories of own-ship in the situation of passing three ships, in conditions of good visibility at sea at Ds = 0.2 nm, determined using the following algorithms: FNAC decision chosen trajectory = 0.5766; MGAC final payment = 1.08 nm.

Figure 9 .
Figure 9.Comparison of safe and optimal trajectories of own-ship in the situation of passing three ships, in conditions of good visibility at sea at D s = 0.2 nm, determined using the following algorithms: FNAC decision chosen trajectory = 0.5766; MGAC final payment = 1.08 nm.Remote Sens. 2018, 10, x FOR PEER REVIEW 13 of 16

Figure 10 .
Figure 10.Comparison of safe and optimal trajectories of own-ship in the situation of passing three ships, in conditions of restricted visibility at sea at Ds = 2.0 nm, determined using the following algorithms: FNAC decision chosen trajectory = 0.6452; MGAC final payment = 3.83 nm.The trajectories of the own-ship, shown in Figures9 and 10, are optimal, but in different ways.The FNAC trajectory ensures minimum risk of collision of own-ship, taking into account the uncertainty of the control process, described by the fuzzy set membership functions of state and control constraints, and collision risk, not including maneuvers of encountered ships.On the other hand, the trajectory of MGAC ensures a minimum collision-risk of the own-ship taking into account the maneuvering of encountered ships in a co-operative or non-co-operative way.Designated safe trajectories FNAC and MGAC of the own-ship are the reference trajectories for automatic ship's control systems using the autopilot and main engine.

Figure 10 .
Figure 10.Comparison of safe and optimal trajectories of own-ship in the situation of passing three ships, in conditions of restricted visibility at sea at D s = 2.0 nm, determined using the following algorithms: FNAC decision chosen trajectory = 0.6452; MGAC final payment = 3.83 nm.

Table 1 .
Data of own-ship and met ships: 1, 2 and 3.