基于SFLA的无线传感器聚类协议

无线传感器网络的模因模糊聚类协议:混合蛙跳算法

摘要

由于无线传感器网络(WSNs)在纳米传感器、无线网络和智能软件集成方面的广泛进展,其重要性日益增加。WSNs面临的主要挑战是传感器能量的快速耗尽。解决这一问题最有效的方法之一是聚类并选择合适的簇头。本研究提出了一种模糊混合蛙跳算法(FSFLA),该方法采用模因混合蛙跳算法(SFLA)根据应用需求优化Mamdani模糊规则库表。除了自动调整if‐then模糊规则外,该协议还在网络启动前的离线过程中优化了与模糊系统输入相关的五个可控参数。模糊系统的输入包括剩余能量、到基站的距离、邻近节点数量以及节点历史。由于设置了两个确定的阈值用于将候选节点转化为最终簇头,所提出的聚类算法可根据具体应用进行调整。本文提出的FSFLA协议在所有场景中,在网络生命周期数量、剩余能量、基站成功接收的数据包数量以及簇内距离方面,均与LEACH、LEACH‐DT、SIF和ASLPR等多种协议进行了比较。仿真结果表明,以两种版本实现的本文提出的FSFLA聚类协议显著优于其他协议。

关键词 :无线传感器网络(WSNs),聚类,混合蛙跳算法(SFLA),模糊推理系统。

1. 引言

最近的技术进步使我们能够为不同的应用设计和制造低功耗、小型化且经济的传感器。这些小型传感器能够根据传感类型执行接收不同环境信息以及处理和发送信息等任务,从而推动了无线传感器网络(WSNs)的创建与发展。这些小型节点包含三个主要部分,即传感器、信息处理单元和无线信息传输单元[1]。通常,一个无线传感器网络包含大量传感器,其数据被共同用于测量一个或多个参数。换句话说,关于某一参数收集的所有信息都在网络中的一个节点上进行处理,该节点通常称为基站(BS),以获得对该参数值的相对准确估计[2]。

在无线传感器网络(WSNs)中,由于传感器广泛应用于工业[3],医学与医疗保健[4],环境监控、农业、军事以及交通监测[5]等不同领域,因此需要大量传感器。显然,在这些传感器节点面临能量限制的网络中,聚类协议应考虑所有影响网络寿命的因素,例如能量和与基站的距离。此外,这些协议必须能够根据传感器网络的具体应用进行调整。因此,在考虑到无线传感器网络中诸多影响因素的情况下,簇头(CHs)的选择具有重要意义,而模糊系统能够在权衡各影响因素并结合传感器网络应用需求的基础上,在簇头选择过程中发挥重要作用。目前提出的多种方法也正体现了这一问题的重要性。据此,本研究中的协议有两个重要目标:设计一种高效节能、可根据无线传感器网络的应用或目标进行调节且具有适用性的聚类协议。

许多方法已被提出以降低传感器节点在通信过程中的能量消耗。其中,聚类被认为是设计高效且可扩展的无线传感器网络能量协议的主要方法之一[6]。为了对无线传感器网络进行聚类,传感器被划分为若干组或簇,每个簇指定一个簇头。当事件发生或周期性地,各簇内的传感器将其信息发送给簇头,而簇头则将信息发送给基站[7, 8]。在小范围内使用聚类技术具有多种优势,其中一些如下所述[9‐13]:
1. 聚类可以维持通信带宽,因为它将簇间通信限制在簇头节点,从而防止传感器节点之间交换消息的冗余。
2. 聚类可以在传感器层面稳定网络拓扑结构,并减少开销和整体维护成本。换句话说,传感器只能与簇头节点通信,不会受到簇头层级变化的影响。
3. 聚类在考虑场域限制、响应范围以及与簇头相关的簇内任务的情况下,保持较宽的通信带宽,同时防止节点之间交换消息的冗余。
4. 簇头可以实施优化管理策略,以提升网络性能并增加节点的电池寿命,从而延长网络寿命。
5. 簇头可以调度节点活动,允许节点切换到低功耗的睡眠模式。因此,通过管理睡眠周期可减少消耗的能量。
6. 簇头可以收集其簇内传感器采集的信息,从而减少网络中发送的数据包数量。
7. 基于聚类,节点可以按循环顺序被分配特定的发送和接收时间。这样可避免重传,降低覆盖域内的数据冗余,并避免碰撞。

本文的组织结构如下:第2节回顾了相关文献。第3节描述了假设和网络模型。第4节解释了能量消耗模型。第5节介绍了本文提出的方法。第6节通过蛙跳优化算法阐述了所提出的协议中的优化过程。第7节分析了所提出的协议中涉及的复杂性。第8节讨论了应用于仿真及其分析的条件和设置。最后,第9节总结了结果。

2. 文献综述

简单分类中,基于簇的路由协议可分为三类:经典方法、基于模糊的方法和混合启发式‐模糊技术。这些方法将在下文中进行描述。

2.1. 经典方法

低能耗自适应聚类分层(LEACH)[8]可能是首个动态聚类协议,该协议特别考虑了无线传感器网络的需求,并使用随机分布的同质静态传感器节点。总体而言,这是一种分层的、概率性的、分布式和单跳协议。LEACH将运行过程划分为多个轮次,每一轮包括一个设置阶段和一个稳态阶段。在设置阶段,每个节点假设一个介于零和一之间的随机数T。如果某节点分配到的T值大于公式(1)中的阈值T(i),则该节点将在当前轮次中担任簇头角色。

$$
T(i) =
\begin{cases}
\frac{p}{1-p \times (r \mod \frac{1}{p})}, & \text{if } i \in G \
0, & \text{otherwise}
\end{cases}
$$
(1)

其中,p是传感器种群中期望的簇头节点百分比,r是当前轮次的编号,G是在过去1/p轮内未成为簇头节点的一组节点。在选出簇头节点后,它们广播通知消息,每个非簇头节点指定其希望加入的簇。每个节点选择能够以最小能量与其簇头节点通信的簇。然后,每个节点向其簇头节点发送消息,告知自己的成员身份。在簇形成之后,进入稳态阶段。该阶段中网络的性能被划分为多个时间帧,在每个时间帧内,簇中的所有节点在其分配的时隙中将数据发送给其簇头节点。实际上,每个簇头节点为其成员节点创建一个时分多址(TDMA)调度[14]。由于每个节点的时隙持续时间是固定的,因此时间帧的长度取决于簇中节点的数量。在接收到来自所有成员节点的信息后,簇头节点将数据聚合为一个数据包并发送至基站,随后开始新一轮。在此协议中,通常仅基于概率选择簇头节点,而不考虑节点的剩余能量。因此,如果剩余能量较低的节点被选为簇头节点,则可能很快死亡。

低能耗自适应聚类分层集中式(LEACH‐C)[7],是LEACH的一个集中式版本,在建立阶段采用集中的聚类算法,通过在整个网络中均匀分布簇头节点来实现比LEACH更好的性能。在该协议中,基站接收节点的位置信息,并基于传感器节点的平均能量水平,利用模拟退火算法减小非簇头节点与簇头节点之间的距离,以生成最优的簇结构。该协议在稳定阶段的行为与LEACH完全相同。

混合高效能量分布式聚类(HEED)[15]最初是为自组织网络提出的,但后来也被用于无线传感器网络。HEED根据剩余能量和通信开销的结合方式周期性地选择簇头节点。由于HEED的主要目标是延长网络生命周期,因此簇头选择主要基于节点的剩余能量。为了提高能量效率,还将簇内通信开销作为次要聚类参数加以考虑。HEED使用主要聚类参数筛选出一组初始候选节点,并利用次要参数从中选出最终簇头。簇内通信开销是簇属性(例如簇大小)以及是否允许在簇内通信中使用可变功率级别的函数。如果所有节点在簇内通信时使用的功率级别是固定的,则该开销可以与节点度(节点通信半径内的邻居节点数量)成正比,若目的是在各簇头之间均衡负载;或者与1/节点度成正比,若目标是形成密集的簇。除了HEED的聚类和簇头选择机制外,该协议的其余部分与LEACH非常相似。

