## 5 Experiments
### Experimental Settings  
In this section, we use Pytorch 1.9.0 to perform experiments on Ubuntu 20.04 servers with two NVIDIA 3080 GPUs and an A100 GPU. In the SAG-MCS simulation environment, we set the 2D continuous target area of \(200\times 200\) pixels, where 120 Pols, 3 charging stations, and 50 obstacles (20 round obstacles and 30 rectangular obstacles) are randomly initialized. Pols are scattered around 3 major points from Gaussian distribution, each Pol is randomly assigned associated data within [1; 5]. We deploy 20 UAVs in the training stage with a parameter-shared model for action inference. We define their coverage range \(R_{cov}=10\), the observation range \(R_{cov}=13\), and the communication range \(R_{comm}=18\) with the probability \(p=0.5\) of communication dropout. The fuzzy global observation with the size of \(40\times 40\) pixels is updated from satellites to UAVs every 5 timesteps. Each UAV's battery is initially fully charged to 100% and the consumed energy at each timestep is calculated after every movement, according to Equations (5) and (6).  
In our implementation, the target entropy factor is set to \(p_{x}=0.3\) and the discounted factor \(\gamma\) is 0.99. We use Adam for optimization with the learning rate of \(1\times 10^{-4}\), and ReLU as the activation function for all hidden layers. The experience replay buffer is initialized with the size of \(2.5\times 10^{4}\) for storing interaction histories, and the batch size is set to 256. As for the exploration strategy, we apply \(\epsilon-multinomial\) for stochastic policies such as ms-SDRGN, letting \(\epsilon\) start with 0.9 and exponentially decay to 0 in the end. For deterministic policies, we use \(\epsilon-greedy\) strategy and set \(\epsilon\) to exponentially decay to 0.05 at 30,000 training episodes.  
One simulation episode lasts for 100 timesteps, and each DRL model interacts with the simulation environment for 50,000 episodes in total. Interaction experiences will be pushed to the replay buffer concurrently. After each simulation episode, the learned network is trained for 4 times using the experiences sampled from the replay buffer, while the target network is updated every 5 episodes by directly copying the parameters from the learned network. After training, we test the converged models for 1000 episodes to reduce randomness.  
As introduced in Section 3.4, we use the following metrics to evaluate the performance.  
* _Episodic Reward_: calculates the accumulated reward of the whole evaluation episode. It generally evaluates the SAG-MCS task achievements by the UAV swarm, considering data collection, battery management and collisions.
* _Data Coverage Index_ (\(c_{T}\)): describes the average data amount collected from Pols.
* _Geographical Fairness Index_ (\(f_{T}\)): shows how evenly the PoIs are covered by all UAVs geographically and represents the UAV swarm's exploration level.  
* _Energy Consumption Index_ (\(e_{T}\)): calculates the average energy consumed by the UAV swarm, according to the flight speed and hovering status.
* _CFE Score_ (\(CFE_{T}\)): represents the overall performance by combining \(c_{T}\), \(f_{T}\) and \(e_{T}\) as Equation (8). We expect CFE score to be as large as possible.