## 1 Introduction  
Wireless sensor networks (WSNs) are becoming a popular platform for real-world monitoring or controlling systems and applications (e.g., forest monitoring [1], healthcare [2], smart homes [3], green buildings [4], _etc._). The sensor nodes are equipped with sensors, CPUs and radios with low energy consumptions. They can support long-term and pervasive deployment [5; 6; 7]. Routing [8; 9] and flooding [10; 11] are two important fundamental protocols in WSN-based applications. The routing protocol is used for monitoring: a number of sensors collect (and possibly process) the sensing data of interest and then transmit the data to a sink node (or base station node) in a multi-hop manner. When the data of interest are collected, the flooding protocol is used to perform the controlling process: the sink node transmits the controlling messages to all network nodes to perform certain actions, optimize parameters, _etc._ For example, in the case of smart air-conditioner systems, such as [12], each node first transmits air data (temperature, CO concentration, PM2.5, _etc._) to the sink node (controlling node) via the opportunistic routing (OR) protocol. Then, the sink node transmits the controlling commands (warming, cooling, aeration, _etc._) to all nodes _via_ flooding to perform certain actions. Recent studies have observed that link correlation has a strong impact on the performance of both kinds of protocols [13]. We denote link correlation as the correlation of packet receptions/losses on different links from the same sender's broadcast. For example, for the opportunistic routing (OR, which is a popular routing protocol used in WSNs) protocol, when links are positively correlated, there is less spatial diversity to exploit, and the OR performance is likely to degrade; for the flooding protocol, when links are negatively correlated, the broadcast will be less effective, and the retransmission overhead is likely to increase. Based on this observation, some recent works have proposed to exploit link correlation for improving the performances of OR and flooding. [PERSON] _et al._[14] employ link correlation to estimate the effectiveness of a routing forwarder and select forwarders with a weak outbound link correlation for efficient opportunistic routing (_i.e._, there is much spatial diversity for this forwarder). Similarly, [PERSON] _et al._[15] extend a link correlation-aware routing metric that favors good link quality and spatial link diversity (negative link correlation) for efficient routing. [PERSON] _et al._[16] use link correlation to reduce the ACK overhead: given two positively correlated links, if the transmission succeeds on one link, the transmission is likely to succeed on the other link, such that we can use one link's ACK to infer the other links' ACKs, avoiding the ACK storm problem. [PERSON] _et al._[17] use link correlation to construct a tree structure for flooding. The structure favors nodes with strong link quality and link correlation. However, basically, all of these works heavily rely on the accuracy and efficiency of link correlation measurement/estimation. For example, in [17], if the link correlation is measured inaccurately, the structure nodes (expected to have a strong link correlation) may have a poor link correlation, and the performance will not be improved or may even degrade. To measure link correlation, the widely-used approach in these works is the beacon-based measurement (BCM). With this approach, each node periodically transmits beacon messages and records the received beacon receptions/losses in a bitmap (denoted as \"1\" for reception and \"0\" for loss). Each node then broadcasts its bitmaps to the corresponding beacon sender nodes. After receiving the bitmaps, a node can calculate the correlations between each pair of its outbound links.