基于LEACH的三层路由协议(TL‐LEACH)[16]结合了PEGASIS(传感器信息系统中的高效能量聚集协议)协议的多跳路由思想[17],以提高LEACH的性能。PEGASIS是一种基于链的协议,其中远离基站的节点首先发送测试信号,以在链中找到最近的邻居节点作为其下一跳。下一跳节点以相同方式搜索其下一跳,此过程重复进行,直到整个链建立完成。通过这种方式,所有节点只需要最少的能量来发送数据包,因为它们仅与相邻节点通信。与PEGASIS相同,TL‐LEACH避免所有簇头节点直接与基站通信,并在簇头节点之间生成一个三层链结构,以基站为根节点。距离基站较远的簇头节点通过一个或多个中间簇头节点将数据包发送到基站。

基于阈值的簇头替换LEACH(T‐LEACH)[18]是LEACH的另一种改进版本。在该协议中,通过网络中传感器节点的剩余能量阈值来减少簇头选择及其替换的次数。在该协议中,是否进行轮次更新的决策依据是每个传感器节点的剩余能量,以决定是否替换簇头。换句话说,如果当前簇头节点的能量水平仍高于给定阈值,则即使其时隙已到达,也不会被替换。

Min等人提出的算法[19]实际上是一种具有优化的单跳距离和特定聚类角度的聚类分析模型。这两个参数通过最小化簇间和簇内通信的能量消耗来确定。此外,在该算法中,每个簇头永久工作,只要其定时器未达到给定阈值,其角色周期就不会结束。该时间阈值基于聚类距离和聚类角度确定。

具有滑动窗口动态节点数的LEACH(LEACH‐SWDN)[20, 21]根据节点的剩余能量动态选择簇头节点。该方法在设置阶段使用滑动窗口,结合节点的初始能量以及从未担任过簇头的节点的平均能量这两个因素,将簇头节点的选择概率及其数量维持在预期范围内。

在基于距离阈值的LEACH(LEACH‐DT)[22],中,节点根据其与基站的距离以及其他基于距离的概率来选择自身作为簇头。换句话说,一个节点是否被选为簇头取决于其与基站的距离。

哈密顿高效节能路由协议(HEER)[23]是一种基于哈密顿路径概念构建的基于簇的路由协议。该协议通过所有簇成员构成的哈密顿路径汇聚数据,并将其发送到基站。为了防止簇的过度增长,该协议为簇引入了规模因子。此外,该协议中的簇仅在第一轮创建,随后在后续轮次中,簇头角色在已创建的哈密顿路径内的簇成员之间切换。

在分层分布式管理聚类(HDMC)[24],中,所提出的方法试图以分层和分层的方式,根据每个节点的全局和局部参数来选择簇头以及其它节点在所形成簇头中的成员资格。在此方法中,每个节点根据其历史表现、资源状态以及在其区域内可见的信息,表明其成为簇头的意愿。然而,由于该节点不了解其邻近节点及其成为簇头的意愿,因此它将决策责任转移给一个知晓该区域内所有节点意愿的裁判节点。该裁判节点会请求其区域内的节点发送各自的意愿信息。然后,裁判节点根据其簇头选择算法选择适当的节点作为新的簇头。换句话说,新的簇头是从旧簇中选出的。

2.2. 基于模糊的方法

由于在确定无线传感器网络中簇头角色时涉及多个参数且其影响程度未知,许多路由协议采用了模糊系统和基于模糊的方法来决定最佳簇头的选择。

使用模糊逻辑的簇头选举机制(CHEF)[25]是一种基于模糊的聚类算法,该算法在选择临时簇头的过程中将剩余能量和在半径R范围内的所有邻近节点的距离之和作为模糊输入。该算法以机会值作为去模糊化输出变量,用于确定临时簇头。最终,具有最高机会值的临时簇头节点被选为最终簇头。由于在簇头选择过程中未考虑与基站的距离,该方法存在可扩展性不足的问题。

模糊能量感知不等簇算法(EAUCF)[26, 27]是一种模糊簇基算法,该算法随机选择临时簇头节点。为了选择最终簇头,该方法将剩余能量和到基站的距离作为模糊输入,并以竞争半径作为去模糊化输出。每个临时簇头节点将其能量与其竞争半径内的其他节点进行比较,若没有其他节点,则该节点被选为最终簇头。该方法的主要缺点是临时簇头的随机选择以及未考虑簇内通信中消耗的能量。

多目标模糊聚类算法(MOFCA)[28]采用三个参数,即到基站的距离、节点的剩余能量和节点密度(节点密度计算为存活节点数量与区域面积的比值)节点在其通信半径内的节点数量与网络中所有存活节点数量的比值,作为模糊输入,用于评估临时簇头的竞争半径,竞争半径以去模糊化输出的形式产生。在每个聚类轮次中,每个传感器节点随机选择一个介于零和一之间的值。如果某节点随机选择的值低于临时簇头期望百分比所定义的阈值,则该节点被转换为临时簇头。然而,当该临时簇头的能量超过其竞争半径内其他节点的能量,或当该节点的能量水平相等但在此半径内具有更高的密度时,该节点将被选为最终簇头。

基于模糊逻辑的分布式不等簇聚类(DUCF)[29]是一种模糊簇基算法,该算法根据三个输入参数——剩余能量、节点度和到基站的距离——来选举簇头节点,并产生机会值和大小两个输出。该算法通过形成不等簇来平衡簇头之间的通信能量。此外,在多跳路由中,将最小的簇大小分配给靠近基站的簇头节点,以平衡工作负载。

基于模糊逻辑的分布式聚类算法(DFLC)[30]是一种分布式簇基模糊算法,该算法将能量、中心性、到基站的距离、跳数和节点密度(一个节点的邻居节点数量)这五个参数作为模糊输入,并输出概率变量作为模糊输出,以选择最佳根节点。在此过程中,每个节点采用模糊逻辑来选择最佳根节点。换句话说,模糊推理系统直接利用每个节点及其与父节点直接相连的子节点的信息。

Nayak等人[31]提出了一种聚类协议,该协议将剩余电池电量、移动性和中心性这三个变量作为模糊输入,生成机会值作为去模糊化输出,以确定从簇头节点中选出的超级簇头。超级簇头负责向移动基站发送信息。

用于三维无线传感器网络的模糊C均值(FCM‐3 WSNs)[32]是一种三维聚类方案,旨在通过确定优化拓扑来降低能量消耗并延长网络寿命。为此,该方法利用数学模型和三维FCM算法对传感器进行三维聚类。

2.3. 基于元启发式和模糊的方法

许多元启发式算法已被提出用于无线传感器网络[33‐36], ,主要目的是在传感器节点中形成动态簇,以最小化网络中消耗的能量。通常,对于N个传感器节点存在2N − 1种解。因此,聚类是一个NP难问题,而元启发式方法在这些问题中可能证明是有效的。

Kuila等人[37]采用线性和非线性规划,利用粒子群优化算法提出了两种用于无线传感器网络的路由和聚类算法。在聚类算法中,他们通过平衡节点间的工作负载来维持能量。在路由算法中,他们使用了一种带有多目标适应度函数的粒子编码方案,该函数考虑了传输距离与数据转发次数(跳数)之间的权衡。具体而言,多目标函数旨在最小化节点间的最大传输距离以及最小化最大跳数。

应用特定低功耗路由协议(ASLPR)[38]致力于延长网络生命周期,并接收节点的状态信息,如到基站的距离、剩余能量以及簇头之间的距离,以选择最佳簇头。该协议提供了大量可调节的参数,可根据不同应用进行调整。它采用遗传算法和模拟退火来优化其参数。

