# HG changeset patch # User one # Date 1346833199 -32400 # Node ID 4d1885a2fa36b80fc95de5cfd2edcc6d717e5454 # Parent c7b139ff27e2022361f38d7efb2da352bbda66bc fix method of calculation for computing PageRank. diff -r c7b139ff27e2 -r 4d1885a2fa36 src/pagerank/LinkToVertex.java --- a/src/pagerank/LinkToVertex.java Wed Sep 05 16:34:47 2012 +0900 +++ b/src/pagerank/LinkToVertex.java Wed Sep 05 17:19:59 2012 +0900 @@ -23,8 +23,7 @@ private HashMap wikiPageHash = new HashMap(); private long AllVertexNumber; - private final double weight1 = 0.85; - private final double weight2 = 0.15; + private final double weight = 0.85; public static final String HAS_LINK = "HasLink"; @@ -103,6 +102,12 @@ return setRelationship(v1, v2, HAS_LINK); } + void initPageRankAllVertex() { + for (Vertex v : graph.getVertices()) { + setPageRank(v, 0.0); + } + } + long searchAllVertices() { AllVertexNumber = 0; for (Vertex v : graph.getVertices()) { @@ -218,9 +223,8 @@ sum += ((Double) linkV.getProperty(PAGE_RANK)) / computeInHasLink(linkV) ; } } - - pageRank = (double) sum * weight1 - + (double) ((double) 1 / AllVertexNumber * weight2); + pageRank = (double) (1 - weight) / AllVertexNumber + + (double) sum * weight; wiki.setRank(pageRank); v.setProperty(PAGE_RANK, pageRank); diff -r c7b139ff27e2 -r 4d1885a2fa36 src/pagerank/TPReadWikiLink.java --- a/src/pagerank/TPReadWikiLink.java Wed Sep 05 16:34:47 2012 +0900 +++ b/src/pagerank/TPReadWikiLink.java Wed Sep 05 17:19:59 2012 +0900 @@ -35,18 +35,20 @@ in.close(); LinkToVertex ltv = new LinkToVertex(graph); +// ltv.initPageRankAllVertex(); final long AllVertexNumber = ltv.searchAllVertices(); HashMap wikiHash = ltv.getWikiPageHash(); System.out.println("AllVertexNumber = "+AllVertexNumber); - String nodeIds[] = {"1574", "2829", "2850", "3618"}; - writeComputeTransition(ltv, nodeIds, 50); - -// FileOutputStream fos = new FileOutputStream(new File("./resources/wikiPageRank.log")); -// descendingOrder(wikiHash, fos); - - - + +// String nodeIds[] = {"1574", "2829", "2850", "3618"}; +// writeComputeTransition(ltv, nodeIds, 50); + + + FileOutputStream fos = new FileOutputStream(new File("./resources/wikiPageRank.log")); + descendingOrder(wikiHash, fos); + + FileOutputStream out = new FileOutputStream(new File(fileDB)); GraphMLWriter.outputGraph(graph, out); out.close();