Нахождение цикла с помощью pregel - PullRequest
0 голосов
/ 12 сентября 2018

Задача состоит в том, чтобы найти циклы определенного размера k, где k - пользовательский ввод, используя pregel Scala.Однако я теряюсь в том, что делать с тем, какие сообщения следует отправлять в pregel, когда обнаруживается цикл.До сих пор я пытался использовать строку, содержащую список пройденных вершин, и поместить ее в атрибут vertex.Затем обнаруживается цикл, если srcAttr уже содержит dstId.Но я не уверен, что делать, чтобы получить общее количество циклов.Кроме того, задача также утверждает, что это не цикл, если он содержит другой меньший цикл.

1 Ответ

0 голосов
/ 24 октября 2018

Каждая вершина отправляет сообщения своим соседям, содержащие (1) идентификатор исходной вершины и (2) количество прыжков, которые проходит сообщение (изначально установлено в 1).

Каждая вершина перенаправляет полученные сообщения после увеличения значения (2) на единицу.

Проверьте каждое сообщение, является ли msg.src_vid == msg.dst_id, и посмотрите количество прыжков

...