需要JoVE订阅才能观看此内容。 请登录或开始免费试用

方法文章

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

1.4K 次观看

DOI:

10.3791/64930

2023年9月8日

本文内容

摘要

本研究提供了一种利用量子处理器单元计算各种交通动态路径的方法,该方法在延长网络寿命方面优于文献中报道的经典方法。

摘要

这种传感器网络节能方法结合了经典计算机与量子处理器的混合使用,已证明其性能优于仅使用经典计算机的启发式算法。本文阐述并论证了该方法具有重要意义的技术背景。随后,以操作顺序展示了实验步骤,并在必要时配以图示说明。该方法已在随机生成的网络拓扑样本集上通过正向结果得到验证。本方法取得的实验成功为延长传感器网络寿命的问题提供了更优的解决方案,并表明当前最先进的量子处理器已能够解决大规模的实际工程问题,其优势超越了现有文献中的各种方法。换句话说,可以充分挖掘和利用量子优势。该技术已超越概念验证阶段,进入可行性验证阶段。

引言

在传感器网络中,能量节约一直是设计中的一个极为关键的问题1。传统方法通常采用特设方式来解决该问题2,3,4,5,6。也就是说,这些方法将传感器节点模拟为可独立管理的智能资源,同时也能协作以兼顾个体与群体的利益。由于传感器所处环境具有高度不确定性,在部分研究中引入了随机算法以捕捉环境中的不确定性;而在其他研究中,则借鉴生物智能设计启发式算法,以获得符合常理的可接受结果7。进一步说明,对于这些随机算法而言,一方面,环境的不确定性可能并不像经典CPU生成的随机序列那样完全随机;另一方面,即使环境不确定性确实是完全随机的,也无法被经典CPU生成的随机过程模拟器准确捕捉。对于生物智能类算法而言,首先,尚无严格的数学分析能够提供概念上的理论证明;其次,收敛至真实值或误差容忍边界仅能在已知真实基准的前提下进行配置。尽管已有大量文献在一定程度上证明了这些启发式算法的有效性,但一方面,这些算法仅在定义明确的应用场景下进行了分析(而非模拟),且其停止条件仍存在值得进一步研究的疑问;另一方面,如前所述,大多数算法尚未通过可在构建传感器的微处理器上更易部署的软件仿真进行验证8

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

为解决上述问题,我们提出了一种混合型量子算法。该算法的“混合”特性体现在:在网络拓扑结构建立后,路由计算过程在量子处理器上执行,而簇头选择机制则采用经典随机算法实现。该方法的合理性如下:(1)如第一段所述,考虑到环境的不确定性,我们不希望进一步尝试使用量子序列生成器来捕捉环境动态,因为这种动态可能具有历史可追溯性。网络科学研究中的多项机器学习研究成果已证实了具有历史可追溯性的环境动态的存在性。在当前阶段,我们仍采用经典方法。(2)依赖抽象数学分析的精确方法能够保证达到真实结果。迄今为止,量子实验物理学一直得到物理数学的有力支持。此外,诸如Shor算法10等算法的应用也已证实了这一理论体系的完备性。

以下提供了充分的文献综述以供比较。所提出的HEESR协议11在结果方面具有可验证的优点,但作者对仿真配置参数进行了明确说明,例如节点位置的确切随机分布函数、簇头百分比p(0.2%)的合理依据,以及各节点a_i能量水平分布的缩放参数(1-2焦耳)。然而,这限制了作者进一步重复实验并开展对比研究。功率路由机制12采用曲线拟合方法,从影响最优网络路由决策因素的未明确样本空间中获得的离散数据集,逼近收敛的连续函数。曲线拟合方法13需要预先掌握网络拓扑信息。而实际情况中,此类先验信息可能无法 readily 获得。即使存在先验信息,网络拓扑也可能不够规则,难以映射到可用于推导计算的拟合曲线上。依此逻辑,DORAF协议14也未阐明为何以及如何借用玻尔兹曼函数和逻辑函数来逼近网络决定因素。Ismail 等人15为未来水下网络中能量高效路由协议设计的研究提供了坚实的参考依据。

访问受限。请登录或开始试用以查看此内容。

方案

1. 设置 Dwave Ocean 环境

  1. 从以下链接下载并安装 ocean 工具: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

