一种基于图挖掘的社交网络组队方法

文档序号:9922421阅读:398来源:国知局
一种基于图挖掘的社交网络组队方法
【技术领域】
[0001] 本发明设及一种社交网络组队方法,主要利用图挖掘从全局角度求解最佳组队方 式下的队员,属于计算机技术、信息技术、数据挖掘技术交叉技术应用领域。
【背景技术】
[0002] 社交网络,是由社会行动者、二元关系W及人们之间的社会互动组成的社会结构。 社交网络视角提供了一组可用于分析整个社会实体结构的方法,并且提供了一系列理论用 W说明从运些结构中观察到的模式。生活中最常见的也是最直观的社交网络,主要包括学 术合作、人物关系、在线交友等应用等。
[0003] 在社交网络中,个体之间的组队问题非常普遍。本发明采用最少优先算法,同时采 用哈希存储优化求解过程,寻找最佳的组队方案。最少优先算法是一种优先处理最少的方 法。目前,该算法主要应用在BT系统中文件块的选择策略方面,在本发明中,我们应用最少 优先算法进行社交网络中组队问题的求解。哈希存储在数据查询中有着广泛的应用,是一 种力图将数据元素的存储哈希位置与关键码之间建立确定对应关系的查找技术。哈希法存 储的基本思想是由节点的关键码值决定节点的存储地址。本发明将会形成解决全局情况下 社交网络中最佳组队方案,采用哈希存储,使问题的解决过程在时间和空间复杂度得到优 化,并能求得精确解。本发明给出一种基于图挖掘的社交网络组队方法,该方法将社交网络 中的人员定义为图模型,依据图半径的定义并结合最少优先算法,从全局角度求解社交网 络中的最佳组队方案,并利用哈希存储优化求解过程。

【发明内容】

