Waiting
Login processing...

Trial ends in Request Full Access Tell Your Colleague About Jove
Click here for the English version

Engineering

使用量子处理器单元的大规模高能效传感器网络路由

Published: September 8, 2023 doi: 10.3791/64930

Summary

本研究提供了一种使用量子处理器单元来计算各种流量动态的路由的方法,这些路由的性能优于文献中的经典方法,以最大限度地延长网络寿命。

Abstract

传感器网络节能方法是经典计算机和量子处理器的混合使用方法,已被证明比使用经典计算机的启发式算法性能更好。在这份手稿中,介绍了该方法重要性的技术背景并进行了论证。然后,如果需要,可以按操作顺序演示实验步骤,并附上插图。该方法已通过随机生成的网络拓扑样本集的积极结果进行验证。该方法的成功实验结果为传感器网络寿命最大化问题提供了更好的方法,并证明了当前最先进的量子处理器已经能够解决大型实际工程问题,其优点超过了目前文献中的方法。换句话说,量子优势可以尽最大努力加以利用。它已经超越了概念验证阶段,进入了可行性验证阶段。

Introduction

传感器网络中的节能一直是设计1 中一个非常关键的问题。经典方法通常使用临时方法 2,3,4,5,6 来解决问题。也就是说,这些方法将传感器节点模拟为单独管理的智能资产,这些资产也可以合作为个人和社区的利益服务。由于传感器工作环境不稳定,在一些作品中,引入了随机算法来捕捉环境的不确定性,而在另一些作品中,则借用生物智能来设计启发式算法,以实现常识可接受的结果7.进一步说明,对于这些随机算法,一方面,环境不确定性可能不如经典CPU生成的随机序列那么随机,另一方面,即使环境不确定性是绝对随机的,也无法被经典CPU生成的随机过程模拟器捕获;对于这些生物智能算法,首先,没有经过严格的数学分析来使概念证明起作用,其次,只有在给定知情的地面事实的情况下,才能配置与真理的收敛性或容错边界 - 尽管文献中的大量作品已经在某种程度上证明了这些启发式算法是有效的, 一方面,这些算法是针对定义明确的用例场景进行分析(而不是模拟的),它们停留在某些标准上,这些标准仍然值得进一步研究,另一方面,如前所述,大多数算法尚未针对软件模拟进行验证,这些软件模拟可以更容易地部署在微处理器中,使传感器成为8

我们在这里不考虑机器学习 (ML),因为它需要采用数据分析,这需要相对大量的计算能力,而这些计算能力在传感器设备中是不可移植的9

为了解决上述问题,我们提供了一种混合量子算法。该算法是混合算法,因为在建立网络拓扑后,在使用量子处理器进行的路由计算期间,使用经典的随机算法实现簇头选择机制。该方法的合理性如下:(1)正如第一段中关于环境不确定性所讨论的,我们不想进一步努力应用量子序列发生器来捕捉环境动态,因为它可能在历史上是可追溯的。网络科学中的各种机器学习研究工作已经证明了历史上可追溯的环境动态。对于当前阶段,我们坚持使用经典方法。(2)依靠抽象数学分析的确切方法保证了得出真实情况。到目前为止,量子实验物理学得到了物理数学的复杂支持。此外,像 Shor 算法10 这样的算法应用程序已经存在来证明这个四舍五入的理论。

下面提供了足够数量的文献调查以供比较。提出的HEESR协议11 在结果上具有明显的优点,但作者已经很好地指定了仿真配置参数,例如,节点位置的精确随机分布函数,簇头百分比p的正确理由(0.2%),以及节点间能级分布的标度参数(1-2焦耳)a_i。它禁止提交人进一步重复实验和进行比较。电源路由机制12 采用曲线拟合方法,从从未指定的样本空间获得的离散数据集中近似收敛的连续函数,以影响最佳网络路由决策过程的决定因素。曲线拟合方法13 需要关于网络拓扑的先验信息。实际情况可能没有现成的事先信息。即使存在先验信息,网络拓扑也可能不够规则,无法映射到能够促进可推导计算的拟合曲线上。按照同样的逻辑,DORAF 协议14 没有证明如何以及为什么借用玻尔兹曼函数和逻辑函数来近似网络行列式。Ismail等[15 ]为未来水下网络节能路由协议设计的研究提供了良好的参考。

