Sha256: c84871c400cc2ec782bb485c2ee91f765bd2dbe8297a3a0aa8988c479397fbd9
Contents?: true
Size: 722 Bytes
Versions: 1
Compression:
Stored size: 722 Bytes
Contents
require 'elaine/distributed' class DistributedPageRankVertex < Elaine::Distributed::Vertex def compute # puts "Working on supserstep: #{superstep}" if superstep >= 1 # sum = messages.inject(0) {|total,msg| total += msg; total } # sum = messages.reduce(0, :+) sum = messages.reduce(0) do |total, msg| raise "Got an out-of-step message! current superstep: #{superstep}, message from superstep: #{msg[:superstep]}" if msg[:superstep] != (superstep - 1) total += msg[:value] end @value = (0.15 / 3) + 0.85 * sum end if superstep < 30 deliver_to_all_neighbors({value: @value / neighbors.size, superstep: superstep}) else halt end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
elaine-0.0.3 | spec/distributed_page_rank_vertex.rb |