Sensors can make rational decisions by comparing the benefits and energy consumption of broadcast through matrix computation introduced in the previous section. Because of the mobility of sensors, and the dynamic changing nature of data distribution, the three matrices C,D and U need to be updated in time. The more precise the model is, the better the decisions. However, in large sensor networks, considering the massive energy cost on communication, no single sensor can get the precise and global connection and data distribution model but only partial observations.
In this section, considering the intrinsic energy cost in the operations of these networks, we propose heuristic updating approaches to maintain a local model for each sensor from its incoming messages. With these updating approaches, an integrated decision algorithm is considered to help each sensor make rational decisions with partial observations.
5.4. Updating the Data Distribution Matrix D
The better sensors have knowledge about the knowledge bases of their neighbors, the better decisions they can make. In this subsection, we focus on the data distribution updating approaches based on the data pieces sensors sense, broadcast and receive.
Algorithm 2 presents the updating process of data distribution matrix D
are data sets, which respectively store data sensed , data broadcast and data received by
as well as outdated data. First, for each data generated by
based on its own detection, obviously, it will update element
to 1 (line 1–2). Second, for each data broadcast by
, and for any neighbor
, the probability of receiving this data is
. Therefore, according to the standard probability function,
’s probability of having data
should be updated,
(line 3–4). Third, for each data received by
to 1 (line 6). Also, all nodes on
have this data (line 8), and the nodes that are neighbors of nodes on the path have a probability of having this data, which can be calculated according to the standard probability function (line 9). Finally, for data, which relative information has been fused and outdated, its corresponding column in D
should be deleted to save storage (line 10–11).
|Algorithm 2 |
| 1: for all do|
| 2: |
| 3: for all do|
| 4: ; |
| 5: for all do|
| 6: ;|
| 7: for all do|
| 8: ;|
| 9: ;|
5.5. Updating The Utility Matrix U
When generating or receiving a new piece of data, the utility between this data and the data in
can be looked up in a table, which is stored as background knowledge before sensor
was deployed according to their
. The corresponding elements in matrix U
will then be updated. The details are shown as Algorithm 3. When receiving new data
will judge if it is relative to the data in
(line 2,3) based on their
. If that is the case, the utility between it and any relative data can be looked up in a table according to their
(line 4). Else, the corresponding utility will be set to 0 since they indicate different information (line 6).
|Algorithm 3 |
| 1: for all do|
| 2: for all do|
| 3: if then|
| 4: |
| 5: else|
| 6: |
The example below shows the update process of the utility matrix. At time t, the data set of is , and the sensor set in the knowledge of is . The details of are shown as follows:
As the and of these two data pieces are different, they are not relevant, and matrix . At time , receives from , and is shown in details as follows:
According to its and , which is close to but not , can confirm that is related to but not . It becomes obvious now that . Right from here, will look up the utility between and in its reward table according to their .
For target A, , . After checking , can get . Doing the same for target B, can get
The utility is a function of these two values. One possible way:
Finally, the matrix is obtained.
5.6. Integrated Algorithm
With these updating algorithms, network connection, data distribution and utility matrix can be updated to help sensors get local observations to support rational communication decisions even in dynamically changing networks. The whole data relay process with local knowledge can be seen in Algorithm 4.
This algorithm consists of two parts. In the first part, sensors update these three matrices based on the approaches mentioned in last three subsections (line 1–7). In the second part,
will try to fuse with these new data and make communication decisions for those that have not been fused (line 8–21). Principally,
checks them one by one to see if any new information can be fused (line 8–11). If the quality of the new information exceeds the predefined threshold, data related to this information will be fused and added into the outdated data set.
will then inform other sensors to stop propagation of these outdated data pieces (line 11–13). If no information can be fused, this data will be added into the pending queue(line 15). After the information fusion process completes,
makes decisions for data in pending queue based on our lightweight matrix computation (line 16) by balancing between the benefits and energy cost of broadcasting. If the benefit is higher than the energy cost (line 18),
will add itself onto the path of this data and broadcast it (line 19–20), and update the data set
with this data. Otherwise, this data will be ignored (line 21).
|Algorithm 4 Data relay process for a sensor .|
| 1: while do|
| 2: ;|
| 3: ;|
| 4: |
| 5: |
| 6: |
| 7: |
| 8: for all do|
| 9: if then|
|11: if then|
|12: fuse into information ;|
|17: for all do|
|18: if then|