Subscription Required. Please recommend JoVE to your librarian.

Protocol

1. 设置 Dwave 海洋环境

  1. 从以下链接下载并安装海洋工具: https://docs.ocean.dwavesys.com/en/stable/overview/install.html
    1. 在终端上,键入 python -m venv ocean
    2. 在终端上,键入 . ocean/bin/activate,如 图 1 所示。
    3. 在终端上,键入 git clone https://github.com/dwavesystems/dwave-ocean-sdk.git
      接下来,键入 cd dwave-ocean-sdk,如 图 2 所示。
      然后,键入 python setup.py install

Figure 1
图 1:海洋虚拟环境激活。 Ocean 包作为 D-wave API 的集成,通过用户自己的计算机向 D-wave 机器前提提供云用户体验。 请点击这里查看此图的较大版本.

Figure 2
图 2:Ocean SDK 安装。 Ocean 软件包为开发人员提供了必要的工具包,包括方便的 Cplex 安装。 请点击这里查看此图的较大版本.

2. 安装 Cplex Python API 接口

  1. 下载并安装 Cplex:https://pypi.org/project/cplex/
    1. 在终端上,键入 pip install cplex

3. 实验配置参数

  1. 在脚本中使用 Python 编程表示法设置 表 1 中提到的实验配置参数,如 补充图 1 所示。一旦脚本运行并执行,底层语言将进行处理以将变量存储在 RAM 中。附上了分别为参数赋值的 Python 代码的屏幕截图(补充图 1)。
d0 87.7085 米
E 50 * 1 x 10-09 焦耳
epson_fs 1 * 10-12 * 10焦耳
epson_mp 0.0013 * 1 * 10-12 焦耳
数据包大小 4000 位

表 1:能量模型参数和数据包大小设置。

补充 图 1:脚本 1。用于设置实验参数的脚本。 请点击这里下载此文件。

4. Python 脚本

  1. 准备 Python 脚本以生成 198 个传感器节点 2D 位置,这些位置平均分布在六个扇区中,这些扇区将圆形区域划分为半径为 50 m。
    注意:圆形图分为 6 个扇区。在每个扇区中,每个节点的位置都用两个相应的变量进行处理。一个是角度,另一个是半径。使用均匀随机分布生成器为角度和半径赋值。详细步骤如 补充图2补充图3所示。
  2. 在每个扇区内,确保 33 个传感器节点按正态分布随机分散。将 2D 位置保存到每个扇区的文本文件中,名称拼写规则为 'posdata'+sector_no+'.txt'图 3图 4)。
    1. 将半径为 50 m 的圆形区域分割为六个扇区。这六个扇区的起始角值使向量 A= [60,120,180,240,300,360]。
      1. 假设扇区索引为 i,将第 j 个 传感器节点的极点长度设置为 l_{i,j}=50*random.random()
      2. 假设扇区索引为 i,将第 j 个 传感器节点的角度值设置为 ang_{i,j}=(60*random.random() + A_i - 60) * 2 * pi / 360
      3. 将第 i扇区中第 j 个传感器节点的笛卡尔坐标设置为
        x_{i,j}=l_{i,j}*cos(ang_{i,j})
        y_{i,j}=l_{i,j}*sin(ang_{i,j})

补充 图 2:脚本 2。用于按扇区配置每个节点的二维位置位置的脚本。 请点击这里下载此文件。

补充 图 3:脚本 3。用于在 1 个扇区内配置每个节点位置值的脚本。 请点击这里下载此文件。

Figure 3
图 3:生成和存储的节点位置分为 6 个文件,每个文件对应一个扇区。 二维位置位置保存在 6 个 posdata+'idx' 文件中。每个都代表一个部门。 请点击这里查看此图的较大版本.

