From 27098e9e4fe1f22a9a173f667305909ecd8392eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simon=20Gra=CC=88tzer?= Date: Wed, 1 Mar 2017 23:20:38 +0100 Subject: [PATCH] Revert "Changing PageRank" This reverts commit 93a03c923acaeda05743bc0a0ecfd917c980f0fe. --- arangod/Pregel/Algos/PageRank.cpp | 22 ++++++++++------------ arangod/Pregel/Algos/PageRank.h | 2 +- 2 files changed, 11 insertions(+), 13 deletions(-) diff --git a/arangod/Pregel/Algos/PageRank.cpp b/arangod/Pregel/Algos/PageRank.cpp index 731d1fbf78..fbd20675a7 100644 --- a/arangod/Pregel/Algos/PageRank.cpp +++ b/arangod/Pregel/Algos/PageRank.cpp @@ -45,21 +45,19 @@ struct PRComputation : public VertexComputation { PRComputation() {} void compute(MessageIterator const& messages) override { float* ptr = mutableVertexData(); - //float copy = *ptr; + float copy = *ptr; - //if (globalSuperstep() == 0) { - // *ptr = 1.0 / context()->vertexCount(); - //} else { - if (globalSuperstep() > 0) { + if (globalSuperstep() == 0) { + *ptr = 1.0 / context()->vertexCount(); + } else { float sum = 0.0; for (const float* msg : messages) { sum += *msg; } - *ptr = 0.85 * sum + 0.15; - }// / context()->vertexCount(); - //} - //float diff = fabs(copy - *ptr); - //aggregate(kConvergence, diff); + *ptr = 0.85 * sum + 0.15 / context()->vertexCount(); + } + float diff = fabs(copy - *ptr); + aggregate(kConvergence, diff); RangeIterator> edges = getEdges(); float val = *ptr / edges.size(); @@ -93,8 +91,8 @@ struct PRMasterContext : public MasterContext { }; bool postGlobalSuperstep() override { - //float const* diff = getAggregatedValue(kConvergence); - return globalSuperstep() < 20;// || *diff > _threshold; + float const* diff = getAggregatedValue(kConvergence); + return globalSuperstep() < 1 || *diff > _threshold; }; }; diff --git a/arangod/Pregel/Algos/PageRank.h b/arangod/Pregel/Algos/PageRank.h index 4959c9b6a0..f07a2d939b 100644 --- a/arangod/Pregel/Algos/PageRank.h +++ b/arangod/Pregel/Algos/PageRank.h @@ -37,7 +37,7 @@ struct PageRank : public SimpleAlgorithm { PageRank(arangodb::velocypack::Slice const& params); GraphFormat* inputFormat() const override { - return new VertexGraphFormat(_resultField, 1); + return new VertexGraphFormat(_resultField, 0); } MessageFormat* messageFormat() const override {