Hacioglu等人[39]采用非支配排序遗传算法II(NSGA‐II)对传感器网络进行聚类。该算法评估了七个目标函数,旨在最小化簇头与基站以及簇头与非簇头簇之间的通信成本。这七个目标函数包括:簇头节点将自身收集的消息传输至基站所需的总能量、非簇头节点直接向基站发送消息所需的总能量、簇头总能量的倒数、非簇头节点向簇头发送消息所需的总能量、非簇头节点的总能量、非簇头节点数量的倒数,以及簇头向簇内成员发送信息消息所需的能量。所有这些目标均被考虑为需要最小化。

基于模糊和蚁群优化的结合MAC、路由和不等聚类的跨层协议(FAMACROW)[40]是一种聚类和簇间路由方案,该方案利用剩余能量、邻近节点数量以及通信链路质量作为模糊输入来选择簇头。该方案采用非均匀簇机制,并结合蚁群算法选择从簇到基站的路由。

基于群体智能的模糊路由协议(SIF)[41]是一种用于对无线传感器网络进行聚类的模糊路由协议。该协议中的聚类过程与其他协议不同,它首先使用模糊c‐均值算法进行聚类,然后利用Mamdani模糊系统从簇成员中选择簇头节点,其规则库通过萤火虫算法和模拟退火算法进行优化。因此,簇中的非簇头节点将加入所选的簇头节点。

一种基于Sugeno模糊推理系统(LEACH‐SF)的集中式基于簇的路由协议[42]是无线传感器网络中的一种聚类算法,与SIF类似,该算法首先使用模糊C均值算法进行聚类,然后利用人工蜂群算法优化规则库的Sugeno推理系统从簇成员中选择合适的簇头。与SIF类似,该模糊系统的输入为剩余能量、到基站的距离和到簇中心的距离。

2.4. 我们的贡献与现有技术的对比

本文提出的FSFLA聚类协议从所有候选节点中选择一些具有相对较高剩余能量、较短到基站距离、较短到成员节点(邻居)距离以及在最近轮次中较少担任簇头历史的节点作为簇头节点。剩余能量参数旨在平衡所有节点的能量消耗,而距离参数则确保较低的能量消耗并成功将数据包传输至基站。此外,引入历史参数是为了进一步平衡能量消耗,降低网络整体的能量耗散。在现有的无线传感器网络聚类技术中,已有多种性能指标被报道(例如寿命延长、能量效率、数据包传输、吞吐量等)。然而,这些方法中的可控参数和/或模糊规则均是手动定义的,缺乏根据应用需求对协议进行优化的策略。因此,协议的性能是固定的,无法根据具体应用进行自适应调整。为克服这一缺陷,我们采用SFLA优化算法,基于应用需求对FSFLA的可控参数和模糊规则进行调优。该优化过程以离线方案执行,在主网络仿真开始前进行一次。与上述现有方法相比,本文提出的方法具有以下优势:
1. 本文提出的FSFLA协议的主要目标是根据每个应用的具体需求,最大化网络寿命和接收的数据包数量。然而,这一特性通常未被其他聚类和路由协议所考虑。
2. 簇头节点的选取基于与节点状态相关的多个影响参数之间的权衡,通过模糊推理系统进行决策,并且仅从能量水平高于网络平均能量的节点中选择。这进而实现了网络中能量消耗的均匀分布。
3. 在本文提出的FSFLA协议中,簇头节点的数量、彼此之间的距离、节点到各自簇头的距离以及簇头在整个网络中的分布均可根据具体应用进行调整,而前述其他协议则不具备此灵活性。
4. 在本文提出的FSFLA协议中,在考虑传感器通信范围及具体应用的前提下选出簇头节点后,非簇头节点将加入距离其最近的簇头节点所属的簇。这与SIF和LEACH‐SF方法不同,后者首先使用模糊C均值算法创建簇,然后从簇成员中选出簇头节点。实际上,在这些方法中,位于某个簇边缘的节点可能更靠近另一个簇的簇头节点,这意味着非簇头节点并不一定被划分到距离其最近的簇头所在的簇。因此,在本文提出的FSFLA协议中,簇内通信距离可根据应用需求进行调节。此外,该协议相比那些将聚类过程作为初始步骤的方法具有更低的计算复杂度。
5. FSFLA协议中的模糊规则库通过SFLA优化算法进行优化。然而,除SIF和LEACH‐SF外的其他协议中,模糊规则是人工定义的,并应用于所有应用场景。
6. 为了针对任意应用优化本文提出的FSFLA协议的参数,只需在网络运行前离线执行一次SFLA优化算法即可。因此,优化过程为离线进行,不会给网络带来额外的工作负载,也不会增加网络的复杂性或延迟。
7. 在FSFLA协议中,不仅将有效参数作为模糊输入用于确定候选节点,还考虑了为各个节点选择每个参数的具体过程。

3. 网络模型和假设

本文提出的FSFLA协议采用一种分层架构模型,该模型包含多个传感器节点。这些节点被划分为若干组,称为簇。每个簇包含一个簇头,负责收集其成员的信息,并根据网络应用对信息进行聚合。换句话说,本研究探讨了一种特定的应用,即周期性地收集数据,其中传感器节点周期性地将其信息发送给负责收集和聚合信息的簇头节点,并由簇头节点将信息发送至基站。在本文提出的FSFLA协议中,数据传输有两种策略:有聚合和无聚合。在聚合策略中,簇头节点的聚合率为10%。该模型考虑了以下假设:
- 所有传感器具有相同的初始能量水平,每个具有足够能量水平的传感器都可以直接与基站通信。
- 所有传感器和主基站均为静止(静态)状态,且基站不受能量限制。
- 所有传感器为同构且类型相同,在感知、处理和通信方面具备相同能力。
- 基站可位于网络空间(网络范围)内的任意位置,节点在网络空间中均匀且随机分布。
- 所有传感器均配备GPS,因此能够知晓自身位置以及基站的位置。基站对网络及其节点具有充分的了解。
- 采用TDMA调度算法进行簇头节点及其成员节点之间的通信。
- 所有传感器节点可根据到接收节点的距离调节其传输功率和强度。
- 所有节点在连续两轮次之间关闭无线信号以保持能量。

4. 能耗模型

在FSFLA协议中的簇头节点采用了两种聚合与非聚合策略。通常情况下,本文提出的FSFLA模型的能耗模型与LEACH协议的能耗模型相同[7]。

$$
E_{Tx}(l, d) =
\begin{cases}
lE_{elec} + lє_{fs}d^2, & \text{for } d < d_0 \
lE_{elec} + lє_{mp}d^4, & \text{for } d \geq d_0
\end{cases}
$$
(2)

其中E_elec( nJ/bit)表示接收节点或发射节点在发送或接收1比特数据包时,其射频电路所消耗的能量。є_fs (pJ bit/ m 2 ⁄ )和є_mp(pJ bit/ m 4 ⁄ )(多径衰落信道)表示发射节点在长度为d的信道上发送1比特数据包时,其频率放大器所消耗的能量。发射节点需要消耗能量来设置其射频电路(以通过信道传输数据)以及设置其放大器。然而,接收节点仅需消耗能量来设置其射频电路(以从信道接收数据)。因此,为了计算在距离d上传输1比特所需的能量,E_Tx(l, d) 根据公式(2)获得,其中第一个方程用于自由空间模型以及距离小于给定阈值的情况d_0,而第二个方程用于距离大于d_0的情况,其中 d_0 = √є_fs /є_mp。以下方程计算接收一个1比特数据包所需的能量:

$$
E_{Rx}(l) = lE_{elec}
$$
(3)

4.1. 成员节点和簇头节点在一轮次内的能量消耗(无聚合)

