# Inverse Problem with Respect to Domain and Artificial Neural Network Algorithm for the Solution

Authors: Kambiz Majidzadeh
Journal: Mathematical Problems in Engineering
 (2011)

---

## Abstract

We consider the inverse problem with respect to domain. We suggested a new approach for reducing the inverse problem for a domain to an equivalent problem in a variational setting and gave an effective solution algorithm for solving such problems. In order to solve boundary problem, the artificial neural network is used in each step of the iteration.


---

## Body

## 1. Introduction

A wide class of practical problems are reduced to the inverse problem with respect to domain. As an example, we can show problems of elasticity theory, diffusion problems, the problems arising in hydrodynamics [1–6], and so forth. The papers concerning inverse problems usually deal with inverse problems for an unknown function (coefficients and functions occurring in the boundary and initial conditions). But in our case, a domain is sought and the investigation of the considered problems is related with some strong difficulties. In order to avoid these difficulties and to investigate such problems, firstly, the considered inverse problem is reduced to the variational statement. As the obtained variational problem is a domain-dependent variational problem, the investigation of such problems is also related to some difficulties. Here, we give an effective algorithm for solving such problems.


## 2. Statement of the Problem and Main Result

LetD be an r-dimensional domain, that is, D⊂Rr and x=(x1,x2,…,xr)∈D.Denote bySD the boundary of the domain D,SD=∂D. Assume that the boundary SD is in the space C2. Let us consider the following inverse problem: (2.1)-Δu+a(x)u=f(x),x∈D,(2.2)u(x)=0,x∈SD,(2.3)∂u(x)∂n=0,x∈SD,
where the functions a are f and continuously differentiable functions in Rr and a(x)>0. Denote by K the set of convex domains set with a boundary from C2.Our goal is to find a pair(D,u)∈K×C2(D) such that the function u=u(x) satisfies (2.1) and boundary conditions (2.2), (2.3) in the domain D. As it is seen, condition (2.2) is a Dirichlet condition, and condition (2.3) is a Neumann condition. For solving inverse problem (2.1)–(2.3), at first, we consider the following unknown domain variational problem:(2.4)J(D,u)=∫DF(x,u(x),ux(x))dx⟶min⁡,D∈K,u∈C2(D),(2.5)u(x)=0,x∈SD.
We will assume that the function F(x,u,p) is a continuously differentiable function of its own variables in D×R×Rr.If boundary condition is satisfied forD∈K,u∈C2(D), the pair (D,u) is said to be a possible pair. Denote by M all possible pairs set. The pair (D*,u*)∈M is called an optimal pair if it gives a minimum to functional (2.4) in the set M.Give the following theorem obtained in [7].Theorem 2.1.
Let the pair(D*,u*)∈M be an optimal pair for variational problem (2.4), (2.5). Then the function u*=u*(x) is a solution of the following Euler equation in the domain D*:
(2.6)Fu(x,u(x),ux(x))-∑i=1nddxiFuxi(x,u(x),ux(x))=0,x∈D*,
and moreover, in the boundary SD*, the condition
(2.7)F(x,u*(x),ux*(x))-∑i=1nuxi*(x)Fuxi(x,u*(x),ux*(x))=0,x∈SD*,
is satisfied.As it is seen, this theorem is proved for convex domains. But one can obtain the similar result for doubly connected domainD with internal and external boundaries S1 and S2. For that, we must use the expansion(2.8)∫DFdx=∫D2Fdx-∫D1Fdx,
where D1 and D2 are convex domains bounded by the boundaries S1 and S2.Now, take the functionF(x,u,p) in the following form (2.9)F(x,u,ux)=|ux|2+a(x)u2-2f(x)u,
where(2.10)|ux|2=|ux1|2+|ux2|2+⋯+|uxr|2.
As the functionsa and f are continuously differentiable functions in Rr, the function F(x,u,p) is a continuously differentiable function of its own variablies inD×R×Rr. Apply the theorem mentioned above to this function. It is clear that
(2.11)Fu=2a(x)u-2f(x)u,Fuxi=2uxi.
Hence,(2.12)ddxiFuxi=2Δu.
So, from condition (2.6), we get that the function u*=u*(x) satisfies (2.1) in the domain D*. From condition (2.7), we get the following boundary condition(2.13)|ux*|2+au*2-2f(x)u*-2|ux*|2=0,x∈SD.
If we take into account the condition u*(x)=0,x∈SD*, we get (2.14)|ux*|=0,x∈SD*,
or(2.15)ux*(x)=0,x∈SD*.
From the equation of the derivative with respect to the normal ∂u(x)/∂n, we get that function (2.3) satisfies the boundary condition (2.3) as well. Thus, we proved the following theorem.Theorem 2.2.
Let the pair(D*,u*)∈M be an optimal pair for problem (2.4), (2.5). Then it is a solution of problem (2.1)–(2.3) as well. This theorem shows that if instead of the inverse problem (2.1)–(2.3) we take the function F(x,u,p) in the form (2.9), we can investigate the variational problem (2.4), (2.5). Notice that the inverse of this fact is not true in general. Though the functional J(D,u) is convex with respect to the functional u, this functional is not convex with respect to D in general. Using the obtained results to solving problem (2.4), (2.5), we give the following method.Let the system of the functions{φk(x)},k=1,2,… form a basis in the space C2(D). Then function u=u(x) may be expanded by this basis(2.16)u=∑i=1∞αkφk(x).
We take this into account in problem (2.4), (2.5) and get(2.17)I(D,α)=∫DΦ(x,α)dx⟶min⁡,D∈K,α=(α1,α2,α3,…),(2.18)∑i=1∞αkφk(x)=0,x∈SD,
where(2.19)Φ(x,α)=F(x,∑i=1∞αkφk(x),∑i=1∞αk∂φk(x)∂x).
In our case, asF(x,u,p) is in the form (2.9),(2.20)Φ(x,α)=|∑k=1∞αk∂φk∂x|2+a(x)|∑i=1∞αkφk(x)|2-2f(x)∑i=1∞αkφk(x).
For solving problem (2.17), (2.18), calculate the first variation of functional (2.17). It is clear that (2.21)∂I∂α=∫D∂Φ(x,α)∂αδαdx.
Calculate the first variation of the functional I(D,α) with respect to the domain D. In [5, 7], the functional of the form(2.22)G(D)=∫Dg(x)dx
is considered, and, for its first variation, the formula (2.23)δG(D)=∫SDg(x)δPD(n(x))ds
is obtained. Here, the function g(x) is a continuously differentiable function in Rr,n(x) is an external normal to the surface SD at the point x and PD(x) is a support function of the domain D and is determined as follows:(2.24)PD(x)=sup⁡l∈D⁡(l,x),x∈Rr.
We take into account this formula and get (2.25)δI(D,α)=∫SDΦ(x,α)δPD(n(x))ds+∫D∂Φ(x,α)∂αδαdx.It is seen from this formula that the numbersα1,α2,α3,… are found from the system of equations (2.26)∫D∂Φ(x,α)∂αdx=0.
In our case, as Φ(x,α) is in the form (2.20), the system of (2.26) will be a system of linear equations.The setK may satisfy some additional restrictions as well. For example, the volume K may be the mentioned domains set, and domains set with the given area of surface. In another case, the domains set K may be given as D0⊂D⊂D1 as well, where D0,D1, and Rr are the given domains. In practical problems, the set K may be given in the form of the integral restrictions(2.27)∫Dg(x)dx=c
or(2.28)∫Dg(x)dx≤c.
In general, assume that there is a domain G⊂Rr such that for arbitrary D∈K contained in the set K,D⊂G. We can state this condition in a simpler form as follows.We know that the optimal domain is contained in a certain domainG. The obtained relations (2.25), (2.26) enable to solve problem (2.17), (2.18) approximately. For that we give the following algorithm.


