最短路径

最短路径是最早一批被关注的问题之一,DFS、BFS和Dijkstra都是解决最短路径的经典方法,也都非常基础,在这里我就不做过多展开。

深搜(DFS)

DFS:深度优先搜索算法(Depth-First-Search,DFS)是一种用于遍历或搜索树或图的算法。沿着树的深度遍历树的节点,尽可能深的搜索树的分支。当节点路径与相似 - 图1的所在边都己被探寻过,搜索将回溯到发现节点路径与相似 - 图2的那条边的起始节点。这一过程一直进行到已发现从源节点可达的所有节点为止。如果还存在未被发现的节点,则选择其中一个作为源节点并重复以上过程,整个进程反复进行直到所有节点都被访问为止。属于盲目搜索。
DFS.gif

广搜(BFS)

BFS:宽度优先搜索算法(Breadth-First-Search,DFS)以一种系统的方式探寻图的边,从而“发现”路径与相似 - 图4所能到达的所有顶点,并计算路径与相似 - 图5到所有这些顶点的距离(最少边数),该算法同时能生成一棵根为路径与相似 - 图6且包括所有可达顶点的宽度优先树。所有因为展开节点而得到的子节点都会被加进一个先进先出的队列中。其邻居节点尚未被检验过的节点会被放置在一个被称为 open 的容器中,而被检验过的节点则被放置在被称为 closed 的容器中。
BFS.gif

Dijkstra

Dijkstra:Dijkstra算法通过为每个顶点路径与相似 - 图8保留当前为止所找到从路径与相似 - 图9路径与相似 - 图10的最短路径来工作的
Dijkstra.gif

节点相似

SimRank

如果两个节点被相似或相同的节点关联,则认为这两个主体相似

路径与相似 - 图12

Personalized PageRank(P-Pagerank)

P-Pagerank的分数路径与相似 - 图13被定义为:路径与相似 - 图14,其中路径与相似 - 图15为网络路径与相似 - 图16的转移矩阵,路径与相似 - 图17是一个称为Personalized vector随机向量,路径与相似 - 图18是隐形传输常数。

Random Walk

通过元路径(meta-path)路径与相似 - 图19从节点路径与相似 - 图20随机游走到达路径与相似 - 图21的概率

路径与相似1.png

Pairwise Random Walk

根据元路径(meta-path)路径与相似 - 图23,从路径与相似 - 图24两点随机游走,到达共同节点路径与相似 - 图25的概率

路径与相似2.png

PathSim

简单回顾一下Meta-path,两个主体在Meta-level的路径,描述两主体的关系比如作者-论文-作者(两个人共写一篇论文,这是网络中两作者间一种联系),当然一个网络中有多种Meta-path,比如作者-论文-会议-论文-作者…

PathSim计算公式:路径与相似 - 图27

比如下图例子:路径与相似 - 图28

路径与相似3.png 路径与相似4.png