分布算法

2024-07-24

分布算法(共11篇)

分布算法 篇1

0引言

随着移动互联网技术,传感器技术的持续发展,越来越多的企业和部门开始拥有大量具有潜在价值的数据。由于数据挖掘技术能够挖掘出数据中蕴含的潜在价值,因此成为科学界的研究热点并在各行各业不断得到运用,例如商业经营、生产控制和工程设计等。近年来,关联规则挖掘逐渐成为数据挖掘领域的一个新的研究热点,主要致力于从大型数据库或数据仓库中挖掘项目间的关联关系。在关联规则挖掘中,频繁项集挖掘居于首要地位。传统单机的频繁项集挖掘方法,例如Apriori算法[1]、Fp-growth算法[1]和基于矩阵的挖掘算法等,在对小规模数据挖掘具有良好的性能。然而,当挖掘数据达到一定规模时候,这些算法的效率迅速降低,甚至可能由于受限于计算机内存和CPU的计算能力导致无法进行有效地分析挖掘。

因此,学者们开始试图使用并行计算技术来解决大规模数据中的频繁项集挖掘问题。Otey等[4]和Md Golam Kaosar等[5]运用并行计算框架MPI挖掘频繁项集。尽管MPI在迭代计算方面具有一定的优势,但它具有2个方面的缺点: 1) 通信负载高。由于算法的输入数据是集中存储在一台计算机节点上,因此挖掘过程中需要花费大量时间进行节点间的交换数据。2) 无故障容错机制。当程序运行过程中出现错误,整个程序必须重新开始计算。此外,也有部分学者提出基于MapReduce框架的频繁项集挖掘算法。借助于Apache Hadoop[6],一种开源的可扩展的分布式系统基础架构( 内嵌了MapReduce计算框架) ,使得研究人员易于接近并运用MapReudce框架。这些基于Ma- pReduce框架的频繁项集挖掘算法可分为2类: 1 ) 基于传统FP-Growth算法的非迭代式分布式算法。 如Li等[7]和Chen等[8]在MapReduce框架下实现分布式算法。由于非迭代式分布式算法经常出现负载不均衡,导致需要额外的时间成本,甚至某些计算节点可能出现内存溢出。2) 迭代式分布式算法。算法主要是基于传统的Apriori算法思想,如Woo[9]和Lin等[10]分别提出了分布式的基于MapReduce的Apriori算法。然而,这些算法仅仅关注于如何去实现传统Apriori算法的分布式算法,并未对传统算法进一步改进,进而实现分布式运算。

由于MapReduce框架下的迭代计算需要不断反复地从HDFS( Hadoop Distributed File System) 读写数据,从而带来了很高的I/O负载和时间成本,因此MapReduce框架并不适用于迭代计算。相比之下,Apache Spark是一种基于内存的分布式计算框架。它创新性地引入了弹性分布式数据集( RDD)[12]。RDD是一种具有容错机制的特殊的数据集合,它分布在各个集群节点上,可以以函数式编程方式对它操作。借助于RDD,Spark可重复使用中间的计算结果( 可存储于集群的内存中,除非集群内存不足时存储于磁盘上) ,从而很大程度上提高迭代计算效率。因此,Spark在处理迭代式计算方面具有卓越的性能。

综上所述,一方面,由于传统单机的频繁挖掘算法并不适合大规模数据的挖掘,本文将运用分布式算法解决面向大规模数据的关联规则挖掘问题。考虑到分布式算法中存在负载均衡问题和MapReduce框架的在处理迭代计算时的低效率,本文采用基于Spark的频繁项集挖掘算法。另一方面,本文对传统Aprio- ri算法进行改进,进一步提高分布式算法的运行效率。因此,本文提出基于Spark的分布式频繁项集挖掘算法,通过对传统Apriori算法的改进,并结合Spark框架实现分布式运算。实验结果显示了本算法相比于基于MapReduce算法在运行效率和扩展性方面均有很大的提升。

1相关概念

1. 1 Apache Spark

Apache Spark在2009年由加州大学伯克利分校AMPLab推出的一种开源的分布式内存计算框架。基于Spark的迭代算法,例如PageRank算法和K-means算法等,执行速度能够达到相比于MapReduce框架下执行速度的十倍以上。也正是由于执行迭代计算的优越性能,使得Spark在2013年进入Apache孵化器,并在2014年成为Apache软件基金会的顶级项目。

RDD是Spark框架的核心组成成分,是一种只读的、不可变的数据集,可由Hadoop文件系统中的文件来创建或者由其他RDD转换得到。每个RDD都包含有一组分区,对父RDD的一组依赖关系( 这些依赖描述了RDD的血统关系) ,以及一个函数( 用来说明在父RDD上执行何种计算得到本RDD) 等信息。 利用RDD之间的依赖关系,Spark可实现与MapReduce一样的数据恢复和故障容错机制。

1. 2频繁项集挖掘和传统Apriori算法

频繁项集挖掘的目的是找出给定数据集中挖掘出所有的频繁项集。现假设I = { I1,I2,…,Im} 是一个由m种不重复项组成的集合; D是数据库事务的集合,其中每条事务T是一个非空项集,使得T  I 。每个事务都有一个唯一个标识符TID。任何一个项集都是项集I的子集,并且当这个项集由k种不同项目组成时,我们称为频繁k项集。设X是一个项集,它的支持数等于在数据库D中包含项集X的事务的总条数。如果X的支持数大于等于最小支持数阈值,那么X是一个频繁项集。

传统的Apriori算法主要步骤是:

( 1) 扫描数据库D ,计算每个项的支持数,得到频繁1项集的集合;

( 2) 连接步: 为了找出Lk +1,通过将Lk与自身连接产生Ck +1, 其中Lk为频繁k项集的集合,Ck +1为候选( k + 1) 项集的集合;

( 3) 剪枝步: 由于任何非频繁的k项集一定不是频繁( k + 1) 项集的子集,所以当一个候选( k + 1) 项集的k项子集不在Lk中,那么这个候选( k + 1) 项集不可能是频繁项集,通过这个先验性质实现对Ck +1进行剪枝;

( 4) 扫描数据集,确定Ck +1中每个候选候选( k + 1) 项集的支持数,从而获得所有的频繁( k + 1) 项集;

( 5) 通过重复步骤( 2) - 步骤( 4) ,直到不再产生频繁Lk +1( k ≥ 2) 项集。

因此,可以看出传统Apriori算法主要存在两个方面的缺点: 多次扫描数据集和产生大量的候选集。

2基于Spark的分布式频繁项集挖掘算法

2. 1相关定义与性质

设I = { I1,I2,…,Im} 是一个由m种不同项组成的集合; 数据库D由n条事务T = { T1,T2,…,Tn} 组成,事务均是项集I的子集。

定义1项集I中项目Ii( i = 1,2,…,m) ,获得对应每条事务的布尔向量为其中,因此项目Ii的支持数为其对应布尔向量Vi中 “1”的个数 。

定义2对于任意一个项集Q = { Io,Ip,…,Iq} ,项集Q的支持数为Vo∩ Vp∩ … ∩ Vq中所包含“1”的个数,其中“∩ ”是逻辑与运算符。

性质1频繁项集的非空子集均是频繁项集。因此当X是数据库的一个频繁( k + 1) 项集,那么数据集中频繁k项集的个数至少为k + 1个。

2. 2基于Spark的分布式频繁项集挖掘算法

首先,FIMBS算法通过对传统Apriori算法的缺陷进行了改进,避免了重复扫描数据库,同时大幅度减少了候选项集的个数,提高了算法的执行时间。其次,考虑到Spark在处理迭代计算时具有卓越的性能,FIMBS算法最终在Spark框架实现。

FIMBS算法的主要分为2个步骤,假设给定的最小支持数为 ε :

步骤1扫描数据集,得到频繁1项集数组、存储频繁1项集及其布尔向量的Hash Map1中和另一个存储频繁2项集的Hash Map2。基于Spark框架下,步骤1的具体流程见图1。

1) 将频繁1项集的存储数组arr和以key为项目,value为该项目所对应的布尔向量以key/value对形式存储的Hash Map结构。

首先,我们从Hadoop的分布式文件系统HDFS上读取输入数据,创建HadoopRDD,并对HadoopRDD调用flat Map函数,得到一个包含数据集中所有的项目的Flat MappedRDD。其次,对Flat MappedRDD调用map函数,从而把Flat MappedRDD中项目Ii( i = 1,2,…,m) 转换成元组形式( Ii,1) ,从而获得一个Map- pedRDD。对MappedRDD调用reduce By Key函数,计算每一个项目Ii的支持数,并继续调用filter函数,过滤出支持数小于 ε 的项,得到整个频繁1项集。对这些频繁1项集按支持数升序排列存放于数组arr中。最后,根据定义1,可得到每个频繁1项集的布尔向量,并以key/value对形式存储于Hash Map1中。

2) 运用1) 中求得的Hash Map1和存储频繁1项集的数组arr,计算得到存储频繁2项集的Hash Map2。Hash Map2中的key为频繁1项集,这里假设为Ii,value也为一个Hash Map结构,对于与项目Ii不同的项目,当它可以与Ii组成频繁2项集时,取key为这个项目,value为这个频繁2项集的支持数; 此外,另取一个key为Ii,value为支持数小于等于Ii,并且可以与Ii组成频繁2项集的项目总个数,假设这个value值为v,那么Ii最多能与支持数小于等于v的项目构成频繁( v + 1) 项集。

步骤2根据频繁k项集得到频繁( k + 1) 项集,其中k ≥ 2。设Lk为频繁k项集的集合,| Lk| 为频繁k项集的总个数。

首先,由性质1得到,如果| Lk| ≥ k + 1,那么数据集中存在频繁( k + 1) 项集,否则不存在频繁( k + 1) 项集。当存在频繁( k + 1) 项集时,对于Lk中每一个频繁k项集,这里以频繁k项集F为例说明,对F按项目的支持数进行升序排列后,取出F中第一个项目Ifirst和最后一个项目Ilast。根据步骤1中得到的存储频繁2项集的Hash Map2,对于每一个可与Ilast构成频繁2项集的项目I'( 存储于Hash Map2中以key为项目Ilast所对应的value中) ,如果Hash Map2中key为项目I' 所对应的value中,项目I' 对应的支持数大于等于k,并且项目I' 可以与项目Ifirst构成频繁2项集,则频繁k项集F加上项目I' 可构成候选( k + 1) 项集,并扫描位于内存中的原始数据集,得到候选( k + 1) 项集的支持数, 当支持数大于等于 ε 时,候选( k + 1) 项集是频繁( k + 1) 项集。

重复步骤1和步骤2,直到不再产生频繁Lk +1( k ≥2) 项集。

2. 3算法设计的相关细节

首先,由于步骤1中存在一些RDD在整个程序运行中需要被重复使用,因此为了提高程序的执行效率,对这些RDD调用cache函数,将它们保存于集群的内存中,使得后面的计算能够重复使用这些RDD,避免再次计算得到这些RDD。例如步骤1中用来保存输入数据集的HadoopRDD,这个RDD在计算每个项目的布尔向量时需要被重复使用,还有用来保存频繁k( k ≥ 2) 项集的RDD,需要重复使用这个RDD来计算得到频繁( k + 1) 项集。

除此以外,对于在多个任务中重复使用的某些变量,本文采用广播变量形式。广播变量允许程序员将一个变量缓存到集群中的每一个计算节点上,而非为每个任务保存一份拷贝。也就是说,通过广播变量可以给每个结点缓存一个只读变量,从而使得节点上的所有任务均可以使用这个变量。在本程序中一些变量,例如对于key为频繁1项集,value为该项目所对应的布尔向量的key/value对形式存储的Hash Map1,存储频繁1项集的数组arr和用来存储频繁2项集的Hash Map2,我们均采用广播变量的形式,提高算法执行效率。

3实验结果与分析

本文为了测试FIMBS算法的时间效率和扩展性,我们将FIMBS算法与基于MapReduce的Apriori算法做对比分析。其中,FIMBS算法由Scala语言编写并在Spark1. 0. 2环境下运行算法,基于MapReduce的Apriori算法由Java语言编写并在Ha- doop2. 2环境下运行算法。

3. 1实验环境与数据集

实验的集群平台由8个计算机节点组成。每个计算机节点的配置为: Centos 7. 0、Intel Core i5-4440M CPU 3. 1 GHz、内存16 GB和1 T硬盘。 实验所采用的测试数据集是经典数据集T10I4D100K和T40I10D100K,同时为了测试算法在大规模数据下运行效果,本文将T40I10D100K数据集复制80倍,具体见表1所示。

3. 2算法执行效率与扩展性实验

首先,验证FIMBS算法相比于基于MapReduce的Apriori算法具有更好的时间效率。本文在Spark集群中节点的数量固定为8的情况下,比较不同数据集在不同的支持度( 支持数除以数据集中总的事务数) 时,2种算法各自的执行时间,具体见图2至图4。