## 3. Algorithm for Numerical Solution

Based on the provided procedure, for numerical solution of the problem (2.4)-(2.5), the following methods are proposed.Step 1.
Take arbitrary domainD(0)∈K and the basis functions
(3.1){φk(0)(x)},k=1,2,….Step 2.
Solving the system of equations(3.2)∫D(0)∂Φ(x,α)∂αdx=0,
we find the convergence α(0)=(α10,α20,α30,…).Step 3.
Minimizing the linear functional(3.3)∫SD(0)Φ(x,α(0))PD(x)ds⟶min⁡,D∈K,
we find the convex function P(x).Step 4.
The intermediate domainD̅(0) is found as a subdifferential of the function P(x) at the point x=0 [8]. In other words,
(3.4)D̅(0)=∂P(0)={l∈Rn;P(x)≥(l,x),∀x∈Rn}.Step 5.
A new domainD(1) is found as follows:
(3.5)D(1)=(1-μ)D̅(0)+μD(0),0<μ<1.
Here, the domain μ may be chosen in different ways [7, 9, 10].If a new found domainD(1) satisfies definite exactness conditions, the iteration process is completed. On the contrary, for a new domain D(1), the iteration begins from the first step. The exactness condition may be given in different ways for example,(3.6)|I(D(k+1),α(k+1))-I(D(k),α(k))|<ε.
Here, ε>0 is said to be accuracy order of the method. Now, give some rules for choosing the quantity μk.(1)
In general, the numbersμk may be chosen from the following condition:(3.7)fk(μ)=I((1-μk)D(k)+μkD̅(k),αk)⟶min⁡,μ∈[0,1].(2)
The quantityμk may be given as a sequence satisfying the following conditions:(3.8)0≤μk≤1,lim⁡k→∞⁡μk=0,∑k=0∞μk=∞,
for example,(3.9)μk=1k+1,k=1,2,3,….(3)
The another method is to takeμk=1 and verity that the value of the functional decreases. If the value of the functional does not decrease, then the value of μk decreases twice. In order to solve boundary problem (2.1), (2.2), we will use the artificial neural network in each step of the iteration.