成员节点与簇头进行通信时所消耗的能量,以及簇头在非聚合模式下与基站通信时所消耗的能量,均根据它们之间的距离通过公式(2)简单计算得出。在本文提出的FSFLA协议中,考虑了簇头之间以及簇头与其成员节点之间距离的两个阈值。因此,各节点到其对应簇头的距离不超过d_0。

$$
E_{member} = lE_{elec} + lє_{fs}d^2
$$
(4)

$$
E_{CH} = lE_{elec}(T_{CLUSTER} - 1) + lE_{elec} + lє_{fs}d^2T_{CLUSTER}
$$
(5)

因此,Emember,节点在发送和接收过程中消耗的总能量等于公式(4),而簇头节点在执行相同任务且在非聚合情况下的总能量消耗等于公式(5),其中T_CLUSTER是簇中成员节点的数量。该公式的前两部分分别与从簇内成员节点接收数据和向基站传输数据相关。如果节点与其对应簇头节点之间的距离大于d0,则将 d2替换为d4。

4.2. 一轮次中集群消耗的能量(无聚合)

ECLUSTER是一轮中簇消耗的能量,包括节点收集信息并传输到簇头所消耗的能量Emember,以及簇头将数据包传输到基站所消耗的能量ECH。因此,ECLUSTER根据公式(6)计算得出:

$$
E_{CLUSTER} = E_{member}(T_{CLUSTER} - 1) + E_{CH}
$$
(6)

4.3. 聚合策略中消耗的能量

在本文提出的FSFLA协议中,根据[28],所述,簇头节点的聚合率为10 percent。

$$
A_{comp} = A_{rec} \times R_{agg} \times (T_{CLUSTER} - 1)
$$
(7)

$$
A_{agg} = A_{rec} + A_{comp}
$$
(8)

在公式(7)中,Acomp是通过将每个节点接收到的数据包大小Arec、聚合率Ragg(本研究中设为10%)以及除簇头外的成员节点数量T_CLUSTER − 1相乘得到的压缩数据量。Aagg是聚合数据的大小,根据公式(8)计算得出。

4.4. 成员节点和簇头节点在一轮次中的能量消耗(含聚合)

由于聚合仅在簇头节点中进行,因此节点消耗的能量可直接根据第4.1节中的公式(4)计算得出。此外,簇头节点在距离小于d_0且聚合率为10%的情况下消耗的能量E_CH−agg 表示为:

$$
E_{CH-agg} = lE_{elec}(T_{CLUSTER} - 1) + lE_{elec} + lє_{fs}d^2(T_{CLUSTER} + (T_{CLUSTER} - 1)/10)
$$
(9)

如果基站与簇头之间的距离大于d_0,则 d^2 被替换为d^4。公式(9)表明,簇头在数据传输过程中消耗的能量被完全计算,而聚合率为10%的簇成员消耗的能量则按传输所需能量的1/10计算。此外,接收所消耗的能量仅针对簇成员进行计算,不包括簇头本身。

4.5. 一轮次中集群消耗的能量(含聚合)

一个簇在一轮中以10%的聚合率所消耗的能量E_CLUSTER−agg,包括所有簇内节点消耗的能量E_member以及聚合情况下簇头节点E_CH−agg 消耗的能量,其表达式如下:

$$
E_{CLUSTER-agg} = E_{member}(T_{CLUSTER} - 1) + E_{CH-agg}
$$
(10)

5. 本文提出的方法FSFLA协议

FSFLA协议的设计基于两个重要的激励因素和目标:1)能量高效;2)可调整以适应无线传感器网络的不同应用和目标。

5.1. FSFLA模因模糊聚类协议概述

FSFLA是一种集中式协议,因为所有计算都在基站的处理器中进行,在每一轮中收集节点的剩余能量、节点到基站的距离、节点周围邻居数量以及节点历史等信息。与LEACH类似,该协议在每一轮中包含两个运行阶段,即设置阶段和稳态阶段。

5.1.1. 设置阶段:

此阶段包括两个子阶段:a) 簇头选择,以及 b) 簇形成。

a) 在簇头选择阶段,根据节点的位置信息及其在基站中的状态来选择簇头节点。在此过程中,每轮都会收集各节点的剩余能量、节点到基站的距离、每个节点的邻居数量以及节点历史等信息,并将其作为模糊推理系统的模糊输入。模糊系统中的Mamdani规则库利用混合蛙跳算法(SFLA)基于输入信息进行优化。与其它基于模糊的方法不同(除了SIF[41]和LEACH‐SF[42]),本研究根据具体应用,使用SFLA对规则库以及另外5个可调参数进行优化。该优化仅在网络开始运行前执行一次,因此可视为网络运行前在基站中对模糊推理系统进行调整的预处理阶段。随后,曼达尼模糊推理系统针对那些能量水平高于存活节点平均能量且满足给定阈值β的节点,利用公式(11)进行模糊计算。本文提出的FSFLA协议首先在第t轮次中计算每个节点n转换为候选节点的概率PTCandidate_t(n),计算方式如下:

$$
PT_{Candidate}^t(n) =
\begin{cases}
Out_{crisp}^t(n), & \text{if } E^t(n) > \beta \times E_{avg}^{Alive}(t) \
0, & \text{otherwise}
\end{cases}
$$
(11)

$$
E_{avg}^{Alive}(t) = \frac{1}{N_A} \sum_{i \in A} E^t(i)
$$
(12)

其中,E^t(n)表示节点n在第t轮次的剩余能量,N是存活节点数量。A是当前轮次t中存活节点的集合。β是能量阈值参数,用于确定哪些节点有资格被提名为簇头。该参数基于E_avg_Alive(t)确定,即节点在第t轮次相对于存活节点平均能量的能量水平,并根据公式(12)表示。根据公式(11),仅对能量水平高于整个网络节点平均能量的节点执行模糊计算,因此这些节点才有机会参与最终簇头的循环选择过程。随后获得去模糊化输出OutCrisp_t (n),以确定节点n在第t轮次成为簇头的能力。如果节点n在当前轮次t的能量,即E^t (n),不高于存活节点的平均能量E_avg_Alive (t),则该节点不能作为候选节点参与簇头选举过程,因为其模糊输出为零。对于通过此筛选条件的节点,收集其输入参数(即节点状态信息)进行计算。因此,进入曼达尼模糊推理系统的输入均为有资格担任最终簇头的候选节点。模糊输出基于4个模糊输入在范围[0, 1]内计算得出,然后根据去模糊化后的精确输出对所有候选节点按降序排序。排序列表中的第一个候选节点(具有最高的模糊输出值)将被确定选为最终簇头。列表中其余节点若其与当前轮次所有其他已选簇头节点之间的最小距离大于某一阈值T1,也将被选为最终簇头。由此,在当前轮次中选出所有最终簇头。需要注意的是,从候选节点中选择最终簇头的子阶段将在每一轮持续进行,只要整个网络中簇头节点的数量以及簇头之间距离的给定阈值条件和节点到簇头的距离条件均满足为止。换句话说,在本协议中,从候选节点中选择最终簇头的过程将持续进行,直到所有节点到其各自簇头的最大距离低于给定阈值T2。此外,如前所述,簇头节点之间的最小距离应高于给定阈值T1。因此,阈值T1和T2分别由公式(13)和公式(14)表示。

$$
D(n, j) \geq T1, \quad \forall j \in \Delta
$$
(13)

$$
D(j, CH_j) \leq T2, \quad \forall j \in \acute{}
$$
(14)

$$
D(n, j) = \sqrt{(x_n - x_j)^2 + (y_n - y_j)^2}
$$
(15)

其中,n是待选为最终簇头的节点,∆是当前轮次中已选出的所有其他簇头节点的集合,j表示第jth个存活节点,Ά是当前轮次中所有存活节点的集合。此外,CHj是节点j对应的簇头,D(n, j)和D(j, CHj)分别表示节点n与j之间的欧几里得距离,以及节点j与其对应簇头CHj之间的欧几里得距离。D(n, j)的欧几里得距离由公式(15)计算得出。因此,本文提出的方法FSFLA协议可根据应用需求和网络中所需的簇头节点数量进行调整。从候选节点中选择最终簇头的伪代码如图1所示。