[0004] 技术问题:本发明的目的是提供一种基于图挖掘的社交网络组队方法,解决社交 网络中的组队问题,该问题是指给定一项需要某些技能才能完成的任务,W及具有不同技 能的多位候选人,从候选人中选择部分人进行组队构成候选人子集,使得该队的总体技能 不但能够达到完成任务的要求,同时保证该队中的队员之间能够高效地进行交流与工作。
[0005] 技术方案:所述社交网络的组队问题描述如下:设给定一个任务T,该任务的完成 需要一些技能,有n个候选人,将候选人集合定义为X ={ 1,2,…,n},每个候选人个体i都具 备技能集Xi。我们假定运些候选人组织在一个带权无向图G(x,E)中,每个候选人看作一个 节点,边的权值定义为候选人之间的交流代价,其中低权值表明两个候选人之间交流代价 更小、更容易进行合作。我们的目标是从候选人集中寻找候选人子集进行组队,使得最终所 组的队具备能够完成任务T的能力,而且队中人员能够高效地交流与合作。每一个组队方案 是图G(x,E)的一个子图,我们用子图中的交流代价来描述高效程度,交流代价用直径R进行 表示,即子图中任意两节点之间距离的最大值。直径越小,则表明交流代价越小,该队的合 作和工作效率也越高。
[0006] 本发明所述的基于图挖掘的社交网络组队方法将社交网络中的组队问题定义成 图模型、采用最少优先算法获得解空间及利用哈希存储优化求解过程。
[0007] 本发明所述的基于图挖掘的社交网络组队方法包括W下步骤:
[0008] 步骤1)根据用户输入的信息,构建社交网络组队问题的图模型G,所述图模型G在 建立后,任意两个候选人之间的最短路都有相应的权值,表示两者的交流代价;
[0009] 步骤2)使用最少优先算法,获得社交网络组队问题在图模型G上的解空间;
[0010] 步骤3)利用哈希存储优化求解过程,采用哈希表存储相关技能集。
[00川 其中
[001 ^ 所述的步骤1)具体如下:
[0013] 步骤11)用户输入任务完成所需的技能集、候选人集及每个候选人具有的技能集, 其中用户输入的技能集记为T= {日1,日2,''',am},候选人集记为X= {1,n};所述m是任务 完成需要的技能个数;W是第j个技能;n是候选人个数;T表示技能集,也表示所要完成的任 务;aj E T表不aj是完成任务T的技能;
[0014] 步骤12)将所有候选人作为图模型G中的节点,代表候选人i称为节点i,所述iex;
[0015] 步骤13)将候选人巧日i/间的路径看作图模型G中节点巧日节点i/之间的弧,候选 人之间的交流代价作为节点i和节点i/之间弧的权值。所述d(i,i〇为图模型G中节点i到节 点i/最短路的权值,且节点间的距离满足=角不等式,所述i'EX;所述=角不等式是指在 =角形中,必然有两边之和大于第=边;
[0016] 步骤14)用Xi表示候选人i所代表的节点所具备的技能集,当a^eXi时,候选人i具 有技能aj;当。/-《别寸,候选人巧具有技能aj;
[0017]步骤15)定义候选人子集Z'e J,当X'中至少有一个候选人具有技能a拥,X'有技能 aj,定义X'的覆盖为C(^,T)。所述C(^,T)表示X'完成任务T必需的技能并且在X'中每个候 选人至少具备T中一种技能,即C(x/,T)=Tn(U记x'Xl),用化th(i,i/)表示节点i到节点i/ 的最短路上的节点集,定义d(i )=mini'ex'd(i , i/ ),表示节点i到候选人子集^的最短 距离,其中i ex且义,定义化th(i )表示从巧化=argmim'ex' d(i , i/ )最短路上的节 点集,所述k = argmim' ex' d(i , i/ )是i到X'所构成子图上最短路的终点。
[001引所述的步骤2)具体如下:
[0019] 步骤21)定义支撑集S(a),所述S(a)表示在X中具有技能a的候选人所组成的集合, 即S(a) = U I iex且aeXi};
[0020] 步骤22)对于完成任务T所需的每个技能a,按照每个候选人i具备的技能集Xi计算 相应的支撑集S(a),其中S(a) = UlaEXih
[0021] 步骤23)定义S(arare),所述S(arare)表示基数最小的候选人支撑集,即最小支撑,该 支撑集对应的技能为最少技能arare;
[0022] 步骤24)对于每个候选人ies(arare),将该候选人到其余支撑集的距离d(i,S(a)) 保存至距离集Ria中;
[0023] 步骤25)对于每个距离集Ria,将其中的最大值maxaRia添加到直径集Ri中;
[0024] 步骤26)将直径集1?1中的最小值对应的节点1^定义为关键候选人,保存到解空间 Solution 中;
[0025] 步骤27)求解节点1巧1]每个支撑集S(a)最短路径上的所有候选人节点,目阳ath(i^ 5(曰)),将运些节点添加到解空间5。1。*1。。,所述1^乂;
[0026] 步骤28)确定组队方案S〇iuti〇n=i*U {Path(i*,S(a)) laET}。
[0027] 所述的步骤3)具体如下:
[0028] 步骤31)用哈希表存储候选人i具有的技能集Xi,即化sh(i)=Xi,所述哈希表是根 据关键码值而直接进行访问的数据结构,通过把关键码值映射到表中一个位置来访问记 录,W加快查找的速度;
[0029] 步骤32)使用一组不同的哈希表,存储具有最少技能曰皿日的候选人=U IarareE Xi},即HashQ*" ) = {i larareEXi};
[0030] 步骤33)按照上述算法流程,采用新的存储结构,得到相同的组队方案,即Solution = i*U {Path(i*,S(a)) |aET}。
[0031] 有益效果:本发明利用图算法形成高效的社交网络组队方法。具体体现如下有益 效果:
[0032] 1)本发明提供一种社交网络组队方法,其完整的方法过程包括将社交网络中的组 队问题定义成图模型、采用最少优先算法获得解空间及利用哈希存储优化求解过程。
[0033] 2)本发明中所述建模过程中,提供一个或一套较为抽象的图模型,能够将实际问 题中的相关求解方法转化为数学化的模型形式。
[0034] 3)本发明中所述模型从全局的角度求社交网络组队方法,使组队问题最终能够得 到最优精确解。
[0035] 4)本发明在优化求解过程中采用哈希结构存储候选人信息,有效降低最少优先算 法的算法时间复杂和空间复杂度。
【附图说明】
[0036] 图1是基于图挖掘的社交网络组队方法对应的流程图。
【具体实施方式】
[0037] 下面对本发明附图的某些实施例作更加详细的描述。
[0038] 根据附图1,本发明【具体实施方式】为:
[0039] 1)将社交网络中的组队问题定义成图模型。
[0040] 11)列出任务完成所需的技能集、候选人集及每个候选人具有的技能集。目前需要 完成一项开发任务,完成该任务所需要的技能有算法软件工程、分布式系统、网络编程和大 数据。同时有5个候选人,将其编号为1,2,3,4,5。其中,1号候选人具有技能:算法和大数据, 2号候选人具有技能:算法、网络编程和数据,3号候选人具有技能:软件工程和分布式系 统,4号候选人具有技能:软件工程、分布式系统、网络编程和大数据,5号候选人具有技能: 软件工程、分布式系统和网络编程。
[0041] 12)将5位候选人看作图G中节点。
[0042] 13)将i号候选人到j号候选人之间的路径看作两者之间的弧,候选人之间的交流 代价作为该弧的权值,定义d(i,j)表示在图G中i号候选人到j号候选人的最短路上的权值, 其中 d(l,2) =4,d( 1,3) = 5,d(2,3) = 3,d(4,5) = 3,d( 1,4) = 100,d( 1,5) = 100,d(2,4) = 100,(1(2,5) =
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1