## 4. Application of Neural Networks to Solving the Boundary Problem

Before passing to solution of differential equations by means of neural networks, notice the cause of this necessity. It is known that there are many methods and approaches for solving differential equations and related boundary value problems. But there exist such boundary value problems that application of the known methods to them does not enable to find the solution with high accuracy because of many reasons. This may be connected with complexity of geometric structure of the domain where these differential equations are given and with strong nonlinearity of the problem. One of the reasons is that there are a great plenty of partition points, and this may strongly influence on error. At the same time, the solution of differential equation may require numerous iterations.In addition, application of a neural network to the solution of differential equations is stipulated also by two reasons. The first reason is that logical sequence scheme corresponds to the logical scheme in the solution of differential equations [11–14]. In other words, the solution scheme of differential equations enables to create the appropriate structure of neural networks. The second reason is that neural networks can accurately approximate the function [15, 16].LetD⊂R2 and S=∂D. Consider the following two-dimensional Poisson equation:(4.1)Δu=f(x),x∈D,u(x)=g(x),x∈S.
Find the solution of this problem as follows: (4.2)u(x)=∑i=1nwiφi(x),
where the functions φi(x) are usually chosen as radial-basis functions. Writing expansion (4.2) in (4.1), we get(4.3)∑i=1nwiΔφi(x)=f(x),x∈D,∑i=1nwiφi(x)=g(x),x∈S.
The weight coefficients wi,i=1,n̅ are found from the minimality condition of the following function:(4.4)J(w)=∫D|∑i=1nwiΔφi(x)-f(x)|2dx+∫S|∑i=1nwiφi(x)-g(x)|2ds⟶min⁡.
But, in great majority of cases, the functions(4.5)J(w)=∑k=1M1|∑i=1nwiΔφi(xk)-f(xk)|2+∑k=1M2|∑i=1nwiφi(sk)-g(sk)|2⟶min⁡
are considered using the uniformity of the equation in the values at discrete points. In order to find the minimum of this function, we can use the gradient method. The iteration may be constructed to find the weight coefficients wi,i=1,n̅.Now, in this way, we will try to solve a boundary value problem stated for partial equations by means of a neural network. We will consider problem (4.1). If we write the solution of this problem by means of the Green function, we will see that the solution is linearly and continuously dependent on the right hand side of the boundary function. As it was noted, the neural networks allow to approximate the function with any accuracy [15, 16]. Replace the domain D⊂R2 by a regular discrete network by means of a small step h. Let the value of the function f(x) at the internal nodal points be fij. Let I1 be an indices set and denote the data at the boundary point by gpq, the indices set by I2. Our goal is to construct a neural network by changing the functions f(x),g(x). To get input and output data, take some u1(x),u2(x),…,uM(x) functions. For these functions to be the solutions of (2.3), the function f(x) should be chosen as the functions f(1)(x),f(2)(x),…,f(M)(x), respectively. For satisfying the boundary condition, the functionf(x) must be defined as g(1)(x),g(2)(x),…,g(M)(x) in the boundary. In other words, if, in problem (2.3), (2.4), we take f(x)=fk(x) andg(x)=gk(x), we get the appropriate solutionu(x)=uk(x). So we must construct such a neural network that it could associate the M number of inputs (4.6)Hk={fij(k),(i,j)∈I1,gpq(k),(p,q)∈I2}
to the M number of outputs (4.7)Uk={uij(k),(i,j)∈I1}.
Here, uij(k) is the value of the chosen solution uk(x) at the nodal points (i,j)∈I1. The constructed neural network enables to find an approximate solution of problem (2.3), (2.4) for arbitrarily given f(x),g(x). For attaining it, we must insert the set of(4.8)H={fij,(i,j)∈I1,gpq,(p,q)∈I2}
as an input variable and, in this case, the set of (4.9)U={uij,(i,j)∈I1}
as an output variable to the neural network. Then, the neural network will be an approximate solution of problem (4.1).


