研究文章|开放获取
县内曹,小朱, ”加速的算法使用多个核心网络寿命最大化”,无线通信和移动计算, 卷。2018年, 文章的ID3830285, 12 页面, 2018年。 https://doi.org/10.1155/2018/3830285
加速的算法使用多个核心网络寿命最大化
文摘
最大限度地提高无线传感器网络的生命周期是np困难,和现有的精确算法在指数运行时间。这些算法隐含地只使用一个CPU核心。在这项工作中,我们建议使用多个CPU核加快计算速度。关键是要把问题分解成独立的子问题,然后解决问题同时在不同的核心。我们提出三种分解方法。其中两个是基于这样一种观念,树不包含周期,第三是基于概念,在任何树,最多有一个父节点。模拟一个8核的桌面电脑上显示我们的方法能显著加速现有的算法。
1。介绍
在无线传感器网络中,每个传感器节点只有一个有限的能量。当一个节点发送或接收消息时,它会消耗相应的能量。因此,节点的数量的交通影响节点可以工作多长时间,进而决定了网络的生命周期。为此,寻找路由树变长寿命是一个关键的问题,这是np困难(1]。回想一下,算法能保证找到最优路由树被称为具体的算法。很明显,除非P = NP,一生的所有具体算法最大化问题没有多项式时间算法。
事实上,所有现有的精确算法运行在指数时间1- - - - - -3]。一个简单的方法是进行穷举搜索的解空间(例如,2])。这个过程可以提高在搜索过程中动态消除非最优解决方案(1),或集成快速整数线性规划解决(3]。然而,这些隐式算法只使用一个CPU核心和不使用当前多核CPU的全部潜力。事实上,大多数计算机,甚至智能手机,配有多个核心。
在这个工作,而不是设计一个新的算法,我们考虑加速现有的精确算法,利用多核cpu他们的潜能。基本思想是将问题分解成独立的子问题,然后解决它们在不同核心使用现有的精确算法。面临的挑战是如何分解问题。我们提出三种分解方法对不同的具体算法。第一个是基于事实,树不包含(无向)周期,所以我们可以将网络分成子网每当我们遇到一个无向周期。这种方法适用于所有算法,认为网络是一个无向图或一个有向图。第二个是基于直接循环,和网络划分每当我们找到一个定向循环。第三是基于每个节点只有一个父节点,所以网络划分根据给定节点不同家长的选择。第二个和第三个方法适用于算法,把网络当作一个有向图。
我们的贡献可以列举如下:(1)我们考虑使用当前的多核电脑加速现有的算法。该方法适用于所有的算法基于一个CPU核心。(2)我们提出三个问题分解方法。这些方法可以将问题分解成子问题,可以解决在不同的内核使用任何精确的算法。我们也提出一个解决的子问题的公开信息的机制来帮助解决其他的子问题。(3)我们实现我们的方法在一个8核台式电脑进行数值模拟。结果表明,在一般情况下,该方法可以减少现有的经验时间精确算法,尤其是当问题规模很大。
剩下的纸是组织如下。部分2评审相关工作。部分3评论的定义问题,提出了一个解决方案框架。部分4提出了三种分解方法。部分5讨论了几个问题。部分6给出了数值模拟结果。最后,部分7总结了纸。
2。相关的工作
找到消息的路由路径寿命最大化是无线传感器网络的一个关键问题(例如,1- - - - - -3,5- - - - - -7])。不幸的是,它是np困难,在多数情况下当节点可以或不能执行数据聚合。研究人员采取多项式时间近似算法通过牺牲准确性(例如,8]),或指数时间精确算法通过牺牲运行时间(例如,1,3])。虽然两种算法有重要的应用,我们专注于精确算法。
一个简单的方法是枚举所有生成树(2),一个非常可怜的运行时间。为了提高效率,1]底层网络图分解成双连通子图规模减少的问题。技术的限制是不工作的时候已经双连通图。文献[3)提出将图像分解与整数线性规划。基本思想是将图像分解成双连通子图,制定问题在每个子图作为一个整数线性规划问题,这是解决一个整数线性规划求解器进行求解。除了路由、能源效率等其他场合下也被认为是抗压sensing-based加密(9和充电传感器网络10]。
摘要与这些作品相反,我们的工作着重于如何使用多核在当前电脑他们的潜能。提出的方法与现有的精确算法可以合并。尽管在无线传感器网络中使用多核的概念并不新鲜,现有工作不关注我们的问题。例如,[11)利用GPU加速寿命仿真中的核心传感器节点,和[12多核传感器节点的硬件设计。
3所示。一个框架使用多核
我们首先检查问题,然后介绍解决方案框架。一个传感器网络包含传感器节点 , 和一个水槽节点 。定期每个传感器节点感知环境,生成一个数据包在每一个时期。它需要将数据包发送到汇聚节点。网络可以表示成一个无向图 ,在那里组节点和吗通信链路的集合。传感器节点有初始能量和水槽节点初始能量无限;也就是说, 。接收消息的能源消耗和传输消息 。对于任何树 扎根在水槽,在每个时期,节点的能量消耗是 ,在那里节点的后代的数量吗在树 。节点的生命周期在树轮的数量可以支持,直到耗尽的能量: 树的一生是最小的节点生命周期;也就是说, 寿命最大化问题是要找到一个一生最大的树。它已被证明是np难1]。
在这项工作中,我们假定一个操作系统不执行自动多核优化;也就是说,a single thread program can use at most one CPU core. To this end, we perform a simple experiment as follows. We run a dead loop program on two computers, one of which has 4 cores and the other has 8 cores. Both computers are equipped with the Windows operating system. The CPU utilization ratio is roughly 25% on the 4-core computer and is about 13% on the 8-core computer, which is consistent with our assumption. Note that if there are multiple threads, then the operating system will distribute the threads on different cores automatically.
3.1。问题分解概述
我们提出了一套可行的解决方案的寿命最大化问题作为它的解空间,即,集树指着水槽。较小的子问题是一辈子最大化问题解空间。基本的想法是找到一组子问题的解空间包含至少一个最优的解决方案。一种分解方法可行的如果满足三个条件。(我)每个子问题是可行的;也就是说,each subproblem contains at least one feasible solution.(2)至少两个子问题返回,除非原来的问题只有一个可行的解决方案;也就是说,the original network graph is itself a tree.(3)的所有子问题的解空间包含至少一个原问题最优解。
图1说明了基本思想。考虑到一个问题,我们应用一个可行的分解方法得到一组子问题。然后我们同时解决这些子问题,比较了子问题的最优解,并选择最好的一个,这是原问题的最优解。
3.2。生成足够数量的子问题
上述框架是一个挑战,一个可行的分解方法可能不会产生足够数量的子问题。例如,一个分解方法可能只给两个子问题。为此,我们观察到顺序结合几种可行的分解方法分解结果在一个可行的方法。
命题1。假设和有两个可行的分解方法。应用上一个问题 ,和让子问题的集合 。如果我们申请在子问题 并得到子问题集 ,然后解决方案的结合空间的子问题包含至少一个最优解的问题 。
证明。注意,子问题的最优解包含在解决方案空间的 ,所以它可以取代 。
因此,我们可以反复适用可行的分解方法,直到子问题的数量是充分的。算法1给出了详细的过程。
|
||||||||||||||||||||||||||||
在算法1后,初始化一个变量来存储最终的子问题集(1),我们应用可行的分解方法,得到子问题集(2)。我们将保证和整个算法是不相交的,包含至少一个原问题最优解。如果子问题的数量不足,也就是说, ,我们将删除一个子问题从(4)和应用来另一组子问题然而,在(5)。可能只包含一个次要问题,例如,什么时候已经是一个树。在这种情况下,我们将插入来(7)保持一致。否则,我们包括来 。重复上述过程,直到子问题的数量是足够的是空的。最后,我们将剩下的所有元素来 。
定理2。算法1是一个可行的分解方法。它会叫为最多时候,所需数量的子问题。在终止,要么 或每个子问题的解空间仅仅是一个有向树指着水槽。
证明。发现算法1是一个可行的分解方法,观察到所有子问题顺序得到应用
。结果从命题遵循1。
调用的数量
,考虑到势函数
。很容易看到
在while循环
在最后的迭代。我们声称增加了1在每个迭代中,显示调用的数量最多是
。
为了证明这一说法,观察,while循环的每次迭代增加
通过至少一个或增加
由一个。一方面,如果线(9)执行,那么
至少是2,那么
增加了至少一个和吗
是不变的。另一方面,如果线(7)执行,那么
是增加了一个,所以呢
是不变的。因此,是增加了一个。索赔证明。
最后一部分,如果
,那么我们就做完了。否则,while循环终止
。在这种情况下,所有的元素包括(7),所以这些子问题不能进一步划分,这意味着解空间树只包含一个直接指向下沉。
这个定理表明,当是一个常数,算法1有一样的渐近运行时间给定的方法吗 。节4,我们将提出几个可行的分解方法。这些方法作为子程序的算法1生成足够数量的子问题。
3.3。在多核并行求解子问题
简单的方法是创建线程的数量等于子问题的数量。每个线程调用一个精确的算法在子问题。那么操作系统将自动调度的线程可用的CPU核心。不幸的是,这种方法有几个缺点。
首先,如果子问题的数量大于核的数量,那么存在一个核心的多个线程正在运行。这些线程在不必要的核心竞争,浪费宝贵的CPU时间。第二,如果子问题的数量必须小于或等于核的数量,然后有些核浪费如果他们的线程终止。第三,独立子问题得到解决,所以,解决一个子问题不能帮助解决其他问题。例如,如果一个解决了子问题的解决方案与一生100,那么对于其他未解决的子问题,我们不应该浪费时间寻找解决方案减少了一生。
为了解决这些局限性,我们为核心创建一个线程,这样线程上创建一个计算机CPU核心。每个线程反复执行以下三个操作,直到所有的子问题都解决了。(我)检索一个尚未解决的问题,最好的解决方案。(2)上调用一个精确的算法与最佳解决方案到目前为止尚未解决的子问题的一个下界。(3)马克的子问题解决,和更新最好的解决方案。
图2显示了该框架的改变,尚未解决的子问题的求解子问题提供反馈。相反独立求解的子问题,我们维持当前尚未解决的子问题最好的解决方案,减少不必要的重新计算。
我们可以看到,这种方法没有上述限制。首先,由于线程的数量等于处理器的数量,没有两个线程在同一核心竞争。其次,CPU核都充分利用,因为它们将继续运行,直到所有的子问题都解决了。第三,当一个线程试图解决子问题,它将检索解决的子问题的状态,例如,当前的最佳解决方案的生命周期,这将有助于减少不必要的计算。
4所示。三种可行的分解方法
我们提出三种分解方法基于不同的观察。首先,树不包含无向周期。其次,树不包含周期。第三,一个节点只有一个父在一个有向树。
4.1。通过打破无向循环分解
这种方法适用于无向图。观察到一个可行的解决方案寿命最大化问题是一棵树,那么任何可行的解决方案不能包含一个循环。我们的方法的基本思想是找到一个无向周期和创建子问题打破这个循环,即。一次,删除一个边缘。每个分解子问题包含一个边缘小于原来的问题。图3给出一个示例。通过打破循环 我们得到三个子问题 , ,和 。注意,将该方法应用于有向图需要轻微的修改。
一个设计问题是决定哪些打破循环。我们建议选择包含最小边数的周期。动机是生成少量的子问题在每一个时间,这样的子问题总数可以控制更容易当调用算法1。我们将讨论这个动力部分5。
算法2我们的方法。我们首先使用的算法(13)找到一个最小周期(1)。然后,在线路(2)-(5),我们创建子问题的数量等于循环的边的数量。每个子问题是通过删除一个边缘的周期。
|
||||||||||||||||
定理3。算法2是一个可行的分解方法。它运行在时间,边的数量和吗是顶点的数量。
证明。很容易验证前两个条件,一个可行的分解方法感到满意,因为周期包含至少三条边。第三个条件,我们最初的问题和构造的子问题
删除对应的边
。让问题的解空间
。我们要求更强的结果
为了证明这一点,考虑任意可行解问题
,也就是说,
。因为是一棵树,它不能包含所有边缘的周期。假设它不包含
。然后,
。立即索赔之前。
算法的运行时间,注意,在13)运行在时间。发现循环包含最多边,所以for循环迭代。由于构造子问题可以完成时间,for循环中运行时间。整体运行时间
。
4.2。通过打破定向循环分解
当网络图,我们可以看到,没有解决方案包含一个周期。因此,我们首先找到一个有向循环和创建子问题通过移除一个边缘的周期。我们选择的最小周期创建子问题,子问题的总数可以更好的控制。图4给出一个示例。在这个问题中,我们可以打破循环ABCA三个子问题。
这种方法的一个问题是,有可能存在子问题,不包含任何可行的解决原来的问题。例如,在图4,如果我们考虑到周期BCDB,那么子问题通过消除边缘DB不包含一个可行的解决方案因为没有路径连接D到水槽里。为了解决这个问题,我们检查每个子问题的可行性和删除不可行。如果只有一个可行的子问题,然后从子问题我们发现导演的周期。自一个边缘被移除,子问题包含边缘比原来少的问题;这个过程将终止。
算法3介绍了分解方法。我们首先检查是否图形本身是一个树。如果它是一棵树,我们立即返回图(1)。否则,我们发现一个有向循环最小数量的边缘。如果不存在直接循环,那么至少存在一个顶点的出度大于1。我们确定这样一个顶点和所有它的边缘插入(4)。然后,我们构建子问题通过移除一个边缘线(6)- (11)。不同的算法2,我们需要验证是否所构造的子问题是可行的。这是通过扭转方向的边缘和执行一个广度优先搜索从水槽(8)。子问题是可行的,当且仅当所有顶点都访问了。如果子问题是可行的,我们将其存储在线(11)。最后,如果我们只能得到一个可行的子问题,然后递归地调用算法3让子问题(13)和(14)。否则,我们返回一致的(16)。
|
||||||||||||||||||||||||||||||||||||||
定理4。算法3是一个可行的分解方法。它运行在时间。
证明。考虑算法的递归树3。如果最后一个叫算法3(即。,the leaf node in the recursion tree) returns in line (1), then the original problem contains exactly one feasible solution. If it returns in line (16), then at least two feasible subproblems are returned. Similar to the proof of Theorem3,这些子问题解空间的联盟包含至少一个原始问题的最优解。算法是一种可行的分解方法。
运行时间,线(2)算法3运行在时间。观察到线(3)-(11)中运行时间。所以,除了递归调用(14),其余的算法运行在时间。考虑算法的递归树。因为每个调用算法删除至少一个输入图像的边缘线(7)有边缘,递归树的深度
。因此,整体运行时间
。
4.3。通过修复父节点分解
观察一个节点除了水槽有一个家长在一个有向树。因此,给定一个节点,我们可以创建子问题通过保持一个边缘修复母公司和删除其他边缘。图5给出一个示例。顶点有三个边指向节点 , ,和 ,所以我们可以构造三个子问题 , ,和 ,的父是固定的, , ,和 ,分别。
两个问题需要解决。首先,子问题可能不是可行的。这类似于部分4.2,我们还可以引入验证步骤去除不可行的子问题。例如在图5,如果水槽,那么我们不能消除边缘 ,因为产生的子问题是不可行的。第二,我们需要考虑选择哪个节点。我们建议选择最低的节点初始能量。这是基于节点的直觉更少的能量通常是网络的生命周期的瓶颈。
算法4介绍了方法。我们按升序排序节点初始能量(2)一致。我们将考虑节点按此顺序一个接一个((3)-(4)行)。对于每个节点,我们访问它的边缘,构造子问题通过保持一个边缘和删除其他线(6),基本上解决了节点的父节点的路由树。检查是否产生的子问题是可行的,我们扭转方向的边缘和执行一个广度优先搜索从水槽(7)一致。子问题是可行的,当且仅当所有顶点都访问了。如果子问题是可行的,我们包括子问题集(1)。在这两种情况下,我们继续考虑下一个节点,直到为空或至少包含两个子问题。
|
||||||||||||||||||||||||||
定理5。算法4是一个可行的分解方法,它运行在吗时间。
证明。算法4如果终止为空或包含至少两个可行的子问题。在第一种情况下,最初的问题包含一个可行的解决方案。在第二种情况下,至少有两个可行的子问题返回并很容易证明,这些子问题解空间的联盟包含至少一个原问题最优解。算法是一种可行的分解方法。
运行时间,排序节点(2)中运行时间。观察到,在最坏的情况下,每条边将检查一次(5),和线(6)-(10)中运行次,所以while循环运行时间。整体运行时间
。
5。讨论
在本节中,我们分析了整体算法的运行时间和讨论几个相关的问题。
引理6。假设有子问题和内核。然后,存在一个核心来解决 子问题。
证明。它遵循从鸽子洞原理。
合并算法1三种分解方法,即。,decomposition by breaking undirected cycle, decomposition by breaking directed cycle, and decomposition by fixing the parent, gives three algorithms, which are denoted by UnCycle, DCycle, and FixP.
定理7。让 是最坏的一个精确的算法的运行时间包含解决一个问题导演的边缘和顶点,子问题的数量,是CPU核的数量。有下面的结果。(我)UnCycle运行在 时间。(2)DCycle运行在 时间。(3)FixP运行在 时间。
证明。观察到每一个算法的运行时间由两部分组成,其中之一就是将问题分成子问题,另一个是求解子问题。第一部分是一个单线程程序,,下面的定理2它的运行时间乘以相应的分解方法的运行时间。由于定理3,4,5,UnCycle运行时间是第一部分
,对于DCycle是
,这对FixP
。
第二部分使用核心解决子问题。由引理6存在一个核心,解决了
子问题。考虑这个核心。我们可以看到,当这个核心完成计算
子问题,没有子问题离开了。(否则,这个核心应该捡起另一子问题来解决)。这表明,其他核心已经终止或计算最后的子问题。因此,运行时间是最多的时间计算
子问题。UnCycle包含进一步注意,每个子问题
在DCycle包含边缘,每个子问题
边,每个子问题在FixP包含最多
边缘。这个定理立即跟随。
注意,这个定理研究最坏的运行时间。尽管与DCycle FixP似乎有相同的复杂性,每个子问题的边缘FixP通常不到 。
另一个关心我们的方法是相同的树可能由不同的子问题,以便计算是浪费。UnCycle和DCycle确实是如此。然而,这种情况只有在两个子问题被解决在不同核心同时,因为如果他们解决了顺序,然后解决尚未解决的子问题的子问题提供反馈,消除冗余树。这种机制如图2。因为子问题是小于最初的问题,我们发现使用多个核心不会增加运行时间。此外,FixP的冗余计算问题是不存在的。FixP不同子问题的,至少一个节点有不同的父母由于分解方法。因此,它是不可能的两个子问题产生相同的树。
在本文中,我们考虑为网络构建一个树。如果允许多个树。,the network uses a different routing tree after some time, then the overall lifetime can be further extended. The drawback of this approach is that sensor nodes need to perform complex operations, e.g., either to record multiple routing paths in memory to change parents periodically or to receive commands from the network periodically. We plan to extend our result to this scenario in the future.
最后,我们讨论的动机在UnCycle找到最小周期和最低DCycle定向循环。有几个原因。理想情况下,我们应该找到一个周期的长度这样我们就能把问题分成子问题,由用户提供。然而,这个问题是np难解决。看到这,只需注意这个问题包含了哈密顿路径问题作为一种特殊的情况下(当t = n)。我们不能另一个指数时间算法得到所需的周期。相反,找到一个最小循环或循环具有任意长度可以在多项式时间内完成。为此,我们需要使用算法1所需数量的子问题。如果我们分解图,发现了一个周期的任意长度(例如,通过执行DFS搜索得到任意周期),那么很可能子问题的数量可能比 。相反,通过寻找最小长度的循环,我们得到了小粒度,每次我们添加几个子问题的子问题。一个额外的好处是,产生的子问题可以通过多次调用分解方法,所以它有更少的边缘。
6。模拟
我们把我们的方法与以前的单线程方法随机生成的传感器网络。传感器是均匀和随机分布 广场,和水槽节点位于中心。两个节点可以接收消息互相当且仅当他们的距离不大于20米。因此,图本质上是一个单位圆盘图。图6显示了一个这样的网络与41节点。每个节点有其初始能量均匀来自 。接收和发送消息的能源消耗 和 ,分别。这些设置是一致的与那些在1,3]。我们使用Java语言程序算法和运行在桌面电脑配置表中列出1。
|
||||||||||||||||||||||||||
我们实现该分解方法生成子问题包括分解打破无向周期(UnCycle),通过打破定向循环(DCycle)分解,分解的修复父(FixP)。我们认为网络 节点,每个节点数,我们生成20网络实例,因此,有120个问题的实例。我们不同子问题的数量从8到20的增量4。注意,如果子问题的数量是固定的,然后不执行分解。我们设置了最大允许运行时间10分钟,之后我们终止算法和网络标记为失败的算法。我们实现前两个算法:ILP-B使用整数线性规划与二进制搜索(1]和ILP-BD改善ILP-B通过添加一个过程网络图分解成双连通子图(3]。
6.1。性能改进ILP-B
我们研究的改进我们的方法ILP-B的平均运行时间。图7显示了结果。当子问题的数量是1,我们的方法不适用,结果对应于原算法。请注意,我们不考虑问题实例,没有算法可以在十分钟内解决。除了这些网络,我们近似算法的运行时间问题实例十分钟如果不能得到最优解。我们还将研究这个近似的效果。
(一)UnCycle
(b) DCycle
(c) FixP
我们有两个观测图。首先,我们的方法可以显著降低平均运行时间。这是符合直觉,因为所有CPU核心。第二,当子问题的数量是小(8)或大(20),平均运行时间并不是最小的。我们得到较小的运行时间在子问题的数量是12或16。当子问题的数量很小,大多数子问题仍然非常类似于最初的问题。但是当我们得到太多的子问题,尽管大多数子问题更简单,更有可能的是,我们遇到一个困难的子问题。的确,在寿命最大化问题,小问题大小不是一个更少的运行时间的保证。因此,我们建议将子问题的数量在CPU核数量的两倍。
我们表明,近似解决实例的运行时间是十分钟的关系是合理的,不同的算法的运行时间是相同的在这种近似。为此,我们改变的最大允许运行时间从2分钟到十分钟的增量2分钟。图9显示了生成的网络包含46个节点的平均运行时间。我们可以看到,最大允许运行时间的增加,平均运行时间增加以来尚未解决的问题实例运行时间由于近似作出更大贡献。然而,不同算法之间的关系是相同的;也就是说,FixPhas the smallest average running time in all cases, DCycle has the second smallest average running time, and so forth. Therefore, we believe the approximation is reasonable.
6.2。性能改进ILP-BD
研究了改善ILP-BD问题实例在相同的部分6.1。我们不考虑问题实例如果所有配置无法解决它。图8显示了结果。结果是相似的。
(一)UnCycle
(b) DCycle
(c) FixP
我们可以看到,我们的方法大大降低了平均运行时间。改进的节点数量变大时更重要。子问题的数量设置为12或16给出了运行时间小于8到20。注意,这是不公平的比较ILP-BD ILP-B使用数字7和8,因为这个问题实例中使用这两种方法的平均运行时间计算是不同的。事实上,ILP-BD可以解决更多的问题实例,所以一些解决困难的问题实例增加平均运行时间。
6.3。性能改进的数量没有网络
除了平均运行时间,我们表明,没有网络的数量是我们的方法小。数据10和11显示没有网络的数量ILP-B和ILP-BD每个分解方法的算法。注意,我们省略的结果与30至35节点网络,因为所有的方法可以解决所有的问题实例在十分钟内。我们可以看到,我们的方法可以解决网络比以前的单线程的方法。改善网络包含多个节点时更明显。此外,比ILP-B ILP-BD可以解决更多的问题实例,我们的方法可以进一步提高ILP-BD显著。
6.4。表现一个真实的网络
我们测试算法在一个真正的网络报道(4]。49的网络由传感器节点部署在一个 网格。相邻列之间的距离大约是5米。两个节点相连的边,如果接收到的信号强度至少是-74分贝,网络拓扑如图12。我们运行我们的算法与ILB-BD网络和在表显示每个方法的运行时间2。我们可以看到,使用多个核心确实可以减少运行时间。原来的单线程程序大约需要3分钟,FixP终止在不到1秒。
|
||||||||||||||||||||||
7所示。结论
在本文中,我们提出了使用多核,加快现有精确算法寻找最佳路由树的无线传感器网络。基本思想是将原始问题分解成多个子问题和在不同的CPU内核上运行它们。我们提出三种分解方法并证明其正确性。数值结果表明,三种方法可以显著加快计算的平均运行时间和解决问题的数量。
数据可用性
使用的数据来支持本研究的发现可以从相应的作者。
的利益冲突
作者宣称没有利益冲突。
确认
这项工作得到了国家自然科学基金(61502232)和中国博士后科学基金会(2015 m570445 2016 t90457)。
引用
- 吴x, x, g·陈,“一个确切的最大生命周期数据收集树没有聚合算法在无线传感器网络中,“无线网络,21卷,不。1,第295 - 281页,2015。视图:出版商的网站|谷歌学术搜索
- 毛y, z,美国法米,n . b .鉴定”建设最大生命周期数据采集森林在传感器网络中,“IEEE / ACM交易网络,18卷,不。5,1571 - 1584年,2010页。视图:出版商的网站|谷歌学术搜索
- 朱马x, x,陈,“精确算法使用整数线性规划,最大化网络寿命”学报2017年IEEE无线通信和网络会议(WCNC)旧金山,页1 - 6、钙、美国,2017年3月。视图:出版商的网站|谷歌学术搜索
- z钟和t .他“RSD为:指标实现range-free定位连接之外,“IEEE并行和分布式系统,22卷,不。11日,第1951 - 1943页,2011年。视图:出版商的网站|谷歌学术搜索
- d·m·山g . Chen罗朱x,和吴x,“建筑最大寿命最短路径在无线传感器网络数据聚合树,”ACM传感器网络交易,11卷,不。1,2014。视图:谷歌学术搜索
- A·h·哈布Makhoul, d . Laiymani贾比尔,“周期性的传感器网络基于距离的数据聚合技术,”ACM传感器网络交易,13卷,不。4、2017。视图:谷歌学术搜索
- l .徐朱x h·戴,吴x,和g·陈,“向energy-fairness广播调度的最小延迟low-duty-cycle传感器网络,”计算机通信卷,75年,第96 - 81页,2016年。视图:出版商的网站|谷歌学术搜索
- x朱、g . Chen唐,吴x,和陈,“快速近似算法最大一生聚合树的无线传感器网络,”通知杂志上计算,28卷,不。3、417 - 431年,2016页。视图:出版商的网站|谷歌学术搜索|MathSciNet
- 问:j . Wu梁,b . Zhang,吴x,“通过压缩感知在无线传感器网络的安全,”第三国际会议的程序通信、信号处理和系统卷,322课堂讲稿电气工程77年,页69 -施普林格国际出版,2015年。视图:出版商的网站|谷歌学术搜索
- b . t . Liu吴,吴h . j .彭”低成本大规模的无线传感器网络协同移动收费,“IEEE移动计算,16卷,不。8,2213 - 2227年,2017页。视图:出版商的网站|谷歌学术搜索
- m . Lounis a . Bounceur a . Laga Pottier b,“基于gpu的并行计算无线传感器网络的能源消耗”诉讼的欧洲网络与通信、会议(EuCNC 15)联邦铁路局,页290 - 295年,2015年7月。视图:谷歌学术搜索
- a·姆尼尔a Gordon-Ross,蓝卡,“多核嵌入式无线传感器网络:体系结构和应用程序,”IEEE并行和分布式系统,25卷,不。6,1553 - 1562年,2014页。视图:出版商的网站|谷歌学术搜索
- a . Itai和m . Rodeh”找到一个最小电路图形,”暹罗杂志上计算,7卷,不。4、413 - 423年,1978页。视图:出版商的网站|谷歌学术搜索|MathSciNet
版权
版权©2018曹鹏远和小朱。这是一个开放的分布式下文章知识共享归属许可,它允许无限制的使用、分配和复制在任何媒介,提供最初的工作是正确引用。