公式(13)和(14)中的阈值参数T1和T2可根据网络规模和网络中所需的簇的数量进行调整。参数T1定义了两个相邻簇头之间的最小允许距离。较大的T1可防止将相邻节点选为簇头,从而实现簇头节点在网络中的更好分布。此外,参数T2限制了每个非簇头节点与其对应簇头之间的最大允许距离。较低的T2使得簇内通信距离更低。然而,较大的T1和较大的T2会减少簇头节点的数量。

b) 簇形成:在上一阶段完成簇的形成后,基站向当前轮次中被选为簇头节点的所有节点广播一条消息,并通过节点ID通知每个节点其簇头角色。随后,最终当选的簇头节点广播包含其ID的消息,非簇头节点根据从簇头接收到的信号强度和强度选择距离最近的簇头作为其所属簇。然后,非簇头节点通过向簇头发送JOIN‐CH消息来宣布其在相应簇中的成员身份。簇头节点随后根据其簇内节点的数量创建TDMA时序表,并将分配给每个节点的时隙发送给它们。该调度在每轮中仅创建一次,所有网络节点均按照相同的过程相对于所选出的簇头节点完成聚类。

5.1.2. 稳态阶段:

此阶段与LEACH协议完全相似,其中每个非簇头节点仅在其簇头先前分配的时隙内将其信息传输给其对应的簇头。成员节点仅在此阶段保持唤醒状态,在向簇头发送信息后即返回睡眠模式。然而,簇头节点始终保持唤醒以接收其成员节点的信息,并且每个节点在单轮中仅向其对应的簇头发送一个数据包。此阶段完成后,当前轮次即视为结束,新一轮开始。FSFLA协议的运行阶段、每轮的划分方式以及各节点的时间安排如图2所示。FSFLA协议在各个运行阶段的操作流程图简要展示于图3中。

5.2. FSFLA模因模糊聚类协议

模糊系统和模糊逻辑由扎德于1994年首次提出[43],
示意图0
示意图1
示意图2
示意图3
示意图4
示意图5
示意图6 时,节点n的邻域级别。)
示意图7
示意图8
示意图9
示意图10
示意图11
示意图12 为每条j规则生成一个随机解。例如,每条规则j以0.5的概率在模因字符串中保留,以0.15的概率减少或增加1个单位,以0.1的概率减少或增加2个单位。)
示意图13

能够通过专家知识进行决策并控制系统。它们被广泛应用于复杂环境中的关系建模,或在系统没有明确模型的情况下使用。这些系统根据输入的数量及其结果进行决策并得出结论。模糊集是一组被称为域和隶属函数的实数值范围。隶属函数将[0, 1]之间的整数值映射到模糊集域中的一个点。在本文提出的FSFLA协议中采用模糊系统的主要原因是为了对模糊输出做出决策,该输出决定了节点在某一轮次成为簇头的能力。例如,若一个具有高能量水平的传感器节点位于网络的偏远位置,则其他传感器需要消耗大量能量才能将信息发送至该节点。在另一方面,一个传感器可能距离基站较远,但其邻近区域有适当数量的节点。然而在此场景下,如果该节点已担任簇头过多轮次,其能量水平会降低,若再次被选为簇头,则可能导致该传感器过早耗尽能量。因此,本文提出的FSFLA协议强调采用模糊系统,因为仅在某一个参数上具有合适值的节点未必适合作为簇头。为此,该协议尝试利用模糊推理系统,根据具体应用,在影响节点成为候选簇头能力的各项因素之间进行权衡。根据图4,FSFLA协议中使用的模糊系统包含四个部分:1)输入数据归一化;2)模糊化;3)模糊推理引擎;4)去模糊化。如图4所示,每个节点n有四个输入模糊变量,分别为剩余能量I1E^t(n)、到基站的距离I2dist(n)、邻近节点数量I3nigh^(t)(n)以及节点历史I4hist^t(n)。

1) 输入数据的归一化 :归一化是一种将属于不同域的数据放置到同一域的方法。换句话说,输入变量的数值可能来自不同的范围或域,因此,与数值较小的变量相比,数值较大的变量可能对目标函数产生显著更大的影响。通过归一化输入数据可以解决此问题,使其数值位于相同的域内。归一化可以使用公式(16)进行。因此,所有清晰输入变量均位于[0, 1],[44]内。

$$
v’ = \frac{v - C_{min}}{C_{max} - C_{min}} \times (new_{max_C} - new_{min_C}) + new_{min_C}
$$
(16)

假设maxc和minc分别为某输入的最大值和最小值。归一化将输入C的最大值v映射到范围[newmaxC −newminC]内的一个值v′,其中newmaxC和 newminC 在本例中分别为0和1。v可以表示任何输入变量,包括剩余能量、到基站的距离、邻近节点数量和节点历史。

2) 模糊化 :模糊化将每个清晰输入映射到相应的模糊集,为每个模糊集分配一个整数值,即隶属度。

3) 模糊推理系统 :该部分包含规则库和不同的推理方法,用于处理模糊化后的数值。规则库包含一组通过语言变量将输入模糊变量与输出模糊变量关联起来的规则。每条规则使用模糊集、隐含的 AND/OR模糊算子等进行描述。在本文提出的FSFLA协议中,模糊规则根据具体应用采用SFLA优化算法进行优化。FSFLA协议的推理引擎所采用的模糊系统为Mamdani型,并使用AND算子进行蕴含[45]。这是一种简单的基于规则的方法,不涉及复杂的计算,利用IF‐THEN规则来控制系统。第一个输入有5个隶属函数,其余3个输入各有3个隶属函数。因此,这4个输入的IF‐THEN模糊规则的数量设定为135条。

4) 去模糊化 :该部分负责通过对模糊解空间进行去模糊化,从模糊解空间中返回一个精确输出。在本文提出的FSFLA协议中,根据各个输入触发部分模糊规则。因此,采用质心法进行去模糊化,如公式(17)所示:[46, 47],,其中x(j)是每个4个输入在其相应隶属函数中的隶属度的最小值或乘积,在jth条规则中。u(x(j))是第jth条规则中输出隶属函数中心的值,其中∀ j ∈{1,2,3,…,135}。Out_crisp^t (n)是第t轮中节点n的去模糊化输出,用于确定该节点成为簇头的能力。

$$
Out_{crisp}^t(n) = \frac{\sum_{j=1}^{Rules} x(j) \cdot u(x(j))}{\sum_{j=1}^{Rules} u(x(j))}
$$
(17)

5.3. FSFLA协议模糊系统中的输入变量

第一个输入 :I1 E^t(n)表示在第t轮中节点n的剩余能量。该参数之所以重要,是因为剩余能量较高的节点更有可能被选为簇头,从而能够以更长的持续时间来交换更多信息以及更长的网络生命周期。所有节点的剩余能量在开始时相似,并持续根据上一节所述的能耗模型,随着节点参与活动,能量消耗逐渐降低。由于其重要性,该参数考虑了5个三角隶属函数,分别表示语言变量非常低、低、中等、高和非常高,如图5所示。

第二个输入 :I2dist(n)表示在第t轮中节点n与基站之间的距离。然而,由于在FSFLA协议中节点和基站是固定的,因此对于给定节点而言,该距离在所有轮次中均为常数,并可根据每个节点的欧几里得距离进行计算。此参数非常重要,因为如果选择距离基站较近的节点作为簇头,则相应消耗的能量更少。如图6所示,针对该参数考虑了三个表示语言变量低、中、高的三角隶属函数。

