Hello dev community!

I implemented Preis' 1/2 approximation of maximum weighted matching
algorithm for general graphs as described in this paper:
http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.46.2964

After I did this, I had the need to implement a mergeVertexRequest to make
things easier for graph algorithms that need that function (there are a
few). The mergeVertexRequest will be as follows:

vertex.mergeVertexRequest(I targetVertexId)
- If two vertices call this method with each other's id's they will be
deleted from the graph in the next superstep and a new vertex will take
their place, with it's edges being the union of the two (we add the weights
for common targets).
- The new vertex will be able to split again in its previous two, if
needed. The edges and values will be remembered somehow.

I needed lots of workarounds to implement what I described above in a
computation. What I ask of you is this: Can you point me in the right
direction in order to implement such a functionality in the core of the
system? Where should I start? What shouldn't I miss? Are there any guides
for implementing a core functionality?

By the way I wanted to say I really love the work that has been done. I'm
currently using the release-1.0.0 branch.

Regards,
Panagiotis Eustratiadis.

PS: I'm doing this as a part of my disertation, so If it's successful it
could be contributed to the community. Cheers!

Reply via email to