图2至图4中坐标轴的X轴表示支持度,Y轴为算法的执行时间。对于任意一个实验数据集,在不同支持度的情况下, FIMBS算法的执行效率至少是基于MapReduce的Apriori算法的5倍。除此以外,随着支持度的增加,FIMBS的执行时间相比于基于MapReduce的Apriori算法执行时间的下降幅度更大。 另外,当支持度为0. 4和0. 5时,算法的执行时间几乎保持不变,主要是由于此时算法的执行时间主要是用于I/O开销。因此,可以看出,在相同数据集的情况下,MapReduce框架的I/O开销大于Spark框架的I/O开销。所以FIMBS比基于MapRe- duce的Apriori算法具有更优秀的时间效率。

其次,采用数据集T10I4D100K验证FIMBS算法的扩展性。 本文固定支持度为5% ,并逐步增加Spark集群的计算节点数, 观察FIMBS算法的执行时间与集群计算节点数的关系。

图5中坐标轴的X轴表示Spark集群节点数,Y轴为算法的执行时间。根据图5,可以看出随着集群的计算节点数量的增加,FIMBS算法的执行时间近乎于线性下降。因此,FIMBS算法具有线性的扩展性。

4结语

本文针对大规模数据中的频繁项集挖掘问题,提出基于Spark的分布式频繁项集挖掘算法,取得了相比于基于MapRe- duce框架的Apriori算法更加优越的时间效率,并且具有线性扩展性。算法的具体特点如下:

( 1) 通过对传统频繁项集挖掘算法进行改进,避免了重复扫描数据库,大幅度减少了候选项集的个数,提高了算法的执行时间。

( 2) 利用Spark在处理迭代计算方面优越性能,大幅度提高了算法的执行时间。

Spark作为刚刚兴起来的计算框架,还需对其特性进行深入分析,这些特性将会有助于提高算法的性能,因此,在未来将进一步研究Spark框架下的新特性。

参考文献

[1]Chang R,Liu Z.An Improved Apriori Algorithm[C]//International Conference on Electronics and Optoelectronics,2011:221-224.

[2]Liu Zhenyu,Xu Weixiang,Liu Xumin.Efficiently Using Matrix in Mining Maximum Frequent Itemset[C]//Knowledge Discovery and Data Mining,2010:50-54.

[3]Liu Zhenyu,Xu Weixiang,Liu Xumin.Efficiently Using Matrix in Min-ing Maximum Frequent Itemset[C]//2010 Third International Conference on Knowledge Discovery and Data Mining,2010:50-54.

[4]Otey M E,Wang C,Parthasarathy S,et al.Mining Frequent Itemsets in Distributed and Dynamic Databases[C]//Data Mining,2003,ICDM2003.Third IEEE International Conference on IEEE,2003:617.

[5]Md Golam Kaosar,Xu Zhuojia,Yi Xun.Distributed Association Rule Mining with Minimum Communication Overhead[C]//Proc.of the 8th Australasian Data Mining Conference(Aus DM’09),2009:17-23.

[6]Dean J,Ghemawat S.Mapreduce:simplified data processing on large clusters[J].Operating Systems Design&Implementation,2004,51(1):147-152.

[7]Li Haoyuan,Wang Yi,Zhang Dong,et al.PFP:Parallel FP-Growth for Query Recommendation[C]//Proceedings of the 2008 ACM conference on Recommender systems,2008:107-114.

[8]Chen Xingshu,Zhang Shuai,Tong Tao,et al.FP-Growth Algorithm Based on Boolean Matrix and MapReduce[J].Journal of South China University of Technology,2014,42(1):135-141.

[9]Woo Jongwook.Apriori-Map/Reduce Algorithm[C]//The 2012 International Conference on Parallel and Distributed Processing Techniques and Applications(PDPTA),2012:16-19.

[10]Lin M Y,Lee P Y,Hsueh S C.Apriori-based frequent itemset mining algorithms on MapReduce[C]//Proc.ICUIMC,2012:26-30.

[11]Zaharia M.An architecture for fast and general data processing on large clusters[R].Technical Report No.UCB/EECS,2014.

[12]Zaharia M,Chowdhury M,Das T,et al.Resilient distributed datasets:a fault-tolerant abstraction for in-memory cluster computing[C]//Proceedings of Proceedings of the 9th USENIX conference on Networked Systems Design and Implementation,Berkeley,CA,USA:USENIX Association,2012.

分布算法 篇2

