[ https://issues.apache.org/jira/browse/TINKERPOP-1783?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16168407#comment-16168407 ]
Marko A. Rodriguez edited comment on TINKERPOP-1783 at 9/15/17 7:58 PM: ------------------------------------------------------------------------ I implemented the "teleportation energy" for dead end vertices and here is the result I got for MODERN. {code} marko: 0.2535703278398552 vadas: 0.324571208050876 lop: 0.6738708694531045 josh: 0.324571208050876 ripple: 0.38986734860902106 peter: 0.2535703278398552 {code} Next, I ran PageRank over the GraphML MODERN in iGraph and got: {code} marko: 0.1119788 vadas: 0.1370267 lop: 0.2665600 josh: 0.1620746 ripple: 0.2103812 peter: 0.1119788 {code} If I renormalize the TinkerPop PageRank vector to 1.0, then the values are more aligned. {code} 0.1142198 0.1462019 0.3035426 0.1462019 0.1756143 0.1142198 {code} ...don't know why I'm get this renormalization problem. :/ was (Author: okram): I implemented the "teleportation energy" for dead end vertices and here is the result I got for MODERN. {code} marko: 0.2535703278398552 vadas: 0.324571208050876 lop: 0.6738708694531045 josh: 0.324571208050876 ripple: 0.38986734860902106 peter: 0.2535703278398552 {code} Next, I ran PageRank over the GraphML MODERN in iGraph and got: {code} marko: 0.1119788 vadas: 0.1370267 lop: 0.2665600 josh: 0.1620746 ripple: 0.2103812 peter: 0.1119788 {code} > PageRank gives incorrect results for graphs with sinks > ------------------------------------------------------ > > Key: TINKERPOP-1783 > URL: https://issues.apache.org/jira/browse/TINKERPOP-1783 > Project: TinkerPop > Issue Type: Bug > Components: process > Affects Versions: 3.3.0, 3.1.8, 3.2.6 > Reporter: Artem Aliev > > {quote} Sink vertices (those with no outgoing edges) should evenly distribute > their rank to the entire graph but in the current implementation it is just > lost. > {quote} > Wiki: https://en.wikipedia.org/wiki/PageRank#Simplified_algorithm > {quote} In the original form of PageRank, the sum of PageRank over all pages > was the total number of pages on the web at that time > {quote} > I found the issue, while comparing results with the spark graphX. > So this is a copy of https://issues.apache.org/jira/browse/SPARK-18847 > How to reproduce: > {code} > gremlin> graph = TinkerFactory.createModern() > gremlin> g = graph.traversal().withComputer() > gremlin> > g.V().pageRank(0.85).times(40).by('pageRank').values('pageRank').sum() > ==>1.318625 > gremlin> g.V().pageRank(0.85).times(1).by('pageRank').values('pageRank').sum() > ==>3.4499999999999997 > #inital values: > gremlin> g.V().pageRank(0.85).times(0).by('pageRank').values('pageRank').sum() > ==>6.0 > {code} > They fixed the issue by normalising values after each step. > The other way to fix is to send the message to it self (stay on the same > page). > To workaround the problem just add self pointing edges: > {code} > gremlin>g.V().as('B').addE('knows').from('B') > {code} > Then you'll get always correct sum. But I'm not sure it is a proper > assumption. -- This message was sent by Atlassian JIRA (v6.4.14#64029)