You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Josep Rubió (JIRA)" <ji...@apache.org> on 2016/08/03 21:29:20 UTC

[jira] [Commented] (FLINK-1707) Add an Affinity Propagation Library Method

    [ https://issues.apache.org/jira/browse/FLINK-1707?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15406651#comment-15406651 ] 

Josep Rubió commented on FLINK-1707:
------------------------------------

Hi all,

Sorry for my late response but I did not have much time to work with this.

I have created a spreadsheet executing the algorithm with the same example i have in github. This is a 3 nodes graph with following similarities:

1 -> 1: 1.0
1 -> 2: 1.0
1 -> 3: 5.0
2 -> 1: 1.0
2 -> 2: 1.0
2 -> 3: 3.0
3 -> 1: 5.0
3 -> 2: 3.0
3 -> 3: 1.0

The execution in the spreadsheet contains the calculations for intermediate results of the algorithm (eta and beta values being n and b respectively). These calculations are implicit in in alfa and rho in the implementation. 
You can see that values for Rho messages in the spreadsheet are the values sent from I to E nodes in the implementation and alfa messages are the values sent from E to I nodes.

Damping factor can be set at second row.

https://docs.google.com/spreadsheets/d/1CurZCBP6dPb1IYQQIgUHVjQdyLxK0JDGZwlSXCzBcvA/edit?usp=sharing

About the other issues:

- Although It is recommended in the paper to use damping it can be implemented without it, avoiding having in the vertices the old sent values for each destination. I don't see any other way to implement damping.
- Calculating values in parallel is not an issue is a different scheduling of the algorithm. It could be done in a serial mode just doing the calculations for odd or even vertices in each superstep.
- I will review the other implementation issues you commented

Thanks!

> Add an Affinity Propagation Library Method
> ------------------------------------------
>
>                 Key: FLINK-1707
>                 URL: https://issues.apache.org/jira/browse/FLINK-1707
>             Project: Flink
>          Issue Type: New Feature
>          Components: Gelly
>            Reporter: Vasia Kalavri
>            Assignee: Josep Rubió
>            Priority: Minor
>              Labels: requires-design-doc
>         Attachments: Binary_Affinity_Propagation_in_Flink_design_doc.pdf
>
>
> This issue proposes adding the an implementation of the Affinity Propagation algorithm as a Gelly library method and a corresponding example.
> The algorithm is described in paper [1] and a description of a vertex-centric implementation can be found is [2].
> [1]: http://www.psi.toronto.edu/affinitypropagation/FreyDueckScience07.pdf
> [2]: http://event.cwi.nl/grades2014/00-ching-slides.pdf
> Design doc:
> https://docs.google.com/document/d/1QULalzPqMVICi8jRVs3S0n39pell2ZVc7RNemz_SGA4/edit?usp=sharing
> Example spreadsheet:
> https://docs.google.com/spreadsheets/d/1CurZCBP6dPb1IYQQIgUHVjQdyLxK0JDGZwlSXCzBcvA/edit?usp=sharing



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)