用于激活 Python 虚拟环境的命令行界面;终端设置示例。
图 1:Ocean 虚拟环境的激活。 Ocean 软件包集成了 D-wave API,可在用户自己的计算机上提供通往 D-wave 机器的云端用户体验。 请点击此处查看该图的放大版本。

在终端中设置 Python 环境;dwave-ocean-sdk 的软件包安装日志。
图 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 所示。运行并执行脚本后,底层语言将处理并将变量存储在内存中。附有参数分别赋值的 Python 代码截图(补充图 1)。
d087.7085 m
E50 * 1 x 10-09 joules
epson_fs1 * 10-12* 10 joules
epson_mp0.0013 * 1 * 10-12 joules
数据包大小4000 bits

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

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

4. Python 脚本

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

补充 图2:Script2。按扇区配置每个节点二维位置坐标的脚本。请点击此处下载该文件

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

Linux 系统中文件夹内显示多个文本文件的目录视图。
图 3:生成并存储的节点位置,按六个扇区分别保存为六个文件。 二维位置坐标保存在 6 个名为 posdata+'idx' 的文件中,每个文件对应一个扇区。请点击此处查看该图的放大版本。

数据分析结果;文本编辑器界面中的数值表格;科学计算。
图4:存储在扇区0中的节点位置。 位置为二维坐标,通过均匀随机数生成器生成。第一列为水平坐标,第二列为垂直坐标。 请点击此处查看该图的放大版本。

5. 准备初始能级

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

补充 图4:脚本4。用于分配节点一半能量为1焦耳,另一半为0.5焦耳的脚本。请点击此处下载该文件

终端窗口中显示传感器数据数组和缓冲区列表结果的 Python 代码执行。
图 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(簇头数量占整个网络规模的比例),count 为截至目前的传输轮数。
    2. 对每个传感器节点,生成一个[0,1]之间的随机数 threshold_rm = random.random()
      1. 如果 threshold_rm 小于 T_n,则将该传感器节点选为簇头。
    3. 对于每一个非簇头节点,选择距离其最近的簇头传感器节点作为其簇头。在一组固定的簇头基础上,其余源节点在不超过簇头已容纳6个源节点的前提下,选择距离最短的簇头。详细过程见补充图6
  2. 准备命令行以计算本回合整个网络的能量消耗过程。对于算法每次运行完成一批从源节点到汇聚节点的数据包传输,所准备的能量存储数组将逐单元更新,数值相应减少。路径上的能量消耗为每段节点到节点路由能耗的总和,该值根据能量模型1计算得出。详细过程见补充图7
  3. 计算所需的传输轮次指标。
    注意:每运行一次算法完成一批数据包传输后,更新能量数组,统计运行次数以及能量耗尽的节点数量。若耗尽节点数量大于或等于1,则FND(首个节点死亡)等于当前运行次数;若耗尽节点数量大于或等于节点总数的一半,则HND(半数节点死亡)等于当前运行次数;若耗尽节点数量等于全部节点数量,则AND(所有节点死亡)等于当前运行次数。详细过程见补充图8

命令行界面中显示聚类头数组输出的 Python 脚本执行结果。
图 6:聚类头数组。 被选为聚类头的节点的序列编号。请点击此处查看该图的放大版本。

Python 聚类算法结果输出;数据数组;终端命令执行;计算数据分析。
图 7:簇头索引数组。 由于共有六个区域,每个区域包含 33 个传感器节点,因此在簇头索引数组中,数值表示对应传感器节点所属簇头的序号。数组的位置索引对应于各传感器节点的序号。对于被选为簇头的传感器节点,其在数组中对应位置所分配的数值即为该节点自身的序号。 请点击此处查看该图的放大版本。

补充 图5:脚本5。用于选择簇头的脚本。请点击此处下载该文件

补充 图6:脚本6。用于将源节点分配到簇的脚本。请点击此处下载该文件

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

