**1. Introduction**

18 Bio-Inspired Computational Algorithms and Their Applications

[11] Y.D. Kwon, H.W. Kwon, W.J. Kim, and S.D. Yeo, 2008, "Structural damage detection in

[13] O. Baskan, S. Haldenbilen, Huseyin Ceylan, Halim Ceylan, 2009, "A new solution

[14] N. Tutkun, 2009, "Optimization of multimodal continuous functions using a new

[15] Y.D. Kwon, S.W. Han, and J.W. Do, 2010, "Convergence rate of the successive zooming

[16] Z. Ye, Z. Lee, M. Xie, 2010, "Some improvement on adaptive genetic algorithms for

[17] K. Wei, H. Tuo, Z. Jing, 2010, "Improving binary ant colony optimization by adaptive

[19] M.A. Ahandani, N.P. Shirjoposh, R. Banimahd, 2011, "Three modified version of

and Imaging, Vol. 7493, No. 1~3, pp. 17-1~8.

cations, Vol. 3, Iss. 4, pp. 8172~8177.

Iss. 2, pp. 120~126.

pp. 803~830.

Mathematics and Computation, Vol. 211, Iss. 1, pp. 75~84.

Modern Physics B, Vol. 24, No. 15&16, pp. 2731~2736.

Mathematics, Vol. 88, Iss. 11, pp. 2415~2428.

continuum structures using successive zooming genetic algorithm," Structural Engineering and Mechanics, An International Journal, Vol. 30, No. 2, pp. 135~146. [12] Y.D. Kwon, C.H. Sohn, S.B. Kwon, and J.G. Lim, 2009, "Optimal design of link systems

using successive zooming genetic algorithm," SPIE, Progress in Biomedical Optics

algorithm for improving performance of ant colony optimization," Applied

crossover for the real-coded genetic algorithms," Expert Systems with Appli-

genetic algorithm for band-widths of equality constraint," International Journal of

reliability-related applications," Reliability Engineering and System Safety, Vol. 95,

pheromone and commutative solution update," IEEE, 5th International Conference on Bio Inspired Computing: Theory and Applications (BIC-TA), pp. 565~569. [18] S. Babaie-Kafaki, R. Ghanbari, N. Mahdavi-Amiri, 2011, "Two effective hybrid

metaheuristic algorithms for minimization of multimodal functions," Computer

differential evolution for continuous optimization," Soft Computing, Vol. 15, Iss. 4,

For many applied and research problems it is necessary to find solution in the form of mathematical equation. These problems are the selection of function at approximation of experimental data, identification of control object model, control synthesis in the form of state space coordinates function, the inverse problem of kinetics and mathematical physics, etc. The main method to receive mathematical equations for solution of these problems consists in analytical transformations of initial statement formulas of the problem. A few problems have the exact analytical solution, therefore mathematicians use various assumptions, decomposition, and special characteristics of solutions. Usually mathematicians set the form of mathematical equation, and the optimal parameters are found using numerical methods and PC. Such methods as the least-square method have been applied to the problems of approximation for many years (Kahaner D. et al., 1989).

Recently the neural networks have been used to solve complex problems when the mathematical equation cannot be found analytically. The structure of any neural network is also given within the values of parameters or weight coefficients. In problems of function approximation and the neural network training the form of mathematical equation is set by the researcher, and the computer searches for optimum values of parameters in these equations (Callan, 1999; Demuth et al., 2008).

In 1992 a new method of genetic programming was developed. It allows to solve the problem of search of the most suitable mathematical equation. In genetic programming mathematical equations are represented in the form of symbol strings. Each symbol string corresponds to a computation graph in the form of a tree. The nodes of this graph contain operations, and the leaves contain variables or parameters ( Koza, 1992, 1994; Koza, Bennett et al., 1999 & Koza, Keane et al., 2003).

Genetic programming solves the problems by applying genetic algorithm. To perform the crossover it is necessary to find symbol substrings that correspond to brunches of trees. The analysis of symbol strings increases the operating time of the algorithm. If the same parameter or variable is included in the required mathematical equation several times, then to solve the problem effectively the genetic programming needs to crossover the trees so that the leaves contain no less than the required number of parameters or variables.

The Network Operator Method for Search of the Most Suitable Mathematical Equation 21

To present mathematical equation as a graph we use a program notation. Let us enlarge the

but they set a definite order of operations in the notation, so that binary operations have unary operations or unit elements as their arguments, and unary operations have only

**A graphic notation** of mathematical equation is a notation of binary operation that fulfills

а. binary operation can have unary operations or unit element of this binary operation as

To construct a graph of the mathematical expression we use a graphic notation. The graphic notation can be transformed into the graph if unary operations of mathematical expression correspond to the edges of the graph, binary operations, parameters or variables correspond

Suppose that in graphic notation we have a substring where two unary operations are arguments to binary operation ( ) () () , χρ ρ *kl m* This substring is presented as a graph

Suppose we have a substring where binary operation is an argument to unary operation

b. unary operation can have binary operation, parameter or variable as its argument; c. binary operation cannot have unary operations with the same constants or variables as

ρ

*ez z* = . These operations do not influence the result of calculation

<sup>1</sup> ( ) *z z* = and binary operation

**3. Graphic notations of mathematical equations** 

program notation by additional unary identity operation

binary operations, parameters or variables as their arguments.

Any program notation can be transformed into a graphic notation.

**4. Network operator of mathematical expression** 

Fig. 1. The graph for substring ( ) () () , χρ ρ *kl m*

Fig. 2. The graph for substring ρ χ *k l* ( ) ( )

ρ χ *k l* ( ) ( ) . This substring is presented as a graph on Fig. 2.

with a unit element ( ) , *i i*

the following conditions:

its arguments;

its arguments.

to the nodes of the graph.

on Fig. 1

χ

Limitations of the genetic programming revealed at the solution of the problem of suitable mathematical equation search, have led to creation of the network operator.

In this work we introduce a new data structure which we called a network operator. Network operator is a directed graph that contains operations, arguments and all information for calculations of mathematical equation.

Network operator method was used for the problems of control synthesis (Diveyev & Sofronova, 2008; Diveev, 2009; Diveev & Sofronova, 2009a,b).

#### **2. Program notations of mathematical equations**

Mathematical equations consist of variables, parameters, unary and binary operations that form four constructive sets.

Set of variables

$$\mathcal{X} = \left(\mathbf{x}\_1, \dots, \mathbf{x}\_N\right) \; \; \mathbf{x}\_i \in \mathbb{R}^1 \; \; i = \overline{1, N} \; \; \mathbf{M} \; \; \tag{1}$$

Set of parameters

$$\mathbf{Q} = \left( q\_{1}, \dots, q\_{p} \right), \ q\_{i} \in \mathbb{R}^{1}, \ i = 1, P. \tag{2}$$

Unary operations set

$$\mathbf{O}\_1 = \left(\rho\_1(z) = z, \rho\_2(z), \dots, \rho\_N(z)\right). \tag{3}$$

Binary operations set

$$\mathbf{O}\_2 = \left( \mathbb{X}\_0(z', z''), \dots, \mathbb{X}\_{V-1}(z', z'') \right). \tag{4}$$

Unary operations set must have an identity operation

ρ<sup>1</sup> ( ) *z z* = . (5)

Binary operations must be commutative

$$\chi\_i(z', z'') = \chi\_i(z'', z') \; , \; i = \overline{0, V - 1} \; , \tag{6}$$

associative

$$\mathcal{X}\left(\left(z',z''\right),z'''\right) = \mathcal{X}\left(z',\left(z'',z'''\right)\right), \ i = \overline{0,V-1},\tag{7}$$

and have a unit element

