# Path Diversity Improved Opportunistic Routing for Underwater Sensor Networks
## 3 Path Diversity Improved Opportunistic Routing
### Candidates Selection Algorithm for PRCS  
Further, the candidates selection range will restrict the location of candidate nodes. To avoid the hidden terminal problem, many sender-based candidate selection procedures require all nodes in the candidate set to be able to hear each other directly. When a node successfully forwards the packets, the others could know it and give up the current forwarding. However, it is an useful solution to reduce redundant transmissions and avoid packet collisions. It will reduce the candidate set size, causing the candidate nodes to be geographically close to each other. For example, the candidate selection algorithm proposed by Hydrocast [14] limits the candidate set size in a sphere of radius \(R/2\), while the primary candidate set size could be a sphere of radius \(R\). In addition, the EPA-based forwarding follows the link independence model, which assumes that the packet loss in a receiver has no relationship with the packet losses in other receivers [30]. Recently, the link correlation model where broadcast packet receptions among closely-positioned receivers are not independent has been considered in [30; 31; 32]. To enlarge the size of the candidate set, the candidates in PRCS could be selected in the whole communication range of the current forwarder. The random path correlation coefficient allows PRCS to make routing decision only by one-hop neighbor information provided by the periodic beacon reports. The candidate set selection algorithm for PRCS is shown in Algorithm 2. We firstly rewrite the EEPA metric as \(\text{EEPA}(C_{s},i)=d_{i}^{2}p_{sj}\prod_{j=0}^{i-1}\{1-p_{sj}\rho(s,i,j)\}\), \(i,\ j\in V_{s}\), \(j\in C_{s}\). Suppose node \(s\) is the current forwarder, we also start from the node \(i\), \(i\in V_{s}\) with the maximum \(\text{EEPA}(C_{s},i)\) value (line 2-5). The initial case is the EEPA value equal to the NADV value when \(i=1\). Then, check whether the forwarding advancements provided by node \(i\) satisfies \(\text{EEPA}(C_{s},i)>P_{T}\), where \(P_{T}\) is the forwarding threshold. If yes, set node \(i\) as \(c_{t}\) (Lines 7-10), otherwise, the algorithm stops (Line 12). Repeat the above loop and the specific neighbor node will be added to the candidate set in turn. It has been proven in [18] that \(EPA(V_{s})\) is a strictly increasing function of \(k\). It can be inferred that \(\text{EEPA}(V_{s})\) also is a strictly increasing function of \(k\). It means that all the neighbors of node \(s\) could be included in the candidate set to maximize forwarding progress. Actually, it is not wise to add all the neighbors to the candidate set, which will increase the risk of packet conflict caused by the hidden terminal. From Equation (4), the weight of \(\prod_{j=0}^{i-1}\{1-p_{sj}\rho(s,i,j)\) in function \(\text{EEPA}(C_{s},i)\) for node \(i\) will decline exponentially when the number of candidate nodes increases. It causes node \(i\) to provide little forwarding advancements when the number of current candidate set is large. Thus, an effective forwarding threshold \(P_{T}\) could prevent too many candidate nodes. ```
1:repeat
2:for\(i\gets 1,i\in V_{s}\)do
3: Find node \(i\), with maximum \(EEPA(C_{s},i)\)
4:endfor
5:if\(EEPA(C_{s},i)\geq P_{T}\)then
6: Set node \(i\) as next candidate node \(c_{t=t+1}\)
7:endif
8:until\(EEPA(C_{s},i)<P_{T}\)
```  
**Algorithm 2** Candidates Selection Algorithm-PRCS  
In Figure 2, suppose node \(s\) is the current forwarder and node \(a\) is a neighbor node with the highest NADV, only node \(c\) is in the \(R/2\) communication range of node \(a\). In PICS algorithm, the next candidate node will be selected in the neighbor set \(V_{a}\); when \(\text{EEPA}(C_{s},d)>\text{EEPA}(C_{s},c)\), \(a,d\in V_{a}\), node \(d\) will be selected as a next candidate node. In PRCS algorithm, when \(d_{sb}^{z}p_{sb}(1-p_{sa}\rho(s,a,b))>d_{sc}^{z}p_{sc}(1-p_{sa}\rho(s,a,c))\), node \(b\) should be selected as a next candidates member.