Network operator matrix
Network operator matrix (NOM) is a representation of mathematical expressions in computer memory.
NOM is a new approach to the problem of automatic search of mathematical equations. The researcher defines the sets of operations, variables and parameters.[1] 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.
Network operator is a directed graph that corresponds to some mathematical expressions. Every source nodes of the graph are variables or constants of mathematical expression, inner nodes correspond to binary operations and edges correspond to unary operations. The calculation’s result of mathematical expression is kept in the last sink node.[2]
Example
Consider the following mathematical expression
-
[math]\displaystyle{ y = x_1 + \sin (x_1) + q_1 x_1 e^{-x_2} }[/math]
(
)
The graph for Expression (1), is presented in Fig. 1.
On the edges we place unary operations
[math]\displaystyle{ \rho_1(z)= z \, ; }[/math]
[math]\displaystyle{ \rho_3(z)= -z \,; }[/math]
[math]\displaystyle{ \rho_6(n) =
\begin{cases}
\varepsilon\!^{ -1}, & \text{if }z\gt \ln \varepsilon \!\\
e^z, & \text{ otherwise}
\end{cases}
; }[/math]
[math]\displaystyle{ \rho_{12}(z)= \sin z \,; }[/math]
In the inner and sink nodes we place binary operations
[math]\displaystyle{ \chi_0(z',z'')= z'+z'' \, ; }[/math]
[math]\displaystyle{ \chi_1(z',z'')= z' \times z'' \, ; }[/math]
Expression 1 can be presented in the PC memory as a NOM
- [math]\displaystyle{ \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} }[/math]
Any mathematical expression can be presented as a network operator matrix.[3][4][5]
To calculate the mathematical expression by the network operator matrix the node vector is used.
Each component of node vector corresponds to the nodes of the network operator graph. Initially each component is equal to the argument for the given node or the unit element of binary operation.
For addition and multiplication the number of operation equals its unit element. For addition it is 0, for multiplication it is 1.
The node vector for the given example
[math]\displaystyle{ \mathbf{z}=[x_1\ q_1\ x_2\ 0\ 1\ 0\ 1\ 0]^T }[/math]
The calculation by matrix [math]\displaystyle{ \Psi }[/math] is performed for nonzero nondiagonal elements [math]\displaystyle{ \psi_{(i,j)}\neq 0 }[/math] by
[math]\displaystyle{ z_j=\chi_{\psi_{j,j}}(z_j,\rho_{\psi_{i,j}}(z_i)) }[/math]
Follow the rows of the matrix.
For the Row 1 we have [math]\displaystyle{ \psi_{1,4}=1 }[/math], that is [math]\displaystyle{ i=1 }[/math], [math]\displaystyle{ j=4 }[/math], [math]\displaystyle{ \psi_{j,j}=\psi_{4,4}=0 }[/math].
Take arguments from [math]\displaystyle{ \mathbf{z}=[x_1\ q_1\ x_2\ 0\ 1\ 0\ 1\ 0]^T }[/math]
[math]\displaystyle{ z_1=x_1 }[/math], [math]\displaystyle{ z_4=0 }[/math] then
[math]\displaystyle{ z_4=\chi_{\psi_{4,4}}(z_4,\rho_{\psi_{1,4}}(z_1))=\chi_0(z_4,\rho_1(z_1))=0+x_1=x_1 }[/math]
Further in Row 1 we have [math]\displaystyle{ \psi_{1,5}=1 }[/math]
[math]\displaystyle{ z_5=\chi_{\psi_{5,5}}(z_5,\rho_{\psi_{1,5}}(z_1))=\chi_1(z_5,\rho_1(z_1))=1\times x_1=x_1 }[/math]
[math]\displaystyle{ \psi_{1,8}=12 }[/math]
[math]\displaystyle{ z_8=\chi_{\psi_{8,8}}(z_8,\rho_{\psi_{1,8}}(z_1))=\chi_0(z_8,\rho_{12}(z_1))=0+\sin x_1=\sin x_1 }[/math].
As a result after Row 1 we have [math]\displaystyle{ \mathbf{z}=[x_1\ q_1\ x_2\ x_1\ x_1\ 0\ 1\ \sin x_1]^T }[/math].
For the Row 2 we have
[math]\displaystyle{ \psi_{2,5}=1 }[/math]
[math]\displaystyle{ z_5=\chi_{\psi_{5,5}}(z_5,\rho_{\psi_{2,5}}(z_2))=\chi_1(z_5,\rho_{1}(z_1))=x_1q_1 }[/math]
then follow the rows
[math]\displaystyle{ \psi_{3,6}=3 }[/math]
[math]\displaystyle{ z_6=\chi_{\psi_{6,6}}(z_6,\rho_{\psi_{3,6}}(z_3))=\chi_0(z_6,\rho_{3}(z_3))=0+(-x_2)=-x_2 }[/math]
[math]\displaystyle{ \psi_{4,8}=1 }[/math]
[math]\displaystyle{ z_8=\chi_{\psi_{8,8}}(z_8,\rho_{\psi_{4,8}}(z_4))=\chi_0(z_8,\rho_{1}(z_4))=\sin x_1+x_1 }[/math]
[math]\displaystyle{ \psi_{5,7}=1 }[/math]
[math]\displaystyle{ z_7=\chi_{\psi_{7,7}}(z_7,\rho_{\psi_{5,7}}(z_5))=\chi_1(z_7,\rho_{1}(z_5))=1x_1q_1=x_1q_1 }[/math]
[math]\displaystyle{ \psi_{6,7}=6 }[/math]
[math]\displaystyle{ z_7=\chi_{\psi_{7,7}}(z_7,\rho_{\psi_{6,7}}(z_6))=\chi_1(z_7,\rho_{6}(z_6))=x_1q_1e^{-x_2} }[/math]
[math]\displaystyle{ \psi_{7,8}=1 }[/math]
[math]\displaystyle{ z_8=\chi_{\psi_{8,8}}(z_8,\rho_{\psi_{7,8}}(z_7))=\chi_0(z_8,\rho_{1}(z_7))=\sin x_1+x_1+x_1q_1e^{-x_2} }[/math].
References
- ↑ Diveyev A.I., Sofronova E.A. Application of network operator method for synthesis of optimal structure and parameters of automatic control system. Proceedings of 17-th IFAC World Congress, Seoul, Korea 05 – 12 July 2008
- ↑ "Network Operator". Network Operator, Inc. http://www.network-operator.com/papers.php. Retrieved 24 January 2012.
- ↑ A.I. Diveev, E.A. Sofronova The synthesis of optimal control system by the network operator method IFAC Workshop on Control Applications and Optimization, CAO’09, 6–8 May, University of Jyväskylä, Agora, Finland.
- ↑ Diveev A.I., Sofronova E.A. Numerical method of network operator for multi-objective synthesis of optimal control system, Proceedings of 7-th International Conference on Control and Automation (ICCA’09), Christchurch, New Zealand, December 9–11, 2009.
- ↑ Diveev A.I. A multiobjective synthesis of optimal control system by the network operator method. Proceedings of international conference «Optimization and applications» (OPTIMA 2009), Petrovac, Montenegro, September 21–25, 2009