电脑桌面
添加盘古文库-分享文档发现价值到电脑桌面
安装后可以在桌面快捷访问

混合数据范文

来源:漫步者作者:开心麻花2025-09-181

混合数据范文(精选9篇)

混合数据 第1篇

与市场风险和信用风险比较而言,操作风险是一种发生频率更低、但导致的损失更为严重的一种风险,用统计学的语言来说,其损失分布具有鲜明的厚尾性特点。

国外学术界、监管部门和银行业做了许多努力来衡量和管理操作风险,试图从不同角度出发,对操作风险管理研究和实践进行开创性的探讨,但并没有形成一个广泛认可的操作风险衡量和管理框架供银行业借鉴。同时,操作风险管理方法也不大可能像信用风险和市场风险那样,可以复制其他机构的成功方法。正是认识到操作风险管理的复杂性,因此巴塞尔委员会允许银行“可以选择采用他们自己对操作风险的定义”,并认为“每家银行选择对操作风险管理的正确方法取决于一系列因素,包括自身的规模和经验、业务特征和复杂性”。

1 操作风险测度方法评述

新巴塞尔协议[1]从监管的角度提出了度量操作风险的思路。按照度量模型繁简程度,度量精度和对数据量的要求精度,提出初级度量法和高级度量法来度量操作风险。初级度量法主要包括基本指标法[2]和标准法[3],高级度量法包括内部度量法[4]和损失分布法等,这些方法都能给商业银行操作风险管理过程提供一个可以参照的标准。但这些方法又各有其自身的特点。初级度量法提取监管资本简单而透明度高,有利于监管,但从银行自身的角度来看,指标的选取过于粗略,对风险不够敏感,据此计算的银行资本要么造成浪费,要么不足以补偿损失。一般而言,采取初级度量法提取的监管资本比较高。而使用高级度量法其稳健标准赋予银行在开发操作风险计量和管理方面很大的灵活性,风险敏感度非常高,从而有利于降低操作风险监管资本要求。随着损失数据资料的累积以及对操作风险研究的深入,银行可根据自身业务及管理程序的特点,建立适用的模型,使用自己的历史数据,计算出自身操作风险所需要的经济资本以抵补损失,将会大幅提高风险管理的效率。但目前我国商业银行不具备相应要求的数据和管理水平。

除了巴塞尔新资本协议从监管金融机构的角度建议的几种度量操作风险的方法外,金融界和学术界研究人员也提出了一些操作风险度量的方法和模型。一般而言,Value-at-Risk模型是进行操作风险量化建模的核心,量化操作风险模型大多是建立在其基础之上的。而考虑到操作损失厚尾特点,一般采用极值理论或某些统计分布进行尾部度量。Longin认为极值理论的优点在于它没有假设特定的模型,而是让数据自己去选择,对突发事件具有较强的预见性[7]。新近的研究显示,将VaR和极值理论法结合起来测定操作风险厚尾分布的模型,似乎能较好解决操作风险的“有偏、厚尾”特点,更适合对低频高危类型的操作风险事件进行防范。但运用极值理论也存在一系列的不确定性。包括参数的不确定、模型不确定性和数据不确定性,利用极值法处理较好的一类模型在高阈值上才适用,从而不得不考虑阈值的设定问题。实际中,阈值u的确定一般需要应用探索性的数据分析方法来实现,从某种意义上讲,在极值分析中永远不会有充足的数据,尽管上千个数据点对中心极限定理可能是合适的,但对分布的尾部就更少确定,而只有少数点进入尾部区域,因而会影响测度精度。因此,就必须拥有充分的数据和完备的数据库,但就目前而言,每个银行要想积累足够的建模数据非常困难,也难以实现。唯一的途径就是将其他银行的同类型数据“拿来”同自己的数据混合使用。但由于不同银行风险的异质性,其损失数据服从不同的数学分布,简单的混合会改变原有数据的分布特征,很难保证测度的精确度和可靠性。因此,就必须建立一种方法来解决内外数据的混合问题,使得能够很快建立模性并具备较高的精度和可靠性。

对于内外部数据整合建模的方法,目前存在三个研究方向[8]:其一是对内外部数据分别建模,然后利用贝叶斯方法对分布进行整合;其二是利用某些方法把内外部数据转化为同量纲,然后统一估计(Frachot等,2002);其三是利用外部数据构建损失分布的尾部,然后和内部建模进行整合。

本文参考第三种思路,先利用POT模型对内外部数据构建损失分布的尾部,估计一定置信水平下的ES,然后利用信度理论将内外部数据构建的损失尾部进行整合,从而得到需要的银行操作风险测度值。

2 对内外部数据构建损失尾部

极值理论只考虑风险分布的尾部, 这一优点使其很适用于操作风险测度。20世纪30年代初,很多学者开始对极值理论进行研究(Dodd,1923;Frechet,1927;Fisher和Tip-pett,1928), Gnedendo(1943)建立著名的极值定理, Gumbel(1958)将这一学科的研究做了系统的总结,Jenkinson(1955)把该理论应用于极值风险研究,之后极值理论开始逐步在保险和金融领域中广泛应用,Embrechts(1996,1998)系统地总结了极值理论在金融中应用的方面,概述性地阐述了极值理论在金融风险管理中的重要性;Diebold(1998)对极值理论的优点与缺点及适用范围进行了评析[9]。

极值理论一般包括BMM模型和POT模型[10]。本节利用POT模型针对外部数据构建VaR和ES。

2.1 POT模型

由于POT模型是对观察值中所有超过某一较大阈值(Threshold)的数据建模,有效地使用了有限的极端观察值,将通常被认为在实践中是最有用的F(x)设为操作风险损失的分布函数,u为阈值,z-u表示超额数,定义超额分布函数为:

Fu(y)=Ρ(X-uy|Xu),0yx0-u(1)

其中,x0∞是F的右端点,超额分布函数表示损失超过闽值的概率。由Pickhands定理可知,超额数的分布函数可以用广义Pareto分布(GPD)近似,由GPD分布的参数ξβ可得F(z)的尾部估计为:

F(z)=(1-F(u))Gξ,β(y)+F(u)={1-Νun(1+ξ^z-uβ^)-1ξ,ξ01-Νunexp(-z-uσ),ξ=0(2)

其中,Gξ,β为广义Pareto分布:

Gξ,β(y)={1-(1+ξyβ)-1ξ,ξ01-exp(-yβ),ξ=0(3)

其中,ξ是重要的形状参数,而β是分布的尺度参数,β≻0。当ξ≥0时,y≥0; 当ξ0时,0y-β/ξ.当ξ≥0时,广义Pareto分布是厚尾的,这种情形与操作风险测度是最相关的。

2.2 阈值的选取和GPD参数估计

将所有样本值按从大到小降序排列得顺序统计量x1≻x2≻≻xn,阈值u为介于xxn之间的任一统计量。由平均超额函数可得样本超额函数e(u)=E(x-u|xu)为:

en(u)=i=1n(xi-u)Νu(4)

其中,Nu表示xi>u的样本个数。对于GPD模型的平均超额函数为e(u)=(β+)/(1-ξ),显然,e(u)是关于u的线性函数,因而在数轴上两者的关系应是呈线性变化的,根据这一特点可以通过将u设为横轴,e(u)设为纵轴作散点图,当观测到超过某一临界值u后,e (u)开始呈明显的线性变化,确定此临界值为阈值。

阈值u确定后,就可以通过极大似然法对GPD参数ξβ进行估计,GPD的样本{z1,z2,,zn}的似然函数L(ξ,σ|z)为:

L(ξ,σ|z)={-nlnσ-(1+1ξ)i=1n(1+ξσyi),ξ0-nlnσ-1σi=1nyi,ξ=0(5)

2.3 利用POT构建损失尾部

从数学的观点来看,作为度量操作风险测度的VaR,是在一定时期内操作损失分布的一个分位数。假设损失分布函数为F,置信水平为q,则VaR可以表示为:

VaRq=inf{xR:Fx(x)q}(6)

利用POT模型构建操作风险损失的尾部,极值理论只考虑分布的尾部。由式(2)、式(6)可以得极值VaR的表达式为:

VaRq=u+β^ξ^((nΝu(1-q))-ξ-1)(7)

尽管VaR已被广泛接受,但它不满足次可加性,且没有考虑到尾部风险等不足,为弥补这些缺陷,Artzner等提出了期望损失(ES)模型[11],度量的是损失超过VaR水平的条件期望值。ES和VaR通过下式联系:

ESq=VaRq+E[X-VaRq|XVaRq](8)

由式(7)、式(8)很容易得到ES的估计式:

ES^q=Va^Rq(x)1-ξ^+β^-ξ^u1-ξ^(9)

3 利用信度理论进行整合

不同银行操作风险损失分布既存在异质性,也存在同质性。因而在银行操作风险测度过程中,完全可以部分参考银行外部数据来弥补内部数据不足而引起的测度困难,关键是程度的确定。可以利用信度理论解决此问题。

3.1 信度理论

信度理论萌芽于20世纪20年代,成熟于20世纪60年代,是非寿险精算学中经验费率厘定最重要的方法。简单说来,在保险业实践中,往往需要对一组保险合同确定一个保费水平,保险公司有关于该组本身的一些理赔记录,同时在与其相关的更大的一组保险合同上有更多的理赔记录。在确定保费的时候,不但要考虑该组理赔记录,还要考虑到集体理赔记录,为确定合理的保费水平,提出了信度模型[12]。

信度模型是研究如何利用本保单组合近期损失数据(称为经验数据)和主观选择的类似险种同期损失数据(称为先验信息数据),加权平均得出后验保费的估计。信度模型可分为完全可信性和部分可信性。前者是在均方差最小的意义下导出可信性保费的计算公式,而后者是根据投保人自身的索赔经验来确定保费,为保证模型可信性要求投保人索赔经验数据稳定,即便有波动也不剧烈。本文主要采用部分信度理论来对通过内外部数据获得的极值VaR和内部数据模型混合。

如果样本容量n不够大,不满足完全可信性条件时,就无法利用完全可信性理论将下一期保费厘定为历史讲演数据的平均的x¯.为了解这一问题,人们提出了部分可信性理论,认为可以将下一期保费P定价为x¯M的加权平均:

Ρ=(1-z)Μ+zx¯(10)

其中,M是人们根据时间经验,通过合理的推测和判断得到的下一期保费的定价;z称为信度因子,它表示x¯在保费P中的权重。信度因子z的值在0和1之间,z的大小表示x在保费厘定中的可信性程度。如果样本容量n不够大,以至于完全可信性条件式

Ρ(|x¯-μμ|γ)1-α(11)

不成立,这种情况意味着

Ρ(|x¯-μμ|γ)1-α(12)

显然, 概率Ρ(z|x¯-μμ|γ)随着z的减小而增大。部分可信性理论选取的信度因子z, 可使得概率Ρ(z|x¯-μμ|γ)正好等于1-α,即

Ρ(z|x¯-μμ|γ)=1-α(13)

利用中心极限定理,求得信度因子

z=nγμ/(σU1-α/2)=n/(λ0σ/μ)(14)

若记n0=λ0(σ/μ2),如完全可信性条件式

nλ0(σμ)2=λ0VaR(x)(E(x))2(15)

成立时,样本容量至少为n0.此时z=n/n0,它是样本容量n与完全可信性条件成立时最小样本容量n0比值的算术平方根。z随着n的增大而增大,当nn0时,完全可信性条件成立,取z=1。由此可以得到部分可信性理论的信度因子

z=min(nn0,1)=min(μσnλ0,1)=min(E(X)VaR(X)nλ0,1)(16)

在银行内部没有历史经验数据的时候,人们只得参考其他相类似的数据或其他部门和地区的经验,通过合理的推测和判断给出定价,这时n=0,取信度因子Z=0。

3.2 数据整合

设操作风险损失为X为随机变量,x1,x2,,xn为其观测值,VaRint(p)为利用内部数据得到的置信水平为p的极值VaR,VaRext(q)为利用外部数据得到的置信水平为q的极值VaR。下面利用部分可信性信度理论对内外部数据的模型结果进行混合得到

VaR(p,q)=zVaRint(p)+(1-z)VaRext(q)(17)

从而

ESp,q=VaR(p,q)1-ξ+β-ξμ1-ξ=zVaRint(p)1-ξ+(1-z)VaRext(q)1-ξ+β-ξμ1-ξ(18)

由于内部操作风险样本数据不充分,按式(14)取信度因子。于是

ESp,q=(nγμ/σ)U1-α/2VaRint(p)1-ξ+(1-(nγμ/σ)U1-α/2)VaRext(q)1-ξ+β-ξμ1-ξ(19)

其中, p,q为置信水平,一般取p=q, γα为给定的非常小的正数,n为样本容量,u为阈值, μσ2分别是操作风险损失的期望和方差,其估计量分别是

μ^=i=1nxinσ^2=1n-1i=1n(xi-μ^)2(20)

当内部数据的样本容量充分大时,按式(16)取z=1,此时VaR(p,q)=VaRint(p),不用借助外部数据,完全利用银行内部数据即可测度银行操作风险。

4 结论

对于损失在阈值之上的低频高损失的操作风险,其有偏、厚尾性使其测度更具复杂性,极值理论能够解决此一问题。但在银行内部数据不充分的情况下,只有少数点进入尾部,尾部数据不够大,必然会影响参数的确定,继而影响测度精度。引入信度理论,将外部数据构建的操作风险损失尾部与内部数据建模进行整合,通过估算合适的信度因子,利用外部数据弥合内部数据不充分引致的测度误差,以期获得更精确的测度值。

当然,对模型的有效性还需进行定量和定性检验,利用返回检验和基准法检验测度的判别能力、稳定性并进行校准;同时,利用定性检验考察模型设计、数据质量和内部应用情况等,定性检验在银行数据较为缺乏时是十分必要的。

参考文献

[1]Basel Committee on Banking Supervision.International convergence of capital measurementand capital standards[Z].Basel:Bank forInternational Settlement,2004.

[2]King J L.Operational risk:measurement andmodeling[M].John Wiley&Sons Ltd,2001.

[3]Basel Committee on Banking Supervision.The newBasel capital accord.Third consultative document,2003.

[4]Ong M K.Internal credit risk models:capitalallocation and performance measurement[Z].Published by Risk Books,2001.

[5]Jorion P.Value at risk(2nd edition)[M].McGraw-Hill,2001.

[6]Morgan J P.Risk metrics[Z].Risk MetricsMonitor,1996.

[7]Longin F M.From value at risk to stress testing:the extseme value approach[J].Journal of Bankingand Finance,2000,(24):1097~1130.

[8]Alexander,Carol.Operational risk:regulation,analysis and management[M].Pearson EducationLimited,2003.

[9]Diebold F X P.It falls and opportunities in theuse ofextreme value theory in risk management[Z].Wharton School University of Pennsylvania,URL:www.wharton.upenn.Edu,1998.

[10]Reiss R D,Thomas M.Statistical analysis ofextreme value[M].Basel Birkhauser Verlag,1997.

[11]Artzner P,et al.Coherent measures of risk[J].Math Finance,1999,9(3):203~228.

混合数据 第2篇

【摘 要】在Windows和Linux的混合局域网环境中,利用Samba服务方便的实现局域网内的数据共享,从而降低整体系统的构建成本。

关键词Samba;数据共享

0 引言

Microsoft Windows以其友好的用户界面在桌面环境中获得了广泛的应用,而Linux以其开放、自由和强大的稳定性和安全性在服务器领域占据着主导。在企业、机关、学校等单位的办公局域网环境中,如果能将Windows和Linux结合起来构建混合局域网,则可以兼顾前者方便易用和后者稳定安全的优点,并可以避免购买昂贵的Windows Server授权,显著降低办公成本。

在这样的混合局域网环境中,大部分的工作站使用Windows操作系统,少量的机器安装Linux以提供各种局域网内的公共服务。各个Windows工作站是无法使用Linux的NFS Server服务的,这些Windows工作站彼此之间使用Microsoft和IBM合作开发的SMB(Server Message Block)协议来进行文件或打印机等设备之间的共享,而Samba就是Linux专为SMB而设计的服务器系统,这样Windows工作站与Linux服务器就可以方便的沟通起来。

1 Samba简介

Samba这套系统是一个名叫Andrew Tridgell的博士生通过逆向工程分析SMB通信协议而开发出来的。软件开发出来以后,Andrew Tridgell为这套系统注册商标,一开始申请用SMBServer作为商标。但是,因为SMB是没有意义的文字,所以无法注册为商标。Andrew Tridgell开始翻开字典,就像给孩子取名字一样苦苦查找,突然发现Samba刚好含有SMB,又是一个热情有劲的拉丁舞的的名称,所以就用Samba这个名字作为了商标。[1]

自从有了Samba,微软对此极为抵触,因为Samba使得Linux的工作站可以无缝的融入到Windows工作组中,影响到了Windows的销售。所以微软一直通过各自方式试图阻挠Samba。直到,微软在欧盟的反垄断案中败诉,然后被强制要求向Samba公开他们的网络控制协议,这件事情之后,微软才开始慢慢学习和Samba接触。在微软甚至还向Samba社区提交了一段补丁代码。Samba 团队的 Chris Hertel 在文章中道:“在过去的年月里,收到来自微软的补丁代码是一件无法想象的事情,但是时代已经变了,战争也该结束。对于软件专利我仍然持否定态度,因为它阻止了软件的创新。但是现在,在为建立一个更强大的社区和提高SMB的互操作性的战斗前线上,微软和我们并肩作战。”[2]

2 Samba的安装

此处以RHEL6(Redhat Enterprise Linux 6)为例,介绍Samba的安装过程。

假如还不知道系统内是否已经安装了Samba,可以通过如下命令获知:

# smbd -V

Version 3.6.9-164.el6

如果像上面那样可以顺利的看到版本信息,则表示Samba已经安装好了。否则还需安装Samba相关套件。

在RHEL6中,Samba服务的包组是CIFS file server。CIFS即网络文件共享系统(Common Internet File System),就是通过SMB协议而构成的网络文件系统。可以通行以下命令来安装这个包组:

# yum groupinstall “CIFS file server”

Samba服务主要是由两个服务程序构成:(1)smbd――该守护进程负责验证用户身份,提供文件与打印机的共享服务;(2)nmbd―― 该守护进程提供WINS(Windows Internet Name Service)服务,也就是查询Windows主机名称所对应的IP地址服务3,这相当于SMB局域网上的DNS服务。

3 Samba的`配置及运行

在RHEL6下安装好Samba后,主配置文件位置在/etc/samba/smb.conf。整个smb.conf是由多个区段(section)构成的。Samba保留了一些关键字作为特殊区段的名称。其中global关键字定义整体服务器参数;homes关键字定义当SMB客户端连接此主机时,Samba以用户的帐号名称建立一个共享资源,用户可以访问他在Samba主机上的个人目录;printer关键字则定义共享打印机的设置。此处给出一个配置Samba服务器的实例。先看global区段定义。

[global]

workgroup = MSHOME

server string = Samba Server Version %v

netbios name = RH6_Samba_111

;interfaces= lo eth0 192.168.12.2/24 192.168.13.2/24

hosts allow = 127. 192.168.1.

workgroup = MSHOME,将NT域名或者工作组名称设置为MSHOME。在CIFS中,根据主机不同的功能将它们划分到不同的域或者工作组中以方便管理。域与工作组在规模和管理方式上都有所不同:工作组一般不超过20台主机,而域可以管理上千台主机;域需要配置单独的域控制器(Domain Controller),而工作组不需要;域的管理是在Domain Controller上集中管理的,而工作组是在每台主机上单独配置的。

server string = Samba Server Version %v,是一段显示给访问者的描述信息。此处使用了默认设置。endprint

netbios name = RH6_Samba_111,NetBIOS主机名称。这一行把该主机在CIFS中的主机名称设置为”RH6_Samba_111“,如果注释掉该行,会使用hostname作为NetBIOS主机名称。

interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24,该行指定Samba服务监听在哪些网卡上,注释掉该行表示监听所有网卡(分号表示注释,以下同)。

hosts allow = 127. 192.168.1.,该行定义哪些网段的主机可以访问本Samba服务。此例定义了127网段和192.168.1网段可以访问。

再看homes区段的例子:

[homes]

comment = Home Directories

browseable = no

writable = yes

;valid users = %S

;valid users = MYDOMAIN%S

当SMB客户端连接到此主机时,Samba会自动以用户帐号名建立一个家目录(Home Directory)。writable = yes表示用户可以在家目录中写入文件。browseable = no表示除了用户自己可以浏览本家目录的资源外,其他用户是不可以浏览的。

最后看public区段的例子:

[public]

;comment = Public Stuff

path = /data

public = yes

;writable = yes

printable = no

;write list = +staff

@里定义了本Samba服务所共享的资源。[public]为该共享资源访问点的名称;path = /data定义了共享资源的位置;public = yes规定了该目录为公开共享,即无需密码即可访问;printable = no定义了该资源不是一个打印机而是磁盘;; writable = yes注释掉该行表示该目录为只读;; write list = +staff,这里可以设定一个组,该组用户可以写入该共享目录。

这里把/data目录作为共享资源,所以我们必须事先建立好这个目录,并设置好目录的权限:

# mkdir -m 755 /data

然后即可通过service smb restart命令开启Samba服务,Windows工作站即可以通过网上邻居访问到Samba的共享资源。

4 结束语

利用Samba服务将Linux系统无缝的融入到Windows办公局域网中,为整个局域网提供数据共享,提高了服务的稳定性并降低了整体办公成本。

【参考文献】

混合数据 第3篇

关键词: 档案管理系统; 混合型数据库; 结构化数据; 非机构化数据; 全文检索

中图分类号:TP315 文献标志码:A 文章编号:1006-8228(2012)09-41-03

Design and implementation of archives management system based on the mixed type databases

Ruan Xunhui

(Zhejiang Tellyou Information technology Co.ltd, Hangzhou, Zhejiang 310006, China)

Abstract: Along with more and more archival data, including structured data and unstructured data such as archives catalogue, text, photos, scanned, electronic document, it is a problem for a new generation archives management system that how to unify, complete, effectively manage these data. From the viewpoint of design and implementation, the design idea of archives management system based on mixed type databases is introduced. The characteristics of mixed type database are utilized to effectively manage the archives data, to implement full text retrieval and utilization, and to improve the archives'' utilization rate and utilization value.

西部数据与闪迪共创固态混合硬 第4篇

全球最薄、面积仅为2.5平方英寸的WD Black黑色系列固态混合硬盘 (SSHD) 由闪迪存储装置、西数专利混合技术、以及符合行业标准的SATA IO技术等核心元素组合而成。闪迪i SSD技术可以控制SSHD的性能、低功耗、成本、可靠性与紧凑型设计之间的完美平衡性。SSHD提供的充足存储空间不仅能满足消费者不断增多的数据存储需求, 同时对闪存架构速度、数据吞吐量、以及读写速度等性能方面的需求皆通过超薄体积轻松满足。

闪迪公司客户存储解决方案高级副总裁兼总经理Kevin Conley说道, “我很高兴看到闪迪与西部数据合作推出这款举世瞩目的全新混合产品。融入了闪迪领先的闪存经验与技术的WD Black黑色系列SSHD, 不仅具备了机械硬盘特有的大容量、同时还实现了应用于固态存储解决方案的紧凑型设计和性能。”

西部数据客户计算事业部副总裁Matt Rutledge说道, “通过与闪迪的合作, 西部数据看到了集成两种技术优点的新品前景。西部数据SSHD完成延续SSHD与闪存存储革新中的重要成果。”

西部数据黑色系列固态混合硬盘介绍

WD Black SSHD (西部数据黑色系列固态混合硬盘) 使用西部数据混合技术, 集成了来自闪迪的快速响应与智能闪存技术, 及来自西部数据的高容量硬盘技术。这种强大的集成大幅提高了PC用户的体验, 使之可以获得比传统硬盘更高的容量与性能, 包括更快的速度、随开即用的性能与更快的应用启动速度。

混合数据 第5篇

关键词:参数计算,抽水试验数据,单纯形法,差分进化算法,混合算法

0引言

含水层参数是进行地下水资源评价和开发利用的基本数据,诸如导水系数和储水系数等都是含水层重要参数。目前,主要通过分析非稳定流抽水试验数据来获得含水层参数。泰斯公式[1]具有形式简单和能够在一定程度上反映在抽水过程中的地下水水位变化规律等优点,因而一直被作为分析非稳定流抽水试验数据,确定含水层参数的基本公式。由于泰斯公式是待求含水层参数的隐函数,不能够直接进行求解,为了便于应用,已经提出了多种基于泰斯公式的确定含水层参数的计算方法,如标准曲线配线法[1]、Jacob直线图解法[1]、非线性最小二乘法[2]和改进直线解析法[3]等。这些方法都有其自身的优点,但在应用中也存在着一定的局限性。近年来,人们已经将属于智能优化算法的模拟退火法[4]、粒子群优化算法[5]和混沌序列优化算法[6]等方法应用于求解分析抽水试验资料,确定含水层参数的函数优化问题。

差分进化算法[7](Differential Evolution,DE)是1995年Storn和 Pricel提出的一种并行随机性搜索算法。它是通过群体内个体间的合作和竞争产生的群体智能优化算法,其具有操作简单,算法控制参数较少和全局搜索能力较强等优点,然而,其也存在着运算后期进化收敛速度较慢,计算结果精度较低等不足之处;单纯形法[8]是一种多维直接搜索的局部优化方法,属于确定性的算法,与其他的确定性优化方法相比,其具有不需要计算目标函数的梯度,只是针对一定的图形的顶点,直接进行搜索,具有运算过程简单,计算量小,局部搜索能力强等优点,但是其存在着对参数初始值的依赖性较强且易于陷入局部极值点等弱点。鉴此,文中尝试将具有确定性运算特征的单纯形法和具有随机性运算特征的差分进化算法有机地结合起来,构成一种混合优化算法,即单纯形差分进化优化算法,并将其分别应用于分析在满足泰斯假设条件的无限含水层和存在直线隔水边界含水层两种情况下进行的非稳定流抽水试验数据,确定含水层参数,且与其他方法进行运算精度和收敛性等方面的比较。

1单纯形差分进化混合算法

1.1单纯形法和差分进化算法简介

单纯形法[8](Simple Method,SM)也可称为可变多面体搜索方法,是一种传统的无约束最优化直接算法,其搜索速度快、计算量小、具有较强的局部搜索能力。其基本原理是:在 维空间中,用 个顶点构成一个多面体,求出各顶点的适应值,并确定其中的最优点、次优点和最差点,然后通过反射、延伸、压缩或收缩等操作找出一个较好点,取代最差点,从而构成一个新的多面体,这样重复迭代可以找到或逼近一个最优点。

差分进化算法[9](Differential Evolution,DE)是一种全局并行优化算法,具有记忆个体最优解和种群内部信息共享的特点,这种算法主要包括交叉、变异和选择等操作算子。其基本思想是运用当前种群个体的差分变异和交叉重组得到的中间种群,然后基于贪婪选择策略对父代种群和中间种群中的个体进行选择操作得到具有更佳适应度的子代个体。

1.2单纯形差分进化混合算法的构造

由于单纯形法能够在局部进行快速寻优,可以克服差分进化法在后期收敛较慢的缺点,而差分法则能够把握大局,全局搜索能力强,可以弥补单纯形易受参数初值大小影响且易于陷入局部极值点的缺陷。因此,文中采取差分与单纯形法的交叉搜索策略。单纯形差分进化混合算法(SMDE)的主要步骤如下。

Step1:初始化种群规模N、交叉因子CR、输入求解参数的上界和下界、最大迭代次数kmax以及满足精度要求的次数ks

Step2:随机产生由N个位于搜索空间内的候选解个体组成的初始种群P0。

Step3:将种群P0当前各个体位置设定为其历史最优位置,再找出当代全局最优适应度及其位置。

Step4:初始化迭代次数kk1,若k<kmax且满足防止早熟所设置的迭代次数k1<ks时进入循环。

Step5:由差分进化算法得到变异向量、试验向量和下一代个体,比较试验向量所对应的适应度得到个体历史最优值,将其赋给历史最优值,再在各个历史最优值中找到全局最优值。

Step6:由单纯形法从当前群体中获取局部最优值,再将其随机赋给群体中某个个体,k1=k1+1。

Step7:迭代步数k=k+1并且返回Step4,直到k1达到设定的ks时,迭代停止同时输出最优解、位置及其迭代次数。

图1给出了以上运算过程的流程图。

2含水层参数识别问题

为了检验单纯形差分进化混合算法的适用性和可靠性,本文将其应用于无限边界含水层和有直线隔水边界含水层2种情况下的含水层参数计算问题。

2.1井函数值计算

(1)泰斯公式与井函数值的计算。

含水层为均质各向同性并无限延伸时,若以定流量Q进行抽水,那么在抽水开始后 时刻,在含水层中距抽水主井水井距离为r的点处的水位降深可以表示为[1]:

式中:S表示水头降深;Q表示抽水流量;T表示含水层的导水系数;W(u)为泰斯井函数,其表达式为:

式中:u为无量纲时间,其表达式为:

式中:μ为含水层的储水系数,无量纲。

从式(2)可以看出,在计算水头降深时,要计算广义积分数值。在此采用R.Srivastava在文献[10]中给出的近似表达式进行计算。

常数值分别为:a0 =-0.577 72,a1=0.999 99,a2=-0.249 91,a3=0.055 19,a4=-0.009 76,a5=0.001 08,b0=0.267 77,b1=8.634 76,b2=18.059 02,b3=8.573 30,c0=3.958 50,c1=21.099 65,c2=25.632 96和c3=9.573 32。

(2)直线隔水边界条件下的降深计算公式。

在含水层存在直线隔水边界,而其他条件与无限边界含水层情况相同的情况下,抽水试验过程中的观测孔中的水头降深可以表示为[1]:

式中:ρ表示观测孔到映射井间的距离。

2.2目标函数的构成

在应用单纯形差分进化混合算法时,要求预估的含水层参数值能使下列表达式的目标函数达到极值为:

式中:sj0表示在抽水开始后第j时刻观测到的实际水位降深值;sj为利用式(1)计算的第j时刻的水头降深;在无限含水层情况下,利用式(1)计算sj的值;对于具有隔水层边界含水层情况,运用式(6)计算sj的值;θ为待估参数向量;j=1,2,,n为抽水试验过程中水位降深观测时间的序列号。

目标函数式的意义为选取适当的参数θ值,使降深观测值与其计算值之间的离差平方和的均值达到极小。此时对应的含水层参数值,即为问题所求。对于函数优化问题(7)而言,设含水层的导水系数Tθ1,储水系数μθ2,在有直线隔水边界情况下,设观测井到映射井间的距离ρθ

3数值实验

3.1抽水试验数据

为了验证文中方法的适用性和可靠性,引用文献[11]中给出的2种含水层边界条件下的实际抽水试验数据进行数值实验。表1中给出的是无限边界含水层条件下,在抽水开始后距抽水主井距离为30.48 m处观测孔中的实际水头降深观测数据,试验中的抽水流量为4 612.8 L/min,抽水持续时间为800 min;表2中给出的是具有直线隔水边界含水层条件下,在抽水开始后距抽水主井距离为30.48 m处观测孔中的水头降深观测数据,试验中的抽水流量为4 581.7 L/min,抽水持续时间为840 min。

3.2结果与讨论

3.2.1实验条件与不同方法的计算结果

根据图1所示的算法流程图,利用Matlab编写了SMDE算法的程序,在计算机上进行数值实验。表3中给出了利用SMDE算法以及文献中采用其他方法在无限含水层条件下数据的含水层参数计算结果。从表3中可知,文中方法和其他方法得到的计算结果非常接近,SMDE混合算法的计算结果是可靠的;同时还可以看出,由SMDE混合算法计算得到的含水层参数使得目标函数值φ达到了3.46210-6,由此可知,由SMDE混合算法得到的计算结果精度明显高于其他方法。

3.2.2在有隔水边界条件下的参数计算

采用表2的数据,由文中的SMDE算法得到的3个含水层参数分别为T =3.014 m2/min,μ=0.0663,ρ=107.433 m,对应的目标函数值为φ=3.82410-6。为了验证含水层参数计算结果的可靠性,将计算得到的含水层参数代入式(6),计算了水头降深s随时间的变化过程,如图2所示。由图2可以看出,

计算的水头降深随时间变化过程与实际观测的吻合非常良好。由此可以表明,文中方法同样适用于分析存在隔水边界含水层情况下的抽水试验数据,而且含水层参数的计算结果是可靠的。

3.2.3与其他算法的比较

(1)与单纯形算法的比较。

对于第2个算例,文中采用了待估参数初值的上限分别为含水层参数真值的2~8倍之间的4种初值取值范围方案,分别由单纯形法和单纯形差分进化混合算法进行100次运算。当目标函数值φ小于或等于4.010-6认为运算是收敛的,由收敛次数与总运算次数的比值作为算法的寻优率。表4中给出了不同情况下的寻优率。从表4明显可以看出,随着待估参数范围的扩大,单纯形算法易陷入局部最优的缺陷是非常明显的,而文中构造的混合算法能够很好地改善单纯形算法的此缺点,具有非常良好的收敛性。

(2)与差分进化算法的比较。

对于差分进化算法和单纯形差分进化混合算法的比较,文中采用待估参数初值的上限分别为含水层参数真值的2~10倍之间的4种初值取值范围方案,分别由连续进行100次运算,以得到的寻优率、平均最优值、平均参数来作为算法的优劣性衡量标准。

表5给出了通过Matlab编程分别采用2种算法得到的计算结果。从表5中可以看出待估参数初值的不同选取方案,对于DE算法有较大影响,随着待估参数范围的扩大,其寻优率降低较快,平均最优值也增加到1.810-5,且寻优率也降低到72% ;文中算法相对比较稳定,其计算的目标函数值均没有超过1.010-5,并且寻优率也都不低于90%;由此可以看出SMDE算法收敛性较好,而且计算结果精度也比较高。

4结语

通过对算法的构造思路和运算流程的介绍以及2种含水层条件下抽水试验数据分析,计算含水层参数的数值实验结果的讨论可知,文中构造的单纯形差分进化混合算法具有:①文中构造的单纯形差分进化混合算法能够有效地运用于求解分析抽水试验数据,确定含水层参数的函数优化问题,且能够使得目标函数值达到3.46210-6,计算结果精度明显高于其他方法的。②在2种不同含水层条件、不同的参数初值范围下,文种方法的寻优率均在90%以上,其明显高于单独的单纯形法或差分法的。因此,单纯形差分进化混合算法不失之为分析抽水试验资料,确定含水层参数的有效方法。

参考文献

[1]陈崇希,林敏.地下水动力学[M].武汉:中国地质大学出版社,1999:70-120.

[2]齐学斌.非稳定流抽水试验参数的迭代算法及计算机模拟[J].水利学报,1995,(5):67-71,66.

[3]郭建青,周宏飞,李彦,等.分析非稳定流抽水试验数据的改进直线解析法[J].中国农村水利水电,2009,(4):18-21.

[4]张娟娟,郭建青,韩淑敏,等.基于改进模拟退火算法反演水文地质参数[J].中国农村水利水电,2005,(9):8-11.

[5]郭建青,李彦,王洪胜,等.粒子群优化算法在确定含水层参数中的应用[J].中国农村水利水电,2008,(4):4-7.

[6]郭建青,李彦,王洪胜,等.确定含水层参数的混沌序列优化算法[J].中国农村水利水电,2006,(12):26-29.

[7]Stroll R,Prince K.Different final evolution:A survey of the state-of-the-art[J].IEEE Transaction on Evolutionary Computation,2011,15(1):4-31.

[8]张智星,孙春在.神经-模糊和软计算[M].西安:西安交通大学出版社,2000.

[9]谭跃,谭冠政,涂立.一种新的混沌差分进化算法[J].计算机工程学报,2009,35(11):216-218.

[10]R Srivastava.Implications of using approximation expressions for well function[J].Journal of Irrigation and Drainage Engineering,1995,121(6):459-462.

混合数据 第6篇

随着信息技术的飞速发展, 电子产品的功能越来越强大, 而体积则越来越小巧, 从而推进半导体技术不断演进。SOC芯片的功能和复杂度日益提高, 其芯片规模不断增加, 同时, 在芯片测试过程中, 故障模型的增加也导致测试数据大幅增加, 而自动测试仪器并没有相应地进行改进, 其带宽和内存都难以承受急剧增加的测试数据, 由此可见, 如何对测试数据进行可靠有效的压缩, 从而尽可能地减少测试时间, 降低测试成本, 已经成为SOC芯片测试的关键技术。

目前, 常用的芯片测试方法主要包括三种类型, 分别是内建自测试技术、测试紧缩技术以及测试数据压缩技术, 其中, 测试数据压缩技术应用最为普遍, 其基本原理是将需要测试的数据经过压缩后存储在自动测试仪器中, 芯片中使用解码电路对需要测试的数据先进行解码, 然后再进行测试, 从而减少自动测试仪器中的测试数据数量, 代表性的编码方式包括统计码、霍夫曼码、Golomb码、MTC码、游程码、FDR码等。

通过实验统计可以发现, 测试向量中与参考数据块相容的数据块数量越多, 其在测试数据中出现的频率就会越小, 反之, 则出现的概率会越大。本文在这种现象基础上, 利用FDR码变体的特点, 提出一种基于数据块混合相容性统计的压缩算法, 实验证明, 该算法能有效地提高测试数据的压缩率。

2 基于混合相容的测试数据压缩算法

在对本文所提出的算法进行说明之前, 首先对相关的重要概念进行阐述, 分别是数据块相容、连续位。数据块相容是指不同的两组数据存在相同的位, 并且这些位均位于同一位置, 或者是指两组数据中至少有一位是无关位, 例如, 数据“0X11”和“01X1”, 这两组数据符合上述定义, 因此, 可以称这两组数据是数据块相容。连续位则是表示除了无关位以外的数据块不能包含多于一种的确定位, 例如, 可以认为数据“X1X11”是连续的1位, 数据“00XX0X”是连续的0位。

数据块相容性统计码是指将需要进行测试的测试向量作为一个串行的数据流, 如果这些测试数据流中对数据位进行统计后, 其位数和k不存在倍数关系, 则将该数据尾部进行无关位补充操作, 从而使该测试数据流和k成倍数关系, 然后, 从测试数据流的第一位开始选择参考数据块, 选择的标准是其数据块的长度必须为k, 并将该选择的数据块作为自己的编码。接下来, 判断和该数据块相邻等长的数据块是否和该数据块存在相容的关系, 如果判断后发现两者存在相容关系, 就对存在相容关系的个数进行统计, 直到遇到不相容的数据块, 同时, 利用FDR码的变体对与参考数据块存在相容关系的数据块数量进行编码, 并将不存在相容关系的数据块作为下一轮的参考数据块, 依次进行相同的处理, 直到最终完成整个测试数据块的统计。在整个统计的过程中, 对于存在连续位关系的数据块, 可以进行“一位压缩编码”, 从而尽可能减少整个测试数据的长度, 该编码方案可以表示为表1所示。

从上述编码方案中可以总结出本文所提出算法包括以下几个方面的特点:

(1) A1组的前缀长度为1, A2组的前缀长度为2, 以此类推, An组的前缀长度为n;

(2) A1组的前缀和尾部长度均为1, A2组的前缀和尾部长度均为2, 以此类推, 所有的代码字, 其前缀和尾部长度均相等;

(3) A2组的代码字长度比A1组的代码字长度多2位, 以此类推, An+1组比An组代码字长度也多2位;

(4) 测试数据中, 与参考的数据块相容的数据块数量为a, 那么a和An存在以下关系:n=[lb (a+3) ]-1。

常用的识别每个码字的方法是:首先对前缀码进行读取, 通常先对其中连续的1进行读操作, 在读的过程中, 一旦遇到0, 就表示前缀已经读取完毕, 由于上述分析中已经支持, 前缀和尾部的位数是相同的, 因此, 整个前缀的位数可以决定后面的尾部位数, 当将整个码字识别完毕时, 码字所代表的与参考数据块相容的数据块数量就和前缀与尾部的位数之和相等。图1表示了在s5378电路中, 假设数据块长度为4的情况下, 参考数据块相容的相邻数据块数量的频率分布情况, 显然, 从该图中可以发现, 当相容数据块数目较大时, 频率较低, 反之, 则频率较高。

2.1 编码方案算法描述

本文所提出的算法较为简单, 直接对需要测试的数据进行编码后, 就可以使测试数据得到压缩, 为了方便描述, 假设数据块的长度为k, 不足k位的数据块用无关位补充, 算法可以用图2所示的流程图表示。

在上述算法中, 如果遇到测试数据是最后一个k位的数据块, 则表示编码结束。

2.2 解码器电路结构

测试过程中还需对压缩的数据进行解码操作, 本文所设计的解码器如图3所示, 该解码器包括一个FSM (有限状态机) 、lbn位计数器、lbk位计数器、k位CSR以及n位计数器和二路选择器。各个参数的含义如表2所示。

在该解码器电路中, n的值是由与参考数据块相容最多的数据块数目Nmax来决定的, 它们之间的关系为:n=[l b (Nmax+3) ]-1, 当sel为低电平时, 有限状态机的输出通过MUX的0通道后就可以成为scan_in, 即扫描输入, 从而实现对参考数据块的解码操作, 具体的解压过程可以描述为以下5个步骤:

(1) FSM发出使能信号en为1时, “shift2”和“dec3”获得高电平, 控制扫描链的输出, 同时, 将数据移入CSR, 并对lbk的计数器进行减1, 当rs3为高电平时, 表示参考数据块的译码输出完毕;

(2) FSM将前缀移入n位计数器。当FSM接收到0时, 结束该操作;

(3) 当dec2为高电平时, 对n位计数器进行减1操作, 直到rs2为高电平时, 表示和前缀对应数目的数据块完成解压操作;

(4) 码字尾部移入n位计数器, 当rs1为高电平时, 尾部移入完毕;

(5) dec2为高电平时, 将n位计数器进行减1操作, dec3为高电平时, 利用MUX对相容数据块进行解压操作, 直到rs2成为高电平, 表示和尾部对应数目的数据块完成解压操作。重复前面的操作, 直到完成所有数据的译码输出。

3 算法仿真实验

为了验证本文提出的压缩算法的有效性, 本文采用Mintest生成测试向量, 利用VC++6.0进行编程开发, 在IS-CAS89的标准电路基础上进行仿真实验, 压缩率的计算方法如公式1所示。

公式1中的TD表示原始测试集, TE表示进行压缩后的测试集。

在进行压缩处理过程中, k的大小选择非常重要, k的位数不同, 经过压缩处理后所获得的效果差别很大, 如果k的值太少, 则数据块的长度较小, 数据块的数量就会增加, 可以进行压缩的数据就会减少, 从而降低压缩率;如果k的值太大, 又会导致每个代码字的长度增加, 同样也不利于压缩处理。由此可见, k值的选择对压缩率有着关键的影响。为了验证不同的k值情况下压缩率的异同, 可以选取不同位数的k进行验证, 以电路S5378为例, 可以得到如图4所示的结果, 从该图中可以看出, 不同的k值会得到不同的压缩率, 其中, 当k的值为3时, 该电路的压缩率最大, 大于3或则小于3, 压缩率反而降低。

为了验证本文所提出的编码算法的有效性, 将本文算法和同类算法进行对比, 表3显示了本算法与其它多种编码方法比较的结果, 从该表中可以看出, 本文所提出的算法其压缩效果比其它的方法更好。

4 总结

信息技术的发展对芯片的测试技术提出了更高的要求, 对测试数据进行有效的压缩, 可以更好地降低开发成本, 提高生产效率。本文主要针对测试数据具有相容性的特点, 通过实验统计发现, 测试向量中与参考数据块相容的数据块数量越多, 其在测试数据中出现的频率就会越小, 反之, 出现的概率会越大, 根据这一规律提出利用FDR码变体来对测试数据进行压缩处理的算法, 通过仿真实验, 证明该算法比其它编码方式更能提高压缩率。

摘要:通过实验统计发现, 测试向量中与参考数据块相容的数据块数量越多, 其在测试数据中出现的频率就会越小, 反之, 则出现的概率会越大。根据此规律, 本文提出了一种利用FDR码变体来对测试数据进行压缩处理的算法。通过对ISCAS基准电路进行仿真实验, 证明该算法比其它编码方式更能提高压缩率。

混合数据 第7篇

在智能电网高级量测体系(advanced metering infrastructure,AMI)中,数据集中器是关键的通信报文传输设备,承担着电网公司和用户的双向通信任务。在AMI中数据集中器采用嵌入式系统,在计算机网络系统中存在的漏洞,同样也会在数据集中器中存在[1-2],须保证通信报文的安全性,包括报文不被蓄意篡改、泄密等,否则将对用户安全、可靠的用电需求和电力系统的安全稳定运行带来严重威胁,甚至可能引发灾难性的事故[3-4]。

为了保障报文的安全性和有效实现AMI及智能电网系统功能,须在数据集中器中应用密码技术。 密码技术主要有对称密码和公钥密码两种,对称密码的密钥只有一个,所以不能实现公开可验证的数字签名;公钥密码把密钥分为私钥和公钥两种,为实现数字签名提供了必要条件。在公钥密码技术中, 椭圆曲线密码(elliptic curve cryptography,ECC)已成为国内外研究人员在信息安全技术领域研究的热点。在国外,有学者针对ECC的实现效率进行了大量的研究[5-6];在国内,已有关于ECC的安全性、 ECC算法的软硬件实现方面的研究[7-8],如有学者通过仿真计算研究在数据集中器中应用椭圆曲线数字签名算法,保障数据集中器通信安全。在ECC的应用研究方面,尚未提出将椭圆曲线加密算法和椭圆曲线数字签名算法相结合应用于数据集中器通信,以满足数据集中器更广泛的通信安全需求。ECC具有较强的单位数据安全性,能够选取相对长度较小的密钥实现较强的加密安全性[9];并且ECC计算所基于的有限域运算很容易在计算机的硬件和软件上实现[10-11]。

根据ECC的上述优点,结合数据集中器的安全需求,有必要探讨将ECC应用于数据集中器的可能性,对ECC满足数据集中器通信安全需求展开相关研究。在AMI中,数据集中器与数十或数百个用户的智能电表进行通信,须满足报文加密、认证和数字签名的安全需求[12]。在数据集中器中,在确保ECC加密算法的安全性条件下,原则上可以同时使用ECC加密算法和数字签名算法,但ECC加密算法在抵抗来自攻击者的自适应选择密文攻击行为方面存在安全性不足问题。本文研究的初衷是解决提及的ECC加密算法的安全性不足问题,同时考虑应用ECC加密算法的方便性和兼顾算法的计算效率。 因此,提出了一种基于ECC的椭圆曲线混合密码算法,旨在一站式解决在数据集中器中使用ECC加密算法将面临的问题,以满足数据集中器通信报文安全需求和提高AMI的信息安全水平。

1数据集中器通信安全需求分析

1.1数据集中器安全需求内容

在AMI中数据集中器面临的风险与威胁主要分成两类:一是主动攻击,包括通信报文的假冒、重放、篡改和业务拒绝等行为;二是被动攻击,包括非法获取报文的内容、业务流程分析等行为。因而数据集中器通信安全需求分为主动安全需求(抵抗主动攻击)和被动安全需求(抵抗被动攻击)两种类型。 以数据集中器和智能电表通信为例,数据集中器通信安全需求模型见图1。

数据集中器通信安全需求内容包括通信报文内容安全、通信报文身份安全、通信服务不可否认性3个方面。通信报文内容安全主要指数据集中器通信报文不得被非授权用户获得,不能被肆意篡改,数据集中器接收到的报文确实为从指定通信地址发送过来的真实报文,即数据集中器通信报文的秘密性、 完整性和通信行为不可否认性。数据集中器通信报文身份安全主要指数据集中器和通信目标身份的真实性和双方通信行为的真实性,即通信报文的信源、 信宿认证。数据集中器通信服务不可否认性指数据集中器的通信报文能够被证明属于指定身份的信源发出和指定身份的信宿接收,并且数据集中器和通信目标不能否认各自的发送和接收报文行为。在上述数据集中器的通信安全需求内容中,数据集中器主动安全需求主要指数据集中器通信报文完整性、 通信报文信源和信宿可认证、数据集中器通信服务不可否认性;数据集中器被动安全需求主要指通信报文秘密性。

1.2数据集中器安全需求特点

在一般计算机网络中,不同用户的通信安全需求目标不完全一致,对安全需求内容的侧重点有所不同,会采取以某一种或几种安全需求为主的信息安全策略。

由于在AMI通信系统中,上述提到的任一种数据集中器安全需求得不到满足,将影响电力用户的用电安全,甚至严重威胁电力系统的运行安全,因此数据集中器通信安全需求目标应为最大限度地满足和实现上述安全需求模型中提到的全部安全需求, 有必要提出一种改进的混合密码算法,应用在数据集中器中并实现其通信安全需求目标。

2椭圆曲线加密与数字签名算法的分析

在目前的ECC体制中,椭圆曲线加密与数字签名算法相互独立,椭圆曲线加密算法仅能实现报文加、解密功能;椭圆曲线数字签名算法仅能验证发送报文的合法性。椭圆曲线加密算法采用公钥加密, 使用私钥解密;而椭圆曲线数字签名算法使用私钥对报文进行数字签名,验证算法应用公钥验证签名的合法性。椭圆曲线加密算法的运算过程是在基于有限域算术运算有效实现的条件下进行的,要应用到素域、二进制域和扩域3种有限域。以素数域Fp为例,定义在有限域Fp上的椭圆曲线E(Fp)为[13]:

y2=x3+ax+b(1)

式中:a,b∈Fp,4a3+27b2≠0mod p;x,y∈Fp。

满足上述条件的点集合表示为:

E(Fp)= {(x,y)∈Fp∪ ∞}(2)

对于E(Fp)上的点P,其阶为素 数n,集合〈P〉={∞,P,2P,3P,,(n-1)P}是由P生成的椭圆曲线循环子群。加密算法中报文接收方公钥为:

Q2=d2P(3)

式中:d2为报文接收方私钥;Q2为E(Fp)上的点。

加密时,将报文m转换成E(Fp)上的点Pm[8]。 以P,Pm,Q2为参考点分别计算椭圆曲线E(Fp)上的另外两个点PE1和PE2:

PE1=k1P(4)PE2= Pm+k1Q2(5)

式中:k1为报文发送方的消息秘密,k1∈[1,n-1]。

将加密的报文表示为椭圆曲线上的点PE1和PE2,发给接收方。解密时,计算出点Pm:

Pm= PE2-d2PE1(6)

以恢复报文m。在加解密过程中,报文发送方和接收方要确定选用的椭圆曲线E(Fp),在E(Fp)上计算用的基点P以及点P的素数阶n和报文接收方的公开密钥Q2。该加解密过程仅能实现报文的加密和解密功能,不能对发送的报文提供数字签名。

报文发送方进行数字签名时,椭圆曲线数字签名算法定义如下[14]:

式中:u为椭圆曲线上点k2P的x坐标;d1为报文发送方的私钥;k2∈[1,n-1]。

验证时,应用报文m和报文发送方的数字签名r和s计算椭圆曲线上的点Pv[6]:

Pv=s-1(H(m)P+rQ1)mod n(9)

式中:Q1为报文发送方的公钥;Q1=d1P。

计算椭圆曲线上点Pv的坐标(u1,v1),通过计算式(10)是否成立来验证接收到的报文m数字签名的合法性,但该签名算法对要发送的报文不能提供加密功能,仅能够验证报文发送方身份的合法性。

r=u1mod n(10)

3椭圆曲线混合密码算法的提出

3.1算法流程

针对椭圆曲线加密算法和椭圆曲线数字签名算法存在的上述问题,这里提出基于ECC的椭圆曲线混合密码算法。该算法使用签名算法的中间计算参数值对明文报文加密,由明文报文签名算法、明文报文加密算法组成,该算法加密流程见图2。

椭圆曲线混合密码算法解密过程由数字签名解密算法、密文报文解密算法和数字签名验证算法组成,该算法解密流程见图3。

在对密文解密过程中首先对加密的报文签名进行解密,再解密出明文报文,最后应用解密出的明文报文验证报文发送方签名的合法性。基于ECC的椭圆曲线混合密码算法流程如下。

1)步骤1

椭圆曲线混合密码算法的参数组元素包括:选定素数域Fp上的椭圆曲线E(Fp),E(Fp)上的一个基点P和其素数阶n,报文发送方的私钥d1,要发送的明文报文m及其嵌入为椭圆曲线E(Fp)上的点Pm[8]。 报文接收方的私钥为:d2,d3,d4,d2′, d3′,d4′∈zn,其中d2′= H (d2),d3′= H (d3), d4′=H(d4)。

公钥参数为P,Q2,QV1,QV2,Q2′,其中QV1, QV2,Q2′由式(11)式(13)确定。

2)步骤2

计算出报文发送方的签名参数r为:

r= H(x1)(14)

式中:x1为点kP的x坐标,其中k∈[1,n-1]。

3)步骤3

计算出报文发送方签名参数s为:

s= (k-w)mod n(15)

式中:w=[re]mod n,其中e=H(hcert,m)。

4)步骤4

加密时,分别计算:

将生成的密文C1,C2,C3,C4,V发送给报文接收方。

5)步骤5

报文接收方解密时首先验证密文的合法性,首先计算出α,再计算下式:

V = (d4′+d3′α)C3+ (d4+d3α)C4(22)

是否成立。若不成立,说明接收的密文非法,拒绝该密文;若该等式成立,说明接收的密文合法,进行解密计算出Ps和Pm:

Ps=C2-d2′C3(23) Pm= (C1-d2′C3)+sQ2′(24)

6)步骤6

验证时应用恢复出的报文m计算:

式中:xsP+wP为点sP+wP的x坐标值。

再计算式(28)是否成立,若成立,则证明数字签名的合法性;否则接收到的信息签名为非法签名。

式中:fx(C3)为点C3的x坐标值。

3.2提出的椭圆曲线混合密码算法的特点

1)将签名参数s作为通信双方共享密钥

提出的椭圆曲线混合密码算法中数字签名参数具有两个功能:一是作为报文发送方的数字签名,二是用于解密密文报文时由报文发送和接收方共享的解密密钥。因此,加密时使用消息秘密k和公钥Q2′对明文消息Pm加密,属于公钥加密方式;解密时使用私钥d2′和通信双方共享密钥s对于密文报文C1解密,属于公钥和共享密钥混合解密方式。

2)使数据集中器通信报文的加密和数字签名过程相关联

提出的椭圆曲线混合密码算法中,对报文Pm加密时使用数字签名过程生成的中间参数w见算法步骤3和4;对C1解密时必然依靠密文C2的解密,即恢复报文签名参数s,见算法步骤5。因而,在提出的椭圆曲线混合密码算法中数据集中器通信报文的加密和数字签名过程互相关联。

3)计算效率有所提高

分析椭圆曲线混合密码算法的计算效率,主要通过分析椭圆曲线混合密码算法运算过程涉及的算术运算量来实现。由于椭圆曲线算术运算的时间主要由点乘运算和多点乘运算决定,域运算中求逆比域乘法费时,因此分析文中提出的椭圆曲线混合密码算法的计算效率主要通过分析算法涉及的点乘运算、多点乘运算和域求逆运算量来实现。

其中,点乘运算分为未知点乘运算和固定基点乘运算。为了便于分析,点乘运算统一采用窗口NAF法和Jacobi-Chudnovsky坐标,统一折算成域乘法的运算量。未知点乘运算采用折算成域乘法运算的开销为2 016 M,其中M为域乘法的运算量,固定基点乘运算折算成域乘法运算的开销为718 M, 多点乘运算折算成域乘法运算的开销为2 306 M[13]。算法涉及的主要运算量见附录A表A1,估算出的椭圆曲线混合密码算法的运算量为8 050 M,估算出的ECC加密算法和数字签名算法两种算法的运算量为8 144 M。椭圆曲线混合密码算法运算量与应用ECC加密和签名算法相比减少1.15%,因此计算效率略有提高。

3.3提出的椭圆曲线混合密码算法的安全性分析

3.3.1算法的安全目标

提出的椭圆曲线混合密码算法具有数据集中器通信报文加密和签名过程相关联的特点,应保证数据集中器能抵抗易受到的主动攻击和被动攻击。提出的椭圆曲线混合密码算法中,算法步骤2到4将用于抵抗非法窃取通信双方发送报文的被动攻击行为;算法步骤5和6将用于抵抗通信双方的通信抵赖行为和验证报文的发送者是真实而非冒充的和报文在传递过程中未被伪造、篡改等,即用于抵抗数据集中器易受到的主动攻击。为了满足数据集中器将面临的上述安全需求,同时考虑攻击目标和攻击模型,目前已有资料表明安全强度最大的是不可区分性(indistinguishability,IND)安全和抗适应性选择密文攻击(adaptive chosen-ciphertext attack, CCA2)安全;而签名方案应具有抵抗选择明文攻击的安全性,即具有抵抗选择性明文攻击(chosen plaintext attack,CPA)安全。因此,提出的混合密码算法的安全性应该满足:1具有不可区分性安全和能够抵抗敌手的适应性选择密文攻击;2对使用选择明文攻击的敌手在计算能力内是不可伪造的, 既具有GMR安全。

3.3.2算法安全性证明

本文研究的椭圆曲线混合密码算法是基于Elgmal密码机制提出的,在文献[15]中已论证了Elgmal加密算法的IND-CPA安全性等价于DDHA(Diffie-Hellman assumption);在文献[16] 中有结论证明可由公钥密码算法的IND-CCA2安全性推导出IND-CPA的安全性。因此,本文提出的椭圆曲线混合密码算法基于假设1和2条件下是IND-CPA安全的,即该混合密码算法中的数字签名能够抵抗选择明文攻击,只需证明算法的IND- CCA2安全性。

假设1:椭圆曲线判定性Diffie-Hellman (ECDDH)假设。给定定义在有限域Fq上的椭圆曲线E,点P∈E(Fq),阶为n,点A=aP,B=bP,C =cP∈〈P〉,对于所有的多项式时间概率算法A,判断C=abP的概率Pr(C=abP)是可以忽略的。

假设2:Hash函数H是单向碰撞稳固的。

提出的椭圆曲线混合密码算法的安全性证明主要应用文献[17]中提出的标准模型证明方法。证明时通过建立能够模拟混合密码算法的仿真器模型, 假定存在多项式概率时间攻击算法Attack向仿真器加密机输入明文消息Pm0和Pm1及对应的签名参数Ps0和Ps1,判断是否能够以不可忽略的概率识别仿真器加密机输出的密文。

仿真器的输入(P,Q2,k1P,k2Q2)可以来自于以下任一个分布:1随机四元组R,(P,Q2,k1P,k2Q2) ∈〈P〉4;2四元组D,(P,Q2,k1P,k2Q2)∈〈P〉4,其中P和Q2是随机的,且k1=k2∈Z。

若攻击算法Attack提供明文Pm0和Pm1及对应的签名参数Ps0和Ps1给仿真器,仿真器的加密机随机选择b∈{0,1},计算:

则加密机的输出密文为C1′,C2′,C3′,C4′,V′。

依据式(11)、式(12)和式(33)得出推论1:私钥信息(d3,d4,d3′,d4′)和判断信息V′对攻击算法Attack来讲是随机的。

依据式(29)和式(30)得出推论2:依据假设条件2,对攻击算法Attack来讲,不存在计算信息wb的泄漏情况。

对于攻击算法Attack来讲,仿真器加密机能够输出密文C1′,C2′,C3′,C4′,V′,相当于私钥参数确定的点Pk(d3,d4,d3′,d4′)在由式(11)和式(12)所确定的平面ξ上,且在由式(34)所确定的平面ζ上。

V′ = (d4′+d3′α)k1P+ (d4+d3α)k2Q2(34)

假设攻击算法Attack向仿真器输入攻击密文(C1″,C2″,C3″,C4″),如果点Pk位于式(35)所确定的平面上,则仿真器的解密机接受攻击密文(C1″, C2″,C3″,C4″)。但当k1′≠k2′时,不论仿真器的输入来自于D还是R,点Pk都不位于式(35)所确定的平面上,即攻击算法Attack都不能构造出满足条件logPC3≠logQ2C4的合法密文;攻击算法Attack只能构造出满足条件logPC3=logQ2C4的密文,而这与ECDDH假设条件相矛盾。因此仿真器解密机拒绝攻击者提交的所有密文,攻击者无法从仿真器解密机获得任何选择明文信息mb和sb。

V″ = (d4′+d3′α′)k1′P + (d4+d3α′)k2′Q2(35)

可设d2′=z1+d2z2,因为仿真器解密机输出密文C1′和C2′的解密结果是相同的。若仿真器的输入来自于D,即k1′=k2′=k″,攻击算法Attack能够获得关于(z1,z2)的方程为:

式(35)和式(36)线性相关,说明(z1,z2)对攻击算法Attack来说是随机的。

若仿真器的输入来自于R,由式(31)得出:

C2′-Psb=z1k1P+d2z2k2P(38)

将式(37)、式(38)用矩阵表示为:

显然,矩阵表达式(39)右边系数矩阵的两行式线性无关。由于z1和z2对于攻击算法Attack来讲是随机的,C2′-Psb在Fp上的分布与Q2同样是均匀的,因而能够推断出事件“仿真器随机选择的信息b ∈ {0,1}”的分布与事件 “攻击算法Attack判断b′∈{0,1}”的分布是独立的。

综合上述推论,即证明了提出的椭圆曲线混合密码算法是IND-CCA2安全的。

因此与单独的椭圆曲线加密算法或数字签名算法相比,提出的椭圆曲线混合密码算法能够更全面地满足数据集中器将面临的安全需求,能够为数据集中器提供更全面的安全保障。

3.4计算示例

以数据集中器对接收到的报文进行混合加密为例,验证提出的椭圆曲线混合密码算法。计算示例中的报文取自智能电表读取用户当前A相电能的数据[18],计算用的椭圆曲线采用美国国家标准与技术研究院(NIST)推荐的素域随机椭圆曲线P-192, 曲线参数见附录A表A2。计算过程通过应用C语言和调用Miracl密码学C语言库函数编写计算程序,程序内容包括对数据集中器通信报文进行数字签名、加密、解密和验证签名4个部分,计算结果如下。

1)计算出加密用的报文m的数字签名r和s, 如附录A表A3所示。

2)分别计算出密文C1,C2,C3在椭圆曲线P- 192上对应的点坐标,如附录A表A4所示。

3)解密时,报文接收方利用私钥d2′和密文C2和C3计算出报文签名s在椭圆曲线P-192上的对应点Ps和利用密文C1计算出明文报文在椭圆曲线P-192上对应的点Pm,点Ps和Pm在椭圆曲线P- 192上对应点的坐标如附录A表A5所示。

4)应用恢复出的签名s计算出椭圆曲线P-192上对应的点sP+w-P的坐标(见附录A表A6)。

计算结果表明:解密后的报文以椭圆曲线P- 192上的点Pm表示,Pm的x坐标值与加密前的报文相等,见附录A表A3和表A5;对解密后的报文进行数字签名的验证值v与接收到的签名r相等(见附录A表A3和表A6)。

4结论

1)提出的椭圆曲线混合密码算法应用于数据集中器,同时具有报文加密和数字签名的功能。

2)提出的椭圆曲线混合密码算法具有较强的安全性。

3)提出椭圆曲线混合密码算法的计算效率相对略有提高。

因此,提出的椭圆曲线混合密码算法能够满足AMI中数据集中器的安全需求。

附录见本刊网络版(http://aeps.sgepri.sgcc. com.cn/aeps/ch/index.aspx)。

摘要:针对数据集中器通信的安全需求,分析了数据集中器通信受到的主动攻击和被动攻击行为,建立数据集中器通信安全需求模型,提出了一种基于椭圆曲线密码(ECC)的数据集中器通信报文混合密码算法。提出的混合密码算法能够解决单独的ECC加密算法不能实现数字签名问题和椭圆曲线数字签名算法不能实现通信报文保密的问题。研究结果表明,提出的混合密码算法符合数据集中器通信安全需求。

混合数据 第8篇

关键词:Excel运算,混合数据,函数变换

一、问题背景

Excel具有强大的数据处理功能, 广泛应用在金融、办公等领域。人们经常利用它的公式和函数进行数据自动运算, 大大提高了办公效率。在Excel教学中, 学生只是掌握了利用函数和公式的自动运算功能, 但如果要处理的数据带有单位, Excel就会出现“#VALUE”错误提示, 如图1 所示, 学生对此困惑不解。结合多年的教学和生活中常遇到的问题, 我们探讨了产生此问题的原因:Excel的“一格一属性”的规则, 即一格单元格中只能有一种数据类型, 如果数据和字符等不同数据混合在一起时, Excel自动将数据类型转换为字符型, 而字符型数据在运用公式和函数计算时, 就必然出现错误提示。这就是带有单位的Excel数据不能进行运算的原因。如何才能解决这一问题?

按照多年的教学经验, 并结合日常中常遇到的应用情景, 我们按照使用单位的不同, 将数据分成长度固定且内容相同、长度固定但内容不同、长度和内容均不相同等情况, 采用不同的解决策略, 实现各种情况下的带有单位的Excel运算问题。

二、长度固定且内容相同时

解决方法:采用通用格式方法。在需要运算的单元格单击鼠标右键, 选择“设置单元格属性”, 在弹出的对话框中, 选择“数据”选项卡, 找到其中的“G/ 通用格式”, 直接输入“元” (注意:输入时不要带用引号) , 然后确定。关闭“设置单元格属性”对话框返回Excel主程序后, 再输入单价的数值, 系统会自动带上单位, 如图3 所示, 但其数据类型依然为数值型 (右对齐) , 所以可以直接计算结果。采用这种自定义格式, 只不过是改变了单元格的显示形式, 而没有改变单元格存储的内容。

解决方法2:采用left () 字符函数进行截取。对于图1所示的内容, 将两个单元格直接相乘修改为函数“=LEFT (A2, LEN (A1) -1) *B1”, 如果想显示出单位来, 可以采用通用格式来显示 (参照2.1 方法) , 如图4 所示。

三、长度固定但内容不同时

利用2.1 的方法2, 还有一个好处, 即可以处理不同内容单位的数据运算, 如图5 所示, 只需要对B2 也采取函数截取即可以。

如果单位内容存在不同的数据时, 解决方法是函数转换的同时进行单位转换。

在表格当中有两个单位, 分别是元、角, 如何统一还原位数并且计算?带单位的数字是没法进行数据运算的, 只能将其进行拆分后, 即由一列改为数字与单位两列, 这种情况下, 首先要对单位, 数字进行统一, 比如单位中有元, 也有角还有分时, 就要按一个单位进行统一, 比如均按元进行统一。同时在单位进行统一时, 数字部分也要伴随转换。如原2 角需转换成0.2 元, 这样转换后, 就可以进行数字部分的运算, 同时在运算结果后再将单位添加。当然在实际应用中, 最好还是使用相同的单位才好。

四、长度和内容均不相同时

1、数据有固定的分隔特征时

解决方法时:采用分列处理。如果数据和字符之间存在有固定的分隔符, 可以采用数据列分隔的方法。如图7 可以采用引入列的方式, 首先使excel表符合一格一属性的要求, 然后在进行计算。

方式是先将数量列分解为数值和单位列, 操作步骤为“数据”|“分列”, 选择“空格”, 将原有表分割为两列, 如图8所示, 然后就可以进行计算, 如图9。

2、没有固定的分隔标志

解决方法:采用lookup () 函数处理。但如果没有固定的分隔符, 只能采用函数lookup () 来处理, 将其中的数据读取出来, 如图所示。公式含义说明:分别提取数量单元格的左边1 位、2 位、3 位……直到1000 位, 组成一个包含1000 个元素的内存数组。再用“--”将其转换成数值, 最后通过LOOKUP函数从这个数组中提取最大值, 即目标数量。该值乘以单价即金额。

利用lookup函数, 不仅能够处理字符在右侧的数据, 而且结合right () 、mid () 函数, 也可以处理字符在左侧或者字符在两侧的函数。

通过上述方法, 可以将带有任何不同单位的数据进行运算处理, 尤其是最后一种方法, 可以在不用对已有数据表进行额外处理, 仅借助于lookup () 函数, 就可以进行直接的运算处理, 大大增强了excel的数据处理能力。

注:上述解决方法在win8+office2013 环境中实现通过。

参考文献

[1]文杰书院.excel2010公式函数图表与数据分析[M].清华大学出版社.2013.03.

混合数据 第9篇

Matlab是功能非常强大且高度集成的数学软件, 它集科学计算、图像处理等功能于一体, 具有极高的编程效率, 被广泛应用于数字信号处理、时间序列分析、动态系统仿真等方面。但该语言的执行效率较低, 且不能生成在Windows下直接运行的可执行文件。

鉴于以上原因, 笔者在实际应用中, 将CB与Matlab进行混合编程用CB可以开发出简单实用的界面, 又可以利用Matlab一些与信号处理相关的函数, 大大减少编程的工作量, 保证程序的准确性。

1 CB与Matlab的混合编程

目前常用的CB与Matlab混合编程的方法主要有两大类方法。一类便是利用Matcom (MIDEVA) 来实现。Matcom提供了Matlab中m文件与其他高级语言的接口, 使m文件可以编译为脱离Matlab环境独立执行的可执行性程序, 提高了代码的复用率和代码的执行速度。但是不是所有的MATLAB函数都能使用这种方法调用, 特别是一些工具箱函数不能转换为C++代码, 对图形库的支持也十分有限, 对于实时采集的数据不能处理, 不能成为通用的方法。另一类是通过Matlab引擎在CB中调用它的函数, 这种方法要求系统安装MATLAB环境, 引擎方法是MATLAB为高级语言提供的最方便的接口方法。引擎方法最大程度地利用MATLAB软件的强大功能, 它既可以用高级语言扩充MATLAB在硬件编程方面的不足, 又可以用MATLAB工具函数来减低高级语言在数学算法开发方面的难度, 并且可以实时处理CB采集的数据。本文正是应用此强大的功能来实现CB与MATLAB的混合编程。现以CB与Matlab数据转换为例, 具体分析CB与MATLAB的混合编程。

1.1 C++Builder与Matlab数据转换

1.1.1 C++Builde和Matlab之间的连接

设置C++Builder, 建立C++Builde和Matlab之间的连接。

(1) 进入MS-DOS方式, 在“C++Builder的路径bin”下。利用implib指令建立两个lib文件 (_libengdef.lib和_libmxdef.lib) 。它们分别关联MATLAB安装目录下extern文件夹下include文件夹里的_libeng.def, _libmx.def。该指令的输入格式[3,4]为:“implib要建立的lib文件名.lib Matlab安装目录下externinclude目标def文件.def。”

(2) 打开C++Builder并建立一个工程。在下拉菜单“Project”选择“Options”。打开工程选项对话框, 选中“Directories Conditionals”选项页[3,4,5]。如图1所示。

(3) 在“Include path:”中添加include文件夹的路径“externinclude”。具体操作:点击上图Include path链接文件对话框, 加入MATLAB路径下externinclude文件路径。

(4) 在“1ibrary path:”中添加lib文件路径。点击上图Library path链接文件对话框, 添加MATLAB中的bc54、bin、include文件夹路径。

(5) 在下拉菜单中“Project”选择“Add to project”。把C++Builde的bin文件夹中_libeng.lib, _libmx.lib两个lib文件添加到工程中来。

(6) 在程序的开头添加头文件, engine.h、matrix.h和mat.h。

另外, 连接过程还需设置mx Array变量为空:mx Array*A=NULL。在Matlab中变量的类型是以mx Array形式保存, 所以为了连接C++Builde和Matlab必须在程序中准备这种变量类型。但其只出现在Matlab运算中, 而不参与C++Builde和Matlab之间数据传递的变量可以不声明, 通过赋值, Matlab可以自己确定变量矩阵的大小。

1.1.2数据转换程序实现

在C++Builder中, 将其采集到数据转换为Matlab语言格式, 在这里只将电路输出状态进行转换, 对于电路输入状态在Matlab语言中自动生成。数据转换函数如下:

2 结语

Matlab的功能和特点已使它成为多种领域系统设计、仿真、教学不可缺少的基本软件。通过上述的混合编程, 提供了实时数据转换的方法, 进而可以充分利用Matlab丰富的计算和图形处理功能, 使得编程工作变得简单, 科研人员可以把更多的时间和精力放在项目关键问题的思考上, 这对于科研和工程技术人员都具有非常重要的现实意义。

摘要:利用MATLAB提供的Engine接口实现在C++Builder中完全操作MATLAB, 克服了单独使用C++Builder开发时在运算和显示方面所带来的不便。并以C++Builder与MATLAB数据转换为例, 分析说明了MATLAB引擎技术与C++Builder互连实现实时数据处理。

关键词:Borland C++Builder,MATLAB引擎,数据转换

参考文献

[1]董理, 熊先锋.一种实现C++Builder与Matlab混合编程的方法[PJ].计算机与现代化, 2006 (10)

[2]王小华.C++Builder编程技巧、经验与实例[M].人民邮电出版社, 2004:271~279

[3]王世香.精通MATLAB接口与编程[M].电子工业出版社, 2007

[4]刘建学, 李守军.基于Matlab与C++Builder偏最小二乘分析的编程实现[J].江南大学学报, 2006.5 (1) :34-37

混合数据范文

混合数据范文(精选9篇)混合数据 第1篇与市场风险和信用风险比较而言,操作风险是一种发生频率更低、但导致的损失更为严重的一种风险,用统...
点击下载文档文档内容为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

确认删除?
回到顶部