15
$\begingroup$

I have two partitions of $[1 \ldots n]$ and am looking for the edit distance between them.

By this, I want to find the minimal number of single transitions of a node into a different group that are necessary to go from partition A to partition B.

For example the distance from {0 1} {2 3} {4} into {0} {1} {2 3 4} would be two

After searching I came across this paper, but a) I am not sure if they are taking into account the ordering of the groups (something I don't care about) in their distance b) I am not sure how it works and c) There are no references.

Any help appreciated

$\endgroup$
  • 5
    $\begingroup$ What would you consider the distance to be between {0 1 2 3} and {0 1} {2 3} ? Would it be 2 ? Secondly, I don't see why "graphs" come into the picture at all. It sounds like you have two partitions of [n] and want to compute a distance between them. $\endgroup$ – Suresh Venkat May 14 '11 at 5:18
  • $\begingroup$ Yes, it would be two. Indeed these are set partitions on the nodes of a graph (i.e. a graph partition). This is likely not important to the solution, but this is the problem I am trying to solve, hence why I mentioned it. $\endgroup$ – zenna May 14 '11 at 11:36
  • 3
    $\begingroup$ If the graph is irrelevant, please remove all references to "graphs" and "nodes" from your question; it does not help, it distracts. $\endgroup$ – Jukka Suomela May 14 '11 at 20:57
  • $\begingroup$ Can't the edit distance be defined in terms of the distance on the partition lattice? $\endgroup$ – Tegiri Nenashi May 17 '11 at 17:26
  • $\begingroup$ @Tegiri - It is indeed the geodesic distance on the lattice of partititons. Unfortunately computing that lattice for any set of cardinality much greater than 10 is intractable. $\endgroup$ – zenna Aug 31 '11 at 10:16
19
$\begingroup$

This problem can be transformed into the assignment problem, also known as maximum weighted bipartite matching problem.

Note first that the edit distance equals the number of elements which need to change from one set to another. This equals the total number of elements minus the number of elements which do not need to change. So finding the minimum number of elements which do not change is equivalent to finding the maximum number of vertices that do not change.

Let $A = \{ A_1, A_2, ..., A_k \}$ and $B = \{ B_1, B_2, ..., B_l \}$ be partitions of $[1, 2, ..., n]$. Also, without loss of generality, let $k \ge l$ (allowed because $edit(A, B) = edit(B, A)$). Then let $B_{l+1}$, $B_{l+2}$, ..., $B_k$ all be the empty set. Then the maximum number of vertices that do not change is:

$\max_f \sum_{i=1}^k |A_i \cap B_{f(i)} |$

where $f$ is a permutation of $[1, 2, ..., k]$.

This is exactly the assignment problem where the vertices are $A_1$, ..., $A_k$, $B_1$, ..., $B_k$ and the edges are pairs $(A_i, B_j)$ with weight $|A_i \cap B_j|$. This can be solved in $O(|V|^2 \log |V| + |V||E|)$ time.

$\endgroup$
  • $\begingroup$ Could you name the algorithm, which gives this time complexity please? $\endgroup$ – D-503 May 16 '11 at 3:01
2
$\begingroup$

Look at this paper's PDF

http://www.ploscompbiol.org/article/info:doi/10.1371/journal.pcbi.0030160

The definition of edit distance in there is exactly what you need I think. The 'reference' partition would be (an arbitrary) one of your two partitions, the other would simply be the other one. Also contains relevant citations.

Best, Rob

$\endgroup$
  • $\begingroup$ Thanks Rob. However, unless I am missing something, this is an edit distance defined in terms of split-merge moves. These are well studied and as the paper points out, the variation of information is a information theoretic measure of this. I am interested however, in single element move transitions. $\endgroup$ – zenna Aug 31 '11 at 12:58
1
$\begingroup$

Cranky Sunday morning idea that might or might not be correct:

Wlog, let $P_1$ be the partition with more sets, $P_2$ the other. First, assign pairwise different names $n_1(S) \in \Sigma$ to your sets $P_1$. Then, find a best naming $n_2(S)$ for the sets $P_2$ by the following rules:

  • $n_2(S) := n_1(S')$ for $S \in P_2$ with $S \cap S'$ maximal amongst all $S' \in P_1$; pick the one creating the least conflicts if multiple choices are possible.
  • If now $n_2(S) = n_2(S')$ for some $S \neq S'$, assign the one that shares less elements with $S'', n_1(S'') = n_2(S)$, the name of the set in $P_1$ it shares the second most elements with, i.e. have it compete for that set's name.
  • If the former rule can not be applied, check for both sets wether they can compete for the name of other sets they share less elements with (they might still have more elements from some $S'' \in P_1$ than the sets that got assigned its name!). If so, assign that name to the one of $S, S'$ that shares more elements with the respective set whose name they can compete for; the other keeps the formerly conflicting name.
  • Iterate this procedure until all conflicts are resolved. Since $P_1$ does not have less sets than $P_2$, there are enough names.

Now, you can consider the bit strings of your elements wrt either partition, i.e. $w_1 = n_1(1) \cdot \dots \cdot n_1(n)$ and $w_2 = n_2(1) \cdot \dots \cdot n_2(n)$ (with $n_j(i) = n_j(S), i \in S \in P_j$). Then, the desired quantity is $d_H(w_1, w_2)$, i.e. the Hamming distance between the bit strings.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.