主权项 |
1.一种社交网络中潜在好友查询方法,其特征在于,包括如下具体步骤:1)建立社交网络图<b>:</b>将各个用户的信息建模成图<img file="160026DEST_PATH_IMAGE002.GIF" wi="68" he="20" />的结点,其中<img file="2080DEST_PATH_IMAGE004.GIF" wi="16" he="18" />是图中结点的集合,<img file="201210179600X100001DEST_PATH_IMAGE006.GIF" wi="17" he="17" />是图中无向边的集合,表示两个用户之间的直接连接,用户邻接关系矩阵<img file="201210179600X100001DEST_PATH_IMAGE008.GIF" wi="40" he="18" />中对应用户之间的连接关系,有连接关系相应的单元设置为<img file="201210179600X100001DEST_PATH_IMAGE010.GIF" wi="45" he="21" />,否则设置为<img file="201210179600X100001DEST_PATH_IMAGE012.GIF" wi="58" he="22" />;2)在社交网络图的基础上,进行前<i>K</i>条最优路径查询算法:第一步:根据用户社交网络图找到一条指定结点间的最短路径,首先利用路径关系矩阵<img file="201210179600X100001DEST_PATH_IMAGE014.GIF" wi="38" he="17" />辅助存储两个结点之间最短路径的途经结点,<img file="85705DEST_PATH_IMAGE014.GIF" wi="38" he="17" />初始设置为空,以用户邻接关系矩阵<img file="962394DEST_PATH_IMAGE008.GIF" wi="40" he="18" />为基础,将任意一个用户结点C插入到另外两个用户结点A和B之间,检查是否为最短路径,即是否满足<img file="DEST_PATH_IMAGE016.GIF" wi="110" he="22" />,如果这样的结点存在,则将结点存储在路径关系矩阵<img file="DEST_PATH_IMAGE018.GIF" wi="92" he="21" />,<img file="DEST_PATH_IMAGE020.GIF" wi="54" he="18" />中,直到所有结点全部被遍历则循环结束;第二步:根据启发式的剪枝策略得到指定结点间前<i>K</i>条最优最短路径,存储在路径用户矩阵<i>PUA</i>中,具体方法步骤:A:结点之间的边删除:将两用户邻接关系之间的权值设置为<img file="660223DEST_PATH_IMAGE012.GIF" wi="58" he="22" />,设置一个大小为2的一维字符串数组<img file="DEST_PATH_IMAGE022.GIF" wi="34" he="20" />临时存储此两用户对应两个结点的信息,同时更新用户邻接关系矩阵<img file="927256DEST_PATH_IMAGE008.GIF" wi="40" he="18" />;B:再次执行第一步指定结点间的最短路径,并将获取的路径结点序列保存在路径用户矩阵<img file="DEST_PATH_IMAGE024.GIF" wi="56" he="22" />为起始地址的二维数组中,<img file="998593DEST_PATH_IMAGE020.GIF" wi="54" he="18" />;C:从临时一维字符串数组<img file="667472DEST_PATH_IMAGE022.GIF" wi="34" he="20" />中获取步骤A中选择的两个结点的信息,并将连接边的权值恢复为<img file="660835DEST_PATH_IMAGE010.GIF" wi="45" he="21" />,同时更新用户邻接关系矩阵<img file="228214DEST_PATH_IMAGE008.GIF" wi="40" he="18" />;D:针对最短路径中的各个相邻结点进行同样的删除、查询与恢复操作,直到所有的前<img file="DEST_PATH_IMAGE026.GIF" wi="18" he="17" />条最优路径全部找到;3)基于ELCS的潜在好友发现:首先通过前<img file="27543DEST_PATH_IMAGE026.GIF" wi="18" he="17" />条最短路径查询前<img file="363977DEST_PATH_IMAGE026.GIF" wi="18" he="17" />条最短路径,将每条最短路径构造成一个字符串数组作为求解公共子序列的一条母串,然后依次从前<img file="793822DEST_PATH_IMAGE026.GIF" wi="18" he="17" />条最短路径中取出不同的两条母串,执行<img file="97764DEST_PATH_IMAGE028.GIF" wi="42" he="18" />算法,进行字串比较,并将比较结果记录在公共子项序列矩阵<img file="372888DEST_PATH_IMAGE030.GIF" wi="34" he="17" />中,最后通过<img file="16359DEST_PATH_IMAGE030.GIF" wi="34" he="17" />查询出两组最短路径<img file="164574DEST_PATH_IMAGE032.GIF" wi="34" he="18" />中存在的潜在好友。 |