Figure 4
图 4:存储在扇区 0 中的节点位置。 这些位置是二维的,并使用均匀随机生成器生成。第一列是水平位置,第二列是垂直位置。 请点击这里查看此图的较大版本.

5. 准备初始能级

  1. 准备所有 198 个传感器节点的初始能量水平。将其中一半为0.5 J的初始能量分配,另一半为1 J的初始能量,创建一个数组来存储每个节点的能量水平,并使用循环为偶数排序的单元格分配值1,为奇数排序的单元格分配值0.5。 补充图 4 显示了 Python 代码,结果如 图 5 所示。

补充 图 4:脚本 4.用于分配节点能量的一半 1 焦耳和另外 0.5 焦耳的脚本。 请点击这里下载此文件。

Figure 5
图 5:Energy_buffer初始分配。 一半的节点被分配了 1 焦耳的能量,而另一半被分配了 0.5 焦耳的能量。 请点击这里查看此图的较大版本.

6. 准备Advanced_Leach算法脚本(图6图7

  1. 准备一个功能脚本,在其中选择集群头并形成集群。
    注意:使用循环选择集群的条件是,所选的集群头数小于节点总数除以 6。条件是确保每个集群中的源节点数量等于或小于 6。在循环中,每个节点都被分配了一个介于 [0,1] 之间的随机数。那些小于给定条件编号的节点将成为集群头,而其他节点将成为源节点。详细过程如 补充图5所示。然后,给定一个固定的簇头池,其余的源节点在最短的距离内选择其簇头,前提是该簇头尚未托管超过 6 个源节点。详细过程如 补充图 6 所示。
    1. 设置 T_n=P/(1-P*(count%(1/P))),其中 P = 0.2(簇头数与整体网络大小的比例率),计数是四舍五入到现在的传输量。
    2. 对于每个传感器节点,获得一个介于 [0,1] threshold_rm = random.random() 之间的随机数
      1. 如果 threshold_rm 小于 T_n,请选择此传感器节点作为簇头。
    3. 对于每个非cluster_head节点,选择离它最近的簇头传感器节点作为其簇头。给定一个固定的集群头池,其余源节点将在最短距离内选择其集群头,前提是该集群头尚未托管超过 6 个源节点。详细过程如 补充图 6 所示。
  2. 准备命令行来计算此轮整个网络的能量消耗过程。对于每次运行算法,完成一批从源节点到接收器的数据包传输,准备的储能阵列将更新为逐个单元格的值减少。沿路径的能耗将是每个节点到节点路由的能耗总和,根据能量模型1 计算。详细过程如 补充图 7 所示。
  3. 计算所需的传输轮次指标。
    注:算法每运行一次,完成一批数据包的传输,就会更新能量阵列,计算运行量和耗尽节点数。如果该值大于或等于 1,则 FND(第一个节点芯片)等于当前运行量。如果该值大于或等于节点量的一半,则 HND(半节点芯片)等于当前运行量。如果该值等于总节点数量,则 AND(all node die) 等于当前运行数量。详细过程如 补充图 8 所示。

Figure 6
图 6:簇头阵列。 已选择作为群集头的节点的序列号。 请点击这里查看此图的较大版本.

Figure 7
图 7:簇头索引数组。 由于簇头索引阵列中有六个扇区,每个扇区有 33 个传感器节点,因此数字表示相应传感器节点所属的簇头的序列号。阵列的位置索引对应于每个传感器节点的序列号。对于被选为簇头的传感器节点,分配给阵列中其插槽的编号是其自身的序列号。 请点击这里查看此图的较大版本.

补充 图 5:脚本 5.用于选择群集头的脚本。 请点击这里下载此文件。

补充 图 6:脚本 6。用于将源节点分配给集群的脚本。 请点击这里下载此文件。

补充 图 7:脚本 7。通过减少传输消耗的能量来更新所有源节点的能量缓冲区的脚本。 请点击这里下载此文件。

补充 图 8:脚本 8。用于计算第一个节点死亡和一半节点死亡的舍入数的脚本。 请点击这里下载此文件。

7. 准备混合量子算法脚本

  1. 准备一个功能脚本,其中选择了集群头并形成了集群头。
    1. 由于本实验1 中最大簇大小为 6,因此请确保簇头数量不小于 current_valid_node_amount/6,选择过程将循环运行,直到满足此标准为止。
      注意:如果current_valid_node_amount不大于 6,则这些有效节点将形成一个且唯一的集群。
    2. 对于每个非cluster_head_valid节点,计算它与每个选定簇头的距离,并为其分配簇大小不超过 6 的簇头,其中距离值最小。
      注:在 图 8 中,计算了所有非cluster_head_valid节点到所选簇头 24 的距离,所有选定的簇头显示在 图 9 中。 图 10 显示了所有节点都分配给了其对应的簇头, 图 11 显示了在向量数组中对每个簇的成员节点进行分组。
  2. 准备子函数脚本,其中形成每个集群的路由优化问题并提交到 D-wave API(图 12)。路由路径是逐个集群计算的。
  3. 使用Python脚本,计算整个网络的能量消耗过程,以传输轮数为单位,按网络寿命对算法进行定量评估。
    注意:对于每次运行算法,完成一批从源节点到接收器的数据包传输,准备的储能阵列将更新为逐个单元格的值。沿路径的能耗将是每个节点到节点路由的能耗总和,根据能量模型1 计算。详细过程如 补充图 7 所示。
  4. 使用 Python 脚本,记录第一个节点耗尽和一半节点耗尽的时刻。详细过程如 补充图 8 所示。

Figure 8
图 8:索引为 24 的非cluster_head节点的 toClusterHeadDistance 数组。 第一列是距离,第二列是簇头索引号 请点击这里查看此图的较大版本。

Figure 9
图 9:CHID_buff数组。 被选为簇头的传感器节点的序列号。 请点击这里查看此图的较大版本.

Figure 10
图 10 CHIdx_buff数组。 将簇头传感器节点的序列号分配给每个相应的传感器节点。 请点击这里查看此图的较大版本.

Figure 11
图 11:CH_BUFF数组。 与阵列CHID_buff对应的每个簇头传感器节点的簇组。每个群集组由 0 个或超过 0 个传感器节点组成。每个簇组阵列都显示其中传感器节点的序列号。 请点击这里查看此图的较大版本.

Figure 12
图 12:每个扇区的路由路径计算。 对于每个扇区,将计算所有源节点的路由路径。 请点击这里查看此图的较大版本.

Subscription Required. Please recommend JoVE to your librarian.

Representative Results

一个运行样品的结果如 表 2表 3表 4 所示。三批数据的详细数据集可在 补充数据 1 文件夹中找到。

数据集 1
半径为 50m 的圆形区域内有 198 个节点 混合量子算法 Advanced_Leach算法
FND型 1442 727
HND技术 2499 1921

表 2:第 1 批实验结果。

数据集 2
半径为 50m 的圆形区域内有 198 个节点 混合量子算法 Advanced_Leach算法
FND型 757 1463
HND技术 1925 2500

表 3:第 2 批实验结果。

数据集 3
半径为 50m 的圆形区域内有 198 个节点 混合量子算法 Advanced_Leach算法
FND型 790 1461
HND技术 1888 2500

表 4:第 3 批实验结果。

选择了三个指标,定义4 如下:
FND - 第一个节点芯片。将第一传感器节点能量消耗到的传输数;
HND - 半节点模具。传输次数四舍五入到传感器节点能量的一半被耗尽;
LND - 最后一个节点芯片。传输数四舍五入到整个传感器网络死亡的数目。

从结果可以看出,混合量子算法比advanced_leach算法具有更高的效率。

所提方法的时间复杂度和柔度图的进一步结果分别如 图13图14所示。

Figure 13
图 13:混合量子算法的时间复杂度。 在各种网络规模上运行一个 HQA 周期所花费的时间(以秒为单位)。 请点击这里查看此图的较大版本.

Figure 14
图 14:符合 Advanced Leach 算法的混合量子算法的结果。 FND 和 HND 或 HQA 和 ALA 具有相似的绘图形状模式。 请点击这里查看此图的较大版本.

补充资料1:本研究进行的三批实验的数据集。请点击这里下载此文件。

Subscription Required. Please recommend JoVE to your librarian.

Discussion

目前最先进的商用量子处理器可用于任何网络拓扑结构的计算问题1.量子处理器应用程序不受任何量子处理器能够实现的物理量子比特数量的限制。

在传感器网络寿命延长设计中,结果表明,使用量子处理器实现更长网络寿命的方法取得了进步。结果表明,量子优势已准备好在公共和私营部门进行商业利用。

就管理意义而言,Quantum Advantage能够成为下一个里程碑,为不久的将来高科技可持续繁荣铺平道路。当前的高科技,在学习策略和/或人工智能(AI)方面,需要任何方法的动力驱动来处理/保存数据。从绿色环球的高层角度来看,它并不是一个好的候选人16.ML/AI 虽然使计算更加经济高效,但并不能提供根本原因分析解决方案,因为高效计算是由高功率计算设施牺牲的。因此,它们从根本上受到高性能计算机 (HPC) 的约束。量子计算彻底改变了计算范式,已被证明在多个实际试验应用中比传统计算机计算速度更快17,18。就作者而言,量子辅助的ML是PML(概率机器学习)。ML算法(脚本/高低级编程语言)运行在计算设备上,该设备可以是经典计算机,也可以是量子计算。 给定与可执行命令行 n 相同的 ML 算法,设 f_cc(n) 表示经典计算机的计算消耗,f_qc(n) 表示量子计算机的计算消耗。f_cc(n) 是 n 个命令行的经典计算机可执行alpha_i的计算消耗的加权总和。f_qc(n) 是量子计算机可执行alpha_j对于相同 n 个命令行的计算消耗的等权总和。权重保持不变,因为上层 ML 命令行同样相同。简单地说,这项工作和之前的工作1 已经表明alpha_j总是小于 alpha_i,所以 f_qc(n) 总是小于 f_cc(n)。

关于学术意义,以前建立的处理器/计算设施通常用于帮助研究人员思考/产生/发展他们的想法和计划。 量子计算表明,研究人员的方法论方法正在等待史诗般的演变。它可能是破坏性的,但乐观地。从现在开始,不习惯理论算法设计/分析的研究人员需要携手合作,设计/生成量子算法来解决他们的研究课题。大多数用于实际研究的量子算法并不容易获得。一句话,研究人员的计算设备发生了变化。虚拟环境设置和 QPU API 完全依赖于令人满意的互联网连接。

该研究的局限性包括 (i) 未考虑链路容量1.丢包率将被忽略。未来的工作将考虑底层传感器网络协议,以适当地制定问题,同时考虑能源消耗和损耗控制(无论是否采用重传方案)。(ii) 假定事先知道网络拓扑。节点位置是固定的。(iii) 每轮运行混合量子算法所需的时间比高级浸出算法长,但精度更高。(iv) 该算法无法离线工作。

Subscription Required. Please recommend JoVE to your librarian.

Disclosures

没有

Acknowledgments

这项工作得到了英国工程和物理科学研究委员会(EPSRC)的支持,资助号为EP / W032643 / 1。

Materials

Name Company Catalog Number Comments
Dell Laptop Dell N/A
Ubuntu 18.04.6 LTS Canonical Ltd 18.04.6 LTS
Python3.8 Python Software Foundation 3.8.0
Dwave QPU Dwave https://docs.ocean.dwavesys.com/en/stable/overview/install.html

DOWNLOAD MATERIALS LIST

References

  1. Chen, J., Date, P., Chancellor, N., Atiquazzaman, M., Cormac, S. Controller-based energy-aware wireless sensor network routing using quantum algorithms. IEEE Transactions on Quantum Engineering. 3, 1-12 (2022).
  2. Lin, H., Uster, H. Exact and heuristic algorithms for data-gathering cluster-based wireless sensor network design problem. IEEE/ACM Transactions on Networking. 22 (3), 903-916 (2014).
  3. Zhou, Y., Wang, N., Xiang, W. Clustering hierarchy protocol in wireless sensor networks using an improved PSO algorithm. IEEE Access. 5, 2241-2253 (2017).
  4. How long is the lifetime of a wireless sensor network. Seah, W. K. G., Mak, N. H. 2009 International Conference on Advanced Information Networking and Applications, Bradford, UK, , 763-770 (2009).
  5. Salahud din, M., Rehman, M. A. U., Ullah, R., Park, C., Kim, B. S. Towards network lifetime enhancement of resource constrained IoT devices in heterogeneous wireless sensor networks Sensors. 20, 4156 (2020).
  6. Wu, W., Xiong, N., Wu, C. Improved clustering algorithm based on energy consumption in wireless sensor networks. IET Network. 6 (3), 7-53 (2017).
  7. Kumar, N., Kumar, V., Ali, T., Ayaz, M. Prolong network lifetime in the wireless sensor networks: An improved approach. Arabian Journal for Science and Engineering. 46, 3631-3651 (2021).
  8. Faris, H., Aljarah, I., Al-Betar, M. A., Mirjalili, S. Grey wolf optimizer: A review of recent variants and applications. Neural Computing and Applications. 30, 413-435 (2018).
  9. Kaur, J., Arifkhan, M., Iftikhar, M., Imran, M., Haq, A. Machine learning techniques for 5G and beyond. IEEEAccess. 9, 23472-23488 (2021).
  10. Shor, P. Polynomial-time algorithms for prime factorization and discrete logarithms on a quantum computer. SIAMJournalonComputing. 26 (5), 1484-1509 (1997).
  11. Qabouche, H., Sahel, A., Badri, A. Hybrid energy efficient static routing protocol for homogeneous and heterogeneous large scale WSN. Wireless Networks. 27, 575-587 (2021).
  12. Farooq, M., et al. POWER: probabilistic weight-based energy-efficient cluster routing for large-scale wireless sensor networks. The Journal of Supercomputing. 78, 12765-12791 (2022).
  13. Maddams, W. F. The scope and limitations of curve fitting. Applied Spectroscopy. 34 (3), 245-267 (1980).
  14. Wang, X., et al. A dynamic opportunistic routing protocol for asynchronous duty-cycled WSNs. IEEE Transactions on Sustainable Computing. , (2023).
  15. Ismail, A. S., Wang, X., Hawbani, A., Alsamhi, S., Aziz, S. Routing protocols classification for underwater wireless sensor networks based on localization and mobility. Wireless Networks. 28, 797-826 (2022).
  16. Garcia-Martin, E., Rodrigues, C. F., Riley, G., Grahn, H. Estimation of energy consumption in machine learning. Journal of Parallel Distributed Computing. 134, 75-88 (2019).
  17. Egger, D. J., et al. Quantum computing for finance: State-of-the-art and future prospects. IEEE Transactions on Quantum Engineering. 1, 1-24 (2020).
  18. Rasool, R. U., Ahmad, H. F., Rafique, W., Qayyum, A., Qadir, J. Quantum computing for healthcare : A review. TechRxiv. , (2021).

Tags

工程, 第 199 期, 传感器网络路由, 量子处理器单元, 混合, 经典计算机, 启发式算法, 手稿, 技术背景, 意义, 实验步骤, 操作顺序, 插画, 经过验证, 积极的结果, 网络拓扑, 传感器网络寿命最大化问题, 最先进的量子处理器, 工程问题, 量子优势, 概念验证, 可行性证明
使用量子处理器单元的大规模高能效传感器网络路由
Play Video
PDF DOI DOWNLOAD MATERIALS LIST

Cite this Article

Chen, J. Large Scale EnergyMore

Chen, J. Large Scale Energy Efficient Sensor Network Routing Using a Quantum Processor Unit. J. Vis. Exp. (199), e64930, doi:10.3791/64930 (2023).

Less
Copy Citation Download Citation Reprints and Permissions
View Video

Get cutting-edge science videos from JoVE sent straight to your inbox every month.

Waiting X
Simple Hit Counter