# A Co-Design-Based Reliable Low-Latency and Energy-Efficient Transmission Protocol for UWSNs
## 5 Design of Data Transmission Protocol
### Dynamic Routing Strategy  
In this section, we will convert the dynamic routing problem to a multi-objective optimization problem. The value of \(P^{n\to S_{n}}\) will be estimated depending on the neighbor information stored in each node. We extracted three main factors affecting the value of \(P^{n\to S_{n}}\) from the neighbor information, which are the number of competitors, the number of chosen forwards and the attributes of competitors. 1. _Number of Competitors_: According to the forwarding set \(F_{n}=\{f_{n}^{1},f_{n}^{2},...,f_{n}^{j}\}\), node \(n\) has \(j\) qualified candidates that can complete the forwarding mission. For each node in \(F_{n}\), it may also exist in another node's forwarding set. In other words, a candidate belonging to node \(n\) may have multiple HNs besides \(n\). Each node in \(F_{n}\) may have several HNs, which will affect the transmission of node \(n\). All the HNs brought by the nodes in \(F_{n}\) will be considered as the competitors of \(n\). If these competitors and \(n\) send packets at the same time, collision may occur at some specific receivers and eventually result in a transmission failure. After this analysis, our defined competitor set of node \(n\) is \(C_{n}=\{C_{n}^{1},C_{n}^{2},...,C_{n}^{j}\}\). The elements in the set correspond to the nodes in \(F_{n}\), with each element representing a competitor subset. Competitor subset \(C_{n}^{j}=\{C_{n}^{j1},C_{n}^{j2},...,C_{n}^{jk}\}\) expresses the competitors brought by the \(j^{th}\) LN of \(n\), where \(C_{n}^{jk}\) is the \(k^{th}\) HN of the \(j^{th}\) LN of node \(n\). Figure 4 describes an example of the competitor set belonging to node \(n\). Node \(A\) and node \(B\) are in the \(F_{n}\) of \(n\). Obviously, except for node \(n\), nodes \(C\) and \(D\) may send packets to \(A\), and node \(E\) may send packets to \(B\). From the perspective of node \(n\), nodes \(C,D\) and \(E\) are regarded as competitors brought by nodes \(A\) and \(B\), respectively. There is no doubt that node \(n\) is prone to choosing node \(B\) as its next-hop, which will bring fewer competitors. Fewer competitors means less conflict, which will also improve the value of \(P^{n\to S_{n}}\). 2. _Number of Chosen Forwarders_: in addition to the number of competitors, the number of chosen forwarders will also affect the value of \(P^{n\to S_{n}}\). In different selection strategies \(S_{n}\), there will be different sizes of chosen forwarders. Imagine an extreme situation, where \(S_{n}\) selected all nodes in \(F_{n}\) as its next-hop, which would maximize the value of\(P^{n\to S_{n}}\). That is to say, in the case of satisfying Equation (2), the sender is prone to choosing as many receivers as possible. For example, we choose \(\{A,B,C\}\) as a selection strategy, which satisfies Equation (2). This means that \(\{A,B\}\), \(\{B,C\}\), \(\{A,C\}\) will also satisfy the selection strategy. No matter how many competitors the extra node brings, one  
Figure 4: description of the competitor set. more candidate will always improve the value of \(P^{n\to S_{n}}\). An extra competitor will not affect the original node. In summary, the number of chosen forwarders is proportional to the value of \(P^{n\to S_{n}}\). 3. _Attributes of Competitors_: the numbers of competitors and chosen forwarders are not enough to determine the probability of conflict. It is difficult to judge when the above two parameters of the two different selection strategies are equal. Thus, it is necessary to explore the impact of different competitors on conflict. Suppose there is a node \(x\) at a very small distance from \(n\), and they even have the same neighbor table. However \(n\) changes the selection strategy \(S_{n}\), node \(x\) will always affect the transmission of node \(n\). It can be argued that each node in \(F_{n}\) will also receive a data packet from node \(x\) constantly. In this case, we believe that node \(x\) is a strong competitor to node \(n\).