# rSEM: System-Entropy-Measure-Guided Routing Algorithm for Industrial Wireless Sensor Networks
## 2 System Model and Previous Work  
The industrial scene and the layout of nodes can be abstracted as the process of scattering points on the plane (or in the cube). When the geographical location of nodes is fixed, the next step should be to reasonably plan the connection relationship between the nodes to ensure the efficient operation of the network. When the total energy loss becomes the focus, the Dijkstra algorithm is often used to complete the optimal organization of the network. Figure 1 shows a schematic of a two-dimensional factory in the form of a single-cell scenario used in communication. The only sinknode performs the data aggregation. All the nodes in the factory need to report their data to the sinknode. There are two ways for a sensor to report: The first is to report directly to the sinknode, as node A. The second is node  
C in the figure, where data are transferred to the sinknode via node B (sometimes more than two hops). The task of the routing algorithm is to search a path to the sinknode for each sensor. Specifically, the routing algorithm needs to let the data of the sensor reach the sinknode directly (like node A), or reach the sinknode through the appropriate relay (like node C). In this paper, we define a successful communication need as an \(SNR\) as follows:  
\[SNR=20\text{log}_{10}\bigg{(}\frac{E\cdot h\cdot Pathloss}{N_{0}}\bigg{)}>sensitivity [dB], \tag{1}\]  
where \(E\), \(h\), \(Pathloss\), and \(N_{0}\) represent the transmit power of the sensor, the channel small-scale fading, the channel path loss, and the additive white Gaussian noise power of the channel, respectively. Expression (1) shows that the premise of successful communication is that the received SNR is higher than the received sensitivity. The channel small-scale fading \(h\) here is Rayleigh fast fading, i.e., \(h\sim\mathcal{N}(0,1)\). The Dijkstra algorithm can realize the point-to-point routing of the whole network according to the minimum cost of a parameter. Therefore, Dijkstra is a routing algorithm suitable for power-sensitive networks and provides the optimal low-power routing topology of the whole network. However, there is always a log conversion relationship between the distance and the path loss, which makes the relationship between the distance and the path loss not linear. As a direct result of this phenomenon, the point-to-point path with the minimum power consumption in the network is with relay, not directly. Once the relay node has a large degree, the information processing at the hub with a high degree will be delayed, which will cause the network congestion. The LEACH algorithm comprehensively considers the above problem and can compress the hops of the network to less than 2 [6; 7]. Therefore, LEACH is a routing algorithm suitable for delay-sensitive networks. In order to balance the forwarding efficiency of the network and the power consumption of nodes, the LEACH algorithm adopts a hierarchical structure (cluster structure), that is, there are cluster heads and cluster member nodes in the network. Nodes can report to the sinknode through the cluster head or directly. The selection of the two cases is based on the shortest path or the minimum power consumption. In addition, in order to prolong the life of the network, the cluster head nodes in the network are round-robin periodically, which may lead to an increase in the network power consumption when an isolated node [8; 9] becomes a cluster head. Each node \(i\) in the network generates a random number between 0 and 1. If the number of a node is less than the threshold \(T(i)\), the node becomes a cluster head for the current slot. \(T(i)\) can be computed as shown in the following:  
\[T(i)=\left\{ \begin{array}{ccc}&\frac{Per}{1-Per\times\left(r\times\text{ mod }\left(\frac{1}{Per}\right)\right)}&,&i\in\zeta\\ &0&,&i\
otin\zeta^{\prime}\end{array} \right. \tag{2}\]  
where \(r\) is the index of current slot, \(Per\) is the desired percentage of cluster head in the slot, and \(n\) is the number of total nodes in the network.