# A Satellite Task Planning Algorithm Based on a Symmetric Recurrent Neural Network
## 5 Heuristic Search Algorithm Based on a Symmetric Recurrent Neural Network
### Model Input  
Using the recurrent neural network to calculate the schedulable probability of an observation task, the first question to consider is how to convert the original observation task data into input data that are recognizable by the recurrent neural network. That is, the way to represent the observation task, so that it can contain the attribute information of the observation task and the distribution relationship between the tasks. In this regard, we define the eigenvectors of the observed tasks. We take the input of the first recurrent neural network as an example. \(M_{input}=\{m_{0},m_{1},\ldots,m_{N-1}\}\) is set as an observation task sequence, arranged in chronological order, from small to large, and \(m_{0}\) is the observation task to be determined. Since \(\forall m_{i}\in M_{input}\), its eigenvector can be expressed as \(x_{i}\):  
\[x_{i}=(p_{i},e_{i},d_{i},Te_{i}-Ts_{i},Ts_{i+1}-Te_{i},e_{(i-1)i},d_{(i-1)i},e_ {(i-1)i},c_{0i})\]  
where \(p_{i}\) is the benefit value of the observation task \(m_{i}\), \(e_{i}\) is the energy resource that the observation task \(m_{i}\) needs to consume, and \(d_{i}\) is the storage resource that the observation task \(m_{i}\) needs to consume;  
Figure 4: Schematic diagram of the symmetric recurrent neural network model.  
\(Te_{i}-Ts_{i}\): Observation task \(m_{i}\)'s continuous observation time.  
\(\tau_{i+1}=Ts_{i+1}-Te_{i}\): The time interval from observation task \(m_{i}\) to observation task \(m_{i+1}\), where \(\tau_{0}=0\).  
\(c_{i(i+1)}\): If the observation task \(m_{i}\) and the observation task \(m_{i+1}\) satisfy the task switching constraint, then \(c_{i(i+1)}=0\); otherwise, \(c_{i(i+1)}=1\).  
\(e_{(i-1)i}\): The amount of energy change between observation task \(m_{i-1}\) and observation task \(m_{i}\).  
\(d_{(i-1)i}\): The amount of data storage change between observation task \(m_{i-1}\) and observation task \(m_{i}\).  
\(c_{0i}\): If observation task \(m_{i-1}\) and observation task \(m_{i}\) satisfy all constraints, then \(c_{0i}=0\); otherwise, \(c_{0i}=1\).  
Based on the eigenvector representation of the observation task, we constructed the original input data of the recurrent neural network, as shown in the matrix. In the figure, each column corresponds to an observation task, and each row corresponds to the characteristic value of the observation task in terms of its dimensions.  
The observation task sequence \(\Lambda\) can be represented by eigenvector \(x\).  
\[\Lambda=[x_{0},x_{1},\ldots,x_{i},\ldots x_{n-1}] \tag{13}\] \[=\left[\begin{array}{cccccc}p_{0}&p_{1}&\ldots&p_{i}&\ldots&p_{ N-1}\\ e_{0}&e_{1}&\ldots&e_{i}&\ldots&e_{N-1}\\ d_{0}&d_{1}&\ldots&d_{i}&\ldots&d_{N-1}\\ Te_{0}-Ts_{0}&Te_{1}-Ts_{1}&\ldots&Te_{i}-Ts_{i}&\ldots&Te_{N-1}-Ts_{N-1}\\ \tau_{0}&\tau_{1}&\ldots&\tau_{i}&\ldots&\tau_{N-1}\\ 0&e_{0(1)}&\ldots&e_{0(1)}&\ldots&e_{N-2(N-1)}\\ 0&d_{0(1)}&\ldots&d_{0(1)}&\ldots&d_{N-2(N-1)}\\ 0&c_{0(1)}&\ldots&c_{i(i+1)}&\ldots&c_{N-2(N-1)}\\ 0&c_{01}&\ldots&c_{0i}&\ldots&c_{0(N-1)}\\ \end{array}\right]\]