dynamic fuzzy graph partitions
Consider a graph of the following symmetric relations: A~B B~C C~A X~Y Y~Z Z~X. Clearly
this graph can be partitioned into {A,B,C}, {X,Y,Z} and a simple algorithm to detect this
would be a sort of flood fill.
Now suppose we add the edge A~X. A fuzzy algorithm could still "partition" the graph into
{A,B,C}, {X,Y,Z} and this is the algorithm I'm looking for. Ideally the algorithm would
allow arbitrary measurements of how strongly an edge joins sets of nodes, and, here's the
trick part, be incrementally adaptable so edges could be added and removed at any time,
perhaps in batch. Is this a well-understood problem? Does the solution have a common name?
Do the edges have associated weights? If not, then you don't have any way to determine whether your groups are {A,B,C} & {X,Y,Z} or {A,B,C,X} & {Y,Z} or some other combination. If you do have weights, and the weight of the edge between A and X is lower than the typical weights between {A,B,C} and {X,Y,Z}, you could use a simple clustering algorithm.
-Kirk
-Kirk
Quote: Is this a well-understood problem?Yes.
You want to partition your graph into two sets of vertices. Such a partition is called a cut of a graph.
You want this partition to cut the minimum number of edges (or the minimum weight if your edges are weighted): you want a minimal cut. Your graphs are undirected. This is known as the minimum cut problem for undirected graphs.
There are very fast and straightforward algorithms published fairly recently for solving exactly this problem: google for "david karger minimum cut" for papers; they're available on the ACM, but it's not free so maybe google will turn up free copies.
I think Karger's algorithms lend themselves to online update fairly naturally, so you're probably in luck. :)
[Edited by - Anonymous P on November 22, 2007 11:43:47 PM]
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement