基于基尔霍夫定理的节点可信度评估算法的制作方法

文档序号:7546793阅读:188来源:国知局
专利名称:基于基尔霍夫定理的节点可信度评估算法的制作方法
技术领域
本发明涉及一种对等网络中节点信任度的评估方法,尤其涉及一种基于基尔霍夫定理 的节点可信度评估算法。
背景技术
虽然对等网络(P2P网络)在文件共享、分布式计算、电子商务等领域得到日益广泛 的应用,但是网络的动态性、异构性和资源不可信性是在P2P应用实施中需要考虑的重要问 题,该问题解决的好坏直接影响P2P网络应用的有效性。
造成P2P网络问题的两个主要原因是(1)底层基础设置所提供的不可靠服务;(2) 节点自身的自治、自私性(Autonomy)。这里所说的基础设置主要指Internet ISP所提供的 网络传输和接入设施,在网络拥塞或设备故障等情况下,其提供的传输服务的质量无法保 证。撇开(l)的因素,研究和实验说明,绝大多数的P2P动态性问题来自于节点的主观行 为。节点随意开、关计算机或终止服务;对于一个客观具有丰富计算、存储或网络资源的 节点,其在P2P网络中仍然可能由于自私性而表现出一个"弱"计算设备的特征;大多数节 点不提供资源,整个系统的运作依赖于少量节点的利他行为,即Free-Riders问题和"公共 物"悲剧(Tragedy of Co腿ons);恶意节点提供虚假资源,甚至通过系统传播病毒等等。
那么,在P2P中节点保持自治性的前提下,如何激励节点提供更多更可靠的服务呢? 节点间的交互历史反映出的节点"可信度",本质上是节点的实际物理属性基于其参与策 略的一个综合能力的"投影",既可以反映节点的物理能力,也同时体现了节点参与网络 的主观态度。
现有技术中,在拓扑构造上采用基于节点可信度的拓扑优化方法,激励节点提供更多 更可靠的服务。
上述现有技术至少存在以下缺点 对节点可信度的评估精度较低、时间开销大。

发明内容
本发明的目的是提供一种评估精度高、时间开销少的基于基尔霍夫定理的节点可信度评估算法。
本发明的目的是通过以下技术方案实现的
本发明的基于基尔霍夫定理的节点可信度评估算法,包括步骤
首先,将网络中的多个节点中,具有信任关系的任意两个节点进行连线,形成电阻网
络;
然后,应用基尔霍夫定理计算每个节点的电阻值,所述节点的电阻值为与该节点相连 线的每一个相邻节点的电阻值的和的平均值,所述节点的电阻值表示该节点的信任度;
之后,根据每个节点计算后的电阻值重新计算每个节点的电阻值,该过程重复进行多 次,并进行归一化处理,直至收敛至设定的阈值。
由上述本发明提供的技术方案可以看出,本发明所述的基于基尔霍夫定理的节点可信 度评估算法,由于首先将网络中的多个节点中,具有信任关系的任意两个节点进行连线, 形成电阻网络;然后应用基尔霍夫定理计算每个节点的电阻值,即该节点的信任度;之后 根据每个节点计算后的电阻值重新计算每个节点的电阻值,该过程重复进行多次,并进行 归一化处理,直至收敛至设定的阈值。对节点可信度的评估精度高、且时间开销少。
具体实施例方式
本发明的基于基尔霍夫定理的节点可信度评估算法,其较佳的具体实施方式
是,包括 步骤
首先,将网络中的多个节点中,具有信任关系的任意两个节点进行连线,形成电阻网
络;
然后,应用基尔霍夫定理计算每个节点的电阻值,所述节点的电阻值为与该节点相连
线的每一个相邻节点的电阻值的和的平均值,所述节点的电阻值表示该节点的信任度;
之后,根据每个节点计算后的电阻值重新计算每个节点的电阻值,该过程重复进行多
次,并进行归一化处理,直至收敛至设定的阈值。
对于具有信任关系的任意两个节点进行连线时,根据以下原则进行
首先,任意的节点对A、 B之间进行投票,投票的情况分为以下两种
节点A与节点B互不相识,但是A通过之前的交互行为认为B可信,贝ljA对B投票;
节点A与节点B为相识关系,贝IJA认为B可信,对B投票;
之后,若节点A与节点B有投票关系,则将节点A、 B连线,形成电阻网络。
当节点对A、 B之间为单方投票关系时,也将可以该节点对连线。
5形成的电阻网络可以用邻接矩阵
来表示,所述邻接矩阵中:
Kl ""2…""", ""表示该邻接矩阵中相应位置(i, j)处的元素, £{Q'1};
当节点i对节点j投票时, 为1,否则为0。
应用基尔霍夫定理计算每个节点的电阻值可以通过以下公式计算 设节点C连接了n个节点"i…"",则由基尔霍夫定理可得节点的电阻值为
"'=1 (1) 具体可以在线性时间内解基尔霍夫方程,将时间开销降低为G(T + E),式中,T表示节
点的电阻值,E表示电阻网络的边数,具体包括 令
'"31
〖=
- 4
-,n的子图的拉普拉斯矩阵;
(11)
式中,L是包含节点3,

基尔霍夫方程可以写为丄7 =",即7 =丄—\D
之后,进行步骤
首先,设《=1,^=—=7;=0在o(7)时间内;
然后,从节点3开始,根据公式(1),连续的更新一个节点的电阻值为它邻居节点电
阻值和的平均,得到公式(11)的方程组,并求解该方程组,任何一个节点i有A个邻居,
/=3
需要花费时间G"')来计算邻居节点的平均电阻值,总的时间开销为
上述步骤多次重复更新,直到节点的电阻值达到设定的精确度,总的运行时间为
下面通过具体实施例对本发明的方案进行详细的描述: 关于电阻网络图由于基尔霍夫定理适用于任何电阻网络,所以在引入基尔霍夫定理之前,我们先介绍 电阻网络图。
首先,任意的节点对之间进行投票。投票的情况分为以下两种 节点A与节点B互不相识,但是A通过之前的交互行为认为B可信,贝IJA对B投票; 节点A与节点B为相识关系,如朋友或者亲人,贝ijA认为B可信,对B投票。 若节点A与节点B有投票关系,则将节点A,B连线,形成电阻网络图。由于,节点对之
间的连线表示了彼此之间的信任关系,所以,即使节点对之间为单方投票关系,也将节点
对连线,体现这种信任关系。
节点A,B之间的这种投票关系,最常见的,是用邻接矩阵来表示。
表示邻接矩阵中相应位置(i, j)处的元素, e{()'1}。
当节点i对节点j投票,则 为1,否则为0。
由上述可知,该邻接矩阵是对称矩阵,即 = 。
信任度的计算-
以上介绍了电阻网络图的形成,也介绍了邻接矩阵。下面,介绍如何利用基尔霍夫定 理计算节点的信任度。
在线性时间内,用基尔霍夫定律寻找节点团体,将基尔霍夫定律应用到p2p环境中, 在线性时间内计算节点的信任度。
节点之间的连线反映了节点与其他节点之间相互联系的状态,因此由基尔霍夫定律计 算得到的电阻值表示为节点之间联系的紧密程序。而在我们的电阻网络图中,节点之间连 线反映的是节点之间的信任关系,我们基于基尔霍夫定理计算出的电阻值表示的就是节点 之间的信任度。下面,我们介绍如何利用基尔霍夫定理计算节点的信任度。
设节点C连接了n个节点。i…"",则由基尔霍夫定理可得节点的电阻值为
一 A
"'=1 (1) 即, 一个节点的电阻值是其邻居节点电阻值和的平均-
由公式(1) , n个节点的基尔霍夫方程如下-ri=l (2)
r, =0
(3)
夂(',, 'i=3,…,n (4)
7式中,A是节点i的度^ (i, j)处的元素。
将公式(4)改写如下
定义:
「7"、
v"乂
得r
即r
式中,^5 =
即节点i与&个节点有连线; 是图的邻接矩阵中的相应
i=3,
(5)
"33"31
c =
G朋""1
飞j、、J
(6)
(7)
(8)
式中,I表示单位矩阵,通常计算公式(8)这样的方程组需要时间开销为G(")
在线性时间内解基尔霍夫方程,将时间开销降低为G(T + E) 令
、 - -J
一"《
丄=
画"4
—""3 _""4
(9) (10)
基尔霍夫方程可以写为
解得 7^ir1/) (ii)
L是包含节点3,…,n的子图的拉普拉斯矩阵,因此,公式(11)可以通过光谱分离法 在线性时间内计算得到结果,即得到节点信任度的向量值T。
从基尔霍夫定理的角度来理解线性时间复杂度,首先设
;=1 r,=.
t =0
时间内。从节点3开始,根据公式(1),连续的更新一个节点的电阻值为它邻居节点电阻 值和的平均值,得到公式(11)的方程组,然后计算该方程组。任何一个节点i有^个邻 居,需要花费时间^^)来计算邻居节点的平均电阻值。因此,总的时间开销为
/=3
,有限次的重复更新,直到节点的电阻值达到某一个精确度为止。可见,电阻值的精确度依赖于重复更新的次数,而非图的大小,因此,总的运行时间总是
通过计算公式(ii)这样的方程组,即可以在线性时间^"E)内得到所有节点的信 任度值。
为了表明算法的快速收敛,扩展公式(8)如下
m=o (12) 如果定义
/(r) = 5r+c (13) /(r)(r) = Z,c+5rc
贝lj =。 (14)
当r —0时rem"/m/w —0,所以我们将重复次数视为幂级数的简单中止。收敛的速度 由矩阵阶数IIWI决定,即dim(5) = 。
本发明的基于基尔霍夫定理的可信度评估算法,根据基尔霍夫定理可以计算任意一个 节点对其他节点的信任度,可以较好的降低总的时间复杂度,将其控制在线性时间复杂度 6>(7 + £)内。与其他的算法相比较,本发明提出的算法可以更快的收敛,总的时间开销更 低,而信任度的计算并不因为时间复杂度的降低而降低。
以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不局限于此,任 何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都 应涵盖在本发明的保护范围之内。
9
权利要求
1、一种基于基尔霍夫定理的节点可信度评估算法,其特征在于,包括步骤首先,将网络中的多个节点中,具有信任关系的任意两个节点进行连线,形成电阻网络;然后,应用基尔霍夫定理计算每个节点的电阻值,所述节点的电阻值为与该节点相连线的每一个相邻节点的电阻值的和的平均值,所述节点的电阻值表示该节点的信任度;之后,根据每个节点计算后的电阻值重新计算每个节点的电阻值,该过程重复进行多次,并进行归—化处理,直至收敛至设定的阈值。
2、 根据权利要求l所述的基于基尔霍夫定理的节点可信度评估算法,其特征在于,所述具有信任关系的任意两个节点进行连线根据以下原则进行首先,任意的节点对A、 B之间进行投票,投票的情况分为以下两种-节点A与节点B互不相识,但是A通过之前的交互行为认为B可信,贝l)A对B投票;节点A与节点B为相识关系,贝ljA认为B可信,对B投票;之后,若节点A与节点B有投票关系,则将节点A、 B连线,形成电阻网络。
3、 根据权利要求2所述的基于基尔霍夫定理的节点可信度评估算法,其特征在于,当所述节点对A、 B之间为单方投票关系时,也将该节点对连线。
4、 根据权利要求2或3所述的基于基尔霍夫定理的节点可信度评估算法,其特征在于,所述电阻网络用邻接矩阵<formula>formula see original document page 2</formula>来表示,所述邻接矩阵中 表示该邻接矩阵中相应位置(i, j)处的兀素,%e{Q'1};当节点i对节点j投票时, 为1,否则为0。
5、 根据权利要求4所述的基于基尔霍夫定理的节点可信度评估算法,其特征在于,所述的应用基尔霍夫定理计算每个节点的电阻值通过以下公式计算设节点C连接了n个节点A…"",则由基尔霍夫定理可得节点的电阻值为<formula>formula see original document page 2</formula>
6、 根据权利要求5所述的基于基尔霍夫定理的节点可信度评估算法,其特征在于,包括在线性时间内解基尔霍夫方程,将时间开销降低为G(^ + E),式中,T表示节点的电阻值,E表示电阻网络的边数,具体包括令<formula>formula see original document page 3</formula>,式中,L是包含节点3,…,n的子图的拉普拉斯矩阵;则基尔霍夫方程写为丄7 =",即7^Z-力 (11);之后,进行步骤首先,设A:、^吣'^T":0在G(^时间内;然后,从节点3开始,根据公式(1),连续的更新一个节点的电阻值为它邻居节点电阻值和的平均,得到公式(ID的方程组,并求解该方程组,任何一个节点i有^个邻居,/=3需要花费时间^^"')来计算邻居节点的平均电阻值,总的时间开销为上述步骤多次重复更新,直到节点的电阻值达到设定的精确度,总的运行时间为
全文摘要
本发明公开了一种基于基尔霍夫定理的节点可信度评估算法,首先将网络中的多个节点中,具有信任关系的任意两个节点进行连线,形成电阻网络;然后应用基尔霍夫定理计算每个节点的电阻值,即该节点的信任度;之后根据每个节点计算后的电阻值重新计算每个节点的电阻值,该过程重复进行多次,并进行归一化处理,直至收敛至设定的阈值。节点只需要记录邻居节点的信任度且时间复杂度较低,在计算的信任度有效的前提下,有效降低了时间开销。
文档编号H04L12/26GK101488894SQ20091007903
公开日2009年7月22日 申请日期2009年3月3日 优先权日2009年3月3日
发明者刘晓茜, 瑞 张, 杨寿保, 斌 武, 胡玲玲, 路卫娜, 郭良敏, 冬 韦 申请人:中国科学技术大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1