$$\exists e\_i \implies \underline{\chi}\_i(e\_{1'}z) = z \,, \; i = \overline{0, V-1} \,. \tag{8}$$

**A program notation** of mathematical equation is a notation of equation with the help of constructive sets (1) – (4).

### **3. Graphic notations of mathematical equations**

20 Bio-Inspired Computational Algorithms and Their Applications

Limitations of the genetic programming revealed at the solution of the problem of suitable

In this work we introduce a new data structure which we called a network operator. Network operator is a directed graph that contains operations, arguments and all

Network operator method was used for the problems of control synthesis (Diveyev &

Mathematical equations consist of variables, parameters, unary and binary operations that

O , ,, 11 2 = = ( ) ρρρ

O , ,, , 2 0 ( ) () () *<sup>V</sup>* <sup>1</sup>

ρ

()() , , *i i*

( ) ( ) ( ) ( ) *i i*

χ

**A program notation** of mathematical equation is a notation of equation with the help of

 χ

 χ

 χ

χ

Unary operations set must have an identity operation

χ

*<sup>i</sup>* ∃*e* ( ) , *i i*

χ

Binary operations must be commutative

X ,, ( ) <sup>1</sup> *<sup>N</sup>* = *x x* , <sup>1</sup> *xi* ∈R , *i N* = 1, . (1)

Q ,, ( ) <sup>1</sup> *<sup>P</sup>* = *q q* , <sup>1</sup> *qi* ∈R , *i P* = 1, . (2)

() () () *zz z z <sup>W</sup>* . (3)

*zz zz* <sup>−</sup> = ′ ′′ ′ ′′ . (4)

*zz zz* ′ ′′ ′′ ′ = , *i V* = − 0, 1 , (6)

*zz z z zz* ′ ′′ ′′′ ′ ′′ ′′′ ,, ,, = **,** *i V* = − 0, 1 , (7)

*ez z* = , *i V* = − 0, 1 . (8)

<sup>1</sup> ( ) *z z* = . (5)

mathematical equation search, have led to creation of the network operator.

information for calculations of mathematical equation.

Sofronova, 2008; Diveev, 2009; Diveev & Sofronova, 2009a,b).

**2. Program notations of mathematical equations** 

form four constructive sets.

Set of variables

Set of parameters

Unary operations set

Binary operations set

associative

and have a unit element

constructive sets (1) – (4).

To present mathematical equation as a graph we use a program notation. Let us enlarge the program notation by additional unary identity operation ρ<sup>1</sup> ( ) *z z* = and binary operation with a unit element ( ) , *i i* χ *ez z* = . These operations do not influence the result of calculation but they set a definite order of operations in the notation, so that binary operations have unary operations or unit elements as their arguments, and unary operations have only binary operations, parameters or variables as their arguments.

**A graphic notation** of mathematical equation is a notation of binary operation that fulfills the following conditions:


Any program notation can be transformed into a graphic notation.

#### **4. Network operator of mathematical expression**

To construct a graph of the mathematical expression we use a graphic notation. The graphic notation can be transformed into the graph if unary operations of mathematical expression correspond to the edges of the graph, binary operations, parameters or variables correspond to the nodes of the graph.

Suppose that in graphic notation we have a substring where two unary operations are arguments to binary operation ( ) () () , χρ ρ *kl m* This substring is presented as a graph on Fig. 1

Fig. 1. The graph for substring ( ) () () , χρ ρ *kl m*

Suppose we have a substring where binary operation is an argument to unary operation ρ χ *k l* ( ) ( ) . This substring is presented as a graph on Fig. 2.

Fig. 2. The graph for substring ρ χ *k l* ( ) ( )

The Network Operator Method for Search of the Most Suitable Mathematical Equation 23

( )

*z*

15 3

*z*

*z*

*z*

*z*

<sup>21</sup> ( )

*z*

( )

24

*z*

*z*

ρ = 

ρ = 

ρ = ε

ρ = 

ρ = 

*z*

*z*

( ) <sup>3</sup> <sup>14</sup> 3

, if

*z z*

ρ<sup>17</sup> () () *z zz* = + sgn ln 1 ( )

( )( ) <sup>18</sup>

1, if

*z z*

*z z*

ρ = − <− 

> *e* −

*z z*

 ε >− ε + ε ρ =

 +

 ρ= < 

( ) <sup>19</sup>

ε <ε

, if 1 sgn , otherwise

*z* <

*z*

*z e*

0, if ln

*z e*<sup>−</sup> >− ε

*z*

*z*

<sup>−</sup>

( ) ( )

2 3

1, if 2

 ε >

*z z*

<sup>−</sup> ε ε

*z*

ε

3 2 3

0, if ln , otherwise *<sup>z</sup> z*

( ) <sup>3</sup> <sup>23</sup> 3

( ) ( )

*e* −

, if ln <sup>1</sup>

<sup>1</sup> , otherwise <sup>1</sup> *<sup>z</sup>*

*z*

*z*

− > ρ = <sup>ε</sup> <sup>ε</sup> <sup>−</sup>

>− ε

3 4 , otherwise

sgn <sup>1</sup> , if

*z*

, otherwise

1, if 2

<sup>−</sup> ε ε

*z z*

0, if 0

> ε

*z*

sgn <sup>1</sup> , if

*z*

( ) ( )

*z*

sgn 1 , otherwise *<sup>z</sup>*

sgn , if ln

>− ε

sgn , otherwise *<sup>z</sup>*

3 2 , otherwise

, otherwise

, otherwise *z*

 > ρ = <sup>ε</sup> <sup>ε</sup>

ρ<sup>1</sup> ( ) *z z* = ρ = <sup>13</sup> () () *z z* arctan

<sup>ρ</sup><sup>3</sup> ( ) *z z* = − ( ) <sup>3</sup>

*z*

ρ = <sup>4</sup> () () *z zz* sgn ( ) ( ) <sup>16</sup>

( )

*z*

( ) ( )

<sup>+</sup> <sup>20</sup> ( ) 2 3

ρ = <sup>10</sup> () () *z z* sgn ( ) ( ) <sup>22</sup>

sgn , if ln

<sup>1</sup> , otherwise <sup>1</sup> *z z*

( ) <sup>1</sup>

2

*z*

*z*

*e*

( ) ( ) <sup>7</sup>

*z e*

  <sup>1</sup> , if

 <sup>−</sup> ε > ρ = <sup>ε</sup> 

( )

< ε ρ = <sup>ε</sup>

( ) ( ) <sup>1</sup>

*z*

*e* − − >− ε ρ = <sup>−</sup>

> 0, otherwise *z <sup>z</sup>* <sup>≥</sup>

<sup>9</sup> ( ) 1, if 0

ρ = <sup>11</sup> () () *z* cos z

ρ = <sup>12</sup> () () *z z* sin

Table 1. Unary operations

*z*

sgn , if

<sup>1</sup> , otherwise

<sup>−</sup> ε >− ε

, if ln , otherwise *<sup>z</sup> z*

<sup>1</sup> ln , if -ln

ln , otherwise

*z z*

 ε > ρ = <sup>ε</sup>

, otherwise *z*

2

*z*

( )

*z*

*z*

( )

ρ = 

8

ρ =

*z*

5

6

Let us have a substring where parameter or variable is an argument to unary operation ρ*<sup>k</sup>* ( ) *a* , where *a* is an argument or parameter of mathematical equation, *a*∈ ∪X Q . The graph for this substring is presented on Fig. 3.

Fig. 3. The graph for substring ρ*<sup>k</sup>* ( ) *a* , *a*∈ ∪X Q

If graphic notation contains a substring where binary operation with a unit element is an argument to unary operation ( ) ( ) ( ),0 ρ χρ *klm* We do not depict this unit elements and the node has only one incoming edge as shown on Fig. 4.

Fig. 4. The graph for substring ( ) ( ) ( ),0 ρ χρ *klm*

#### **5. Properties of network operators**

**Network operator** is a directed graph that has the following properties:


To calculate mathematical expression we have to follow certain rules:


To construct most of mathematical expressions we use the sets of unary and binary operations that are given in Table 1 and Table 2.

Consider the construction of the network operator for the following mathematical equation

$$y = \mathbf{x}\_1 + \sin\left(\mathbf{x}\_1\right) + q\_1 \mathbf{x}\_1 e^{-\mathbf{x}\_2} \ \ . $$

22 Bio-Inspired Computational Algorithms and Their Applications

Let us have a substring where parameter or variable is an argument to unary operation ρ*<sup>k</sup>* ( ) *a* , where *a* is an argument or parameter of mathematical equation, *a*∈ ∪X Q . The

If graphic notation contains a substring where binary operation with a unit element is an argument to unary operation ( ) ( ) ( ),0 ρ χρ *klm* We do not depict this unit elements and

d. every source node corresponds to the element from the set of variables X or the set of

a. unary operation is performed only for the edge that comes out from the node with no

c. the binary operation in the node is performed right after the unary operation of the

To construct most of mathematical expressions we use the sets of unary and binary

Consider the construction of the network operator for the following mathematical equation

( ) <sup>2</sup> 1 1 11 sin *<sup>x</sup> y x x q x e*<sup>−</sup> =+ + .

e. every node corresponds to binary operation from the set of binary operations O2 ; f. every edge corresponds to unary operation from the set of unary operations O1 .

graph for this substring is presented on Fig. 3.

Fig. 3. The graph for substring ρ*<sup>k</sup>* ( ) *a* , *a*∈ ∪X Q

the node has only one incoming edge as shown on Fig. 4.

Fig. 4. The graph for substring ( ) ( ) ( ),0 ρ χρ *klm*

**Network operator** is a directed graph that has the following properties:

b. any nonsource node has at least one edge from the source node;

To calculate mathematical expression we have to follow certain rules:

b. the edge is deleted from the graph once the unary operation is performed;

d. the calculation is terminated when all edges are deleted from the graph.

c. any non sink node has at least one edge to sink node;

**5. Properties of network operators** 

a. graph has no loops;

parameters Q ;

incoming edges;

incoming edge is performed;

operations that are given in Table 1 and Table 2.


Table 1. Unary operations

The Network Operator Method for Search of the Most Suitable Mathematical Equation 25

*y* =χ ρ χ ρ χ 010 11 ( ) ( ) ( ) , ( ) ( ) .

Unary identity operation ρ<sup>1</sup> ( ) *z* does not change the value of argument and this operation is

Since graphic notation should contain binary operations with unary operations as their

*y xx* =χ ρ χ ρ ρ 0 1 0 1 1 12 1 ( ( ) ( ) () () , , 1 11 111 11 6 32 ( ( ) ( ) ( ) ( ) ( ) ( ) ( ) )) ρχρχρ ρ ρρ *qx x* , , .

This notation is not a graphic one, because it does not satisfy condition «b» of graphic

ρ ρ <sup>632</sup> ( ) ( ) *x*

We use additional binary operation with a unit element as its second argument, for example χ<sup>0</sup> ( ) ,0 . According to Table 2 binary operation χ<sup>0</sup> ( ) *z z* ′ ′′ , is addition. A unit element for

ρχρ <sup>6032</sup> ( ) ( ) ( ) *x* ,0

*y xx* =χ ρ χ ρ ρ 0 1 0 1 1 12 1 ( ( ) ( ) () () , , 1 11 111 11 6 0 32 ( ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) )) ρχρχρ ρ ρχρ *qx x* , , ,0 .

This notation does not satisfy condition «c» of graphic notation, because it contains a substring where binary operation has two unary operations with the same variable as its

χρ ρ 0 1 1 12 1 ( ) () () *x x* ,

We add a binary operation with a unit element and a unary identity operation to the

χρχρ ρ 0 1 0 1 1 12 1 ( ) ( ) ( ) ( ) *x x* ,0 , ( )

*y* =χ ρ χ ρ χ ρ ρ 0 1 0 1 0 1 1 12 1 ( ( ) ( ) ( ) ( ) ( ) *x x* ,0 , , ( ) 1 11 111 11 6 0 32 ( ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) )) ρχρχρ ρ ρχρ *qx x* , , ,0 .

This notation has all properties of graphic notation and we can construct the graph of equation by this notation. To construct the graph we use the rules presented on Fig. 1 - 4.

Fig. 5 shows the numeration of nodes on the top of each node in the graph. We see that the numbers of the nodes where the edges come out from are less than the numbers of nodes

necessary for the construction of the graph by graphic notation.

arguments then we additional unary identity operations. We get

notation. Here unary operation has unary operation as its argument

We obtain the graphic notation of mathematical equation

As a result we get the following notation of mathematical equation

arguments

substring

The graph is shown on Fig. 5.

addition is 0 and it does not influence the result of calculation. Thus we get


Table 2. Binary operations

First we set parentheses to emphasize the arguments of functions. Then using Table 1 and Table 2 we find appropriate operations and replace functions by operations

$$\begin{split} \mathbf{y} = \mathbf{x}\_1 + \sin\left(\mathbf{x}\_1\right) + q\_1 \mathbf{x}\_1 e^{-\mathbf{x}\_2} &= \left( \left( \mathbf{x}\_1 + \sin\left(\mathbf{x}\_1\right) \right) + q\_1 \mathbf{x}\_1 e^{-\mathbf{x}\_2} \right) = \chi\_0 \left( \left( \mathbf{x}\_1 + \sin\left(\mathbf{x}\_1\right) \right), q\_1 \mathbf{x}\_1 e^{-\mathbf{x}\_2} \right) \\ &= \chi\_0 \left( \chi\_0 \left( \mathbf{x}\_1, \sin\left(\mathbf{x}\_1\right) \right), q\_1 \mathbf{x}\_1 e^{-\mathbf{x}\_2} \right) = \chi\_0 \left( \chi\_0 \left( \mathbf{x}\_1, \mathfrak{p}\_{12}\left(\mathbf{x}\_1\right) \right), \mathfrak{X}\_1 \left( q\_1 \mathbf{x}\_1, \mathfrak{p}\_6 \left(-\mathbf{x}\_2\right) \right) \right) \\ &= \chi\_0 \left( \chi\_0 \left( \mathbf{x}\_1, \mathfrak{p}\_{12}\left(\mathbf{x}\_1\right) \right), \mathfrak{X}\_1 \left( \mathfrak{X}\_1 \left( q\_1, \mathbf{x}\_1\right), \mathfrak{p}\_6 \left(\mathfrak{p}\_3 \left(\mathbf{x}\_2\right) \right) \right) \right) . \end{split}$$

As a result we obtain a program notation of mathematical equation