补充 图8:脚本8。用于计算第一个节点死亡以及半数节点死亡前所能维持的轮数的脚本。请点击此处下载该文件

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

  1. 准备一个运行脚本,用于选择簇头并形成簇。
    1. 由于本实验中最大簇大小为 61,需确保簇头数量不少于 current_valid_node_amount/6,选择过程将循环执行,直至满足该条件。
      注意:若 current_valid_node_amount 不超过 6,则这些有效节点自身构成唯一的一个簇。
    2. 对于每一个非簇头的有效节点,计算其到各已选簇头的距离,并将其分配给距离最小且簇大小尚未超过 6 的簇头。
      注意:在 图 8 中,计算了所有非簇头有效节点到所选簇头 24 的距离,所有已选簇头在 图 9 中显示。图 10 显示所有节点已分配至其对应的簇头,图 11 展示将每个簇的成员节点按向量数组形式分组。
  2. 准备子函数脚本,用于构建每个簇的路由优化问题,并提交至 D-wave API(图 12)。路由路径按簇逐一计算。
  3. 使用 Python 脚本,计算整个网络中的能量耗尽过程,通过传输轮数衡量的网络寿命来定量评估算法性能。
    注意:每次算法运行完成一批数据包从源节点到汇聚节点的传输后,预先准备的能量存储数组将按单元逐个更新,数值相应减少。路径上的能量消耗为根据能量模型1 计算的各节点间路由能耗之和。详细流程见 补充图 7
  4. 使用 Python 脚本,记录第一个节点能量耗尽的时刻以及半数节点能量耗尽的时刻。详细流程见 补充图 8

显示距离数组计算输出的终端;数据分析;Python 脚本执行。
图 8:索引为 24 的非簇头节点的 toClusterHeadDistance 数组。 第一列为距离,第二列为簇头索引号 请点击此处查看该图的放大版本。

终端中用于数据分割的 Python 代码,显示数组处理和索引输出。
图 9:CHID_buff 数组。 被选为簇头的传感器节点的序列编号。 请点击此处查看此图的放大版本。

终端中的 Python 脚本输出;用于研究分析的数据处理,包含分割细节。
图 10 CHIdx_buff 数组。 为每个相应的传感器节点分配簇头传感器节点的序列号。 请点击此处查看该图的放大版本。

在终端界面中运行数据处理矩阵操作的 Python 脚本。
图 11:CH_BUFF 数组。 每个簇头传感器节点对应的簇组,与数组 CHID_buff 相关联。每个簇组包含零个或多个传感器节点。每个簇组数组显示该组内传感器节点的序列编号。请点击此处查看该图的放大版本。

在终端中执行 Python 代码;实时数据处理分析;计算结果展示。
图 12:每个扇区的路由路径计算。 针对每个扇区,计算所有源节点的路由路径。 请点击此处查看该图的放大版本。

访问受限。请登录或开始试用以查看此内容。

结果

一次运行样本的结果如表2表3表4所示。三批数据的详细数据集可在补充数据1文件夹中获取。

数据集 1
半径为 50m 的圆形区域内的 198 个节点混合量子算法Advanced_Leach 算法
FND1442727
HND24991921

访问受限。请登录或开始试用以查看此内容。

讨论

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

在传感器网络寿命延长设计中,研究结果表明,通过使用量子处理器,实现更长网络寿命的方法取得了进展。这些结果意味着量子优势已具备在公共和私营部门进行商业化应用的条件。

在管理层面的意义上,量子优势有望成为推动近未来高科技可持续繁荣的一个重要里程碑。当前的高科技领域,无论是在学习策略和/或人工智能(AI)方面,均需要强大的算力来处理和存储数据。从全球绿色发展的角度来看,这一现状使其并非理想选择16。尽管机器学习/人工智能(ML/AI)使计算在经济效率上有所提升,但它并未提供根本性的分析解决方案,因为高效的计算是以高功耗的计算设施为代价实现的。因此,它们本质上受限于高性能计算机(HPC)。量子计算彻底改变了传统计算范式,已在多个实际试验应用中证明其计算速度超越传统计算机17...

访问受限。请登录或开始试用以查看此内容。

致谢

本工作由英国工程与物理科学研究理事会(EPSRC)资助,资助编号为 EP/W032643/1。

访问受限。请登录或开始试用以查看此内容。

材料

本文使用的材料清单
姓名公司目录编号评论
戴尔笔记本电脑DellN/A
Ubuntu 18.04.6 LTSCanonical Ltd18.04.6 LTS
Python3.8Python Software Foundation3.8.0
Dwave QPUDwavehttps://docs.ocean.dwavesys.com/en/stable/overview/install.html

参考文献

  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).

访问受限。请登录或开始试用以查看此内容。

重印与许可

标签

能量高效路由混合量子算法网络生命周期最大化簇头选择能量耗尽过程传输轮次指标Dwave API机器对机器通信