第三个输入 :I3nigh^t (n)表示第t轮中节点n的邻近节点数量,每轮中每个节点根据由公式(13)和(14)中的两个阈值T1和T2确定的邻域半径进行计算。该第三个输入也称为节点度。此参数的重要性在于,具有较多邻居的节点更有可能成为簇头,因为这有助于最小化整个簇内传输距离。另一方面,该输入变量的值越大,非簇头节点的能量消耗也越高。I3nigh^t (n)的计算如下:

$$
I3_{nigh}^t(n) = \alpha_1 N_1(n) + \alpha_2 N_2(n) + \alpha_3 N_3(n)
$$
(18)

$$
\alpha_1 > \alpha_2 > \alpha_3
$$
(19)

在公式(18)中,α1、α2和α3是节点n的三个邻域层级,使得α1和α3分别为最高和最低的重要层级。除了优化曼达尼模糊规则库外,本文提出的方法中的FSFLA协议所采用的SFLA离线优化算法还根据网络条件和应用,在网络运行开始之前确定并存储三个参数α1、α2和α3在其变化范围内。N1到N3分别是半径R1和R2范围内的邻近节点数量。根据图7,R1包含节点n在第一邻域层级的邻居,这些邻居与节点的距离为T1;R2包含位于第一和第二邻域层级之间、半径(T1+ T2)为⁄ 2 到R3范围内的邻居;其中T1和T2分别为公式(13)和公式(14)中簇头之间的最小距离和簇头与其簇内节点之间的最大距离。通常情况下,Ni(n)表示节点n在所有三个邻域层级内的节点总数,如公式(20)所示。

$$
N_i(n) = \sum_{j=1}^{N} X_i(n, j)
$$
(20)

其中,N是存活节点的总数,i是邻域层级的数量,n是计算其邻域半径的节点,j是存活节点中的一个成员。因此,N1可根据公式(21)表示,其中X1是半径R1内的节点总数,D(n, j)是节点n和j之间的欧几里得距离。如果一个节点位于该半径内,则赋值为1,否则为0。

$$
N_1(n) =
\begin{cases}
1, & \text{if } D(n, j) \leq R_1 \
0, & \text{otherwise}
\end{cases}
$$
(21)

对于N2,二级邻近节点(即位于半径R1和R2之间的那些节点)根据公式(22)进行计算。如果一个节点位于此范围内,则其值被赋为1,否则为0。

$$
N_2(n) =
\begin{cases}
1, & \text{if } R_1 < D(n, j) \leq R_2 \
0, & \text{otherwise}
\end{cases}
$$
(22)

对于N3,第三级邻近节点(即位于半径R2和R3之间的那些节点)根据公式(23)进行计算。如果一个节点位于此范围内,则其值被赋为1,否则为0。在计算完所有三个层级的节点数量后,使用公式(18)计算给定范围内以及三个半径层级内的节点数量。此外,第三个模糊输入I3nigh^t(n)由SFLA优化算法根据每个邻域层级的显著性系数为每个节点计算得出。

$$
N_3(n) =
\begin{cases}
1, & \text{if } R_2 < D(n, j) \leq R_3 \
0, & \text{otherwise}
\end{cases}
$$
(23)

其中,根据图6,该输入考虑了3个表示语言变量低、中、高的三角隶属函数。需要指出的是,由于该输入在某种程度上与T1和T2相关,因此可以根据每个应用按比例获得邻近节点数量。

第四输入 :I4hist^t(n)是节点n在第t轮的历史。该参数与节点担任簇头角色的轮次相关。显然,一个节点担任簇头的轮次越多,其在新一轮中被选为簇头的可能性就越低,因为它承受了更高的工作负载并消耗了更多的能量。因此,该节点在下一轮中应更倾向于不成为簇头。这一机制使得网络节点在不同轮次中的能量消耗更加均匀。因此,第四模糊输入I4hist^t(n),即节点n在第t轮的历史,表示为:

$$
I4_{hist}^t(n) = \lambda H^{t-1}(n) + \lambda^2 H^{t-2}(n) + \lambda^3 H^{t-3}(n) + \cdots + \lambda^r H^{t-r}(n)
$$
(24)

其中t是当前轮次的编号,t − 1是前一轮的编号,t − r表示前r轮中的轮次编号。λ是节点历史系数,用于确定每个轮次对每个节点的重要性。与前面章节中解释的三个邻域半径系数类似,该参数连同Mamdani模糊规则库一起,在网络操作开始之前,仅由本文提出的方法FSFLA协议中的SFLA算法根据网络应用和条件优化一次。优化算法确定的λ值越大,较近的聚类轮次相比更远的轮次具有更高的重要性,反之亦然。久远之前的轮次重要性较低,因为该区域节点的平均能量水平已经下降并接近所考虑节点的能量水平。节点n的项Ht−r(n)根据公式(25)表示,其值为0或1。如果某个节点在之前的t − r轮中曾担任过簇头,则赋予其值1,否则为0。

$$
H^{t-r}(n) =
\begin{cases}
1, & \text{if node n was selected as a CH in Round } t-r \
0, & \text{otherwise}
\end{cases}
$$
(25)

该参数考虑了三个三角隶属函数,以表示如图6所示的语言变量高、中等和低。

去模糊化输出 :Out_crisp^t (n)是第t轮中节点n的去模糊化输出。该输出值越大,节点成为最终簇头的能力越高。具有最高模糊输出的节点将被确定选为簇头。若模糊输出值较低的节点与当前已选出的其他簇头之间的最小距离大于T1(公式(13)),且其与未来成员普通节点之间的最大距离小于T2(公式(14)),则这些节点也可能成为簇头。为了实现更好的灵活性,根据图8对模糊输出设置了9个隶属函数,以表示“非常低”、“低”、“偏低”、“低中”、“中等”、“高中”、“偏高”、“高”和“非常高”这些语言变量。

6. FSFLA模因模糊聚类协议的优化

本文提出的FSFLA协议的主要优势在于其能够利用模糊系统针对不同应用进行优化,并调整模糊规则库以及所采用的参数,从而根据具体应用获得最佳性能和寿命。所有这些调整仅在开始网络操作之前离线执行一次。本研究采用了模因蛙跳跃算法[48, 49]用于优化Mamdani模糊规则库并调整FSFLA协议中的5个可控参数。FSFLA协议的优化流程图如图9所示。

6.1. SFLA算法简要概述

尤苏夫和兰西于2003年提出的SFLA算法,即混合蛙跳算法(SFLA),是一种受青蛙觅食行为的自然模因学启发而产生的基于种群的搜索算法[49, 50]。模因是文化进化的单位,反映局部文化变革的程度。在优化领域中,模因代表一种学习策略。在SFLA优化算法中,青蛙被视为模因的宿主,并由模因向量表示。每个模因包含多个模因型。类似于遗传算法[51]中代表染色体特征的基因,模因型是信念的表示。SFLA不会改变种群中青蛙的物理特性,而是逐步修改它们的信念。青蛙可以交换信息并修改自身的模因。每只青蛙的变异水平通过改进模因而调整,从而改变每只青蛙的位置。因此,SFLA使用粒子群优化(PSO)[52, 53]作为局部搜索和进行竞争的工具。此外,它使用SCE算法[54]来整合来自局部搜索的信息,以朝着全局解移动。一组虚拟青蛙构成一个种群。初始种群被划分为称为模因池的子群。每个模因池可被视为具有相似文化、遵循相同目标的一组青蛙。模因池中的青蛙同时交换信息,并朝着它们的共同目标前进。青蛙变异改进了每个个体所携带的模因,并提高了个体在实现目标过程中的局部搜索效率。在其他青蛙的影响下,每个模因池中的个体青蛙可能经历模因进化。在模因进化阶段重复一定次数后,模因池之间通过交叉过程交换信息。在交叉过程中,模因受到不同模因池中青蛙的影响,其质量得到提升。只要满足特定的收敛准则,局部搜索和交叉过程就会持续进行。本研究将代数视为收敛准则。SFLA的伪代码如图10所示。已证明SFLA具有全局收敛性。一些研究人员研究了其收敛性以及算法参数对其性能的影响。结合随机算法的全局收敛准则,在[55]中分析了SFLA的收敛性能。在[56]中分析了基于局部正交交叉算子的SFLA主要参数的影响。此外,在[57]中通过马尔可夫链理论证明了SFLA的收敛性。