$$y = \chi\_0\left(\chi\_0\left(x\_1, \mathfrak{p}\_{12}\left(x\_1\right)\right), \chi\_1\left(\mathfrak{x}\_1\left(\mathfrak{q}\_{1'}\left(\mathfrak{x}\_1\right)\right), \mathfrak{p}\_6\left(\mathfrak{p}\_3\left(\mathfrak{x}\_2\right)\right)\right)\right) \dots$$

We can see that this program notation does not meet the requirements to graphic notation. These requirements are necessary for further construction of the graph. According to the definition of the network operator binary operations correspond to the nodes of the graph, unary operations correspond to the edges, thus binary and unary operations must be arguments of each other in the graphic notation of mathematical equation.

When a binary operation has as its argument in program notation then we cannot construct the graph, because there is no edge, in other words no unary operation, between two nodes.

To meet the requirements for graphic notation let us introduce additional unary identity operations. For example in the given program notation we have a substring

$$y = \mathcal{X}^o(\mathcal{X}^o(\dots), \mathcal{X}\_1(\dots))\ .$$

Here binary operation has two binary operations as its arguments. It does not satisfy condition «а» of graphic notation. If we use additional identity operation, then we have

24 Bio-Inspired Computational Algorithms and Their Applications

χ<sup>0</sup> ( ) *zz z z* ′ ′′ ′ ′′ , = + 0 χ = <sup>1</sup> ( ) *z z zz* ′ ′′ ′ ′′ , 1 χ = <sup>2</sup> ( ) *z z* ′ ′′ ′ ′′ , max z ,z { } <sup>1</sup> <sup>−</sup>

χ = <sup>3</sup> ( ) *z z* ′ ′′ ′ ′′ , min z ,z { } 1

χ =+− <sup>4</sup> ( ) *z z z z zz* ′ ′′ ′ ′′ ′ ′′ , 0

χ =++ <sup>6</sup> () ( ) *zz z z z z* ′ ′′ ′ ′′ ′ ′′ , sgn ( ) 0 χ =+ <sup>7</sup> () ( ) *zz z z* ′ ′′ ′ ′′ ′ ′′ , sgn max z , z { } <sup>0</sup>

First we set parentheses to emphasize the arguments of functions. Then using Table 1 and

0 0 1 1 11 ,sin , *<sup>x</sup> x x qxe*<sup>−</sup> = χ χ = χχ ρ χ ρ− 0 0 1 12 1 1 1 1 6 2 ( ) ( ) *x x qx x* , ,, ( ) ( ) ( )

=χ χ ρ χ χ ρ ρ 0 0 1 12 1 1 1 1 1 6 3 2 ( ) ( ) *x x qx x* , , ,, ( ) ( ) ( ) ( ) ( ) .

*y x x qx x* =χ χ ρ χ χ ρ ρ 0 0 1 12 1 1 1 1 1 6 3 2 ( ) ( ) , , ,, ( ) ( ) ( ) ( ) ( ) .

We can see that this program notation does not meet the requirements to graphic notation. These requirements are necessary for further construction of the graph. According to the definition of the network operator binary operations correspond to the nodes of the graph, unary operations correspond to the edges, thus binary and unary operations must be

When a binary operation has as its argument in program notation then we cannot construct the graph, because there is no edge, in other words no unary operation, between two nodes. To meet the requirements for graphic notation let us introduce additional unary identity

*y* =χ χ χ 00 1 ( ) () () , .

Here binary operation has two binary operations as its arguments. It does not satisfy condition «а» of graphic notation. If we use additional identity operation, then we have

( ) ( )() ( ) 2 2 <sup>5</sup> χ =+ + *zz z z z z* ′ ′′ ′ ′′ ′ ′′ , sgn

Table 2 we find appropriate operations and replace functions by operations

1 1 11 sin *<sup>x</sup> y x x q x e*<sup>−</sup> =+ + ( ) ( ) ( ) <sup>2</sup>

As a result we obtain a program notation of mathematical equation

arguments of each other in the graphic notation of mathematical equation.

operations. For example in the given program notation we have a substring

( ) ( ) ( ) <sup>2</sup>

Table 2. Binary operations

( ) <sup>2</sup>

Operation Unit element

ε

ε

0

0 1 1 11 sin , <sup>−</sup> χ +

1 1 11 sin *<sup>x</sup> x x qxe*<sup>−</sup> =+ + = ( ) ( ) ( ) *<sup>x</sup> x x qxe* <sup>2</sup>

$$y = \chi\_0\left(\mathfrak{p}\_1\left(\mathfrak{X}\_0(\dots)\right), \mathfrak{p}\_1\left(\mathfrak{X}\_1(\dots)\right)\right).$$

Unary identity operation ρ<sup>1</sup> ( ) *z* does not change the value of argument and this operation is necessary for the construction of the graph by graphic notation.

Since graphic notation should contain binary operations with unary operations as their arguments then we additional unary identity operations. We get

$$y = \mathbb{X}\_0\left(\mathfrak{p}\_1\left(\mathfrak{x}\_0\left(\mathfrak{p}\_1(\mathbf{x}\_1), \mathfrak{p}\_{12}(\mathbf{x}\_1)\right)\right), \mathfrak{p}\_1\left(\mathfrak{x}\_1\left(\mathfrak{p}\_1\left(\mathfrak{p}\_1(\mathfrak{q}\_1), \mathfrak{p}\_1(\mathbf{x}\_1)\right)\right), \mathfrak{p}\_6\left(\mathfrak{p}\_3(\mathbf{x}\_2)\right)\right)\right).$$

This notation is not a graphic one, because it does not satisfy condition «b» of graphic notation. Here unary operation has unary operation as its argument

$$\dots \mathfrak{p}\_6 \left( \mathfrak{p}\_3 \left( x\_2 \right) \right) \dots$$

We use additional binary operation with a unit element as its second argument, for example χ<sup>0</sup> ( ) ,0 . According to Table 2 binary operation χ<sup>0</sup> ( ) *z z* ′ ′′ , is addition. A unit element for addition is 0 and it does not influence the result of calculation. Thus we get

$$\dots \mathfrak{p}\_{\mathfrak{e}} \left( \mathfrak{x}\_{\mathfrak{e}} (\mathfrak{p}\_{\mathfrak{z}} (\mathfrak{x}\_{\mathfrak{z}}) , 0 ) \right) \dots$$

We obtain the graphic notation of mathematical equation

$$y = \chi\_0\left(\rho\_1\left(\chi\_0\left(\rho\_1(\mathbf{x}\_1), \rho\_{12}(\mathbf{x}\_1)\right)\right), \rho\_1\left(\chi\_1\left(\rho\_1\left(\chi\_1\left(\rho\_1\left(q\_1\right), \rho\_1\left(\mathbf{x}\_1\right)\right)\right), \rho\_s\left(\chi\_0\left(\rho\_s\left(\mathbf{x}\_2\right), 0\right)\right)\right)\right)\right)$$

This notation does not satisfy condition «c» of graphic notation, because it contains a substring where binary operation has two unary operations with the same variable as its arguments

$$\cdots \chi\_0 \left( \mathfrak{p}\_1(x\_1) \mathfrak{p}\_{12}(x\_1) \right) \dots$$

We add a binary operation with a unit element and a unary identity operation to the substring

$$\cdots \mathcal{X}\_0 \left( \mathfrak{p}\_1 \left( \mathfrak{x}\_0 \left( \mathfrak{p}\_1 \left( x\_1 \right), 0 \right) \right) \mathfrak{p}\_{12} \left( x\_1 \right) \right) \dots 1$$

As a result we get the following notation of mathematical equation

$$y = \mathbb{X}\_0 \left| \rho\_1 \left( \mathbb{X}\_0 \left( \mathbb{p}\_1 \left( \mathbb{p}\_0 \left( \mathbb{p}\_1 \left( \mathbf{x}\_1 \right), 0 \right) \right) , \rho\_{12} \left( \mathbf{x}\_1 \right) \right) \right) \right.\\ \left. \rho\_1 \left( \mathbb{p}\_1 \left( \mathbb{p}\_1 \left( \mathbb{p}\_1 \left( \mathbb{p}\_1 \left( \mathbb{p}\_1 \right), \mathbb{p}\_1 \left( \mathbf{x}\_1 \right) \right) \right) , \rho\_s \left( \mathbb{p}\_0 \left( \mathbb{p}\_3 \left( \mathbf{x}\_2 \right), 0 \right) \right) \right) \right) \right] \right.\\ \left. \rho\_2 \left( \mathbb{p}\_2 \left( \mathbb{p}\_2 \left( \mathbb{p}\_2 \left( \mathbb{p}\_2 \left( \mathbf{x}\_2 \right), \mathbb{p}\_2 \left( \mathbf{x}\_2 \right) \right) \right) \right) \right.\\ \left. \rho\_3 \left( \mathbb{p}\_3 \left( \mathbb{p}\_3 \left( \mathbb{p}\_3 \left( \mathbb{p}\_2 \left( \mathbf{x}\_3 \right), 0 \right) \right) \right) \right) \right.\\ \left. \rho\_4 \left( \mathbb{p}\_4 \left( \mathbb{p}\_5 \left( \mathbb{p}\_6 \left( \mathbb{p}\_7 \left( \mathbf{x}\_7 \right), 0 \right) \right) \right) \right) \right.\\ \left. \rho\_5 \left( \mathbb{p}\_6 \left( \mathbb{p}\_7 \left( \mathbb{p}\_8 \left( \mathbf{x}\_7 \right), 0 \right) \right) \right) \right) \right] \right.$$

This notation has all properties of graphic notation and we can construct the graph of equation by this notation. To construct the graph we use the rules presented on Fig. 1 - 4. The graph is shown on Fig. 5.

Fig. 5 shows the numeration of nodes on the top of each node in the graph. We see that the numbers of the nodes where the edges come out from are less than the numbers of nodes

The Network Operator Method for Search of the Most Suitable Mathematical Equation 27

When the calculations on the edge (8,9) are performed we obtain the result of initial

Nodes 8 and 9 in the graph can be united since binary operations are associative and

For the given example we have the following steps:


7 166 7 1 1 , *<sup>x</sup> z zz e q x* <sup>−</sup> =χ ρ = ;

9 0 17 9 1 1 1 1 , 0 *x x z zz e q x e q x* − − =χ ρ = + = ;

9 0 1 8 9 1 1 11 , sin *<sup>x</sup> z zz x x e q x* <sup>−</sup> =χ ρ = + + .

commutative. A reduced graph of mathematical equation is given on Fig. 6.

The results of calculation for graphs presented on Fig. 5 and Fig. 6 are the same.

The result of calculation will not change if we unite two nodes that are linked by the edge that corresponds to unary identical operation and the edges that are linked to that nodes do

To construct the graph of mathematical equation we need as many nodes as the sum of parameters, variables and binary operations in its graphic notation. This number is enough

The result of calculation will not change if to the sink node of the graph we add an edge with a unary identical operation and a node with binary operation and a unit element. An

A directed graph constructed form the graphic notation of mathematical equation is a network operator. One network operator can be associated with several mathematical




mathematical expression.




Fig. 6. Reduced graph of mathematical equation

enlarged graph for given example is shown on Fig. 7.

not come in or out from the same node.

for construction but not minimal.

where the edges come in. Such numeration is always possible for directed graphs without loops.

Fig. 5. Graph of mathematical equation

To calculate the mathematical equation which is presented as a graph we use additional vector of nodes **z** for storage of intermediate results. Each element of vector **z** is associated with the definite node in the graph. Initially elements of vector *<sup>i</sup> z* that are associated with the source nodes have the values of variables and parameters. For example for the graph presented at Fig. 5 we have

$$\mathbf{z} = \begin{bmatrix} z\_1 & \dots & z\_9 \end{bmatrix}^T \text{ \(\mathbf{z}\)}$$

where 9 is the number of nodes in the graph. For the source nodes we set 1 1 *z x* = , 2 1 *z* = *q* , 3 2 *z x* = . Values of other elements *<sup>i</sup> z* are equal to the unit elements for binary operations. As a result we get an initial value of vector of nodes

> [ ] <sup>112</sup> <sup>010100</sup> *<sup>T</sup>* **z** = *xqx* .

In the given example we use addition and multiplication. Unit element for addition is 0 and for multiplication is 1.

According to the rules of calculation, we calculate unary operation that corresponds to the edge that comes out from the node that has no incoming edges. For the edge ( ) *i*, *j* node *i* has no incoming edges at the moment. Unary operation ρ*k* corresponds to the edge ( ) *i*, *j* . Binary operation χ*l* corresponds to the node *j* . Then we perform the following calculations

$$z\_j = \chi\_l(z\_j, \mathbf{p}\_k(z\_i))\_{\prime} \tag{9}$$

where *<sup>j</sup> z* in the right part of the equation is the value on the previous step.

After calculation of (9) we delete the edge ( ) *i*, *j* from the graph.

If we numerate the nodes so that the number of the node where the edge comes out from is less than the number of the node that it comes in, then the calculation can be done just following the numbers of the nodes.

For the given example we have the following steps:


26 Bio-Inspired Computational Algorithms and Their Applications

where the edges come in. Such numeration is always possible for directed graphs without

To calculate the mathematical equation which is presented as a graph we use additional vector of nodes **z** for storage of intermediate results. Each element of vector **z** is associated with the definite node in the graph. Initially elements of vector *<sup>i</sup> z* that are associated with the source nodes have the values of variables and parameters. For example for the graph

[ ] 1 9

[ ] <sup>112</sup> <sup>010100</sup> *<sup>T</sup>* **z** = *xqx* .

In the given example we use addition and multiplication. Unit element for addition is 0 and

According to the rules of calculation, we calculate unary operation that corresponds to the edge that comes out from the node that has no incoming edges. For the edge ( ) *i*, *j* node *i* has no incoming edges at the moment. Unary operation ρ*k* corresponds to the edge ( ) *i*, *j* . Binary operation χ*l* corresponds to the node *j* . Then we perform the following calculations

If we numerate the nodes so that the number of the node where the edge comes out from is less than the number of the node that it comes in, then the calculation can be done just

where *<sup>j</sup> z* in the right part of the equation is the value on the previous step.

After calculation of (9) we delete the edge ( ) *i*, *j* from the graph.

**z** = *z z* ,

where 9 is the number of nodes in the graph. For the source nodes we set 1 1 *z x* = , 2 1 *z* = *q* , 3 2 *z x* = . Values of other elements *<sup>i</sup> z* are equal to the unit elements for binary operations. As

*T*

*z zz j ljki* =χ ρ ( ) , ( ) , (9)

loops.

Fig. 5. Graph of mathematical equation

a result we get an initial value of vector of nodes

presented at Fig. 5 we have

for multiplication is 1.

following the numbers of the nodes.


When the calculations on the edge (8,9) are performed we obtain the result of initial mathematical expression.

Nodes 8 and 9 in the graph can be united since binary operations are associative and commutative. A reduced graph of mathematical equation is given on Fig. 6.

Fig. 6. Reduced graph of mathematical equation

The results of calculation for graphs presented on Fig. 5 and Fig. 6 are the same.

The result of calculation will not change if we unite two nodes that are linked by the edge that corresponds to unary identical operation and the edges that are linked to that nodes do not come in or out from the same node.

To construct the graph of mathematical equation we need as many nodes as the sum of parameters, variables and binary operations in its graphic notation. This number is enough for construction but not minimal.

The result of calculation will not change if to the sink node of the graph we add an edge with a unary identical operation and a node with binary operation and a unit element. An enlarged graph for given example is shown on Fig. 7.

A directed graph constructed form the graphic notation of mathematical equation is a network operator. One network operator can be associated with several mathematical

The Network Operator Method for Search of the Most Suitable Mathematical Equation 29

0 0 0 1 1 0 0 12 0000100 0 0000030 0 0000000 1 0000101 0 0000006 0 0000001 1 0000000 0

 <sup>=</sup> **Ψ** .

NOM *i j* , = ψ **<sup>Ψ</sup>** , *i*, 1, *<sup>j</sup>* <sup>=</sup> *<sup>L</sup>* is upper-triangular because of the numeration of nodes. NOM is not enough for calculation of mathematical equation since it does not contain information about parameters and variables. This information is kept in the initial values of vector of nodes

[ ] <sup>1</sup>

To calculate the mathematical equation by its NOM we need to look through all rows consequently, *i L* = − 1, 1 . In each row *i* we consider the elements that follow the diagonal element, *j* = +*i L* 1, . If among them we find nonzero element then we perform calculation

> [ ] <sup>112</sup> <sup>01010</sup> *<sup>T</sup>* **z** = *xqx* ,

Then the calculation of mathematical equation can be done by

1,4 ψ = 1 , 4,4 ψ = 0 , *z zz x x* 4 0 11 4 1 1 = χ ρ( ) ( ), 0 = += ; 1,5 ψ = 1 , 5,5 ψ = 1 , *z zz x x* 5 111 5 1 1 = χ ρ( ) ( ), 1 = = ;

3,6 ψ = 3 , 6,6 ψ = 0 , *z xz x x* 6 032 6 2 2 = χ ρ( ) ( ), 0 =− + =− ; 4,8 ψ = 1 , 8,8 ψ = 0 , *z zz x x* 8 014 8 1 1 =χ ρ = + ( ) ( ), sin( ) ; 5,7 ψ = 1 , 7,7 ψ = 1 , *z zz* 7 1 1 5 7 11 11 =χ ρ = = ( ) ( ), 1 *q x q x* ;

7 166 7 1 1 , *<sup>x</sup> z zz e q x* <sup>−</sup> =χ ρ = ;

**7. Variations of network operators** 

2,5 ψ = 1 , 5,5 ψ = 1 , *z*5 1 1 1 5 11 =χ ρ = ( ) ( ) *q* , *z q x* ;

6,7 ψ = 6 , ( ) ( ) <sup>2</sup>

a. have the same source nodes; b. have the same constructive sets.

1,8 ψ = 12 , 8,8 ψ = 0 , 8 0 12 1 8 ( ) ( ) () () <sup>1</sup> <sup>1</sup> *z zz x x* =χ ρ = + = , sin 0 sin ;

7,8 ψ = 1 , 8,8 ψ = 0 , ( ) ( ) ( ) <sup>2</sup>

8 0 17 8 11 1 1 , sin *<sup>x</sup> z zz e q xx x* <sup>−</sup> =χ ρ = + + .

**Similar network operators** are network operators that satisfy the following conditions:

**Alike network operators** are similar network operators that have equal numbers of nodes.

according equation (11). For the given NOM we get *T*

( ) ( ), , if 0 *jj ij j i j ij z zz* = χ ρ ψ ψ *ψ* ≠ , *i L* = − 1, 1 , *j* = +*i L* 1, . (11)

*<sup>L</sup>* **z** = *z z* . (10)

NOM for the graph on Fig. 6 is the following

equations. It depends on the numbers of sink nodes that are set by the researcher. In the given example if we numerate the sink nodes with numbers 7, 8, 9 then we will get three mathematical equations

$$\begin{aligned} y\_1 &= z\_7 = e^{-x\_2} q\_1 x\_1 \\\\ y\_2 &= z\_8 = x\_1 + \sin\left(x\_1\right) \\\\ y\_3 &= z\_9 = x\_1 + \sin\left(x\_1\right) + e^{-x\_2} q\_1 x\_1 \end{aligned}$$

This feature of the graphic notation allows using the network operator for presentation of vector functions.

Fig. 7. Enlarged graph of mathematical equation

#### **6. Network operator matrices**

To present a network operator in the PC memory we use a network operator matrix (NOM). NOM is based on the incident matrix of the graph *ij* <sup>=</sup> *<sup>a</sup>* **<sup>A</sup>** , { } 0,1 *ij <sup>a</sup>* <sup>∈</sup> , *i*, 1, *<sup>j</sup>* <sup>=</sup> *<sup>L</sup>* , where *L* is the number of nodes in the graph.

If we replace diagonal elements of the incident matrix with numbers of binary operations that correspond to appropriate nodes and nonzero nondiagonal elements with numbers of unary operations, we shall get NOM *ij* = ψ **<sup>Ψ</sup>** , *i*, 1, *<sup>j</sup>* <sup>=</sup> *<sup>L</sup>* .

For the network operator shown on the Fig. 6 we have the following NOM

$$\mathbf{A} = \begin{bmatrix} 0 & 0 & 0 & 1 & 1 & 0 & 0 & 1 \\ 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 \\ 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \end{bmatrix}.$$

NOM for the graph on Fig. 6 is the following

28 Bio-Inspired Computational Algorithms and Their Applications

equations. It depends on the numbers of sink nodes that are set by the researcher. In the given example if we numerate the sink nodes with numbers 7, 8, 9 then we will get three

> 2 1 7 11 *<sup>x</sup> y z e q x* <sup>−</sup> = = ,

> > ( ) <sup>2</sup>

*y*281 1 ==+ *zx x* sin( ) ,

3 9 1 1 11 sin *<sup>x</sup> y zx x e q x* <sup>−</sup> ==+ + .

This feature of the graphic notation allows using the network operator for presentation of

To present a network operator in the PC memory we use a network operator matrix (NOM). NOM is based on the incident matrix of the graph *ij* <sup>=</sup> *<sup>a</sup>* **<sup>A</sup>** , { } 0,1 *ij <sup>a</sup>* <sup>∈</sup> , *i*, 1, *<sup>j</sup>* <sup>=</sup> *<sup>L</sup>* , where

If we replace diagonal elements of the incident matrix with numbers of binary operations that correspond to appropriate nodes and nonzero nondiagonal elements with numbers of

> 00011001 00001000 00000100 00000001 00000010 00000010 00000001 00000000

 <sup>=</sup> **A** .

mathematical equations

vector functions.

Fig. 7. Enlarged graph of mathematical equation

unary operations, we shall get NOM *ij* = ψ **<sup>Ψ</sup>** , *i*, 1, *<sup>j</sup>* <sup>=</sup> *<sup>L</sup>* .

For the network operator shown on the Fig. 6 we have the following NOM

**6. Network operator matrices** 

*L* is the number of nodes in the graph.

$$
\Psi = \begin{bmatrix}
0 & 0 & 0 & 1 & 1 & 0 & 0 & 12 \\
0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 & 0 & 3 & 0 & 0 \\
0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 \\
0 & 0 & 0 & 0 & 1 & 0 & 1 & 0 \\
0 & 0 & 0 & 0 & 0 & 0 & 6 & 0 \\
0 & 0 & 0 & 0 & 0 & 0 & 1 & 1 \\
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0
\end{bmatrix}.
$$

NOM *i j* , = ψ **<sup>Ψ</sup>** , *i*, 1, *<sup>j</sup>* <sup>=</sup> *<sup>L</sup>* is upper-triangular because of the numeration of nodes. NOM is not enough for calculation of mathematical equation since it does not contain information about parameters and variables. This information is kept in the initial values of vector of nodes

$$\mathbf{z} = \begin{bmatrix} z\_1 & \dots & z\_{\mathbb{L}} \end{bmatrix}^{\mathrm{r}}.\tag{10}$$

Then the calculation of mathematical equation can be done by

$$z\_{\rangle} = \chi\_{\Psi\_{\bar{\mathbb{P}}}} \left( \mathfrak{p}\_{\Psi\_{\bar{\mathbb{P}}}} (z\_i), z\_{\rangle} \right), \text{ if } \ \mathfrak{p}\_{\neq} \neq 0 \ , \ i = \overline{1, L-1} \ , \ j = \overline{i+1, L} \ . \tag{11}$$

To calculate the mathematical equation by its NOM we need to look through all rows consequently, *i L* = − 1, 1 . In each row *i* we consider the elements that follow the diagonal element, *j* = +*i L* 1, . If among them we find nonzero element then we perform calculation according equation (11).

For the given NOM we get

$$\mathbf{z} = \begin{bmatrix} \mathbf{x}\_1 & \mathbf{q}\_1 & \mathbf{x}\_2 & \mathbf{0} & \mathbf{1} & \mathbf{0} & \mathbf{1} & \mathbf{0} \end{bmatrix}^T,$$

1,4 ψ = 1 , 4,4 ψ = 0 , *z zz x x* 4 0 11 4 1 1 = χ ρ( ) ( ), 0 = += ; 1,5 ψ = 1 , 5,5 ψ = 1 , *z zz x x* 5 111 5 1 1 = χ ρ( ) ( ), 1 = = ; 1,8 ψ = 12 , 8,8 ψ = 0 , 8 0 12 1 8 ( ) ( ) () () <sup>1</sup> <sup>1</sup> *z zz x x* =χ ρ = + = , sin 0 sin ; 2,5 ψ = 1 , 5,5 ψ = 1 , *z*5 1 1 1 5 11 =χ ρ = ( ) ( ) *q* , *z q x* ; 3,6 ψ = 3 , 6,6 ψ = 0 , *z xz x x* 6 032 6 2 2 = χ ρ( ) ( ), 0 =− + =− ; 4,8 ψ = 1 , 8,8 ψ = 0 , *z zz x x* 8 014 8 1 1 =χ ρ = + ( ) ( ), sin( ) ; 5,7 ψ = 1 , 7,7 ψ = 1 , *z zz* 7 1 1 5 7 11 11 =χ ρ = = ( ) ( ), 1 *q x q x* ; 6,7 ψ = 6 , ( ) ( ) <sup>2</sup> 7 166 7 1 1 , *<sup>x</sup> z zz e q x* <sup>−</sup> =χ ρ = ; 7,8 ψ = 1 , 8,8 ψ = 0 , ( ) ( ) ( ) <sup>2</sup> 8 0 17 8 11 1 1 , sin *<sup>x</sup> z zz e q xx x* <sup>−</sup> =χ ρ = + + .

#### **7. Variations of network operators**

**Similar network operators** are network operators that satisfy the following conditions:

a. have the same source nodes;

b. have the same constructive sets.

**Alike network operators** are similar network operators that have equal numbers of nodes.

The Network Operator Method for Search of the Most Suitable Mathematical Equation 31

**An eigen variation of network operator** is a variation that does not change the number of

Any eigen variation of the network operator can be performed by a finite number of simple

[ ] <sup>1234</sup>

where *w*1 is the number of variation from Table 3, 234 *www* , , are elements that integer

Values of elements of variation vector are given in Table 4. In case the values of elements are not defined they can take any values. For example when 1 *w* = 1 element *w*2 can keep the

**Ψ** = **w Ψ** ,

where **Ψ** is the NOM before variation is performed, **Ψ** is the NOM after variation was

Number of the node where the edge comes in

*w*<sup>2</sup> *w*<sup>3</sup> *w*<sup>4</sup> *- - w*<sup>3</sup> *- w*<sup>4</sup> *w*<sup>2</sup> *w*<sup>3</sup> *w*<sup>4</sup> *- w*<sup>2</sup> *w*<sup>3</sup> *- - w*<sup>2</sup> *- - - w*<sup>2</sup> *- - - w*<sup>2</sup> *- w*<sup>3</sup> *w*<sup>4</sup> *- w*<sup>3</sup> *- -* 

Consider examples of variations of network operator. We have a network operator that

*q x <sup>y</sup> x x* <sup>=</sup> <sup>+</sup> .

3 1 1 3 2 2 1 2 *T*

**w** = *wwww* , (13)

Number of unary operation

Number of binary operation

nodes in the network operator.

eigen variations.

performed.

Number of variation *w*1

Table 4. Elements of variation vector

describes mathematical equation

In the Table 3 eigen variations are 0 – 5.

values depend on the number of variation.

Variation of network operator is presented as

To present any simple variation we use a variation vector

number of the node where this edge comes in *w w* 2 3 = .

Number of the node where the edge comes out

**Network operators of alike structure** are alike network operators that differ in unary and binary operations.

**Variation of network operator** is the change of network operator that leads to a similar network operator.

**Simple variation of network operator** is a variation that cannot be presented as a complex of other variations.


Simple variations of network operator are given in Table 3.

Table 3. Simple variations of network operator

**Structural variation of network operator** is a variation that changes the set of edges of network operator.

Structural variations change the incident matrix of the graph. In the Table 3 structural variations are 2 – 5. Variations 0, 1 do not change the incident matrix and lead to network operators of alike structure.

**A complete network operator** is a network operator in which we cannot perform variation 2.

A complete network operator contains *L* nodes in which the number of source nodes is *N P* + , maximum number of edges is equal to

$$\left| \mathbf{C} \right| = \frac{\left( L - N - P \right) \left( L + N + P - 1 \right)}{2} . \tag{12}$$

If we apply variation 2, addition of an edge, to any network operator, then we can construct a full network operator which is alike initial network operator.

If we apply variation 3, deletion of an edge, to the complete network operator, then we can construct any alike network operator.

Any variation of network operator can be performed by a finite number of simple variations.

**An eigen variation of network operator** is a variation that does not change the number of nodes in the network operator.

In the Table 3 eigen variations are 0 – 5.

30 Bio-Inspired Computational Algorithms and Their Applications

**Network operators of alike structure** are alike network operators that differ in unary and

**Variation of network operator** is the change of network operator that leads to a similar

**Simple variation of network operator** is a variation that cannot be presented as a complex

3 deletion of the edge if the node where this edge comes in has at least

6 addition of the node with a binary operation and incoming edge

7 deletion of the sink node with incoming edge if this edge is single.

**Structural variation of network operator** is a variation that changes the set of edges of

Structural variations change the incident matrix of the graph. In the Table 3 structural variations are 2 – 5. Variations 0, 1 do not change the incident matrix and lead to network

**A complete network operator** is a network operator in which we cannot perform variation 2. A complete network operator contains *L* nodes in which the number of source nodes is

> ( )( <sup>1</sup>) <sup>C</sup> 2

If we apply variation 2, addition of an edge, to any network operator, then we can construct

If we apply variation 3, deletion of an edge, to the complete network operator, then we can

Any variation of network operator can be performed by a finite number of simple variations.

*LN PLN P* − − + +− <sup>=</sup> . (12)

Simple variations of network operator are given in Table 3.

Simple variation

0 replacement of unary operation on the edge 1 replacement of binary operation in the node 2 addition of the edge with a unary operation

one more incoming edge

with unary operation

4 Increase of the node number 5 Decrease of the node number

Table 3. Simple variations of network operator

*N P* + , maximum number of edges is equal to

construct any alike network operator.

a full network operator which is alike initial network operator.

binary operations.

network operator.

of other variations.

Number of simple variation

network operator.

operators of alike structure.

Any eigen variation of the network operator can be performed by a finite number of simple eigen variations.

To present any simple variation we use a variation vector

$$\mathbf{w} = \begin{bmatrix} w\_1 \ w\_2 \ w\_3 \ w\_4 \end{bmatrix}^T \tag{13}$$

where *w*1 is the number of variation from Table 3, 234 *www* , , are elements that integer values depend on the number of variation.

Values of elements of variation vector are given in Table 4. In case the values of elements are not defined they can take any values. For example when 1 *w* = 1 element *w*2 can keep the number of the node where this edge comes in *w w* 2 3 = .

Variation of network operator is presented as

$$
\bar{\Psi} = \mathbf{w} \circ \Psi \llcorner \!/ 
$$

where **Ψ** is the NOM before variation is performed, **Ψ** is the NOM after variation was performed.


Table 4. Elements of variation vector

Consider examples of variations of network operator. We have a network operator that describes mathematical equation

$$y = \frac{q\_1 x\_1^3}{\sqrt[3]{x\_1^2 + x\_2^2}} \cdot \frac{1}{\sqrt[3]{x\_1^2 + x\_2^2}} \cdot \frac{1}{\sqrt[3]{x\_1^2 + x\_2^2}}$$

The Network Operator Method for Search of the Most Suitable Mathematical Equation 33

( ) 3 22 <sup>3</sup> 11 1 2 *y q* = + cos *x xx* .

**w** = . Number of variation 1 *w* = 6

**w** = . In the first vector <sup>1</sup>

**w** = . The first component shows

<sup>1</sup> *w* = 3 ,

Consider the examples of improper variations that change the number of nodes in the

shows that we add the node with binary operation 4 *w* = 0 and an outcoming edge with

 = = **Ψ w Ψ** .

This NOM corresponds to the graph with two sink nodes and it presents at least two

= , <sup>3</sup>

**w** = and [ ] <sup>2</sup> 5700 *<sup>T</sup>*

<sup>3</sup> *<sup>w</sup>* <sup>=</sup> <sup>7</sup> . In the second vector 2

 = = **Ψ w w Ψ** .

> 3 1 11 *y q* = *x* , 3 2 2

Since we have changed the graph we obtain two mathematical equations. Network operator

Performance of variations is not always possible. If variation cannot be done then it is

variation 0, replacement of unary operation. However there is no edge between nodes <sup>2</sup> *w* = 4 and 3 *w* = 6 , that is why this variation is not performed and NOM is not changed

**Ψ** = **w Ψ** .

<sup>12</sup> <sup>1</sup> <sup>=</sup> ln *xqy* .

<sup>2</sup> *w* = 6 and <sup>1</sup>

<sup>2</sup> *w* = 7 with its incoming edge. As a result we have

000 1 0 0 0 0 0 14 2 0 000 0 2 0 000 1 0 0 0 0 0 0 0 15 000 0 0 0

2 12 *y* = + *x x* .

3 2 2

*xq*

*xx*

+

3 1 1

2 1

1

2 1

*y*

Let us given variation vectors [ ] <sup>1</sup> 3670 *<sup>T</sup>*

<sup>1</sup> *w* = 5 , and we delete the node <sup>2</sup>

that is why we delete the edge between nodes <sup>1</sup>

This NOM corresponds to two mathematical equations

omitted. For example we have a variation vector [ ] 0462 *<sup>T</sup>*

000 1 0 0 00 0 0 0 14 2 0 0 0 000 0 2 0 00 000 1 0 0 17 0 0 0 0 0 15 0 0 000 0 0 0 50 000 0 0 0 00 000 0 0 0 00

network operator. We have a variation vector [ ] 6470 *<sup>T</sup>*

unary operation 3 *w* = 7 . After variation we obtain the NOM

mathematical equations

is presented on Fig. 8.

Network operator matrix for the given equation is

$$
\mathbf{\upPsi} = \begin{bmatrix}
0 & 0 & 0 & 1 & 0 & 0 & 0 \\
0 & 0 & 0 & 14 & 2 & 0 & 0 \\
0 & 0 & 0 & 0 & 2 & 0 & 0 \\
0 & 0 & 0 & 1 & 0 & 0 & 1 \\
0 & 0 & 0 & 0 & 0 & 15 & 0 \\
0 & 0 & 0 & 0 & 0 & 0 & 5 \\
0 & 0 & 0 & 0 & 0 & 0 & 1
\end{bmatrix}.
$$

Suppose we have a variation vector [ ] 2462 *<sup>T</sup>* **w** = . Element 1 *w* = 2 shows that we perform addition of the edge. According to Table 3 a new edge should come out from the node 4, come in the node 6 and have unary operation 2.

As a result we have NOM

$$
\tilde{\Psi} = \mathbf{w} \circ \Psi = \begin{bmatrix} 0 & 0 & 0 & 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 14 & 2 & 0 & 0 \\ 0 & 0 & 0 & 0 & 2 & 0 & 0 \\ 0 & 0 & 0 & 1 & 0 & 2 & 1 \\ 0 & 0 & 0 & 0 & 0 & 15 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 5 \\ 0 & 0 & 0 & 0 & 0 & 0 & 1 \end{bmatrix}.
$$

NOM **Ψ** corresponds to the following mathematical equation

$$y = \frac{q\_1 \boldsymbol{\mathfrak{x}}\_1^3}{\sqrt[3]{\boldsymbol{\mathfrak{x}}\_1^2 + \boldsymbol{\mathfrak{x}}\_2^2} + \left(q\_1 \boldsymbol{\mathfrak{x}}\_1^3\right)^2} \cdot \boldsymbol{\mathfrak{x}}$$

Suppose variation vectors [ ] <sup>1</sup> 0 4 7 11 *<sup>T</sup>* **w** = and [ ] <sup>2</sup> 0671 *<sup>T</sup>* **w** = are given. The first component of these vectors 1 *w* = 0 shows the replacement of unary operation on the edge. The second and the third components show the edge between the nodes. The first vector points to the edge ( ) 4,7 , the second – to the edge ( ) 6,7 . The forth element contains the number of new unary operation. According to Table 1 this operation for vector <sup>1</sup> **w** is ρ = <sup>11</sup> () () *z z* cos , for vector <sup>2</sup> **w** is ρ<sup>1</sup> ( ) *z z* = . As a result we obtain NOM

$$
\tilde{\mathbf{W}} = \mathbf{w}^2 \circ \mathbf{w}^1 \circ \mathbf{W} = \begin{vmatrix} 0 & 0 & 0 & 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 14 & 2 & 0 & 0 \\ 0 & 0 & 0 & 0 & 2 & 0 & 0 \\ 0 & 0 & 0 & 1 & 0 & 0 & 11 \\ 0 & 0 & 0 & 0 & 0 & 15 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 1 \\ 0 & 0 & 0 & 0 & 0 & 0 & 1 \end{vmatrix} . . $$

NOM **Ψ** corresponds to

32 Bio-Inspired Computational Algorithms and Their Applications

000 1 0 0 0 0 0 0 14 2 0 0 000 0 2 0 0 000 1 0 0 1 0 0 0 0 0 15 0 000 0 0 0 5 000 0 0 0 1

<sup>=</sup> **Ψ** .

addition of the edge. According to Table 3 a new edge should come out from the node 4,

= =

**Ψ w Ψ** .

000 1 0 0 0 0 0 0 14 2 0 0 000 0 2 0 0 000 1 0 2 1 0 0 0 0 0 15 0 000 0 0 0 5 000 0 0 0 1

( )

000 1 0 0 0 0 0 0 14 2 0 0 000 0 2 0 0 0 0 0 1 0 0 11 0 0 0 0 0 15 0 000 0 0 0 1 000 0 0 0 1

.

**w** = are given. The first

3 1 1 <sup>2</sup> <sup>3</sup> 22 3 1 2 11

*x x qx*

**w** = and [ ] <sup>2</sup> 0671 *<sup>T</sup>*

+ +

component of these vectors 1 *w* = 0 shows the replacement of unary operation on the edge. The second and the third components show the edge between the nodes. The first vector points to the edge ( ) 4,7 , the second – to the edge ( ) 6,7 . The forth element contains the number of new unary operation. According to Table 1 this operation for vector <sup>1</sup> **w** is

= =

**Ψ w w Ψ** .

*q x <sup>y</sup>*

=

ρ = <sup>11</sup> () () *z z* cos , for vector <sup>2</sup> **w** is ρ<sup>1</sup> ( ) *z z* = . As a result we obtain NOM

2 1

**w** = . Element 1 *w* = 2 shows that we perform

Network operator matrix for the given equation is

Suppose we have a variation vector [ ] 2462 *<sup>T</sup>*

come in the node 6 and have unary operation 2.

Suppose variation vectors [ ] <sup>1</sup> 0 4 7 11 *<sup>T</sup>*

NOM **Ψ** corresponds to the following mathematical equation

As a result we have NOM

NOM **Ψ** corresponds to

$$y = \cos\left(q\_1 x\_1^3\right) \sqrt[3]{x\_1^2 + x\_2^2} \dots$$

Consider the examples of improper variations that change the number of nodes in the network operator. We have a variation vector [ ] 6470 *<sup>T</sup>* **w** = . Number of variation 1 *w* = 6 shows that we add the node with binary operation 4 *w* = 0 and an outcoming edge with unary operation 3 *w* = 7 . After variation we obtain the NOM

$$
\tilde{\Psi} = \mathbf{w} \circ \Psi = \begin{vmatrix} 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 14 & 2 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 2 & 0 & 0 & 0 \\ 0 & 0 & 0 & 1 & 0 & 0 & 1 & 7 \\ 0 & 0 & 0 & 0 & 0 & 15 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 5 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \end{vmatrix} .
$$

This NOM corresponds to the graph with two sink nodes and it presents at least two mathematical equations

$$y\_1 = \frac{q\_1 x\_1^3}{\sqrt[3]{x\_1^2 + x\_2^2}} \quad y\_2 = \ln\left|q\_1 x\_1^3\right| \dots$$

Let us given variation vectors [ ] <sup>1</sup> 3670 *<sup>T</sup>* **w** = and [ ] <sup>2</sup> 5700 *<sup>T</sup>* **w** = . In the first vector <sup>1</sup> <sup>1</sup> *w* = 3 , that is why we delete the edge between nodes <sup>1</sup> <sup>2</sup> *w* = 6 and <sup>1</sup> <sup>3</sup> *<sup>w</sup>* <sup>=</sup> <sup>7</sup> . In the second vector 2 <sup>1</sup> *w* = 5 , and we delete the node <sup>2</sup> <sup>2</sup> *w* = 7 with its incoming edge. As a result we have

$$
\tilde{\mathbf{W}} = \mathbf{w}^2 \circ \mathbf{w}^1 \circ \mathbf{W} = \begin{bmatrix} 0 & 0 & 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 14 & 2 & 0 \\ 0 & 0 & 0 & 0 & 2 & 0 \\ 0 & 0 & 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 15 \\ 0 & 0 & 0 & 0 & 0 & 0 \end{bmatrix} \cdot \dotsb
$$

This NOM corresponds to two mathematical equations

$$y\_1 = q\_1 \mathbf{x}\_1^3 \quad y\_2 = \sqrt[3]{\mathbf{x}\_1^2 + \mathbf{x}\_2^2} \dots$$

Since we have changed the graph we obtain two mathematical equations. Network operator is presented on Fig. 8.

Performance of variations is not always possible. If variation cannot be done then it is omitted. For example we have a variation vector [ ] 0462 *<sup>T</sup>* **w** = . The first component shows variation 0, replacement of unary operation. However there is no edge between nodes <sup>2</sup> *w* = 4 and 3 *w* = 6 , that is why this variation is not performed and NOM is not changed

**Ψ** = **w Ψ** .

The Network Operator Method for Search of the Most Suitable Mathematical Equation 35

To solve the problem (14), (15) we need to define a finite set of network operators, and in

In the set of network operators we choose a basic network operator. Basic network operator corresponds to the basic NOM **Ψ**0 and the basic mathematical equation ( ) 0 0 **g xq**, , where 0 00

where *l* is a cardinal number of W , *<sup>T</sup> i ii w w* 1 4 <sup>=</sup> **<sup>w</sup>** is a variation vector, *i l* <sup>=</sup> 1, .

0 0

*<sup>T</sup> ij ij ij ij ij wwww* , ,,,,

where *H* is a number of possible solutions in the population.

value, and *d* is the number of bits for the fractional part.

We present parametrical part of the chromosome ( )

parameters. We present a bit string *<sup>i</sup>* **s** from the Gray code to the binary code

construct NOM using ( ) W ,, *i i*,1 , *i l* = **w w** and **Ψ**0

**9. Genetic algorithm for method of variations of basic solution** 

To construct the set of network operators we use a basic matrix **Ψ**0 and all possible sets W

Consider genetic algorithm that searches both structure and parameters of mathematical

( ) *<sup>T</sup> i ii*

where *P* is the number of parameters, *c* is the number of bits for the integer part of the

For each chromosome ( ) W ,*i i* **s** , 1 ≤ ≤*i H* , we define the values of object functions. We

( ) *<sup>T</sup> i ii*

( ) W ,, <sup>1</sup> *<sup>l</sup>* = **w w** , (17)

*ij* = ψ **<sup>Ψ</sup>** , *i*, 1, *<sup>j</sup>* <sup>=</sup> *<sup>L</sup>* . (18)

( ) W ,, *i i*,1 ,*i l* = **w w** , *i H* = 1, , (19)

*Pc d s s* <sup>1</sup> <sup>+</sup> <sup>=</sup> **<sup>s</sup>** , *i H* <sup>=</sup> 1, , (21)

*i il*, , *<sup>i</sup>* 1 0 **Ψ** = **w w Ψ** . (22)

*Pc d b b* <sup>1</sup> <sup>+</sup> <sup>=</sup> **<sup>b</sup>** , (23)

*Pc d s s* <sup>1</sup> <sup>+</sup> <sup>=</sup> **<sup>s</sup>** , 1 ≤ ≤*i H* , as a vector of

*<sup>T</sup> i ii*

<sup>1234</sup> <sup>=</sup> **<sup>w</sup>** , *i H* <sup>=</sup> 1, , *<sup>j</sup>* <sup>=</sup> 1,*<sup>l</sup>* , (20)

this set find the best solution accoding to (14).

*<sup>P</sup>* <sup>=</sup> *q q* **<sup>q</sup>** is a vector of parameters.

Let us introduce a finite ordered set of variation vectors

1

of variation vectors.

Initially we set the basic solution

We generate bit strings for parameters

We generate the ordered sets of variation vectors

equation.

*T*

For proper variations variation 1 *w* = 3 is not performed if one of the following conditions is fulfilled:


**A structural distance** between two similar network operators is a minimal number of single variations that should be performed to obtain one network operator from the other. A structural distance between network operator **Ψ**1 and network operator **Ψ**2 is equal to a structural distance between network operators **Ψ**2 and **Ψ**<sup>1</sup> .

Fig. 8. Network operator after variations

#### **8. Search of optimal mathematic equation**

Let us formulate the problem of search of optimal mathematical equation **g** ( ) **x q**, . It is necessary to find mathematical equation **g** ( ) **x q**, , that provides minimums of object functions with restrictions

$$\min f\_i \left( \mathbf{x}, \mathbf{g} \left( \mathbf{x}, \mathbf{q} \right) \right), \ i = 0, D \,, \tag{14}$$

$$f\_j\left(\mathbf{x}, \mathbf{g}\left(\mathbf{x}, \mathbf{q}\right)\right) \le 0 \quad j = \overline{D + 1, K} \tag{15}$$

where **x** is a vector of variables, **q** is a vector of parameters.

The solution to the problem (14), (15) is a mathematical equation **g** ( ) **x q**, . Mathematical equation **g** ( ) **x q**, is a function

$$\mathbf{g}\left(\mathbf{x},\mathbf{q}\right) = \left[\mathcal{G}\_1\left(\mathbf{x},\mathbf{q}\right)...\mathcal{G}\_M\left(\mathbf{x},\mathbf{q}\right)\right]^T.\tag{16}$$

If *D* ≥ 1 , then the solution of the problem is a Pareto set

Π { ( ) , : 1, } *ki* = = **g xq** *k s* ,

where ( ) *<sup>k</sup>* ∀ ∉Π **g xq**, ( ) , Π *<sup>j</sup>* ∃ ∈ **g xq** , ( ) ( ) ( ) ( ) 0 0 *<sup>j</sup> <sup>k</sup>* **f g xq f** , , ≤ **g x q** , 0 ≤ ≤*j D* , ( ) ( ) ( ) ( ) ( ) ( ) <sup>0</sup> <sup>0</sup> , ,, *<sup>T</sup> <sup>D</sup>* <sup>=</sup> *f f* **f g xq g xq g xq** , ( ) ( ) ( ) ( ) 0 0 *<sup>j</sup> <sup>k</sup>* **<sup>f</sup> <sup>g</sup> xq f** , , <sup>≤</sup> **<sup>g</sup> x q** , if ( ) ( ) , , ( ) ( ) *<sup>j</sup> <sup>k</sup> i i f f* **g x q** ≤ **g x q** , *i D* = 0, , and ( ) ( ) , , ( ) ( ) *<sup>j</sup> <sup>k</sup> l l* ∃ < *f f* **g x q g x q** .

To solve the problem (14), (15) we need to define a finite set of network operators, and in this set find the best solution accoding to (14).

In the set of network operators we choose a basic network operator. Basic network operator corresponds to the basic NOM **Ψ**0 and the basic mathematical equation ( ) 0 0 **g xq**, , where 0 00 1 *T <sup>P</sup>* <sup>=</sup> *q q* **<sup>q</sup>** is a vector of parameters.

Let us introduce a finite ordered set of variation vectors

$$\mathbf{W} = \left(\mathbf{w}^1, \dots, \mathbf{w}^l\right),$$

$$\mathbf{W} = \left(\mathbf{w}^1, \dots, \mathbf{w}^l\right),$$

where *l* is a cardinal number of W , *<sup>T</sup> i ii w w* 1 4 <sup>=</sup> **<sup>w</sup>** is a variation vector, *i l* <sup>=</sup> 1, .

To construct the set of network operators we use a basic matrix **Ψ**0 and all possible sets W of variation vectors.

#### **9. Genetic algorithm for method of variations of basic solution**

Consider genetic algorithm that searches both structure and parameters of mathematical equation.

Initially we set the basic solution

34 Bio-Inspired Computational Algorithms and Their Applications

For proper variations variation 1 *w* = 3 is not performed if one of the following conditions is

Let us formulate the problem of search of optimal mathematical equation **g** ( ) **x q**, . It is necessary to find mathematical equation **g** ( ) **x q**, , that provides minimums of object

The solution to the problem (14), (15) is a mathematical equation **g** ( ) **x q**, . Mathematical

() () () <sup>1</sup> ,,, *<sup>T</sup>* =

Π { ( ) , : 1, } *ki* = = **g xq** *k s* ,

*l l* ∃ < *f f* **g x q g x q** .

where ( ) *<sup>k</sup>* ∀ ∉Π **g xq**, ( ) , Π *<sup>j</sup>* ∃ ∈ **g xq** , ( ) ( ) ( ) ( ) 0 0 *<sup>j</sup> <sup>k</sup>* **f g xq f** , , ≤ **g x q** , 0 ≤ ≤*j D* ,

*<sup>D</sup>* <sup>=</sup> *f f* **f g xq g xq g xq** , ( ) ( ) ( ) ( ) 0 0 *<sup>j</sup> <sup>k</sup>* **<sup>f</sup> <sup>g</sup> xq f** , , <sup>≤</sup> **<sup>g</sup> x q** , if

*i i f f* **g x q** ≤ **g x q** , *i D* = 0, , and ( ) ( ) , , ( ) ( ) *<sup>j</sup> <sup>k</sup>*

min , , *fi*( ) **xg xq** ( ) , *i D* = 0, , (14)

*fj*( ) **xg xq** ,, 0 ( ) ≤ , *j* = + *D K* 1, , (15)

*g gM* **g xq xq xq** . (16)


structural distance between network operators **Ψ**2 and **Ψ**<sup>1</sup> .

fulfilled:


Fig. 8. Network operator after variations

functions with restrictions

equation **g** ( ) **x q**, is a function

( ) ( ) ( ) ( ) ( ) ( ) <sup>0</sup> <sup>0</sup> , ,, *<sup>T</sup>*

( ) ( ) , , ( ) ( ) *<sup>j</sup> <sup>k</sup>*

**8. Search of optimal mathematic equation** 

where **x** is a vector of variables, **q** is a vector of parameters.

If *D* ≥ 1 , then the solution of the problem is a Pareto set

$$\mathbf{\bar{\Psi}}^{0} = \begin{bmatrix} \mathbf{\bar{\Psi}}\_{\;\!\!/\!}^{0} \end{bmatrix} \; \; \; i, j = \overline{1, L} \; \; . \tag{18}$$

We generate the ordered sets of variation vectors

$$\mathbf{W}^{i} = \left(\mathbf{w}^{i,1}, \dots, \mathbf{w}^{i,l}\right), \ i = \overline{1, H} \ , \tag{19}$$

$$\mathbf{w}^{i,j} = \begin{bmatrix} w\_1^{i,j} & w\_2^{i,j} & w\_3^{i,j} & w\_4^{i,j} \end{bmatrix}^T, \text{ i } = \overline{\mathbf{1}, H}, \text{ j } = \overline{\mathbf{1}, I}, \tag{20}$$

where *H* is a number of possible solutions in the population.

We generate bit strings for parameters

$$\mathbf{s}^{i} = \left[ \mathbf{s}\_{1}^{i} \dots \mathbf{s}\_{P(c+d)}^{i} \right]^{T}, \; i = \overline{\mathbf{1}\_{\cdot} H} \; \; \tag{21}$$

where *P* is the number of parameters, *c* is the number of bits for the integer part of the value, and *d* is the number of bits for the fractional part.

For each chromosome ( ) W ,*i i* **s** , 1 ≤ ≤*i H* , we define the values of object functions. We construct NOM using ( ) W ,, *i i*,1 , *i l* = **w w** and **Ψ**0

$$\mathbf{W}^{i} = \mathbf{w}^{i,l} \circ \dots \circ \mathbf{w}^{i,1} \circ \mathbf{W}^{0} \,. \tag{22}$$

We present parametrical part of the chromosome ( ) *<sup>T</sup> i ii Pc d s s* <sup>1</sup> <sup>+</sup> <sup>=</sup> **<sup>s</sup>** , 1 ≤ ≤*i H* , as a vector of parameters. We present a bit string *<sup>i</sup>* **s** from the Gray code to the binary code

$$\mathbf{b}^{i} = \left[ b\_{1}^{i} \dots b\_{p\_{\{\zeta \leftrightarrow d\}}}^{i} \right]^{T} \; \; \; \tag{23}$$

The Network Operator Method for Search of the Most Suitable Mathematical Equation 37

*<sup>T</sup> <sup>H</sup> <sup>i</sup> ii i k k Pc d s ss s* <sup>1</sup> <sup>1</sup> 12 2 1 1

*<sup>T</sup> <sup>H</sup> <sup>i</sup> ii i k k Pc d s ss s* <sup>2</sup> <sup>2</sup> 21 1 1 1

*<sup>T</sup> <sup>H</sup> <sup>i</sup> ii i k k Pc d s ss s* <sup>3</sup> <sup>1</sup> 12 2 1 1

*<sup>T</sup> <sup>H</sup> <sup>i</sup> ii i k k Pc d s ss s* <sup>4</sup> <sup>2</sup> 21 1 1 1

For each new solution ( ) W , *Hi Hi* + + **s** , *i* = 1,4 , we perform a mutation with probability [ ] 0,1 *mp* ∈ . We find the points of mutation *ms* , *mp* for both parts of new solutions. In the new chromosome ( ) W , *Hi Hi* + + **<sup>s</sup>** , 1 4 ≤ ≤*<sup>i</sup>* , we randomly generate a variation vector *<sup>s</sup>*

with structural and parametric parts. For each new solutions we calculate the functions (14)

For a new solution *j* we find the distance to Pareto set Λ*H j* <sup>+</sup> according to (28). Then we

If (41) is fulfilled then we replace the solution with a maximum distance by the first new solution W W *<sup>i</sup> H j* <sup>+</sup> <sup>+</sup> = , *<sup>i</sup> H j* <sup>+</sup> <sup>+</sup> **s s** = , *<sup>i</sup> H j* <sup>+</sup> <sup>+</sup> **f f** = , and recalculate the distances for all solutions in

The steps are repeated starting from the selection of possible solutions. After several given

( ) *<sup>D</sup> i i*

min

*j <sup>f</sup>* <sup>2</sup> \_ 0

= <sup>=</sup> 

*j*

*<sup>T</sup> Hi Hi Hi <sup>D</sup> f f* <sup>0</sup>

+

+

+

+

where *i*+ is a number of solution with maximum distance to Pareto set.

We compare new solution to the solution that has maximum distance to Pareto set

These steps are performed for each new possible solution ( ) W , *Hj Hj* + + **s** , *j* = 1,4 .

As a new basic solution we can take the solution that has minimum of function

*E* iterations, where *E* is called epoch, we change basic solution **Ψ**<sup>0</sup> .

find the solution with a maximum distance to Pareto set

the set.

*p p* ( )

*p p* ( )

*p p* ( )

*p p* ( )

<sup>+</sup> <sup>+</sup> <sup>=</sup> **<sup>s</sup>** , (32)

<sup>+</sup> <sup>+</sup> <sup>=</sup> **<sup>s</sup>** , (34)

<sup>+</sup> <sup>+</sup> <sup>=</sup> **<sup>s</sup>** , (36)

<sup>+</sup> <sup>+</sup> <sup>=</sup> **<sup>s</sup>** . (38)

+ ++ <sup>=</sup> **<sup>f</sup>** , *<sup>i</sup>* <sup>=</sup> 1,4 . (39)

Λ= Λ = *i i* <sup>+</sup> max , 1, { *i H*} , (40)

*Hj i* <sup>+</sup> <sup>+</sup> Λ <Λ . (41)

**<sup>f</sup>** , (42)

*H i m* <sup>+</sup> **w**

( ) 1 2 1 2 W ,, , ,, <sup>3</sup> ,1 ,1 , , *s s <sup>H</sup>* <sup>+</sup> *<sup>i</sup> ik ik* <sup>−</sup> *i l* = **w ww w** , (35)

( ) 2 1 2 1 W ,, , ,, <sup>4</sup> ,1 ,1 , , *s s <sup>H</sup>* <sup>+</sup> *<sup>i</sup> ik ik* <sup>−</sup> *i l* = **w ww w** , (37)

W W <sup>2</sup> <sup>2</sup> *<sup>H</sup>* <sup>+</sup> *<sup>i</sup>* = , (33)

$$b\_j^i = \begin{cases} s\_{j'}^i & \text{if } \begin{pmatrix} j-1 \end{pmatrix} \text{ mod } \begin{pmatrix} c+d \end{pmatrix} = 0\\ s\_j^i \oplus b\_{j-1'}^i & \text{otherwise} \end{cases}, \ j = \overline{1, P\{c+d\}}.\tag{24}$$

From the binary code we obtain the vector of parameters

$$\mathbf{q}^{\dagger} = \left[ \boldsymbol{q}\_1^{\dagger} \dots \boldsymbol{q}\_p^{\dagger} \right]^T \text{ \tag{25}}$$

$$q\_k^i = \sum\_{j=1}^{c+d} \mathfrak{2}^{c-j} b\_{j + (k-1)(c+d)}^i \; \; k = \overline{\mathbf{1}\_r P} \; . \tag{26}$$

To estimate each possible solution **Ψ***<sup>i</sup>* and *<sup>i</sup>* **q** we use parameter which is called a distance to a Pareto set.

**A distance to a Pareto set** is a number of possible solutions that are better in terms of Pareto than the current solution.

For each solution ( ) W ,*j j* **s** , 1 ≤ ≤*j H* we find mathematical equation ( ) , *j j* **g x q** and calculate the values of object functions (14)

$$\mathbf{f}^{\dagger} = \left[ f\_0^{\dagger} \dots f\_D^{\dagger} \right]^T \text{ \,\,\,\,}\tag{27}$$

In the set we find the number of possible solutions that are better than the solution ( ) W ,*j j* **s**

$$\Lambda\_{\rangle} = \sum\_{i=1}^{H} \lambda\_i \left(\mathbf{f}^{\dagger}\right)\_{\prime} \tag{28}$$

where

$$
\lambda\_i \begin{pmatrix} \mathbf{f}^\circ \end{pmatrix} = \begin{cases} \mathbf{1}, \text{ if } \mathbf{f}^\circ \le \mathbf{f}^\circ \\ \mathbf{0}, \text{ otherwise} \end{cases} \tag{29}
$$

To construct new solutions we perform genetic operations of selection, crossover and mutation.

We randomly choose two solutions ( ) W , 1 1 *i i* **s** , ( ) W , 2 2 *i i* **s** and perform a crossover with probability

$$p\_c = \max\left\{\frac{1+\gamma\Lambda\_{i\_1}}{1+\Lambda\_{i\_1}}, \frac{1+\gamma\Lambda\_{i\_2}}{1+\Lambda\_{i\_2}}\right\} \; \; \; \tag{30}$$

where γ is a given crossover parameter, 0 1 < γ < .

After crossover is performed in two points *<sup>p</sup> k* , *<sup>s</sup> k* we obtain four new solutions ( ) W , *H H* + + 1 1 **s** , ( ) W , *H H* + + 2 2 **s** , ( ) W , *H H* + + 2 3 **s** , ( ) W , *H H* + + 4 4 **s**

$$\mathbf{W}^{H+1} = \mathbf{W}^{i\_1} \,, \tag{31}$$

36 Bio-Inspired Computational Algorithms and Their Applications

*<sup>T</sup> i ii*

( )( ) 1

+− +

**A distance to a Pareto set** is a number of possible solutions that are better in terms of Pareto

For each solution ( ) W ,*j j* **s** , 1 ≤ ≤*j H* we find mathematical equation ( ) , *j j* **g x q** and

*<sup>T</sup> j jj*

In the set we find the number of possible solutions that are better than the solution ( ) W ,*j j* **s**

1 *<sup>H</sup> <sup>j</sup> j i i*=

To construct new solutions we perform genetic operations of selection, crossover and

We randomly choose two solutions ( ) W , 1 1 *i i* **s** , ( ) W , 2 2 *i i* **s** and perform a crossover with

1 1 max , 1 1

+ γΛ + γΛ <sup>=</sup> +Λ +Λ

After crossover is performed in two points *<sup>p</sup> k* , *<sup>s</sup> k* we obtain four new solutions

( ) 1, if

 <sup>≤</sup> λ = 

*j i*

*c*

*p*

where γ is a given crossover parameter, 0 1 < γ < .

( ) W , *H H* + + 1 1 **s** , ( ) W , *H H* + + 2 2 **s** , ( ) W , *H H* + + 2 3 **s** , ( ) W , *H H* + + 4 4 **s**

( )

0, otherwise *i j*

> 1 2 1 2

*i i*

*i i*

, *j Pc d* = + 1, ( ) . (24)

*<sup>P</sup> q q* <sup>1</sup> <sup>=</sup> **<sup>q</sup>** , (25)

and *<sup>i</sup>* **q** we use parameter which is called a distance

*<sup>D</sup> f f* <sup>0</sup> <sup>=</sup> **<sup>f</sup>** , (27)

Λ= λ **<sup>f</sup>** , (28)

**f f <sup>f</sup>** . (29)

<sup>1</sup> W W *<sup>H</sup>* <sup>+</sup><sup>1</sup> *<sup>i</sup>* = , (31)

, (30)

<sup>=</sup> , *k P* <sup>=</sup> 1, . (26)

( ) ( )

, if 1 mod 0 , otherwise

1

*s j cd <sup>b</sup>*

− += <sup>=</sup>

1 2 *c d i i c j k j k cd*

*j q b* <sup>+</sup> <sup>−</sup>

=

*i i j j i i j j*

⊕

From the binary code we obtain the vector of parameters

To estimate each possible solution **Ψ***<sup>i</sup>*

calculate the values of object functions (14)

to a Pareto set.

where

mutation.

probability

than the current solution.

*s b* <sup>−</sup>

$$\mathbf{s}^{H+1} = \left[ \mathbf{s}\_1^{i\_1} \dots \mathbf{s}\_{k\_p}^{i\_1} \mathbf{s}\_{k\_p+1}^{i\_2} \dots \mathbf{s}\_{P(c+d)}^{i\_2} \right]^T \tag{32}$$

$$\mathbf{W}^{H\*2} = \mathbf{W}^{\flat\_2} \,, \tag{33}$$

$$\mathbf{s}^{H\*2} = \left[ \mathbf{s}\_1^{i\_2} \dots \mathbf{s}\_{k\_p}^{i\_2} \mathbf{s}\_{k\_p+1}^{i\_1} \dots \mathbf{s}\_{P\{c+d\}}^{i\_1} \right]^T \tag{34}$$

$$\mathbf{W}^{H+3} = \left(\mathbf{w}^{i\_1,1}, \dots, \mathbf{w}^{i\_1,k\_s-1}, \mathbf{w}^{i\_2,k\_s}, \dots, \mathbf{w}^{i\_2,l}\right)\_{\prime} \tag{35}$$

$$\mathbf{s}^{H+3} = \left[ \mathbf{s}\_1^{i\_1} \dots \mathbf{s}\_{k\_p}^{i\_1} \mathbf{s}\_{k\_p+1}^{i\_2} \dots \mathbf{s}\_{p\{c+d\}}^{i\_2} \right]^T \tag{36}$$

$$\mathbf{W}^{H+4} = \left(\mathbf{w}^{i\_2,1}, \dots, \mathbf{w}^{i\_2,k\_s-1}, \mathbf{w}^{i\_1,k\_s}, \dots, \mathbf{w}^{i\_1,l}\right)\_{\prime} \tag{37}$$

$$\mathbf{s}^{H\*4} = \left[ \mathbf{s}\_1^{i\_2} \dots \mathbf{s}\_{k\_p}^{i\_2} \mathbf{s}\_{k\_p + 1}^{i\_1} \dots \mathbf{s}\_{P\{c + d\}}^{i\_1} \right]^T. \tag{38}$$

For each new solution ( ) W , *Hi Hi* + + **s** , *i* = 1,4 , we perform a mutation with probability [ ] 0,1 *mp* ∈ . We find the points of mutation *ms* , *mp* for both parts of new solutions. In the new chromosome ( ) W , *Hi Hi* + + **<sup>s</sup>** , 1 4 ≤ ≤*<sup>i</sup>* , we randomly generate a variation vector *<sup>s</sup> H i m* <sup>+</sup> **w** with structural and parametric parts. For each new solutions we calculate the functions (14)

$$\mathbf{f}^{H\*i} = \left[ f\_0^{H\*i} \dots f\_D^{H\*i} \right]^T, \ i = \overline{1, 4} \,\,. \tag{39}$$

For a new solution *j* we find the distance to Pareto set Λ*H j* <sup>+</sup> according to (28). Then we find the solution with a maximum distance to Pareto set

$$\Lambda\_{i\_+} = \max \left\{ \Lambda\_{i'} i = \overline{1, H} \right\}\_{'} \tag{40}$$

where *i*+ is a number of solution with maximum distance to Pareto set.

We compare new solution to the solution that has maximum distance to Pareto set

$$
\Lambda\_{H+j} < \Lambda\_{i\_\*}\,.
\tag{41}
$$

If (41) is fulfilled then we replace the solution with a maximum distance by the first new solution W W *<sup>i</sup> H j* <sup>+</sup> <sup>+</sup> = , *<sup>i</sup> H j* <sup>+</sup> <sup>+</sup> **s s** = , *<sup>i</sup> H j* <sup>+</sup> <sup>+</sup> **f f** = , and recalculate the distances for all solutions in the set.

These steps are performed for each new possible solution ( ) W , *Hj Hj* + + **s** , *j* = 1,4 .

The steps are repeated starting from the selection of possible solutions. After several given *E* iterations, where *E* is called epoch, we change basic solution **Ψ**<sup>0</sup> .

As a new basic solution we can take the solution that has minimum of function

$$\tilde{\mathbf{f}}^{\iota\_-} = \min \left\{ \sqrt{\sum\_{\prime=0}^D \left( \tilde{f}\_{\prime}^{\iota} \right)^2} \right\},$$

The Network Operator Method for Search of the Most Suitable Mathematical Equation 39

To construct a basic network operator we need 5 nodes, but if we want to enlarge the search space we add 3 nodes with addition operations and its unit elements. We get the network

> 00010000 00010000 00001000 00011000 00000100 00000010 00000001 00000000

 <sup>=</sup> **Ψ** .

A genetic algorithm had the following values of parameters: number of chromosomes in initial population *H* = 1024 , number of crossing couples in one generation 256, number of generations 128, number vectors of variations in one chromosome 8, number of generations between the change of basic solutions 22, number of elite chromosomes 8, probability of mutation 0.8 *mp* = , parameter for crossing γ = 0.4 , number of parameters 2, number of bits for integer part *c* = 2 , number of bits for fractional part *d* = 6 , number of points *S* = 11 . We

Fig. 9. Example of basic network operator

Fig. 10. An expanded basic network operator

0

obtained a Pareto set which is represented on Fig 11 and in the Table 5.

<sup>1</sup>*fg x*, 0.32447275 **q** = , ( ) ( ) <sup>310</sup>

For this solution we have obtained the following values of parameters 1 *q* = 3.14063 ,

<sup>2</sup>*fg x*, 0.121647 **q** = .

NOM for graph shown on Fig. 10 is

For example we take the solution no 310.

The solution 310 is the network operator

<sup>2</sup> *q* = 0.84375 .

( ) ( ) <sup>310</sup>

operator presented on Fig. 10.

where *i*− is the number of new basic solution, *<sup>T</sup> i ii <sup>D</sup> f f* <sup>0</sup> <sup>=</sup> **<sup>f</sup>** , *i H* = 1, , *i j j i j j j f f <sup>f</sup> f f* − + − <sup>−</sup> <sup>=</sup> <sup>−</sup> , *j* = 0,*D* , max , 1, { } *<sup>i</sup> j j f f i H* <sup>+</sup> = = , min , 1, { } *<sup>i</sup> j j f f i H* <sup>−</sup> = = , *j* = 0,*D* .

For the more rapid search we use a subset of elite solutions ( ) W , *e e i i* **s** , 1 *<sup>e</sup>* ≤ ≤ *i H* . In this subset we calculate the values of functional after each variation ( ) , , *e ee i ik i* **f Ψ s** ,

$$\mathbf{W}^{i\_{\nu},k} = \mathbf{w}^{i\_{\nu},k} \circ \dots \circ \mathbf{w}^{i\_{\nu},1} \circ \mathbf{W}^0 \,, \ 1 \le k \le d \ . \tag{43}$$

We find variation of the solution that leads to minimum distance to Pareto set ( ) , *<sup>e</sup> e i k* Λ*<sup>i</sup>* **f** .

$$\Lambda\_{\dot{I}\_{\mathcal{E}}}\left(\mathbf{f}^{i\_{\mathcal{E}'},k\_{-}}\right) = \min\left[\Lambda\_{\dot{I}\_{\mathcal{E}}}\left(\mathbf{f}^{i\_{\mathcal{E}'},k}\right), k = \overline{1,d}\right],\tag{44}$$

where *k*− is the number of desired variation. Other variations for possible solution *ei* are replaced by zeros. The calculation is terminated after given number of loops.

Consider an example. It is necessary to find inverse function for mathematical equation

$$\mathfrak{x} = \cos\left(y^{\frac{2}{3}}\right) + \sqrt[3]{y} \dots$$

The solution is presented in the form *y gx* = ( ) ,**q** , where **q** is a vector of parameters.

After substitution of found mathematical equation *g x*( ) ,**q** in initial function we should obtain the identity

$$\mathbf{x} \equiv \cos \left( \mathbf{g}^2 \left( \mathbf{x}, \mathbf{q} \right) \right) + \sqrt[3]{\mathcal{g}\left( \mathbf{x}, \mathbf{q} \right)} \dots$$

Let us set a finite number of points

$$T = \left\{ \mathbf{x}^j : j = \overline{1, S} \right\}.$$

and define two object functions

$$f\_1 = \sqrt{\sum\_{j=1}^{S} \left( \mathbf{x}^{\circ^j} - \cos \left( \mathbf{g}^{\circ^2} \left( \mathbf{x}^{\circ^j}, \mathbf{q} \right) \right) - \sqrt[3]{\mathbf{g} \left( \mathbf{x}^{\circ^j}, \mathbf{q} \right)} \right)^2} \to \min \mathcal{I}$$

$$f\_2 = \max\_{j} \left\{ \mathbf{x}^{\circ^j} - \cos \left( \mathbf{g}^{\circ^2} \left( \mathbf{x}^{\circ^j}, \mathbf{q} \right) \right) - \sqrt[3]{\mathbf{g} \left( \mathbf{x}^{\circ^j}, \mathbf{q} \right)} \right\}; j = \overline{1, S} \right\} \to \min \mathcal{I}$$

Note that for exact solution we have 1*f* = 0 and 2*f* = 0 . Let us choose the following basic solution

$$y = q\_1 x + q\_2 x$$

where 1 *q* = 1 , 2 *q* = 1 .

Network operator for basic solution is presented on Fig. 9.

Fig. 9. Example of basic network operator

38 Bio-Inspired Computational Algorithms and Their Applications

*j j f f i H* <sup>−</sup> = = , *j* = 0,*D* .

For the more rapid search we use a subset of elite solutions ( ) W , *e e i i* **s** , 1 *<sup>e</sup>* ≤ ≤ *i H* . In this

( ) { ( ) *dk* } *ki i*

where *k*− is the number of desired variation. Other variations for possible solution *ei* are

( ) <sup>2</sup> <sup>3</sup> *x yy* = + cos .

After substitution of found mathematical equation *g x*( ) ,**q** in initial function we should

( ) ( ) ( ) <sup>2</sup> <sup>3</sup> *x g x gx* ≡ + cos , , **q q** .

{ } *<sup>j</sup> T x* = = : 1, *j S*

( ) ( ) ( ) ( ) <sup>2</sup>

{ ( ) ( ) ( ) } <sup>2</sup> <sup>3</sup> <sup>2</sup> max cos , , : 1, min *jjj*

*f x g x gx j S* = − − =→ **q q** .

1 2 *y q* = + *x q* ,

=− − → **q q** ,

*<sup>S</sup> jj j*

cos , , min

<sup>2</sup> <sup>3</sup> <sup>1</sup>

*f x g x gx*

1

*j*

*j*

Let us choose the following basic solution

where 1 *q* = 1 , 2 *q* = 1 .

Note that for exact solution we have 1*f* = 0 and 2*f* = 0 .

Network operator for basic solution is presented on Fig. 9.

=

We find variation of the solution that leads to minimum distance to Pareto set ( ) , *<sup>e</sup>*

Consider an example. It is necessary to find inverse function for mathematical equation

The solution is presented in the form *y gx* = ( ) ,**q** , where **q** is a vector of parameters.

subset we calculate the values of functional after each variation ( ) , , *e ee i ik i* **f Ψ s** ,

*ki*

replaced by zeros. The calculation is terminated after given number of loops.

*<sup>D</sup> f f* <sup>0</sup> <sup>=</sup> **<sup>f</sup>**

*ik ik i ee e* , , ,1 <sup>0</sup> **Ψ** = **w w Ψ** , 1 ≤ ≤ *k d* . (43)

*<sup>i</sup> <sup>e</sup> <sup>e</sup> <sup>e</sup> <sup>e</sup>* min ,, , , <sup>Λ</sup> **<sup>f</sup>** <sup>−</sup> Λ= **<sup>f</sup>** <sup>=</sup> <sup>1</sup> , (44)

, *i H* = 1, ,

*i j j i*

*j j f f <sup>f</sup> f f*

− + − <sup>−</sup> <sup>=</sup> <sup>−</sup> ,

*j*

*e i k* Λ*<sup>i</sup>* **f** .

where *i*− is the number of new basic solution, *<sup>T</sup> i ii*

*j j f f i H* <sup>+</sup> = = , min , 1, { } *<sup>i</sup>*

*j* = 0,*D* , max , 1, { } *<sup>i</sup>*

obtain the identity

Let us set a finite number of points

and define two object functions

To construct a basic network operator we need 5 nodes, but if we want to enlarge the search space we add 3 nodes with addition operations and its unit elements. We get the network operator presented on Fig. 10.

Fig. 10. An expanded basic network operator

NOM for graph shown on Fig. 10 is

$$
\mathbf{\upPsi}^{\circ} = \begin{bmatrix}
0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 \\
0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 \\
0 & 0 & 0 & 1 & 1 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 \\
0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 \\
0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 \\
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0
\end{bmatrix}.
$$

A genetic algorithm had the following values of parameters: number of chromosomes in initial population *H* = 1024 , number of crossing couples in one generation 256, number of generations 128, number vectors of variations in one chromosome 8, number of generations between the change of basic solutions 22, number of elite chromosomes 8, probability of mutation 0.8 *mp* = , parameter for crossing γ = 0.4 , number of parameters 2, number of bits for integer part *c* = 2 , number of bits for fractional part *d* = 6 , number of points *S* = 11 . We obtained a Pareto set which is represented on Fig 11 and in the Table 5.

For example we take the solution no 310.

$$f\_1\left(\mathcal{g}^{\text{310}}(\mathbf{x}, \mathbf{q})\right) = 0.32447275\,,\ f\_2\left(\mathcal{g}^{\text{310}}(\mathbf{x}, \mathbf{q})\right) = 0.121647\,,\ .$$

For this solution we have obtained the following values of parameters 1 *q* = 3.14063 , <sup>2</sup> *q* = 0.84375 .

The solution 310 is the network operator

The Network Operator Method for Search of the Most Suitable Mathematical Equation 41

No No of solution 1*f* <sup>2</sup>*f*

Table 5.

**10. Conclusion** 

structure the network operator.

**11. Limitations & development** 

(Alnovani et al. 2011).

1 27 0.31208313 0.12743371 2 469 0.3124092 0.12701286 3 36 0.31248842 0.12695655 4 366 0.31317121 0.12657987 5 492 0.3132807 0.12652959 6 122 0.31423625 0.12614932 7 412 0.31526313 0.12581255 8 173 0.31617553 0.12555099 9 868 0.31630362 0.12551643 10 472 0.31719342 0.12528834 11 494 0.31731617 0.12525837 12 18 0.31815508 0.12506176 13 106 0.31826894 0.1250361 14 624 0.31903468 0.12486921 15 54 0.31981169 0.12470895 16 180 0.31989995 0.12469127 17 132 0.32046985 0.12457951 18 560 0.32054244 0.12456557 19 539 0.32099647 0.12447971 20 205 0.32105204 0.12446936 21 288 0.321382 0.12440861 22 141 0.32141958 0.12440176 23 696 0.32161979 0.12436553 24 658 0.32163874 0.12436213 25 621 0.32170585 0.12435009 26 310 0.32447275 0.121647

In this work the new approach to the problem of automatic search of mathematical equations was considered. The researcher defines the sets of operations, variables and parameters. The computer program generates a number of mathematical equations that satisfy given restrictions. Then the optimization algorithm finds the structure of appropriate mathematical expression and its parameters. The approach is based on the new data

If we replace the set of unary and binary operations in the network operator by the set of logic operations, then we can perform the search of the most suitable logic function

Presentation of the network operator as a matrix is limited by its dimension.


or the function

Fig. 11. A Pareto set

If we substitute our solution in initial mathematical expression then we have to obtain identity,

$$\tilde{\mathbf{x}} = \cos\left(\left(\mathbf{g}^{\,^{310}}\left(\mathbf{x}, \mathbf{q}\right)\right)^{2}\right) + \sqrt[3]{\left(\mathbf{g}^{\,^{310}}\left(\mathbf{x}, \mathbf{q}\right)\right)}\dots$$

The graphs of the functions *x* ~ and identity function are represented on the Fig 12

Fig 12. The graph of the function for the solution no 310


Table 5.

40 Bio-Inspired Computational Algorithms and Their Applications

000 1 0 0 0 0 0 0 0 11 0 0 0 0 000 0 1 0 0 0 0 0 0 1 12 0 0 0 0 0 0 0 0 12 15 0 0 0 0 0 0 0 1 15 000 0 0 0 1 1 000 0 0 0 0 1

 <sup>=</sup> **Ψ** .

( ) ( ) ( ) ( ) ( ) ( ) ( ) <sup>2</sup> <sup>310</sup> <sup>3</sup> 1 2 1 2 *gx x q q x q q* , sin sin cos **<sup>q</sup>** =+ + sin cos .

If we substitute our solution in initial mathematical expression then we have to obtain

(( ) ( ) ) ( ) ( ) <sup>2</sup> <sup>310</sup> <sup>310</sup> <sup>3</sup> *xx x* = + cos <sup>g</sup> ,**q q** <sup>g</sup> , .

~ and identity function are represented on the Fig 12

1*f*

*j*

310

or the function

2*f*

Fig. 11. A Pareto set

The graphs of the functions *x*

*xx* ~,

Fig 12. The graph of the function for the solution no 310

identity,

#### **10. Conclusion**

In this work the new approach to the problem of automatic search of mathematical equations was considered. The researcher defines the sets of operations, variables and parameters. The computer program generates a number of mathematical equations that satisfy given restrictions. Then the optimization algorithm finds the structure of appropriate mathematical expression and its parameters. The approach is based on the new data structure the network operator.

If we replace the set of unary and binary operations in the network operator by the set of logic operations, then we can perform the search of the most suitable logic function (Alnovani et al. 2011).

## **11. Limitations & development**

Presentation of the network operator as a matrix is limited by its dimension.

**3** 

*México* 

**Performance of Simple Genetic Algorithm** 

**Inserting Forced Inheritance Mechanism** 

Christopher R. Torres-San Miguel and Javier Ramírez-Gordillo

*Instituto Politécnico Nacional Escuela Superior de Ingeniería Mecánica y Eléctrica* 

Genetic Algorithms (GA) are powerful tools to solve large scale design optimization problems. The research interests in GA lie in both its theory and application. On one hand, various modifications have been made to allow them to solve problems faster, more

Genetic Algorithms are a search paradigm that applies principles of evolutionary biology (crossover, mutation, natural selection) in order to deal with intractable search spaces. The power and success of GA are mostly achieved by the diversity with the individuals of a population which evolve, in parallel, following the principle of the survival of the fittest. In general, the genetic algorithms resolve combinatorial optimization problems that in (Goldberg, 1989) are mentioned, this implies a large number of responses associated with an exponential growth in solutions potentially feasible according to the magnitude of the problem. In a standard GA the diversity of the individuals is obtained and maintained using the genetic operators crossover and mutation which allow the GA to find feasible solutions

The performance of a genetic algorithm, like any global optimization algorithm, depends on the mechanism for balancing the two conflicting objectives, which are exploiting the best solutions found so far and at the same time exploring the search space for promising solutions. The power of genetic algorithms comes from their ability to combine both exploration and exploitation in an optimal way (Holland, 1975). However, although this optimal utilization may be theoretically true for a genetic algorithm, there are problems in practice. These arise because of Holland assumed that the population size is infinite, that the fitness function accurately reflects the suitability of a solution, and that the interactions

The evolutionary algorithm proposed in this paper is composed by a classic genetic algorithms along with the forced inheritance mechanism proposed by (Merchán-Cruz, 2005, Merchán-Cruz et al., 2008, Merchán-Cruz et al., 2007) and the regeneration mechanisms by

and avoid premature convergence to a local maximum (Holland, 1975).

between genes are very small (Beasley et al., 1993).

**1. Introduction** 

accurately and more reliably.

**and Parameters Relaxation** 

Esther Lugo-González, Emmanuel A. Merchán-Cruz, Luis H. Hernández-Gómez, Rodolfo Ponce-Reynoso,

In the problems where mathematical equations have many variables and parameters, it is necessary to use big network operator matrices with many zero elements.

To exclude this limitation it is possible to divide one network operator with a considerable number of nodes into some small network operators. We receive the multilayer network operator and some matrices of smaller dimensions. Each layer of the network operator describes a part of mathematical equation.

Further development of the network operator is a creation of a special data structure for presentation of the network operator in memory of the computer. Such structure can be multilayered and provide effective parallel calculation.

#### **12. References**