大量研究表明,凡符合教学规律的考试,其总体成绩应服从或接近服从正态分布,即成绩呈现中间多、两头少的`态势.对正态性分布的检验,文章采用了基于国家标准的爱泼斯一普利(Epps-Pulley)检验法.文章在此基础上提出了一种将成绩修正为正态分布的算法,可以在维持原始成绩的排名基础上调整成绩,使得它符合正态分布,即修正前后学生成绩排名没有改变.

作 者:郑月锋 邢春波 黄德才 朱凌 作者单位:郑月锋(浙江工业大学,成人教育学院,杭州,310032)

邢春波,黄德才,朱凌(浙江工业大学,信息工程学院,杭州,310032)

加速比在分布式演化算法中的研究 篇3

计算机的出现推动了人类在科学技术的各个领域的发展,这些发展反过来又向计算机提出了更高的要求。人类面临着许多被称之为“巨大挑战”(Grand Challenge)的问题有待于解决,例如,对生物遗传基因、气象预报、流体动力学、石油勘探、地震预测、新材料设计、环境污染以及海洋潮汐等领域的研究。这些问题涉及到科学发展的各个重要方面,包括未来人类的生存环境和当今科学技术的最前沿问题,代表了其它学科对计算机科学提出的巨大挑战。这些问题的解决无一例外地都需要高性能计算(high-performance computing,HPC),需要使用具有每秒万亿次浮点处理能力( FLOP)的计算机。实践证明,并行处理是提高计算性能、满足不断增长的应用需求的有效途径,然而,计算机要能够及时地计算出一个以五公里为网格的大气模型,至少要具备每秒20 万亿次浮点运算的能力。这对于目前的计算机来说,还是难以达到的。由此,科学研究领域正在越来越依赖于高性能计算,并行处理已经成为进一步提供高性能计算的有力手段。在大多数并行系统里面,加速比是并行程序的重要指标之一,它的大小直接反映并行算法的优劣。

二、分布式演化算法

在自然界,由于组成生物群体中各个体之间的差异,对所处环境有不同的适应和生存能力,遵照自然界生物进化的基本原则,适者生存、优胜劣汰,将要淘汰那些最差个体,通过交配将父本优秀的染色体和基因遗传给子代,通过染色体核基因的重新组合产生生命力更强的新的个体与由它们组成的新群体。在特定的条件下,基因会发生突变,产生新基因和生命力更强的新个体;但突变是非遗传的,随着个体不断更新,群体不断朝着最优方向进化,遗传算法是真实模拟自然界生物进化机制进行寻优的。

演化算法总是会过早趋向于收敛,故而需要加以改进。分布式演化算法就是在这种背景下产生的。在分布式演化算法中种群被分离成一些小的子群体,从而形成了隔离的物种。当收敛之后将一些个体从不同的子种群输入某一子种群,则带来一些新的基因构造块,同时迁移来的个体将对子群体的平均适应值带来很大的改变。这两个因素加在一起将诱导新物种形成,从而伴随着一个快速进化阶段。这样,使分布式演化算法能在一定程度上避免过早收敛的发生,从而可以提高解题的速度和质量。

三、加速比的引入

(一)并行加速比的概念

绝对加速比(Absolute Speedup):这个定义考虑的是一个问题用N个处理器来节到底能提高多快。它把最好的串行算法与并行算法进行比较。绝对加速比根据考虑或不考虑机器资源又分为两种情况,一种是机器依赖,另一种是机器独立。

第一种情况(机器依赖)

第二种情况(机器独立)

相对加速比(Relative Speedup)由于实际情况的限制,不存在最好的串行算法可供应用。可以将加速比定义为同一并行算法在单节点上运行时间与在多个节点构成的处理机系统上的运行时间相比。这种定义侧重于描述算法和并行计算机本身的可扩展性。

(二)并行加速比思想的精细化

最初,最基本的加速比的提出是为了确立一种无尺度、容易理解的度量并行计算机性能的手段。超流水线有时会产生非常高的加速比,但往往可能是因为非常低效的串行计算所导致,而并非像人们期望的那样,具有很高效的并行计算能力。一些导致串行计算低效的因素包括低效率的Cache 管理以及大数据规模的容量要求等等。

为了保持无尺度测量性能的优点,后来从最初的绝对加速比转为相对加速比(一个算法在单一处理器上执行时间比上在一系列处理器单元上执行的并行时间)的概念。这一系列处理机应该被固定,而且应该具有相似可类比的执行单元。(比如:相似的指令执行速率,相称的指令执行时间等等)

今后作为一种更为复杂的并行加速比模型的建立,它应该重点考虑那些导致并行计算低效率的主要因素:串行部分和有重复冗余的工作,相互间通信及其控制以及阻塞及其控制。这种模型应该允许并行算法的描述相对独立于系统结构,而不受限于具体机群系统的特征,加速比本身就是针对算法而言,并非针对某一个并行机系统,这点是非常值得重视的。例如,一个带有通信复杂度为P=O(P)的算法比起一个通信复杂度为P=O(P2)的算法就更具备可扩展性。这一点意味着前者可获得的最大加速比会更高,而且能够在一个大数量的处理器环境下得以维持。但是,即使这样高级别的描述也容易引起误解。例如,一个三维FFT算法具有通信复杂度P=O(P2),但是允许网络间的并行通信。这样一个算法可能会比一个复杂度是P=O(P),但是在通信方面严格遵循串行化的算法更加高效。

四、加速比数据分析

分布式演化计算其通信的时间开销与计算的时间开销相比是微不足道的,这就能保证采用分布式算法能够取得线性或者超线性的加速比。由于IGT算法已经能够求得小规模的TSP问题的最优解,所以试验时,在考虑现有的实验条件中机器结点的数量和配置的前提下,选取了chn144、ad198和lin318共3个TSP问题,用来计算分析分布式算法所能取得的加速比,根据加速比的定义,采用相对加速比能更好地反应出实验的准确性。

(一)对于chn144的加速比测定实验

演化参数:种群规模=100,临界速度=900,变异概率=0.02,映射概率=0.05,最大停止改变代数=200000,并行参数:进程数=16,迁移间隔=1000

(二)对于ad198的加速比测定实验

演化参数:种群规模=100,临界速度=900,变异概率=0.02,映射概率=0.05,最大停止改变代数=200000,并行参数:进程数=16,迁移间隔=5000

(三)对于lin318的加速比测定实验

演化参数:种群规模=100,临界速度=900,变异概率=0.02,映射概率=0.05,最大停止改变代数=200000,并行参数:进程数=16,迁移间隔=40000

(四)实验数据分析和总结

通过对上述三个数据处理表格的比较,验证了分布式演化算法并行处理能大大提高运行速度的预测的正确性,并且其加速比和节点数的比例大体一致,虽然所取节点数的个数较少,但可以粗略看出来并行演化算法可以取得大致的线性加速比。由于演化计算有很大的随机性和不可预测性,且实验的数据个别相差较大,特别当问题比较复杂时,运行相差的时间可能很大,它可能直接影响到平均值并不是最好的时间,进而进一步影响加速比。当然,影响加速比的因素还有很多:比如采用区域分割、拼接网络措施可以提高加速比;负载平衡对加速比也有较大的影响,平衡负载是提高并行效率比较直接有效的方法;网络规模也是影响加速比的一个重要参数,扩大网络规模可以提高加速比的值,本次设计采用的是局域网内的结点计算机,因而传输的速率比较快,为并行计算提供了优越条件。

五、小结

加速比是对分布式演化算法并行加速的在数据层面上的体现,同时对并行算法的理论研究具有重要的意义。本文实验在PVM平台下,通过对多个TSP问题在不同的节点机器数下进行测试,求出能得到的加速比。由于采用的是局域网,网络传输速率较快, 而且该算法是计算密集型的,在一定的迁徙间隔下通讯占用时间不会随宿主机的增加而显著增加,而是停留在一定的数量级上,所以并行算法在一定扩展范围内可以取得接近线性的加速比。同时影响加速比的因素还有很多,如负载平衡、网络规模以及迁移率和迁移间隔等参数,调整优化这些参数可以使算法效率进一步提高。

并行演化算法在很多领域起着重要的作用,通过设计更加优秀的并行算法,改善优化网络拓扑结构,提高并行计算的加速比,发挥巨大的威力,使其在各个领域中做出更大的贡献。

参考文献:

[1] Olssen P. and Johnson S. A data parallel implem station of an exp licit method for thethree dimension comprseeible N S equation. Parallel Computing, 1990

[2] Michalewicz Z How to Solve It--Modern Heuristick.Berlin Heidelberg:Springer-Verlag, 2000

[3] 沈志宇, 并行程序设计 长沙:国防科技大学出版社,1996

基于分类的分布式压缩感知算法 篇4

WSN的发展主要受到能量供应、数据传输速率等诸多条件的限制。其中,有效的、不可再生的能量供给是WSN的最大挑战。数据融合技术可以通过一定的算法将传感器节点采集到的大量原始数据进行各种网内处理,只将少量有意义的处理结果传输到汇聚节点。传统的数据融合方法包含了最短路径树(SPT)、分布式信源编码、基于小波变换的数据压缩等方法,但是他们还是不能有效的均衡负载和降低传输次数。

压缩感知(compressive sensing,CS)是近年来发展迅速的一个理论分支,是一种新的数据获取理论。该理论指出:对可压缩的信号可通过远低于Nyquist标准的方式进行数据采样,仍能够精确地恢复出原始信号。在CS理论框架下进行数据融合研究,能够显著降低数据传输量,大大提高网络感知效能。

然而,传统的应用于物联网中压缩感知方法是在汇聚节点得到所有节点的系数和,然后利用重构算法对整个网络中各节点的数据进行恢复,并没有考虑到网络节点的分布式的特性。因此,当网络拓扑较复杂时,应用压缩感知时数据需要传输的次数并不会低于利用SPT时数据需要传输的次数。在该文中,我们考构造了一种基于分类的分布式压缩感知算法,取得了理想的成果,并给出了具体的实验验证。

1 相关工作

压缩感知理论从2004年提出至今,得到了快速的发展。作为一个新生的理论,这方面的论文还主要侧重于理论上的证明和完善。经典的关于压缩感知方面的研究成果几乎都来自于欧美学者,但是他们对压缩感知的应用也仅限于图像处理等方面,并没有提出将其应用与物联网的完整构想。

2009年,随着压缩感知理论的完善,几位中国学者提出了一套将压缩感知应用于WSN的模型,揭开了压缩感知在物联网中应用的序幕。后来,随着研究的深入,又逐渐出现了分布式的压缩感知等对原有理论的改进。压缩感知在物联网中应用的研究已经越来越深入。

传统的WSN中压缩感知方法是在汇聚节点得到所有节点数据的加权和,然后利用重构算法对整个网络中各节点的数据进行恢复。但是当前的对压缩感知的研究仅限于数据仿真,并没有考虑到网络节点的分布式的特性。

当网络拓扑较复杂时,应用压缩感知时数据需要传输的次数并不会低于利用SPT时数据需要传输的次数。我们考虑如何将压缩感知技术更好的和网络节点的分布式结构相结合,使得该技术的更加符合物联网的需求。

2 分布式的压缩感知

考虑到WSN节点密集分布,以及节点有一定存储能力的特点,可进一步利用WSN中节点间感知数据的空间相关性研究分布式压缩感知DCS(Distributed Compressed Sensing)算法。该文所构造的,是一种运用于数据存在空间相关性的WSN中的基于分类的压缩感知。

2.1 分类思想的提出

我们知道,对于分布于室外环境中的无线传感器网络,在一定距离内的节点之间的数据具有一定的相关性,每个节点的数据都是由全局因素和局部因素的相互作用产生的。

如图1所示的网络中的传感器可能出于几个不同的局部环境中(如有的传感器可能在树林中,有的传感器可能在草地上),这样就造成了处于同一环境那个中的传感器节点的数据具有很大的相似度,而不同局部环境下的传感器节点数据则有一定的差距。但是,从整个网络来看,各局部环境的数据之间有存在某种关联。

因此,基于这样的事实,我们提出了基于分类的压缩感知。

2.2 基于分类的压缩感知

为了设计一个既体现空间相关性又体现空间局域性的分布式的测量算法,我们可以将网络内的邻近节点划分为一类,每一类分别进行测量,这就是我们的研究重点——基于分类的压缩感知。

在网络开始应用压缩感知算法之前,我们可以根据事先获得的一些先验知识(如空间上的相关性),将网络中的节点划分成为几类,每一类之间没有重叠。对于每一类,我们可以选取一个首节点,每一个类内部单独进行压缩感知过程的系数加权,加权和由该类的首节点传输给sink节点,sink节点在获得各加权和之后,分别对数据进行恢复,得到网络内所有节点的数据。

举一个简单的例子,如图2所示的树形拓扑结构中,我们把左边方框中的节点分为类1,把右边方框中的节点分为类2。节点1,2分别被选为这两类的首节点。在类一中,进行压缩感知,得到的加权和通过节点1传给sink节点,同样的,类2中的加权和通过节点2传给sink节点。最后,sink节点通过得到的两类的加权和恢复出这两类中各节点的数据,以获取整个网络的数据。

对于这一想法的细节的设计,我们先从如何设计各类的观测矩阵开始。首先,我们提出两种数据重构方式:独立重构和联合重构。假设我们构造了一系列的节点类,并且收集了每个类的局部数据。对于给定的分类方法,联合测量就是各类的数据重构采用相同的稀疏基,而独立重构是指各类采用不同的截取的稀疏基。

上式描述了一个分成两个大小相同的类的例子。当使用联合重构时,我们使用原始的稀疏基ψ,对两类的数据同时重构;但当使用独立重构时,第一类中的数据使用ψ1和ψ2进行重构,第二类中的数据使用ψ3和ψ4进行重构,这样各类数据分别重构,因此,当被分为C类时,就要进行C次重构。

由于我们对这一问题的研究也处于初始阶段,故当前对于较为复杂的拓扑结构,我们还无法设计一个较好的路由方式。因此,我们这一阶段的实验也还是对于问题的简化研究。

2.3 理论分析

在本小节,我们从理论上来说明基于分类的压缩感知能够减少网络中的数据传输次数。

假设网络中共有N各节点,将其分为C类,每一类包含的节点数分别为N1,N2,…,NC(其中N1+N2+…+NC)。当用传统的压缩感知时,汇聚节点共需得到M个加权和,总的数据传输次数是NM;当使用基于分类的压缩感知算法时,恢复每一类所需要的加权和的个数分别为M1,M2,…,MC,总的数据传输次数是N1M1+N2M2+…+NCMC。

由于分类以后,各类内部数据存在区域性,故稀疏度总和通常是低于原稀疏度,根据前面介绍的压缩感知的原理,我们可以得到M1+M2+…+MC

N1M1+N2M2+…+NCMC≤N(M1+M2+…+MC)

从上面的不等式我们容易看出,基于分类的压缩感知可以减少网络中的数据传输次数,从而降低网络的能耗,延长网络寿命。

然而基于分类的压缩感知效果是否会优于传统的压缩感知,我们无法直接做出理论上的判断,这就是我们下一步将要做的就是通过一些实验来验证我们的想法是否能够有更好的数据恢复效果。

2.4 实验分析

2.4.1 传统压缩感知和分类的压缩感知

实验是基于1024个节点数据的情况,我们的信号稀疏基采用FFT变换矩阵,传输矩阵采用高斯分布白噪声(后面的实验采用相同的节点数据等),测量次数为256。首先来看一下传统的压缩感知的数据恢复效果,如图3所示。

从图3中我们很清楚地看出,有些节点数据恢复效果并不好。

下面我们采用基于分类的压缩感知,将节点数据分为4类,并采用联合重构的方法,来对数据进行恢复,实验结果如图4所示。从图中我们可以看出,数据恢复的效果明显优于图3中的数据恢复效果。

通过这些对比,我们可以得出结论,基于分类的压缩感知在某些合理的分类以及测量方式的情况下,数据恢复的效果是优于传统的压缩感知的。在下面的进一步实验中,我们将探索何种的重构能够使效果达到最优。

2.4.2 联合重构和独立重构

我们的实验环境假设为一个有1024个节点的网络,并且数据传输都是无错传输的理想环境。为简化问题,我们的所有分类情况中,每个类中的节点数目是一样的。实验中节点分成相同数目的16类,分别采用联合重构和独立重构两种方法对数据进行恢复,并与原始的压缩感知方法做对比。我们以信噪比SNR作为衡量数据恢复精度的度量值,重复以上的实验多次,经过统计,我们可以得到如图5所示的实验结果。

图5中,横坐标是总的测量次数,纵坐标是恢复数据的信噪比。蓝色曲线是使用独立重构时的恢复效果,黑色曲线是使用联合重构时的效果,红色曲线是原始的压缩感知的恢复效果。我们可以看出使用联合重构的效果优于独立重构的效果,因此我们后面的实验一律采用联合重构的方法。同时,我们也可以看出来联合重构的恢复效果要优于原始的压缩感知,故我们的提出的基于分类的压缩感知是可行的。

数据的稀疏度决定于原始基。由于一个类的信息可影响其他类,从一个类中恢复出的信息有可能涵盖其他类的信息。当信息重叠越多时,由联合重构恢复出来的数据精确度就要高于独立重构。这就是产生上面的结果的原因。

2.4.3 分类数量的影响

确定了使用联合重构的方法,我们接下来要研究的事分类的数量对于恢复效果的影响。直观的来看,分类越多,我们的网络中所需要的传输次数就越少,但是恢复效果是否会更好呢?

我们的下面的实验仍然是基于256个节点的数据,考虑不同的分类数量时,对结果的影响。实验统计结果如图6所示。

图6中,黑色曲线代表分为4类时的数据恢复效果与测量次数的关系,红色曲线代表分为8类时的数据恢复效果与测量次数的关系,蓝色曲线代表分为16类时的数据恢复效果与测量次数的关系。从这些曲线我们可以看出并非分类越多,数据的恢复效果。相反地,当分类过多时,数据恢复效果反而变差。

这个结果并非是普适的情况,与网络所处的环境有很大的关系。当网络内数据联系非常紧密时,分类越多反而破坏了原有的一类数据的联系,这样我们在数据恢复时不能很好的利用原本属于一类的数据的稀疏性,造成了数据恢复的效果更差。

因此,我们在做节点分类时,一定要获取足够多的先验知识,在减少传输次数与数据恢复精确度之间做好权衡,这样才能更好的将其用于WSN中。

3 总结

由于WSN中的节点多是分布于室外环境中,无法为其提供不断的能源供给,节点的能源受限,因此数据融合具有重要的意义。现有的数据融合方法包括CNS、GIT等方法,然而这些方法大部分都无法同时做到节约能耗和均衡负载。压缩感知理论是近几年才被提出应用到WSN中的一种新兴的数据融合方法,具有很强的可靠性。然而,目前对于压缩感知方法的研究大多数都仅限于对真实数据处理上的仿真,并未考虑到在真实的拓扑结构当中,当拓扑结构较为复杂时,数据传输次数可能要高于SPT的传输次数。

因此,我们提出了一种基于分类的压缩感知。通过理论上的分析比较我们发现,采用基于分类的压缩感知,在很多拓扑结构下传输次数都要小于传统的压缩感知,也要低于SPT的传输次数。这种分类的压缩感知方法在进行数据重构时,可以采取联合重构和独立重构两种重构方案,我们通过数据仿真实验我们发现,采用联合重构比采用独立重构数据恢复效果更佳,与我们的猜测是一致的。单从表面上看,分类越多,我们的数据传输次数就越少,然而,通过进一步的实验,我们得知,并非分类越多,数据恢复效果越好。当分类增多时,原本应该归为一类的节点被分为多类,使得同类数据相关性被破坏,造成恢复效果变差。真正使用时,我们需要在传输次数和恢复效果之间权衡,以使得该数据融合方法的实时性和可靠性达到最好。

摘要:在无线传感器网络中,压缩感知是一种新兴的数据融合方法,能利用少量数据采样进行数据恢复。由于具有较好的节省能耗的性质,压缩感知受到研究人员越来越多的关注。然而,传统的应用于无线传感器网络中压缩感知方法是在汇聚节点得到所有节点的加权和,然后利用重构算法对整个网络中各节点的数据进行恢复,并没有考虑到网络节点的分布式的特性。因此,当网络拓扑较复杂时,应用压缩感知时数据需要传输的次数并不会低于利用最短路径树时数据需要传输的次数。在该文中,我们考虑如何将压缩感知技术更好的和网络节点的分布式结构相结合,使得该技术的更加符合无线传感器网络的需求。

分布算法 篇5

【关键词】无线传感器网络;自身定位;定位;仿真

由于传感器节点在部署时的不可控制性(例如通过飞机撒放),网络中大多数节点位置不能事先确定,而无线传感器网络的大量应用都需要网络中节点的地理位置信息,从而获知信息来源的准确位置。通过研究无线传感器网络巾典型的分布式定位算法,选择Bounding box[1]、Euclidean和Robust Position三种算法进行实现,并在OMNET++平台上对它们进行仿真比较,研究环境参数(测距误差,锚节点密度,连通度)变化对其性能的影响。

一、分布式定位算法

分布式定位算法一般分为三个模块:确定未知节点和锚节点间距离模块;计算每个未知节点佗置模块;循环精确节点位置模块。首先,未知节点通过基于测距或非测距方法确定其到锚节点的距离;然后,通过到锚节点的距离来计算每个未知节点的位置;最后,对末知节点的位置进行迭代求精,最终所有未知节点报告它们的位置。

分布式定位算法的每个模块中都有几种可选算法。其中确定未知节点和锚节点间的距离模块中可选算法有基于RSSI的测距算法和美国路特葛斯大学(Rutgers University)Dragos Niculescu等人提出的Euclidean、DV——Hop、DV——distance三种算法;计算未知节点位置模块中可选算法有三边测量法、多边形算法、Min——Max算法;位置求精模块主要有由Savarese等提出的根据所有町获得的节点信息重复执行三边测法或多边形算法过程重新确定节点位置。

(一)确定未知节点到锚节点距离模块可选算法

在这个模块中,未知节点通过共事信息确定其到锚节点的距离,以便在第二个模块中计算节点的初始位置。

1.RSSI算法。此算法已知节点发射功率,在接收节点测量接收功率,计算传播损耗,然后使用理论或经验的信号传播模型将传播损耗转化为距离。

所用公式如下:

P(d)=PTPL(d0)10`log10()+Xl(1)