6.2. 基于SFLA的自动规则调优问题定义

SFLA算法对模糊规则库及5个可控参数进行优化。如前所述,考虑到I1 E^t(n)、I2 dist (n)、I3 nigh^t (n)和I4 hist^t (n)这4个输入,并假设第一个输入具有非常低、低、中等、高和非常高共5个隶属函数,其余3个输入各具有低、中等和高共3个隶属函数,因此共有135条模糊规则。模糊IF‐THEN规则的数量基于AND算子确定。在考虑5个可控参数的情况下获得SFLA优化算法的一个可行解,这5个可控参数包括:来自公式(18)的三个邻域半径系数α1、α2和α3,来自公式(11)的候选节点能量阈值β,以及来自公式(24)的轮次显著性系数λ。如图11所示,该解由包含140个模因型的字符串组成,其中135个与模糊规则相关联。这135个模因型中的每一个均可取自集合{1, 2, 3, …, 9}中的一个数值,分别代表语言变量“非常低”、“低”、“偏低”、“低中”、“中等”、“高中”、“偏高”、“高”和“非常高”的可能输出。第136至140号模因型则与参数α1、α2、α3、β和λ相关联。这些参数的取值范围分别为[1, 1],[0.7、0.95],[0.4、0.65],对应于α1、α2和α3,步长精度为0.05,使得α1 > α2 > α3。参数β在[0.5, 1]范围内变化,步长精度为0.01;λ在[0.2、0.5]范围内变化,步长精度为0.01。图12展示了根据图11所示解对模糊规则优化的可行解进行解码的过程。

$$
\alpha_1 = 1, \alpha_2 = 0.7: 0.05: 0.95, \alpha_3 = 0.4: 0.05: 0.65
$$
(26)

$$
\beta = 0.5: 0.01: 1, \lambda = 0.2: 0.01: 0.5
$$
(27)

6.3. FSFLA优化过程的初始种群生成

优化算法中初始种群的生成通常采用随机方式进行。然而,本研究利用由SFLA优化算法进行优化的模糊输入参数的特征来生成初始种群。考虑到输入参数的重要性,即剩余能量I1E(n)、与基站的距离I2dis(n)、邻近节点数量I3nigℎ(n)以及节点历史I4ℎist(n),本文努力根据能量的重要性及其对节点当选为簇头的直接影响,以及节点到基站距离的反向影响、邻近节点数量和节点历史在本文提出的FSFLA协议中的作用,来生成并构建初始种群。通过公式(28)生成的初始种群Sd(j)实际上是默认解。

$$
S_d(j) = \left\lceil \frac{NFMF_{out}}{NFMF_1 \times NFMF_2 \times NFMF_3 \times NFMF_4} \times (F_1(j) - 1) \times (F_2(j) - 1) \times (F_3(j) - 1) \times (F_4(j) - 1) \right\rceil
$$
(28)

其中,Sd(j)是jth规则的默认解,⌈。⌉是一个向上取整到第一个较大整数的运算符。ini F(j)等同于Ii F(j),表示第jth条规则中为模糊输入所考虑的隶属函数数量。第一个输入即剩余能量,包含5个隶属函数,对应语言变量为非常低、低、中等、高和非常高。此外,所有其他输入均包含3个隶属函数:低、中等和高,如公式(29)所示。NFMFi是第i个输入模糊隶属函数的数量。第一个模糊输入的隶属函数数量为5,而其余3个输入各包含3个隶属函数,如公式(30)所示。NFMFout是输出模糊隶属函数的数量,共包含9个输出隶属函数,分别为非常低、低、偏低、低中、中等、高中、偏高、高和非常高。

$$
F_i(j) =
\begin{cases}
1, 2, 3, 4, 5, & \text{if } i = 1 \
1, 2, 3, & \text{if } i = 2, 3, 4
\end{cases}
$$
(29)

$$
NFMF_i =
\begin{cases}
5, & \text{if } i = 1 \
3, & \text{if } i = 2, 3, 4
\end{cases}
$$
(30)

$$
NFMF_{out} = 9
$$
(31)

$$
\forall j \in Rules = {1, 2, 3, …, 135}
$$
(32)

创建默认解后,S d(j)和Sinitial (j),每个规则j的随机初始解i将通过轮盘赌方法从以下概率函数中随机计算得出。基于默认解为每个j规则生成随机解的过程如图13所示。

$$
S_{initial}(j) =
\begin{cases}
S_d(j) - 2, & \text{if } R \leq 0.1 \
S_d(j) - 1, & \text{if } 0.1 < R \leq 0.25 \
S_d(j), & \text{if } 0.25 < R \leq 0.75 \
S_d(j) + 1, & \text{if } 0.75 < R \leq 0.9 \
S_d(j) + 2, & \text{if } 0.9 < R \leq 1
\end{cases}
$$
(33)

在公式(33)中,R是范围为[0, 1]内的一个均匀随机数。换句话说,根据图13和公式(33),jth规则Sd(j)的默认解以0.5的概率保持不变,以0.15的概率增加或减少1个单位。例如,根据图13,假设jth memotype中的一个可行解为3。因此,从3减少1个单位后,该解落入低范围;从3增加1个单位后,该解落入低中范围。以0.1的概率,该对于jth规则(Sd(j))的默认解减少或增加2个单位,如果解超出范围,则将其调整回范围内。因此,初始种群由初始解计算得出,该初始解包含140个模因型,基于某些参数特性的知识,并对与模糊规则相关的135个单元进行轻微的随机变动得到。因此,初始解根据135条模糊规则、Mamdani的AND算子、5个可控参数、与第三个模糊输入相关的公式(18)中的三个邻域层级α1、α2和α3、公式(11)中的能量阈值参数β以及第四个模糊输入的节点历史λ在公式(24)中生成。这5个参数的初始值在其取值范围内随机选取。因此,FSFLA协议的初始种群得以生成,从而提高了SFLA算法的精度和收敛速度。

6.4. 目标函数的定义

本文提出的用于优化FSFLA协议的多目标函数包含六个目标项,均需最大化。这些目标通过公式(34)中的加权平均方法组合成一个单目标函数。注意,该过程应用于模糊规则库及其5个可控参数。

$$
OF = w_1 \times FND + w_2 \times HND + w_3 \times LND + w_4 \times \frac{DataFND}{N} + w_5 \times \frac{DataHND}{N} + w_6 \times \frac{DataLND}{N}
$$
(34)

$$
\sum_{i=1}^{6} w_i = 1, \quad 0 \leq w_i \leq 1, \quad \forall i \in \partial, \partial = {1,2,3,4,5,6}
$$
(35)