## 5. Model Example

Now let us consider the following example.Consider the following problem:(5.1)Δu=-2,x∈D,u(x)=0,x∈S,
where (5.2)D={x=(x1,x2)∈R2:x12+x22≤1}.
The used neural network is nonliner “cascade feed forward—distributed time delay—backpropagation” with levenberg-marqwardt algorithm (train LM) that needs 3 layers (Figure 1).Figure 1
1st layer isInput layer that contains 12 neuron and tansig transfer functions. 2nd layer is Hidden layer that contains 18 neuron and tansig transfer functions. 3rd layer is Output layer that contains 3 neuron and purelin transfer functions.Backpropagation is the generalization of the Widrow-Hoff learning rule to multiple-layer networks and nonlinear differentiable transfer functions. Input vectors and the corresponding target vectors are used to train a network until it can approximate a function, associate input vectors with specific output vectors, or classify input vectors in an appropriate way as defined.The relationship between I/O, weight, and biases is shown as (Figure2), include a weight connection from the input to each layer, and from each layer to the successive layers.Figure 2The additional connections might improve the speed at which the network learns the desired relationship. Each layer has a weight matrixW, a bias vector b, and an output vector a. Networks with wight, biases, a sigmoid layer, and a linear output layer are capable of approximating any function with a finite number of discontinuities.Now we can start creating network through command structure:NET=newcf (minmax(P),[12, 18, 3], {“tansig”, “tansig”, “purelin”},“trainlm”);NET=init (NET);NET.trainparam.show=50;NET.trainparam.lr=0.05;NET.trainparam.lr_inc=1.05;NET.trainparam.mc=0.9;NET.trainparam.epochs=300;NET.trainparam.goal=1e-5;[NET,tr]=train (NET,P,T);Network =Neural Network object:architecture:numInputs: 1numLayers: 3biasConnect: [1; 1; 1]inputConnect: [1; 1; 1]layerConnect: [0 0 0; 1 0 0; 1 1 0]outputConnect: [0 0 1]numOutputs: 1 (read-only)numInputDelays: 0 (read-only)numLayerDelays: 0 (read-only)subobject structures:inputs:{1×1 cell} of inputslayers:{3×1 cell} of layersoutputs:{1×3 cell} containing 1 outputbiases:{3×1 cell} containing 3 biasesinputWeights:{3×1 cell} containing 3 input weightslayerWeights:{3×3 cell} containing 3 layer weightsfunctions:adaptFcn: “trains”divideFcn: “dividerand”gradientFcn: “gdefaults”initFcn: “initlay”performFcn: “mse”plotFcns: {“plotperform”,“plottrainstate”,“plotregression”}trainFcn: “trainlm”parameters:adaptParam:  .passesdivideParam:  .trainRatio,  .valRatio,  .testRatiogradientParam: (none)initParam: (none)performParam: (none)trainParam:  .show,  .showWindow,  .showCommandLine,  .epochs,.time,  .goal,  .max_fail,  .mem_reduc,.min_grad,  .mu,  .mu_dec,  .mu_inc,weight and bias values:IW:{3×1 cell} containing 3 input weight matricesLW:{3×3 cell} containing 3 layer weight matricesb:{3×1 cell} containing 3 bias vectors.After initializing and adjusting the train and weight parameter, the final created form of the artificial neural network is shown in Figure3.Figure 3After the training network withP=25 input and output data, Figure 4 shows the result. The result here isn’t reasonable, because the test set error and the validation set error do not have similar characteristics, and it does appear that any significant overfitting has occurred.Figure 4
Validation performance.Figure5 shows the net results to perform some analysis of the network response. In this case, there are four outputs, so there are four regressions.Regression performance.
(a)(b)(c)(d)Solution of the considered model example isu(x)=(1/2)(1-x12+x22).We found an approximate solution of this problem forP=25 by using a neural network. These results are shown in Figure 6.Figure 6For reaching the high accuracy, we should train the network with more data. We retrain the net withP=50 data again. The results are shown in Figures 7 and 8.Figure 7
Validation performance.Regression performance.
(a)(b)(c)(d)The artificial neural network’s error is reasonable, because the test set error and the validation set error have similar characteristics, and it does not appear that any significant overfitting has occurred.We found an approximate solution forP=50 again. These results are shown in Figure 9.Figure 9For improving the high accuracy of approximate solution, the network is capable to train with more data.



---

*Source: 145608-2011-10-05.xml*