其中P(d)为两节点相距为d时的信号强度;PT是信号发射的强度;PL(d0)是在两节点距离为d0时信号强度的损耗;`是一个信号衰减指数;X€%l是一个服从正态分布的方差为€%l2、期望为0的随机变量。

根据公式(1)可推导出信号强度转换距离的公式:

d=10exp[]0(2)

基于射频信号强度的RSSI方法成本很低,适合于无线传感器网络的部署要求,所以前景很好。

2.DV——distance算法。DV——distance算法很简单。在泛洪传输中仅通过在每个节点上累加测得的距离来确定其距锚节点的距离。算法从锚节点开始,它们发送一个包含其身份、位置和0路径长度的信息包。每个接收到信息的节点将测得的距发送点距离加到路径长度上,如果可控泛洪允许的话继续广播这个消息。另一个限制是,当节点再次收到以前接收过的节点信息时,只有当前信息中距锚节点路径长度小于原先信息中距锚节点路径长度时,才允许发送这个消息,并更新自身信息。最终结果是,每个节点将存储它们距锚节点的最短路径长度。

DV——distance算法的缺点是,当距离信息在多跳中传播时,测距误差被累加放大。在锚节点很少或测距硬件差的大型网络中,这种累计误差很大。

3.Euclidean算法。DV——hop算法的缺点是不适用于极为不规则的网络拓扑结构,这种结构中,实际每跳间的距离差别很大。Niculescu和Nath提出了另一种称之为Euclidean的算法,这种测距算法是基于围绕锚节点的未知节点的局部几何算法。

如图1(a)所示,假设节点拥有RSSI测距能力,已知未知节点B、C在锚节点L的无线射程内,BC距离已知或通过RSSI测量获得;节点A与B、C相邻。对于四边形ABCL,所有边长和一条对角线BC已知,根据三角形的性质可以计算出AL的长度(节点A与L的距离)。使用这种方法,当未知节点获得与3个或更多锚节点之间的距离后定位自身。未知节点B、C与锚节点L两两相邻,节点A与B、C相邻。对于四边形ABCL,所有边长和一条对角线BC已知,根据简单的几何原理可计算出AL的长度。但节点A有两个可能的位置A和A′,假如A还有其他邻居节点D与锚节点L相邻,并与B或C之一相邻,那么可以使用D来替换B或C,再次计算AL的距离,则A节点就能在两个可能的位置中选择出正确的一个。使用这种方法,当未知节点获得与三个或更多锚节点距离后定位自身。由基本的几何知识,可以得出:

cos()=,cos()=

AL2=AC2+CL224C·CL·cos() (3)

(二)计算节点位置模块可选算法

在此阶段,通过模块1提供的未知节点到若干锚节点间的估算距离计算未知节点的初始位置。此阶段有三边测量法、多边形算法和Min—Max等算法。

求出(x,y)即是节点位置。

1.多边形算法。多边形算法源于三边测量法,当参考节点数量超过3个时,就是通过定义方程组,利用冗余信息能够更精确地计算节点的化置。

假设未知节点坐标是(x,y),锚节点坐标分别为(x1,y1),(x2,y2),…,(xk,yk),末知节点到锚节点的距离分别是r1,r2,…,rk,我们可以得到一组方程:

(4)

可以线性化为:Ax=b

(三)循环定位求精模块算法

这个阶段的目的是使在第一阶段计算得出的(初始)节点位置更精确。即使在好的条件下(高连通度,低测距误差),这些节点定位也不可能很精确。原因是前两个阶段并没有用到所有可获得的信息。由Savarese等提出的精确过程正是当节点更新他们的位置信息时考虑了与所有节点间的距离。在每步开始时,一个节点广播它的位置并相应地从它的邻居节点那里接收邻居节点位置和距离,然后执行阶段二的多边形算法计算过程以确定它的新佗置。在很多情况下,由到邻居节点距离所限。将迫使新的位置向节点真实的位置靠近。经过几步迭代后,当节点位置更新过程收敛时,精确过程结束并报告最终位置。

二、算法仿真

对定位算法的仿真的意义在于能够在接近现实的环境中得出算法性能的数据,进行定量分析,从而得出算法的应用环境和不足之处,以待改进。仿真工具选择的是布达佩斯技术人学电信学院开发的OMNET++离散事件模拟器。

(一)仿真算法选择

本文选择完全的分布式算法,即节点位置的计算在节点本地完成。这种算法可以应用于大规模的无线传感器网络。这样的网络要满足:

(1)自组织,不依赖于全局基础没施(如卫星);(2)健壮,能容忍节点失效和测距误差;(3)节能,只需要较少的计算和通信开销。

根据上述条件,排除了凸规划(Convex Position),MDS—MAP等集中式算法。此外,质心算法,APIT算法需要较高的锚节点密度,也被排除在外。本文对满足以上条件的三种定位算法,Bounding box算法、Euclidean算法和Robust Position算法做了仿真分析,这三种算法具有良好的可实现性和代表性。

将上述三个算法分解。得到它们各个模块的算法:

表1 仿真算法按模块分解

(二)仿真网络环境设计

鉴于无线传感器网络是自组织的,所以节点放置时是随机的,因此仿真环境中的节点是随机部署的。锚节点需要通过安装特殊的定位系统和采取人工部署来确定其位置,所以仿真环境中锚节点的位置可以人为确定。

仿真环境中的重要参数有:网络中的节点数量;锚节点密度;节点通信半径(连通度)。仿真由100个节点组成的无线传感器网络,开始时,依据上述参数产生一个随机的网络拓扑结构,节点在一个正方形区域内随机分布。通过指定通信半径可以控制连通度。

三、仿真结果

在检测算法的定位精度性能的仿真实验中,将通信半径设定为15。这里将测距误若定义为一个比值,即算法计算得出的节点位置与真实位置之间的偏差比上节点到锚节点的距离估计。仿真实验获得了一组在不同锚节点密度下三个算法在定位误差方面的数据,如图1所示。

图1三个算法的定位精度仿真结果图2 三个算法的覆盖率仿真效果

在检测算法的定位覆盖率性能的仿真实验中,将通信半径也设定为15。仿真实验获得了一组在不同锚节点密度下三个算法在定位覆盖率方面的数据,如图2所示。

定位覆盖率是考察定位算法性能的重要指标,它表示通过执行某个定位算法,网络中被正确定位(定位误差在可接受的范围内)的比例。从定位覆盖率的仿真实验中,可以看到,三个算法的定位覆盖率均随锚节点密度的增大而提高。其中,Bounding box算法和Euclidean算法对网络中锚节点密度很敏感,尤其当锚节点密度从3%变化到10%时,这两个算法的定位覆盖率显著提升。Robust position算法对锚节点密度并不敏感,在锚节点密度很小(只有3%)时,其定位覆盖率已达90%;在10%的锚节点密度下,覆盖率已达100%。

可见,在锚节点密度较高而节点计算能力极为有限的情况下Bounding box算法是最佳选择;在需要较高的定位精度时应选择Robust position算法;在对定位精度和能耗要求适中的情况下,应选择Euclidean算法。

参考文献

[1]Bhaskar,Krishnamachari,NetworkingWireless Sensors[M].Cambridge University Press,2007:(1~3)

[2]Muruganathan S D,Ma D C F,Bhasin R I,et a1.A centralized-efficient routing protocol for wireless sensor networks[C].Communications Magazine.IEEE.2005:43(3):8~13

[3]Savvides A,Park H,Srivastava M.The bits and flops of the n-hop multilateration primitive for node localization problems[C].Workshop on Wireless Sensor Networks Application.2002:112~121

[4]王福豹,史龙,任丰原.无线传感器网络中的自身定位系统和算法[J].软件学报.2005:16(5):857~868

分布算法 篇6

1 SDAM算法

实际中, 网络拓扑结构多呈现星型结构, 针对FDM算法的不足, 对其加以改进, 介绍一种基于星型网络的分布式关联规则挖掘算法SDAM算法。SDAM算法是在Aprioi算法的基础上, 候选集为1项的项目长度, 通过数据库扫描分析, 算出局部大项集。接着将此局部大项集发送至中心结点, 通过判断, 检查此项集能否满足全局的大项集标准。在项目长度为k的大项集基础上, 生成项目长度为k+1的大项集, 然后对数据库进行二次分析、扫描, 最后确定项目的全部大项集。SDAM算法与FDM算法不同点是, SDAM算法只需要一个结点的局部大项集, 不需要其他结点, SDAM算法的局部结点可以和中心结点进行信息交换。

2 SDAM算法描述

设结点为j (1≤j≤n) , 保证在结点运行算法的基础上完成局部剪枝, 具体步骤是:

(1) 选出候选集。结点j经过 (k—1) 次迭代后可以生成强项集, 根据计算可生成CGj (k) 。

(2) 局部剪枝。设置项集是Xi的数据 (Xi∈CGj (k) ) , 通过扫描数据库中的DBj, 对局部支持度合计数进行计算分析。若Xi在结点i上并非局部最大值, 则Xi项集不为局部大项集, 应从候选集中删除。

(3) 交换信息。将候选集项LLi (k) 发送到中心结点, 进行信息交换, 并且接受源于中心结点的全局大数据项集。

X.supi值可以从在局部剪枝中得到, 上界值能从中心结点中计算出来, 用于数据集的剪枝。

3 分析SDAM算法

3.1 分析复杂度

该算计算时, 如果结点i的局部最大值是项集X, 那么通信量的复杂性为O (n) , 如果使用CD算法 (一种计数分布算法) , 那么需要的通讯量为O (n2) 。

3.2 分析并行代价

如果结点的分区大小结果相同, 存在D/n个事务, 有m各项目需要挖掘, 那么生成项集最多为2m个。假设在最恶劣的情况下, t是扫描每个数据库D的时间, 在串行情况下, 复杂度为O (2m) , 2m×ts为算法的扫描时间。2m×ts/n为所有分区的并行运行时间。

设并行代价为c, 则c=t*n, 式中, t表示的是并行运算时间, n为结点总数量。可知c=2m×ts, 在挖掘执行代价在阶的意义关联规则的并行算法上, 在最坏情形下, 串行求解此问题所需的运行时间同SDAM算法相同, 经过比较, 发现SDAM算法的并行代价最好。

3.3 分析并行伸缩性

在平常的并行算法中, 效率为Ep=Sp/n, 式中的n表示并行结点数, Sp表示算法的加速比。并行算法的可伸缩性具体表现为:在处理机数目保持固定的情况下, Ep会随着问题规模的扩大呈现单调递增的趋势, 此时, 其效率为:

Ep=Sp/n=1/[1+ (Tr/Tc) ]

又因为Tr=Tf×m, Tc=Ts×2m, 可求得

Ep=1/[1+ (Tf×m/Ts×2m) ]

当数据库规模发生变化时, Ep的分母会不断减少, 则其值呈现出单调递增的情形, 由此可见, SDAM算法的可伸缩性能很好。

3.4 分析加速比

中心结点在每次迭代结束后, 向各结点通讯的时间就是各个结点需要等待的时间, 从最坏的情况下进行分析, 如果中心结点迭代结束后, 发往各结点的时间为Tf, 那么中心结点的总发送时间为m×Tf。根据阿达尔定律可知,

上式中, Sp表示的是最大加速比, p为结点数目, f表示串行执行部分的时间。

经计算分析, SDAM算法的加速比也十分良好。

4 结束语

分布式关联规则挖掘算法的重要性日益突出, 针对以往算法的不足之处, 文中提出的新算法充分利用了局部剪枝和全局剪枝技术, 采用星型结构网络拓扑, 与实际系统比较相符, 实用性强, 值得推广应用。

参考文献

[1]杨泽民.关联规则的并行优化挖掘算法[J].中北大学学报, 2007, 21 (5) :130-131.

[2]黄贤英, 王柯柯, 范伟.基于星型网络的分布式关联规则挖掘算法研究[J].计算机科学, 2007, 24 (12) :109-110.

[3]刘晶, 朱清香, 梅群, 张蕾.一种基于单处理机的并行关联规则算法及其在数字图书馆中的应用[J].图书情报工作, 2011, 20 (7) :137-138.

分布式发电系统故障定位新算法 篇7

近年来,分布式发电以其投资省、发电方式灵活、与环境兼容等特点得到了快速发展。分布式电源DG(Distributed Generation)指容量较小(几千瓦到几十兆瓦)的发电装置,直接与配网相连,向负荷或电网供电。伴随DG接入,配网由原来的单电源辐射型网络逐步转变成多电源的互联网络,保护的运行环境发生了深刻变化[1,2,3]。

基于多电源区域的配电网故障定位算法虽然能够解决保护选择性问题[4,5],但是需要利用故障时的功率方向与定义的正方向相比较,以判断故障的搜索方向,由于馈线上一般不装设电压互感器,所以其应用领域受到限制。

目前,已有学者对分布式发电环境下无PT通道的保护方案展开了研究[6,7],其方案基于广域保护的集中决策模式,由集中控制器收集全网故障信息,形成故障信息矩阵,由矩阵算法定位故障,信息交换和处理量大。但就保护而言,接受故障信息的范围并非越大越好,主要出于两方面原因:1.接收和处理大范围的信息不易满足保护的快速性要求;2.故障可能只对局部范围产生影响,而该范围的故障信息对于故障判断至关重要,该范围以外信息则无关紧要[8]。

本文将分布决策广域保护模式引入分布式发电系统,针对实际的分布式发电网络模型,阐述了有关拓扑矩阵的建立方法,智能电子装置(IED)关联区域划分方式以及特殊情况下关联区域的修整。基于划分好的区域,仅需结合区域内的电流量信息,进行一次定位和二次定位计算,即可确定故障区段。该算法条理清晰,实用性强,对于IED信息缺失和DG投切造成的网络结构变化具有很好的适应性。

1 分布式发电广域保护系统

1.1 分布式发电系统网络结构

为了最大限度地利用DG,在故障情况下便于实现孤岛或微网运行,本文讨论的方案中,DG由配电网各级母线接入(如图1所示)。各母线节点(下文简称节点)按所连接分支数量分为多分支节点(图1节点1),三分支节点(包括中间三分支节点,如图1节点2、6以及边缘三分支节点,如图1节点4、7)和两分支节点(图1节点5)。根据基尔霍夫电流定律,故障情况下,多分支节点和三分支节点可以判断故障方向(具体方法下文提及),两分支节点在没有电压量参与的情况下不易判断故障方向。

说明一下,本文所指故障均为单一线路故障,母线故障和DG故障由相应的母线保护和DG分支快速保护切除,不在考虑之列。

1.2 分布式发电广域保护系统结构形式

目前,广域保护系统主要采用两种结构形式:集中决策式和分布决策式。集中决策结构由集中控制器和分散安装的IED组成,利用集中控制器收集各IED的信息,综合判断,完成故障定位。而在分布式决策结构中,不设置集中控制器,保护工作由分散安装的IED完成。IED不仅负责安装点信息的采集、运算和传输,还要完成故障的定位和判断[9]。

鉴于集中决策模式对集中控制器和通信系统的依赖较高,本文研究的分布式发电广域保护系统采用分布决策模式,取消集中控制器,仅保留IED与变电站主控装置(SMU)的通信接口,用以上传信息,更新任务及数据。IED安装于配网各级母线处,采集母线各分支电流,计算比较,完成保护任务。具体结构如图1所示。

2 IED关联区域划分

分布决策式广域保护系统中的IED,理论上可以获得系统任意测量点的信息。但实际应用中,盲目地大范围交换信息无疑会增加通信系统负担,降低通信系统的可靠性,对于保护系统也无意义[9]。要使各IED快速、可靠地工作,必须规定IED的信息交换范围,通过故障时一定区域内的IED信息交换定位故障。本节将对IED关联区域(下文简称关联区域)的划分进行研究。

2.1 网络拓扑描述

分析一个配电网络,首先要根据相关网络数据建立各节点间的拓扑关系。本文规定从系统电源往线路末端的方向为正方向,系统电源侧为上游,线路末端为下游。以母线为节点,支路为边形成m×m矩阵D描述网络结构(规定同一支路下游节点编号大于上游节点,以确立唯一的遍历方向,避免关联区域的重复划分):

其中:dij=1(i≠j)对应节点i,j之间存在支路连接;dii=1代表节点i为多分支或三分支节点;其余矩阵元素为零。

由矩阵元素定义可知,矩阵D为对称阵,故只需保留对角线一侧的元素,另一侧元素可清零,以减少数据的存储和计算量。

图2为实际的分布式发电系统,以图2所示系统为例形成网络描述矩阵,并清零对角线下侧元素(未标出元素值即为零):

2.2 关联区域划分方法

网络描述矩阵仅指明了节点类型及其相互关系,而关联区域划分需要遍历网络节点,搜索形成以区域为单位的节点集(IED集)以及节点的链接关系,达到划分后的区域在故障时应能够快速、独立地判断区域内部是否发生故障的目的。由此给出两条划分原则:

1)关联区域边界节点必须可以判断故障方向。

2)关联区域应尽可能小,以缩小IED的信息交换范围,减小网络通信负担。

根据原则1,关联区域的边界节点必须是多分支或三分支节点。根据原则2,正常情况下,关联区域应是两个多分支或三分支节点确定的支路所包含的节点集或是边缘三分支节点下游支路所包含的节点集。具体划分流程如下:

(1)形成m×m的网络描述矩阵D,并令初始i=1。执行步骤(2)。

(2)考察Dii,若Dii=1,发起搜索,执行步骤(3);若Dii=0,则转至步骤(6)。

(3)若∀Dij=0,由网络结构可知发起搜索节点为边缘三分支节点,搜索完成,记录节点搜索路径,转至步骤(6),;若∃Dij=1,则以Dij为考察对象,执行步骤(4)。

(4)对于考察的非对角线元素DXY,若DYY=1,搜索完成,记录节点搜索路径,转至步骤(6);若DYY=0,则以DYY为考察对象,执行步骤(5)。

(5)对于考察的对角线元素DYY,若∀DYZ=0,由网络结构可知发起搜索节点为边缘三分支节点,搜索完成,记录节点搜索路径,转至步骤(6);若∃DYZ=1,以DYZ为考察对象,执行步骤(4)。

(6)判断i是否等于m,若I=m,结束划分程序;若i≠m,则令i=i+1,转至步骤(2)。

按上述流程对图2所示网络进行关联区域划分,划分结果如表1所示(★标注节点表示边缘三分支节点)。

2.3 特殊情况的关联区域修整

分布式发电系统特殊情况包括电网结构调整,继电保护的N-1状况等等。本文仅考虑对关联区域划分结果造成影响的两种情况:DG投切导致的电网结构变化和IED信息缺失。针对这两种情况,提出关联区域的修整方法,方法仅需修整相关的关联区域,不必对整个电网重新划分。

2.3.1 DG投切情况下关联区域的修整

由1.1所述分布式发电系统网络结构特点可知,DG投切会造成节点所连接分支数发生变化,从而可能改变节点性质:节点由可判断故障方向变为不可判断(DG切除)或不可判断故障方向变为可判断(DG投入)。针对这一情况,给出关联区域的修整方法:若节点DG切除,且分支数<3,将以此节点为首节点的区域合并至以此节点为末节点的区域;若节点投入DG,则以此节点分别作为区域末节点和区域首节点将原节点所在区域一分为二。

鉴于DG投切的随机性,对DG投切造成的关联区域修整结果进行讨论:根据上述修整方法,DG投入导致关联区域缩小,即缩小了通信范围,减小网络负担;而DG切除会扩大关联区域,但由2.2节的关联区域划分原则,极端情况下(即某条馈线DG大范围切除时),关联区域修整的最大范围也仅为原配电网络的多分支节点或三分支节点的下游区域。如图2节点3和6所接DG全部切除时,关联区域即为1-3-4-6。而此时区域各段只要按三段式电流保护助增的情况整定保护启动电流就可以保证有选择性地动作[11]。

2.3.2 IED信息缺失情况下关联区域的修整

根据标题2.2所述原则1,关联区域的边界节点必须可以判断故障方向,由此判断故障是否发生在本区域。此判断是以区域为单位,则可判断故障方向的IED信息(即关联区域边界节点的IED信息)至关重要,而非关联区域边界节点的IED信息缺失并不影响区域故障判断。针对这一特点,给出关联区域边界节点信息缺失时的修整方法:将信息缺失节点为首节点的区域合并至以此节点为末节点的区域。

图3为特殊情况下关联区域修整示例,虚线包围区域即为关联区域。

3 故障定位的实现

关联区域的划分规定了各IED的信息交换范围,但实现故障定位还需要借助一定的判据及方法。本文采用先以关联区域为单位进行故障一次定位,再根据故障区域的节点连接关系进行二次定位的判断方法。其指导思想为:1)电网预先划定为各关联区域,IED根据划分规则属于不同的关联区域;2)同一IED可能属于多个关联区域,在不同的区域内独立判断;3)各IED列出其与所在关联区域内其他IED的连接关系表,同属一个关联区域的IED相互通信;4)故障时,各IED根据其他IED传来信息对照表中关系计算,比较,确定故障区段。本节根据定位方法和指导思想,确定交换信息的内容、形式和故障判断的方法。

3.1 以关联区域为单位的故障一次定位

3.1.1 故障方向判断及故障电流判据

线路发生故障时,多分支和三分支节点可以判断故障方向,其原理如图4所示。

图4所示的三分支节点为例,故障情况下,根据KCL定律有即流入母线的故障电流之和等于流出故障电流。若故障发生在支路为流入节点,移项并取幅值有

对于接入DG的配电网来说,一般DG与系统的功角差很小;而且由于系统和线路的阻抗以及发电机的暂态电抗都是感性的,阻抗角相差也很小。由此可以依照平行四边形法则做出向量图,如图5所示。

即发生故障时,可以通过多分支或三分支节点各条支路流过的电流幅值大小来判断故障发生在哪条支路,从而间接判断出故障电流的方向。

3.1.2 故障一次定位的数学表述

设F(A)为关联区域状态函数,F(A0),F(Ae)分别表示区域首末节点信息。定义:

若区域首节点为边缘三分支节点,节点下游支路感受到故障电流则可认为故障发生在下游,否则认为故障发生在上游支路,即F(A)=F(A0)=1即可断定该区域发生故障,需要进行二次定位。F(A)=F(A0)=0则区域内无故障。

若区域首节点非边缘三分支节点,定义故障判据为:

考虑某IED信息缺失修正后的关联区域首节点个数为1,但区域末节点个数可能不唯一,关联区域为故障区域的充分条件为:F(A0)=1且F(A0)=-F(Aei),i={1,2,…,n},n为区域末节点个数。

综合正常情况和IED信息缺失情况,修整故障判据:

3.1.3 算例分析

以图2所示的分布式发电系统为例,系统已在正常情况下完成关联区域划分,结果如表1所示。当F1点发生故障时,假设各IED均感受到故障电流,各关联区域判断结果如表2所示。

由判断结果可知,关联区域3为故障区域,由于区域节点数>2即区域包含区段数不唯一,需要进行二次定位。

注:★区域首节点为边缘三分支节点。

3.2 二次定位确定故障区段

一次定位确定出故障区域后,由于区域中可能包含无法判断故障方向的两分支节点,需要利用电流相位比较判据定位故障区段。

3.2.1 电流相位比较判据原理

故障电流流经非故障线段时同负荷电流一样具有穿越性,而故障电流流经故障段时则不同。

如图6所示,当F1处发生三相故障时,故障电流(包含负荷电流)中只有正序分量,非故障段BC两端互感器测得故障电流Ibcf 1,Icbf 1的相位同时超前或滞后负荷电流一个相位角α;而故障区段AB两端测得故障电流Iabf 1,Ibaf 1的相位一个滞后负荷电流α角,一个超前负荷电流β,且α+β≈π。若负荷电流方向改变(图7中虚线相量表示),上述相位关系仍然成立。具体相位关系如图7所示。

当F1处发生两相故障时,故障电流中既有正序分量也有负序分量,两者互相独立。故障电流正序分量中有负荷电流分量,负荷电流与故障电流相比,显得很小,对正序分量的相位影响很小。因此,可以得到和三相故障时类似的结论。

综合两相短路和三相短路的情况可以看出:非故障段两端的故障电流正序分量始终同时超前或者同时滞后于负荷电流;而故障段一端的故障电流正序分量超前于负荷电流,另一端的故障电流正序分量滞后于负荷电流。

3.2.2 故障二次定位的数学表述及算例分析

设G(i,j)为区段状态函数,G(l i),G(l j)分别表示区段首末节点信息。定义:

根据式(1)对故障区域各区段进行判别,若G(i,j)=-1则i-j为故障区段,断开线路首末开关,若故障区域内无G(i,j)=-1,则认为G(i,j)=0即无负荷电流区段发生故障。

以式(1)对算例3.1.3确定的故障区域内各区段进行二次判断,精确定位出故障区段,结果如表3所示。

4 算法特点及工作流程

本文提出的故障定位算法特点:

a)采用分布决策的广域保护模式,通过离线划分关联区域规定各IED的通信范围,减小了保护对于通信网络和集中控制器的依赖。

b)通过一次和二次定位,分别确定故障区域和故障区段,思路清晰,可靠性强。

c)算法不依赖电压量,IED可在现有的馈线终端单元(FTU)硬件基础上通过软件升级实现,便于与现有的配网自动化(DA)系统配合。

故障定位算法的流程如图8所示。

5 结语

目前,对分布式发电保护系统的研究尚处于探索阶段。本文根据分布式发电系统的结构和特点,提出了一种基于分布决策模式的故障定位新算法。该算法通过智能电子装置(IED)关联区域内的IED交换信息,结合区域状态函数F(A)和区段状态函数G(i,j)的简单计算,即可定位故障。文中详细阐述了IED关联区域的静态划分及动态修整方法,定义了F(A)、G(i,j)的计算规则,并给出了算法流程。该算法无需借助电压量,避免保护汇聚大量信息,对于分布式发电条件下的配电网信息量大、结构灵活多变等特点具有很好的适应性。通过对该算法的算例分析,证明了算法的正确性。

摘要:分布式电源(Distributed Generation,DG)接入配电网后,配电网由单电源辐射状网络变成了分布电源供电的复杂网络,保护的运行环境发生了深刻变化。根据分布式发电系统结构和特点,提出一种基于分布决策的故障定位新算法,进行网络划分形成智能电子装置(IED)的关联区域,利用关联区域边界节点信息完成故障初步定位,再根据故障关联区域的节点连接关系,利用各区段两端节点信息精确定位故障。算法采用静态区域划分,划分结果可动态修整,降低了实时性要求且对IED信息缺失及DG投切造成的电网结构变化具有一定的适应性;故障一次和二次定位原理清晰,信息和计算量小。通过对算法的算例分析,验证了算法的正确性。

关键词:分布式发电系统,故障定位,IED关联区域,分布决策,区域划分

参考文献

[1]De Britto T M,Morais D R.Marin M A.Distributed generation impacts on the coordination of protection systems in distribution networks[C].//IEEE Transmission and Distribution Conference and Exposition.Latin(America):2004.

[2]Girgis A,Brahma S.Effect of distributed generation on protective device coordination in distribution system[C].//IEEE Large Engineering Systems Conference.Halifax:2001.

[3]刘杨华,吴政球,等.分布式发电及其并网技术综述[J].电网技术,2008,32(15):71-76.LIU Yang-hua,WU Zheng-qiu,et al.A survey on distributed generation and its networking technology[J].Power System Technology,2008,32(15):71-76.

[4]刘健,倪建立,杜宇.配电网故障区段判断和隔离的统一矩阵算法[J].电力系统自动化,1999,23(1):31-33.LIU Jian,NI Jian-li,DU Yu.A unified matrix algorithm for fault section detection and isolation in distribution system[J].Automation of Electric Power Systems,1999,23(1):31-33.

[5]王飞,孙莹.配电网故障定位的改进矩阵算法[J].电力系统自动化,2003,27(24):45-47.WANG Fei,SUN Ying.An improved matrix algorithm for fault location in distribution network of power systems[J].Automation of Electric Power Systems,2003,27(24):45-47.

[6]林霞,陆于平,王联合.分布式发电条件下的新型电流保护方案[J].电力系统自动化,2008,32(20):50-56.LIN Xia,LU Yu-ping,WANG Lian-he.New current protection scheme considering distributed generation impact[J].Automation of Electric Power Systems,2008,32(20):50-56.

[7]林霞,陆于平,王联合.分布式发电条件下的多电源故障区域定位新方法[J].电工技术学报,2008,23(11):1-8.LIN Xia,LU Yu-ping,WANG Lian-he.New fault region location scheme in distribution system with DGs[J].Trans of China Electrotechnical Society,2008,23(11)1-8.

[8]丛伟,潘贞存,赵建国,等.基于电流差动原理的广域继电保护系统[J].电网技术,2006,30(5):91-95.CONG Wei,PAN Zhen-cun,ZHAO Jian-guo,et al.A wide area protective relaying system based on current differential protection principle[J].Power System Technology,2006,30(5):91-95.

[9]丛伟,潘贞存,赵建国.基于纵联比较原理的广域继电保护算法研究[J].中国电机工程学报,2006,26(21):8-14.CONG Wei,PAN Zhen-cun,ZHAO Jian-guo.A wide-area relaying protection algorithm based on longitudinal comparison principle[J].Proceedings of the CSEE,2006,26(21):8-14.

[10]翁蓝天,刘开培,刘晓莉,等.复杂配电网故障定位的链表法[J].电工技术学报,2009,24(5):190-196.WENG Lan-tian,LIU Kai-pei,LIU Xiao-li,et al.Chain table algorithm for fault Location of complicated distribution network[J].Transactions of China Electrotechnical Society,2009,24(5):190-196.

分布算法 篇8

通过重力异常反演地球内部横向密度的不均匀性是了解地球内部的精细结构的方法之一,而反演方法很多,线性反演方法主要有最小二乘法、脊回归法等。非线性有遗传算法、退火算法等,杨长福(2004年)将以单元密度和网格厚度为模型参数,进行重力异常的多层密度及其界面的同时反演。

目前反演多层密度界面的方法主要有两种:一是把多层密度界面的重力场,通过分离场的方法逐层分离,逐层反演;二是直接反演,如王一新的正则化反演法和陈胜早的N层变密度反演法。这些方法都很复杂,且要求密度分布已知,使用起来很不方便。蚁群算法(Ant Colony Algorithm)是人们对蚁群集体行为的研究成果,而提出的一种基于种群的模拟进化算法,属于随机搜索算法。该算法思想由意大利学者M.Dorigo等人首先提出,充分利用了蚁群搜索食物的过程与著名的旅行商问题(TSP)之间的相似性,通过人工模拟蚂蚁搜索食物的过程来求解TSP。杨宁(2006年)用蚁群算法解算DGPS整周模糊度,彭珊鸽(2007年)用蚁群算法来优化点状注记的配置问题,刘宁(2008年)将蚁群算法应用反演断层参数,本文将以单元密度为模型参数,利用蚁群算法进行重力异常的密度反演。

1 正演模型及计算方法

在实际研究地质体所在的空间时,一般将区域进行剖分,如图1所示,z向分为多个水平层,每层按照对x,y向分成若干个规则长方体,每个长方体大小形状相同,长方体各边分别平行于三个坐标轴,对于每个长方体可以认为许多个点源组成的,在单一的长方体中我们认为密度是均匀的,用积分的方法可以得到长方体产生的重力异常。

现介绍长方体外任意一点的重力异常的计算,取图1中第k个长方体并置于图2所建立坐标系中,设q(ε,η,τ)为长方体内任一点坐标,其长方体的空间取值范围为:ε∈[a1,a2],η∈[b1,b2],τ∈[h1,h2],ρk为长方体的剩余密度,根据引力位公式可以计算出长方体外任一点坐标p(x,y,z)的引力位。

其中:,G为万有引力常数,M为长方体的质量。

通过对上式求导,进行积分后的p(x,y,z)的重力异常

由重力的可加性,则所有长方体在p(x,y,z)点产生的总重力异常可表示为

2 蚁群算法

蚁群算法的思想最先用于求解旅行商问题(TSP),下面就求解平面上n个城市的TSP问题(1,2,3…表示城市的序号)为例来说明该算法思想。假设m只蚂蚁放入n个随机选择的城市中;dij为城市i、j之间的距离;蚂蚁在运动过程中,根据各条路径上的信息素选择下一个它没有访问的城市,同时完成一步(或者完成一个循环)对信息素进行更新,选择下一个城市的主要依据有:τij(t)为t时刻连接城市i和j的路径(i,j)上的残留信息量,初始时刻各路径上信息量相等,设τij(0)=C(C为常数);ηij表示城市i转移到城市j的期望程度,可根据某种启发式算法具体确定,在TSP问题中一般取ηij=1/dij。蚂蚁k(k=1,2,…,m)根据各条路径上的信息量决定转移方向,t时刻蚂蚁k从城市i向城市j转移的概率Pkij(t)计算如下:

其中,allowed={0,1,…,n-1}-tabuk表示蚂蚁k下一步允许选择的城市。α-残留信息量的相对重要程度;β-期望值的相对重要程度;与自然蚁群系统不同之处在于人工蚁群系统具有一定的记忆力,tabuk(k=1,2,…,m)用于记录蚂蚁k所走过的城市,集合tabuk随着进化过程进行动态调整。人工蚁群保留了自然蚁群信息素挥发特点,随着时间的推移,以前留下的信息逐渐消逝,参数ρ(0≤ρ<1)表示信息素的持久性,1-ρ则表示信息素的衰减度。在每只蚂蚁完成对所有n个城市的访问后(即一次循环结束),各路经商的信息素量根据公式(5)(6)进行调整:

其中,Δτkij表示第k只蚂蚁在本次循环中留的路径(i,j)上的信息素量,Δτij表示本次循环中路径(i,j)上的信息素的增量。

其中,Q是一个常数,表示蚂蚁所留的信息素量,Lk表示第k只蚂蚁在本次循环中所走的路径长度。在初始时刻Δτij=0(i,j=0,1,…,n-1),ηij表示由城市i转到j的期望程度,可根据启发算法具体确定。M.Dorigo曾给出三种不同的实现方法,由于ant-quantity system、ant-density system利用的是局部信息,而ant-cycle system利用的则是整体信息,因此在求解TSP时ant-cycle system性能较好,因此通常采用它为基本模型。

3 利用蚁群算法反演密度

3.1目标函数

从本文前面论述(3)式可以看出,在给定长方体参数的情况下,根据已知重力异常确定剩余密度参数时,也就是在每一个独立观测方程含n个未知参数ρ(ρ1,ρ2,ρ3,…,ρn),其解具有多值性,为寻求最优解,利用最小二范数准则建立目标函数为:

式中,N为观测值个数,gj(ρ)为第j个观测点上由假设密度参数ρ计算所得的重力异常,gj(T)为理论重力异常值,Φ(ρ)为目标函数。

3.2反演密度

由于最初的蚁群算法是源于离散型网络是的路径问题,因此在一般函数优化问题中,必须对原有模型许多细节进行修正。

设一组密度参数ρ(ρ1,ρ2,ρ3,…,ρn)有n个变量,其中ρi的取值范围为[Ri-1,Ri+1],若把每个密度参数的取值范围分成S份,那么密度参数的组合情况就有Sn种。我们就要在Sn种参数组合中找到一种最佳参数组合(最短路径)ρ,使目标函数Φ(ρ)的值最小。在TSP问题的目的是找一条最短的闭合路径,我们可以发现在进行信息素更新时,信息素由路径的长度确定。而在密度参数反演问题中,蚂蚁所选择的路径长度,我们利用目标函数值大小来确定,定义蚂蚁k在某次循环中所选择路径的长度Lk为Lk=Φwk(P),其中Φwk(P)表示该次循环中,蚂蚁k选择的路径w的目标函数值。

4 试验数据模拟

在如图3中坐标系是图2坐标系的水平投影,9个长方体的长、宽、高分别取1km,对于各个长方体的密度分布如图3所示,单位为:10-3 kg/m3。在本次试验中各观测点为长方体上表面矩形的中心位置,由公式(3)可以计算观测点的重力异常值。在本例中取所有参数在[0.4,1.5]范围之内,将每个密度参数取值范围分成10000份,然后采用随机函数产生一组参数,利用(8)式求出目标函数,在由(4)、(5)、(6)、(7)式建立蚁群算法的递推关系并且进行密度参数的更新。

5 结论

(1)蚁群算法经过改进能够用于已知重力异常的密度反演。

(2)密度反演结果与与理论数值上有一定的差异;这种差异同样与给定的搜索空间和空间划分的精细程度有关。

参考文献

[1]柯小平, 王勇, 许厚泽.用遗传算法反演地壳的变密度模型[J].武汉大学学报信息科学版2004, 29 (11) :981-984.

[2]刘宁, 张永志.位错模式的蚁群算法反演断层参数[J].大地测量与地球动力学, 2008, 28 (6) :1-6.

[3]杨长福.用脊回法反演重力异常的多层密度及其界面[J].西北地震学, 2004, 26 (4) :293-297.

[4]ColoniA, Dorigo M and ManiezzoV.Ant system:Optimization by a colony of cooPeratingagent[J].IEEE Trans onSystems, Man and Cyberneties-PartB:Cybemeties.1996, 26 (1) :29-41.

[5]侯遵泽, 杨文采, 刘家琦.中国大陆地壳密度差异多尺度反演[J].地球物理学报, 1998, 41 (5) :642-651.

[6]王家林, 王一新, 林桂康.利用场变换的分离场法反演多层密度界面[J].石油物探, 1986, 25 (2) :69-80.

[7]王一新, 王家林, 张曙明.研究多层密度界面的正则化非线性反演方法[J].石油物探, 1987, 26 (1) :78-90.

[8]陈胜早.用多层变密度模型直接反演法研究下扬子地区的岩石圈构造[J].地球物理学报, 1989, 32 (1) :20-35.

[9]杨宁, 田蔚风, 金志华, 蚁群算法在DGPS动态整周模糊度解算中的应用[J].航天控制, 2006, 24 (4) :4-7.

[10]彭珊鸽, 宋鹰, 吴凡.基于蚁群算法的点状注记智能化配置[J].测绘科学, 2007, 32 (5) :80-81.

[11]Dorigo M, Gambardella, Maria L.Ant colonies for the traveling salesman problem[J].Biosys-tems, 1997, 43 (2) :73-81.

分布算法 篇9

公路工程估价的合理性直接影响着公路工程建设项目投资决策的正确性,它是公路工程建设项目可行性研究的重要环节,也是建设项目标底编制的控制标准。如何快速、合理地估算工程造价是关系到公路工程建设项目投资决策的重要课题,对建设项目成本管理具有重要意义。

本文拟在公路工程建设项目中建立基于分布估计神经网络算法的造价估算模型。首先对涉及公路工程造价的各个主要特征进行定量化描述,然后结合所建立的分布估计神经网络算法模型,运用相关专业软件快速估算公路工程造价。公路工程造价分布估计神经网络算法通过模拟智能决策,快速、合理估算出公路工程造价,有助于项目决策者做出相对准确的投资决策。

1 相关研究

国内外对工程造价估算智能化的研究,大致可以分为三类:

1.1 利用计算机模拟技术建立模型

通过分析、模拟实际施工过程,对各分项工程先给出可能造价的先验概率,可以由计算机产生一个随机数,这个随机数进入到下一个分项工程当中,然后结合这项工程的先验概率再产生一个随机数。这些随机数代表每个分项工程的实际造价。以此类推,直到全部分项工程计算完毕,产生所有分项工程造价之和作为总的估算造价。这种模型优点是在样本库齐全的前提下估算更符合客观实际,缺点是确定先验概率需要大量的已建工程样本资料,计算比较繁琐[1],而且各分项工程造价样本值受工程所在地实际情况影响较大。

1.2 基于神经网络技术的工程造价估算专家系统

人工神经网络在工程估价中的应用可分为两种:一种是基于Hopfield的工程应用;另一种是基于BP神经网络的工程应用。Jason Portas等人将人工神经网络应用于劳动生产力效率预测和成本预测中建立三层BP结构模型,该模型的输出不是精确的值而是模糊集[2],可以较好的应用于工程前期造价估算。许宁[3]采用模糊神经网络估算工程造价,采用模糊数学中的隶属函数来反映工程特征间的差异性,再结合定性分析和定量分析将工程特征进行量化描述后,通过归一化处理得到隶属度。刘鹏[4]汇总整理了神经网络的缺点和不足,提出利用遗传神经网络算法快速估算工程造价的设想。

1.3 利用模糊数学建模

这类模型运用模糊数学聚类分析技术和灰色系统理论,引用隶属度和贴近度等概念建模。但这类造价估算模型也有尚待商榷之处,未能全面考虑工程造价动态性的影响,估算精度可信度较低,需要搜集大量已建工程样本作为基础数据,具有较强的主观性且估价速度并不理想。

国内工程造价估算多采用扩大指标估算法和概算指标估算法。所采用的估算指标是由本行业和地方统一制定,并没有考虑建设工程质量、实际管理水平等问题,逐渐难以适应市场经济体制的发展。国内造价软件做得较好的有:广联达三山软件、上海神机妙算、上海鲁班算量、同望公路等,现有软件基本都分属于工程项目管理类或预决算类,但是真正将两者有机结合并向前后延伸,有助于实现工程造价全生命周期管理的造价软件明显不足。

遗传、模糊、神经网络技术在工程造价估算中的应用相当广泛,目前遗传算法的主要不足在于:收敛速度较慢且解的精度不高。有关研究人员提出了一种方法就是分布估计算法 (Estimation of Distribution Algorithms, EDAs) [5]。分布估计算法与GA的最大区别在于它们产生后代的方式不同,分布估计算法不使用GA的重组操作,而是对解集进行分析,从解集中选择部分好的解集提取信息,利用这些信息建立适当的概率分布,再从概率分布中进行抽样得到下一代。这种方法避免了GA中建筑块的破坏。本文的研究动机就是在公路工程估价中引入分布估计算法的同时结合神经网络来解决工程造价估算的问题。

2 用于公路工程造价估算的分布估计神经网络算法

分布估计算法有多种实现方式,这些算法的区别主要在于所采用的概率模型和采样方法;共同点是产生下一代的方式,它们都从解集中选择好的解集,并从中提取信息,利用这些信息建立合适的概率分布,再从概率分布中抽样得到下一代。本文采用UMDA (Univariate marginal distribution algorithm)算法与神经网络BP算法相结合[6],具体算法如下:

算法3.1:分布估计神经网络

输入:训练数据集,即拟建项目的特征因素的代表值;

输出:BP神经网络估算公路工程造价;

(1)随机初始化种群

(2)计算P (0)中个体的适应值;

(3) while(不满足终止准则)do

{

(1) 根据个体的适应值及选择策略从P (t)中选择M个优秀解;

(2) 根据这M个个体更新概率向量:

其中δj (Xi=xi)={1, Xi=xi;0,其他}

(3) 根据新的概率向量随机采样,产生下一代种群P’ (t) ;

(4) 计算P (t)中个体的适应值;

(5) t=t+1;

}

(4)将所得到的解分解为BP网络所对应的权值和阈值;

(5)运行BP,输出仿真值。

3 实验结果比较

本文采用文献[7]中的影响公路工程造价和工程量的9种主要特征作为估算模型的输入,以每公里公路工程单方造价作为本估算模型的输出。

当以案例中的前13个样本进行训练,用后4个样本作为测试数据时,经过10次运算的神经网络估算模型误差情况如表1和表2,从表上数据可以看出遗传BP网络较分布估计BP网络的单点之间的误差大,且网络震荡现象频发,而经过分布估计算法优化改进后的BP神经网络的稳定性和容错性能大幅提升;由以上对比可以看出,改进后的BP网络在性能上优于一般BP网络模型,能在降低计算结果的平均误差的同时大幅提高计算精度。

4结论

分布算法 篇10

【摘要】本文研究了微蜂窝网络中上行链路通信场景下移动用户的干扰管理问题,不同于现有大量基于信道调度和时隙调度的干扰避免方案,本文中每个移动用户可以自主选择接入的时频资源块,并根据反馈的干扰情况学习并动态调整策略;为了刻画用户之间的相互作用和影响,将该问题建模为一个非合作博弈,并证明该博弈模型为精确势能博弈,至少存在一个纯策略纳什均衡点,最优的纯策略纳什均衡点对应到全网干扰水平最小。最后,设计了一种基于异构独立修正算法的分布式学习算法。仿真分析表明,所提出的分布式学习算法可以有效地收敛到干扰最小化博弈的纳什均衡,相比于现有的干扰管理方案性能更优。

【关键词】干扰管理;时频资源调度;博弈论;分布式学习

一、引言

无线数据服务的需求成倍增加迫使移动运营商寻求新的方法来扩大覆盖,提高网络容量。微蜂窝技术被认为是满足用户迫切需求的最有效的手段之一。微蜂窝技术具有覆盖面小、传输能量低和安装方便的特点,主要用于提高网络容量或覆盖率。但是随着微蜂窝的超密集部署,现有的网络中的干扰情况越来越复杂。例如在频谱共享模式下的微蜂窝网络中的同层干扰问题愈加凸显,导致网络吞吐性能的恶化。因此,有效地干扰管理对于微蜂窝网络而言十分重要。

现有的干扰管理研究主要分为集中式和分布式干扰管理。集中式的干扰管理方法通常需要一个集中控制器来搜集全网的信息进行资源的优化分配,例如频率、时隙和功率的分配。但是由于在超密集的微蜂窝网络中,并非所有的微基站都由运营商部署,存在用户或者企业部署和管理的微基站,出于通信安全以及隐私考虑,全网信息的获取通常难以实现。其次,由于无线环境的动态变化,集中式优化决策方案的时效性较差,性能并不稳健。即使能够获取大规模微基站的即时优化所需信息,全网产生的大量回程链路的通信开销以及通信延迟都不能忽略。另一方面,分布式的资源分配方案因其较低的复杂度以及灵活稳健性引起了学术界的广泛关注。但目前现有的分布式方案中大量工作研究的是动态信道接入以及分布式时隙接入优化。

不同于现有大量基于信道调度和时隙调度的干扰避免方案,本文中每个移动用户可以自主选择接入的时频资源块,并根据反馈的干扰情况学习并动态调整策略。本文的主要贡献如下:

(一)提出了一种分布式的时频资源调度方法,与传统的主要集中在频率资源或时间资源的干扰管理方式不同,本文提出的干扰管理方式研究的是时频资源联合分配,即相邻用户在相同时隙占用不同的信道或在不同的时隙内占用相同信道以避免干扰。

(二)提出联合频率和时隙资源块接入的干扰最小化博弈,证明了它是一个精确势能博弈,且至少存在一个纯策略纳什均衡点,对应整个网络的最小干扰水平。

(三)提出了允许所有用户同时更新选择的基于分布式的联合时频资源调度的学习算法。该学习算法基于对独立修正算法(independent revision process (IRP))的扩展,允许所有用户独立操作且没有任何协调机制。

二、系统模型和问题描述

如图1所示,假设微蜂窝用户的位置是随机分布的,在上行链路通信中,当两个用户的微基站服务同时在同一信道上同时传输时,会互相干扰。由于用户的传输能量有限,因此其相应的干扰距离是有限的。上行传输中,对于基站侧而言,有两种类型的干扰:来自相邻基站用户的强干扰和来自非相邻用户的弱干扰,通常情况下只考虑来自相邻用户的强干扰,可以通过干扰图(冲突图)来刻画相邻小区之间的干扰情况,干扰图中可以将对应的微蜂窝基站和用户(后文中简称为微蜂窝用户对)视为A干扰图中的一个顶点,相邻的微蜂窝用户对之间存在干扰关系时,存在一条边连接对应的顶点。

将可用的频谱资源B划分为个子信道,信道集合为。一帧由选择时段和传输时段组成,用户在选择时段选择他们的信道和时隙,然后在传输时段传输数据。可用的传输时段又分为个时隙,时隙集合可表示。用 表示微蜂窝基站的集合,并假设每个基站只服务一个用户,令表示对应用户的集合。

定理1:信道和时隙干扰最小化博弈是一个精确势能博弈,至少有一个纯策略纳什均衡点,对应整个网络的最低干扰水平。

证明:证明过程遵循文献[7]中定理2.2的证明思路,可证明信道和时隙干扰最小化博弈是一个精确势能博弈,同时,根据精确势能博弈的性质可证明纳什均衡点的存在性。

四、基于局部信息交互实现干扰最小化

上一节已经分析了信道和时隙干扰最小化博弈至少存在一个纯策略纳什均衡点。由于用户的超密集部署,难以通过集中式的方法实现全局优化,本文尝试使用分布式的方法来解决这个问题。目前研究中已经提出一些分布式的学习方案进行最优解的搜索,如空间并发自适应行动(C-SAP),无悔学习(NRL)算法等。本节设计了一种基于对独立修正算法(independent revision process (IRP))的扩展的学习算法,可以使得每个用户分布式的学习最佳的时频资源联合调度策略,该算法利用用户间的差异提高了收敛速度,可以实现了最优纳什均衡的搜索。

在步骤4中,用户通过不同的概率更新动作选择。如果当前的动作选择获得的回报较大时,用户保持当前动作选择的概率较大;而当现在的动作选择的回报较低时,用户更愿意进行探测,即更换其他的动作。在独立修订算法中,所有用户以相同的概率更新动作选择。较大的学习参数和导致较少的用户更新选择,收敛速度慢;而较小的学习参数允许大量相邻用户同时更新选择,算法可能无法收敛到纳什均衡点,本文中不同用户的异构学习参数可以解决这个问题。

五、仿真结果与分析

考虑一个蜂窝网络中一个的热点区域内的上行通信传输场景。每个微蜂窝基站服务一个最大功率为100mW的用户。有N个均匀分布的微蜂窝用户对,且数量范围为10到25对。如果两个蜂窝用户对之间的距离小于30m,那么它们是相邻用户(不同的阈值会导致不同的性能,在文献[6]中已有研究)。噪声功率是-130dbm,路径损耗指数为4。在下述模型中给出的信道和时隙的数量是不同的。

(一)学习算法的收敛性

假设在上述的网络中有40个用户,信道数和时隙数分别为6和1。图2通过与并发空间自适应行动和独立修正算法的比较显示了所提算法的收敛性。其中IRP算法和C-SAP算法的学习参数β分别是200和100,在独立修正算法中。所提的基于分布式学习的时频资源联合调度算法的参数设置为和,为迭代次数。仿真结果为100次蒙特卡洛独立试验的平均值。

图2表明所有算法的干扰水平随迭代次数的增加而减小,而且基于分布式学习的时频资源联合调度算法收敛到全局最优的速度快于其他两种学习算法,独立修正算法和空间并发自适应行动的收敛速度相近。仿真发现,由于独立修正算法在一次迭代中允许多个用户同时改变选择导致其收敛到纳什均衡的速度低于空间并发自适应行动。当时,每个用户都做出了最优选择,因此每一次迭代之后干扰水平都会降低。但对于独立修正算法,所有的用户都可能会改变其动作选择,相邻的用户可能同时更新动作选择,干扰水平可能不会在每次迭代后都减小。此外,在独立修正算法中的大小对于收敛速度是至关重要,小的 值意味着用户更愿意更新选择,而大的值意味着保持当前选择的可能性更大。所提出的基于分布式学习的时频资源联合调度算法考虑到了用户之间的差异,收敛速度通常快于空间并发自适应行动算法,而且与空间并发自适应行动相比,基于分布式学习的时频资源联合调度算法可以在没有任何协调机制的情况下实现,这使得它能更灵活地应用于未来的超密集微蜂窝网络中。

(二)吞吐量性能评估

如图3所示,在信道数为1的条件下,每个用户的平均吞吐量随用户数的增加而减小。若将全部频谱分为两个信道,可以使干扰大大减轻,平均吞吐量大幅增加。

本文研究了各种参数对系统性能的影响。虽然用户可以独立地选择信道和时隙,但并没有使得平均吞吐量最大化的所需信道数和时隙数的先验信息。通过仿真发现,最大化吞吐量的参数与特定的场景有关,太多的信道和时隙会增加算法的复杂度和额外开销,故不需要设置太多时隙来避免相邻的强干扰。

图4反映了两种不同资源调度方法下的平均吞吐量随用户数的变化。时隙数随用户数的变化已在文献[3]的方案中表明,设置 。当用户数量增加时,每个用户占用更少的信道和时隙资源,所以用户的吞吐量下降。结果表明,如果将频谱分为两个信道,用户可以获得较高的平均吞吐量。此外,所提方案在超密集部署的微蜂窝网络中更具优势,较文献[3]中的方案性能提高了约33%。但在吞吐量能够满足用户最低速率要求的前提下,信道和时隙不能分得太多。

六、总结

本文研究微蜂窝基站和用户随机分布的蜂窝系统中的分布式信道和时隙联合选择的问题。针对相邻用户间用户决策相互影响的特点,将这个问题建模为一个非合作博弈,证明了这是一个精确势能博弈,且至少存在一个纯策略纳什均衡点。为实现该纳什均衡的搜索,提出了一个允许所有用户同时更新选择的基于分布式学习的时频资源联合调度算法。仿真表明,所提分布式学习算法能够收敛到干扰最小化博弈的纳什均衡,且相比于其他现有的干扰管理方案有更好的性能。

参考文献

[1]Chandrasekhar V, Andrews J G, Gatherer A. Femtocell networks: a survey[J]. IEEE Communications Magazine, 2008, 46(9):59-67.

[2]Zhang H, Wang Y, Ji H. Resource Optimization Based Interference Management for Hybrid Self-Organized Small Cell Network[J]. IEEE Transactions on Vehicular Technology, 2015:1-1.

[3]Ahuja K, Xiao Y, Mihaela V D S. Distributed Interference Management Policies for Heterogeneous Small Cell Networks[J]. IEEE Journal on Selected Areas in Communications, 2014, 33(6):1112-1126.

[4]Ramesh Kumar M R, Bhashyam S, Jalihal D. Throughput improvement for cell-edge users using selective cooperation in cellular networks[C]// Ifip International Conference on Wireless and Optical Communications Networks. 2008:1 - 5.

[5]Samarakoon S, Bennis M, Saad W, et al. Backhaul-Aware Interference Management in the Uplink of Wireless Small Cell Networks[J]. IEEE Transactions on Wireless Communications, 2013, 12(11):5813-5825.

[6]Aliu O G, Imran A, Imran M A, et al. A Survey of Self Organisation in Future Cellular Networks[J]. IEEE Communications Surveys & Tutorials, 2013, 15(1):336-361.

[7]Xu Y, Wang J, Wu Q, et al. Opportunistic Spectrum Access in Cognitive Radio Networks: Global Optimization Using Local Interaction Games[J]. IEEE Journal of Selected Topics in Signal Processing, 2012, 6(2):180-194.

[8]Young H P, Young H P. Individual strategy and social structure[J]. Princeton University, 1998.

[9]Neel J O, Reed J H, Gilles R P. Convergence Of Cognitive Radio Networks[C]// Wireless Communications and Networking Conference, 2004. WCNC. 2004 IEEE. 2004:2250 - 2255 Vol.4.

Marden J R, Shamma J S. Revisiting log-linear learning: Asynchrony, completeness and payoff-based implementation[J]. Ga

作者简介

分布算法 篇11

二项分布是一种传统的离散型分布模型, 在工程应用和科学试验中都有广泛的应用, 这些应用面临的重要问题是如何对二项分布参数的置信区间进行评估, 一个合理评估的置信区间可以节约时间、缩减成本等, 因此对这个问题进行研究具有重要意义。当前有很多文献[1,2,3,4,5]对二项分布参数置信区间评估方法进行了研究, 但是这些方法主要还是采用连续型分布的研究思路, 试图给出一个置信区间的经验计算公式, 由于二项分布离散型的特点[6], 这些公式难以很好地解决置信区间的评估问题。下面从二项分布置信区间的评价指标出发, 提出了一种二项分布置信区间评估算法, 并对算法的性能进行了分析。

1 评价指标

二项分布参数置信区间评估算法一般有3项评价指标[7]:平均覆盖率 (Mean Coverage, MC) 、平均置信区间长度 (Mean Interval Length, MIL) 和均方根误差 (Root Mean Squared Error, RMSE) 。

覆盖率是3项评价指标计算的基础, 给定二项分布参数n (样本数) 和p (发现概率或成功概率等的真值) 时, 覆盖率是二项分布置信区间对参数真值p的覆盖概率。计算方法为, 如果评估算法在值点x=0, 1, …, n计算出的置信区间[L, U]包含p, 相应值点的覆盖率为P{X=x}, 否则覆盖率为0;评估算法的覆盖率为所有值点覆盖率之和。

平均覆盖率的计算公式为:

式中, n为二项分布的样本量;p为二项分布的概率参数真值;Cn, p为在n、p给定时的覆盖率。MC越接近置信水平越好。

平均置信区间长度的计算公式为:

式中, pU为置信区间上限;pL为置信区间下限。MIL越小越好。

均方根误差的计算公式为:

式中, 1-α为置信区间的置信水平。RMSE越小越好。

2 算法设计

2.1 算法步骤

算法的具体步骤如下:

(1) 令p=[0∶step∶1], step为p步进的步长。

(2) 遍历p, 对于给定的p, 计算x=0, 1, …, n的概率分布P={p0, p1, …, pn}, 并按从大到小的顺序排列Ps={p0s, p1s, …, pns}。

(3) 确定k, 使得前k个的概率和比前k-1个的概率和 (前k+1个的概率和) 更接近于置信水平1-α, 即

(4) 对于Ps中前k个概率对应的x (x=n1, n2, …, nk) , 确定它们的置信区间, 如果在其他p时已确定x的置信区间为[a, b]。如果p在区间[a, b]中, 维持x的置信区间不变。如果p不在区间[a, b]中, 如果p

(5) 遍历完所有的p后, 每个x都会对应一个置信区间, 即为所求。

2.2 算法讨论

2.2.1 p步长

步长越小, 置信区间的边界越精确, 但是计算时间会更长。一般步长取10-4, 这样置信区间的边界可以精确到小数点后4位, 也可以根据精度需要进行步长的调整。

2.2.2 置信水平

算法在步骤 (3) 中采用的是覆盖率接近置信水平的方法, 这样并不能保证MC不小于置信水平。可以对步骤 (3) 进行调整, 使得每一个p处的覆盖率均不小于置信水平, 但是对小样本而言, 会遇到置信区间比较保守的问题。在下文的分析中, 如果没有明确指出, 那么置信区间的置信水平都认为是95%。

2.2.3 不等截尾的置信区间

一般方法使用的是等截尾的计算形式, 该算法经过步骤 (2) 的处理之后, 变成了使用不等截尾的情形, 不同的方法可以有多种不同截尾情形[8], 限于篇幅这里不进行对比分析。由于二项分布不像正态分布是一种对称的分布, 因此采用不等截尾的计算形式在置信区间长度、平均覆盖率方面更有优势。

3 算法对比分析

下面对本文方法 (Liu) 、Wald方法[9] (正态分布方法) 、Wilson方法[10]、Jeffreys方法[11]和AgrestiCoull (AC) 方法[12]进行对比分析。图1、图2和图3是以上5种方法在样本量n=5~200时, MC、MIL和RMSE三项指标的性能比较图。由于Wald性能非常差, 这里对Wald方法和本文方法专门进行了对比分析。

从图1、图2和图3可以看出:

(1) Wald方法的MC和RMSE指标性能即使在样本量n取值很大时也很差;

(2) 在MC指标方面, 除Wald方法之外的其他4种方法的MC都比较接近置信水平, 除本文方法较为波动外其他方法较为平滑, 但本文方法整体性能较好, 部分n处性能很优;

(3) 在MIL指标方面, 5种方法较为接近, 各种方法优势不十分明显;

(4) 在RMSE指标方面, Wilson方法波动最大, 本文方法具有较小的波动;

(5) 在某些样本量点本文方法3项指标具有非常明显的优势, 表1给出了样本量n分别为5、47和200、置信水平为95%时, 5种方法3项指标性能的比较 (颜色较深的数字为对应指标的最优值) 。

(6) MC和RMSE是一对矛盾, 一般不能同时获取2项指标的最优性能, 但这2项指标又不存在严格的比例关系;本文方法能通过在MC上较小的牺牲获取较大的RMSE优势, 整体性能较好;

(7) 通过图1、图2和图3和表1可以看出, 并非n越大各项指标的性能越好, 但是一个波动优化的过程。

4 结束语

通过上述研究可以得出如下结论: (1) 在给定样本量时, 就选用哪一种方法提供了参考; (2) Wald方法在各方面的性能都很差, 但是当前的工程标准中还在普遍使用它, 建议进行修改; (3) 本文方法在一些样本值下优势很明显。

另外还有一些问题需要做进一步的研究: (1) 如果要获取较高的置信区间精度, p的步长要足够小, 但是计算代价会快速上升, 如何平衡二者的关系; (2) 是否存在一些人工智能算法 (比如遗传算法) , 计算出的置信区间具有更好的性能。

参考文献

[1]LAWRENCE D.BROWN T.CAI T.Interval Estimation for a Binomial Proportion[J].Statistical Science, 2001, 16 (2) :101-133.

[2]李鸿.二项分布的参数估计问题研究[J].应用数学学报, 2010:33 (3) :385-394.

[3]PIRES A, AMADO C.Interval Estimators for a Binomial Proportion:Comparison of Twenty Methods[J].Statistical Journal, 2008, 6 (2) :165-197.

[4]明志茂, 张云安, 陶俊勇, 等.二项分布Bayes鉴定试验次数的选择与分析[J].系统工程与电子技术, 2008, 30 (12) :2512-2515.

[5]申绪涧, 戚宗锋, 汪连栋, 等.二项分布未知参数的序贯验后加权检验方法[J].无线电工程, 2003, 33 (10) :27-30.

[6]陆捷, 丁建江.二项分布在雷达组网威力试验确定观测点数中的应用[J].信阳师范学院学报 (自然科学版) , 2010, 23 (4) :599-601.

[7]JOHN U.A Comparison of Binomial Proportion Interval Estimation Methods[C]∥Maryland:NESUG, 2001, :690-696.

[8]FAY M.Two-sided Exact Tests and Matching Confidence Intervals for Discrete Data[J].The R Journal, 2010, 2 (1) :53-58.

[9]盛骤, 谢式千, 潘承毅.概率论与数理统计[M].北京:高等教育出版社, 2010.

[10]WILSON E B.Probable Inference, the Law of Succession, and Statistical Inference[J].Journal of the American Statistical Association, 1927, 22 (158) :209-212.

[11]BERGER J O.Statistical Decision Theory and Bayesian Analysis, 2nd ed[M].New York:Springer, 1985.

上一篇:现代阅读理解分析下一篇:土壤生物修复