鉴于SFLA旨在最小化目标函数,因此在本例中采用反向目标函数1/OF以实现最大化。SFLA中评估每个解的步骤如下:根据模糊输入生成默认种群,该解随后被转换为初始解,即SFLA的初始解。接着,基于触发规则和计算出的模糊输出确定簇头节点。然后,根据上述解构建并仿真无线传感器网络。针对同一解计算目标函数,其中无线传感器网络中第一个节点死亡、半数节点死亡以及所有节点死亡时所处的轮次分别作为FND、HND和LND参数的数值。N为节点总数,DataFND/N实际上是网络中每个节点在达到FND之前发送至基站的平均数据包数量。该参数的意义在于,在某些协议中,FND发生的轮次可能相同,但我们在意的FND发生前接收的数据包数量却不同。DataHND/N是每个节点在达到HND之前成功传输到基站的平均数据包数量。由于HND在许多应用中的重要性,该参数对目标函数也具有重要意义。DataLND/N是每个节点在达到LND之前传输到基站的平均数据包数量。需要强调的是,节点数量(N)用于在公式(34)的多目标函数中平衡六个目标的值。公式(34)中的权重w1到w6是六个常数参数,用于调节整体多目标函数中六个目标项的相对重要性。这些权重应以如下方式设定:∑ wq 6 q=1 = 1。应根据应用需求调整这些权重。例如,在需要高精度的敏感型应用(如医疗监控)中,FND后网络无效。在这种情况下,只有FND参数具有重要性,目标函数的权重可设置为w1 = 1和w2 = w3 = w4 = w5 = w6 = 0。另一方面,对于较低敏感度的应用(如农业环境监测),其中网络在至少特定比例的节点存活时仍有效,可根据应用需求中各参数的重要程度来调整这六个权重。因此,通过根据应用需求设定目标函数,可以对模糊规则以及FSFLA的五个可控参数进行优化。值得一提的是,公式(34)中提出的目标函数是用于所提方法验证的一个典型函数。更具体地说,可以根据应用需求定义其他任何目标函数(代替公式(34))。

7. 复杂度分析

7.1. FSFLA的复杂度分析

本节研究了所提出的FSFLA协议在聚类过程中消息的复杂度。通常情况下,存在N个存活节点,其中仅对能量水平高于某一阈值的节点执行模糊计算。在初始情况下,比较次数为O(N),簇头节点由模糊系统选出。该阶段的复杂度等于O(N × Nj),其中Nj为模糊规则数量。此外,在本文提出的FSFLA协议中交换以下四种消息类型:
1. 基站发送给簇头节点的通知消息,用于告知它们在当前轮次中的簇头角色。此类消息的数量等于簇头节点或簇的数量。对于Z个簇,其时间复杂度为O(Z)。
2. 簇头节点发送给其成员节点的通知消息,命令它们加入与其距离最小的簇头。此类消息的数量等于存活节点数量N,其复杂度为O(N)。
3. 成员节点发送给各自簇头节点的JOIN‐CH消息,表示已加入该簇头。消息数量为 N − Z ,其复杂度为O(N)。
4. 簇头节点发送给其成员节点以通知TDMA时间调度的消息。此类消息的数量等于存活节点数量,其时间复杂度为O(N)。

总体而言,本文提出的方法FSFLA协议的聚类复杂度为:

$$
O(N \times Nj) = O(N \times Nj)
$$
(36)

最终简化为O(N × Nj),由于簇的数量Z小于节点数量N,因此可以忽略不计。

7.2. FSFLA优化过程的复杂度

在SFLA算法中,初始种群包含两个部分,即F= Q × M,其中青蛙数量被定义为维度Q的M个模因组。因此,初始种群的复杂度为O(popM ×popQ)。此外,SFLA算法中的迭代次数为IterationSFLA,在每次网络的完整仿真中,所有种群成员对目标函数的评估次数等于迭代次数。换句话说,在SFLA中,应针对每个解和每个种群成员计算目标函数。因此,使用本文提出的FSFLA协议及其聚类过程在整个网络生命周期内进行网络完整仿真的时间复杂度等于O(N ×Nj)× LND。由于五个可控参数由算法在给定范围内随机确定,其时间复杂度可忽略不计。因此,采用SFLA算法的FSFLA协议整个优化过程的时间复杂度为:

$$
O(pop_M \times pop_Q \times Iteration_{SFLA} \times N \times Nj \times LND)
$$
(37)

需要注意的是,模糊规则库的优化包含135条规则以及5个可控参数,共计140个优化参数。该优化过程在预处理阶段离线进行,并且在开始网络操作之前根据具体应用仅执行一次。因此,该优化过程的时间复杂度不会影响网络。然而,考虑到其优势在于能够针对特定应用优化模糊规则库和5个可控参数,并与手动调整过程相比,我们可以容忍这一时间复杂度,从而获得更长的网络生命周期。

8. 仿真设置

8.1. 网络场景

在本论文中,考虑了4种场景来评估所提出协议的性能,其示意图如图14所示。
a) 第一种场景:一个100m×100m的区域,内部署有100个传感器节点,在网络环境中均匀随机分布,基站位于其中心。
b) 第二种场景:与第一种场景类似,不同之处在于基站位于右上角坐标(100, 100)处。
c) 第三种场景:一个100m×100m的区域,内部署有100个传感器节点,手动分布四个角落的节点密度较高,且基站位于中心。
d) 第四种场景:与第三种场景类似,不同之处在于基站位于右上角坐标(100, 100)处。

8.2. 网络评估参数

在每个场景中,所有协议均基于以下因素进行评估:
1. 每轮的平均剩余能量:该参数表示网络节点的剩余能量,依据是每轮中存活且活跃的节点的平均剩余能量。在其图表中,斜率越大表示平均剩余能量越高。斜率为零表示所有网络节点均已死亡,且LND已发生。
2. 在整个网络寿命期间每轮基站接收到的数据包数量:根据此因素,可计算出在FND、HND和LND发生之前,簇头节点收集并发送到基站的数据包总数。该参数的重要性在于,两种协议可能在FND、HND或LND发生的时刻(即轮次)上相似,但截至该时间点,两种协议的节点传送到基站的数据包数量可能不同。
3. 每轮的存活节点数量:该参数确定每轮中存活且活跃的节点数量,据此可直观展示达到FND、HND和LND发生的时间。该参数非常重要,因为协议更长的寿命由以下三个因素决定:FND(首个节点死亡):第一个存活节点死亡的时间或轮次;HND(半数节点死亡):网络中一半节点死亡所达到的时间或轮次;LND(最后一个节点死亡):所有网络节点均已死亡的时间或轮次[20, 58]。
4. 所有轮次中的平均最大簇内距离:这表示所有轮次中各节点到其对应簇头节点的最大距离的均值。该值越大,成员节点与簇头节点通信所消耗的能量就越多。
5. 所有轮次中簇内距离的标准差(STD):该准则表示成员节点到其对应簇头节点的距离,并显示在所有轮次中所选节点位于中心的程度[41]。该参数的较低值意味着分布程度较小,即节点与其簇头节点之间的距离较短,且簇头节点位于中心位置。换句话说,簇更加紧凑。
6. 所有轮次中的平均簇内距离:这表示所有轮次中成员节点到其对应簇头节点的平均距离。对于给定协议,该距离越大,节点与其对应簇头节点通信所需的能量就越高。此外,它还表明了簇的大小。

8.3. 仿真设置

为了调整基于种群的SFLA优化算法的参数,评估了不同的数值并选择了最佳值。青蛙种群数量 f= M × Q确定为50,其中M为模因池数量,即5,Q为每个模因池的大小,即10。此外,SFLA算法中最大代数或迭代次数设为100。接下来遵循以下步骤,以调整目标函数,用于优化曼达尼模糊规则库以及5个可调参数,这些参数可根据具体应用进行优化。需要注意的是,在许多应用中,仅FND及某种程度上的HND较为重要,而达到LND并不重要。基于此,并根据具体应用,在调整目标函数公式(34)时,分别赋予FND、HND和LND对应的权重w1、w2和w3的值为0.5、0.2和0。此外,分别与DATAFND、DATAHND和DATALND相关的权重w4、w5和w6均设为0.1。这些权重中的每一个均可根据不同应用调整为所需的数值。在所提出的FSFLA协议中,使用SFLA优化算法进行优化后,5个可调参数(即从β、α1到α3和λ)的优化数值在表1中简要列出。计算公式(24)所用的连续轮次数设为10,之后信息将发生位移,新轮次按顺序替换旧轮次。公式(13)和(14)中的阈值参数T1和T2与簇头节点的最小距离以及成员节点到各自簇头的最大距离相关。这些参数可根据网络中所需的节点和簇的数量进行调整。由于网络尺寸对确定这些参数的适当值具有影响,因此在上述场景中将合适的参数值设为T1=12和T2=3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值