# On Analyzing Routing Selection for Aerial Autonomous Vehicles Connected to Mobile Network
## 4 Formal Description of the Solution  
The formal description of the problem is represented by two agents working on cooperative mode: \(a_{1}\) (UAV) and \(a_{2}\) (control station), however, each one of them taking independent decision, so the cooperation is only at the end of the decision making process. The Utility of the final action (decision), \(U(d)\), is a function of the Estimated Utilities of both agents, as shown in (1):  
\[U(d)=f(EU_{a_{1}},EU_{a_{2}}), \tag{1}\]  
where \(EU_{a_{1}}\) is the Estimated Utility of state \(s\) (when the connection will finish) of the agent \(a_{1}\) in any of the \(r=r_{1},\ldots\)\(r_{R}\) potential routings, i.e.,:  
\[EU_{a_{1}}=\left\{\begin{array}{c}EU_{a_{1}}(s|r_{1})\\ \vdots\\ EU_{a_{1}}(s|r_{R})\end{array}\right. \tag{2}\]  
and \(EU_{a_{1}}(s|r_{1})\) is the sum of all the potential outcomes at state \(s\) weighted by the probability that given outcome will appear:  
\[EU_{a_{1}}(s|r_{1})=\sum_{out}Outcome(s)=out\times P(Outcome(s)=out|r_{1}), \tag{3}\]  
_out_ being a vector of network parameters defining the connection at state \(s\).  
At that point, the decision about routing can be taken separately and autonomously provided that we define properly the Utility function \(U(d)\). Therefore, different Machine Learning (ML) algorithms may provide the \(EU\) at UAV and at the control station.  
As we saw in previous sections, the monitoring tools at the UAV (monitoring the radio connections between UAV and antenna) and at the control station (monitoring the radio connection between antenna and control station) provide different parameters and different constrains (for example, round-trip delay must be under given threshold) to select the best routing. Therefore, we can define EU at \(a_{1}\) and \(a_{2}\) as a function of the parameters and constrains:  
\(EU_{a1}=f1\)(parameter_f1_1, parameter_f1_2,... subject to constrain_f1_1, constrain_f1_2,... )  
\(EU_{a2}=f2\)(parameter_f2_1, parameter_f2_2,... subject to constrain_f2_1, constrain_f2_2,... )  
And \(U(d)\) is defined as follows:\(U(d)=\) gf[f1(parameter_f1_1,parameter_f1_2,... subject to constrain_f1_1, constrain_f1_2,...); f2(parameter_f2_1,parameter_f2_2,... subject to constrain_f2_1, constrain_f2_2,...)]  
The best Utility function, \(U(d)\), is the one that achieves the same final results for decision \(d\) as in the case when a central system takes the decisions based on complete information [24]. So \(max\ U(d)\) may be defined as in formula (4).  
\[\begin{array}{c}max\ U(d)=f(parameter\_f1\_1,parameter\_f1\_2,...,parameter\_ f2\_1,\\ parameter\_f2\_2,...subject\ to constrain\_f1\_1,constrain\_f1\_2,...,\\ constrain\_f2\_1,constrain\_f2\_2,...)\end{array} \tag{4}\]  
The solution of the functions are, in general, \(NP\)-complete, so finding the function \(g\) that maximizes \(U(d)\) is not solvable with reasonably limited time. However, if we have a number of potential functions \(G=\{g_{1},g_{2},\,\ldots,g_{K}\}\), then we can empirically select the best function, understood as the function that provides best results of the final decision. This means that the best function \(g_{i}\in G\) will provide those results, which are closest to max \(U(d)\) as defined in (4). Let \(G\) be the hypothesis space, with \(g_{1},\,\ldots,\,g_{K}\) being each of the hypothesis of the hypothesis space. Then the final \(U(d)\) can be calculated as follows:  
\[U=\underset{g_{i}\in G}{\text{arg min}}||g_{i}[f_{1},f_{2}],\max U(d)|| \tag{5}\]  
where \(||.||\) is the distance between the results (whichever the output parameters are) of the two functions.  
As far as the Utility will be estimated by using ML, then the steps to achieve the final functions are shown in Figure 3.