# On Analyzing Routing Selection for Aerial Autonomous Vehicles Connected to Mobile Network
## 5 Test Results
### Test Methodology  
To sum up previous sections, the experiments have been provided with the next assumptions:  
1. Two Machine Learning algorithms for both agent 1 (e.g., UAV) and agent 2 (e.g., control station), called ML\({}_{1}\) and ML\({}_{2}\), respectively. ML\({}_{1}\) searches the best routing (network operator that will serve the connection) in link 1 between UAV and antenna, whereas ML\({}_{2}\) finds the best routing (i.e., which network operator will serve the connection) in link 2 between control station and antenna;
2. 3 potential routings (3 operators) in agent 1 (e.g., UAV to antenna) and in agent 2 (e.g., control station to antenna);
3. routing in agent 1 is selected based on round-trip delay (RTD) and data throughput measurements in link 1 (between UAV and antenna). Routing in agent 2 is selected based on RTD measurements, data throughput and packet losses performed in link 2 (between control station and antenna);
4. a third Machine Learning algorithm (ML\({}_{3}\)) calculates the best routing in link 1 and 2, so the best end-to-end routing. The inputs of ML\({}_{3}\) are round-trip delay and data throughput measured in end-to-end connections (between UAV and control station). This corresponds to the function max \(U(d)\) defined in Section 4; and
5. a Utility function is considered such that quasi-optimal end-to-end routing can be selected based on partial link 1 and link 2 routings. Then, with the results of ML\({}_{1}\) and ML\({}_{2}\) and assuming an appropriate Utility function, the system is able to select quasi-optimal end-to-end routing. The optimal Utility function will be the one that better approximates quasi-optimal solution (from partial link 1 and link 2 routings together with Utility function) and end-to-end routing.  
The steps realized in the tests are the following: (1) Validation of ML\({}_{1}\), (2) validation of ML\({}_{2}\), (3) validation of ML\({}_{3}\), and (4) selection and validation of \(U(d)\).  
Since the number of measurements in the network is limited (150 measurements in link 1, link 2 and end-to-end), we introduced \(k\)-fold cross-validation for validating the Machine Learning algorithms. The \(k\)-fold cross-validation assumes that data are divided in \(k\) groups (in our case \(k=3\) with 50 samples per group). The validation is then performed \(k\) times, leaving \(k-1\) groups of data for training and one group for validating. From one test to the next one, the group of data selected for validation will change. The final results of the validation is the average of the \(k\) tests.  
At last, the selection of \(U(d)\) consists of comparing the end-to-end estimated throughput with the estimated throughputs in link 1 and 2. Therefore, we need a last dataset composed of measurement samples taken at the same time in link 1, 2, and end-to-end. This dataset is composed by 300 samples (100 for each operator) with the next measurements: Round-trip delay in link 1, throughput in link 1, round-trip delay in link 2, throughput in link 2, packet loss ratio in link 2, round-trip delay in end-to-end connection, and throughput in end-to-end connection.