J'ai deux partitions de et je recherche la distance d'édition entre elles.
Par cela, je veux trouver le nombre minimal de transitions uniques d'un nœud dans un groupe différent qui sont nécessaires pour passer de la partition A à la partition B.
Par exemple, la distance de {0 1} {2 3} {4}
en {0} {1} {2 3 4}
serait de deux
Après avoir cherché, je suis tombé sur ce document, mais a) je ne sais pas s'ils tiennent compte de l'ordre des groupes (quelque chose qui ne m'importe pas) à leur distance b) je ne sais pas comment cela fonctionne et c) Il n'y a pas de références.
Toute aide appréciée
Réponses:
Ce problème peut être transformé en problème d'affectation , également connu sous le nom de problème de correspondance bipartite pondérée maximale.
Notez d'abord que la distance d'édition est égale au nombre d'éléments qui doivent changer d'un ensemble à un autre. Cela équivaut au nombre total d'éléments moins le nombre d'éléments qui n'ont pas besoin de changer. Donc, trouver le nombre minimum d'éléments qui ne changent pas équivaut à trouver le nombre maximum de sommets qui ne changent pas.
Let et B = { B 1 , B 2 , . . . , B l } soit de partitions [ 1 , 2 , . . . , n ] . Aussi, sans perte de généralité, soit k ≥ l (autorisé car e d i tA={A1,A2,...,Ak} B={B1,B2,...,Bl} [1,2,...,n] k≥l ). Soit alors B l + 1 , B l + 2 , ..., B k tous les ensembles vides. Alors le nombre maximum de sommets qui ne changent pas est:edit(A,B)=edit(B,A) Bl+1 Bl+2 Bk
où est une permutation de [ 1 , 2 , . . . , k ] .f [1,2,...,k]
C'est exactement le problème d'affectation où les sommets sont , ..., A k , B 1 , ..., B k et les arêtes sont des paires ( A i , B j ) de poids | A i ∩ B j | . Cela peut être résolu en temps O ( | V | 2 log | V | + | V | | E | ) .A1 Ak B1 Bk (Ai,Bj) |Ai∩Bj| O(|V|2log|V|+|V||E|)
la source
Regardez le PDF de cet article
http://www.ploscompbiol.org/article/info:doi/10.1371/journal.pcbi.0030160
La définition de la distance d'édition là-dedans est exactement ce dont vous avez besoin, je pense. La partition «de référence» serait (arbitraire) l'une de vos deux partitions, l'autre serait simplement l'autre. Contient également des citations pertinentes.
Cordialement, Rob
la source
Idée grincheuse du dimanche matin qui pourrait ou non être correcte:
Wlog, que soit la partition avec plus d'ensembles, P 2 l'autre. Tout d'abord, attribuez des noms différents par paire n 1 ( S ) ∈ Σ à vos ensembles P 1 . Ensuite, trouvez une meilleure dénomination n 2 ( S ) pour les ensembles P 2 selon les règles suivantes:P1 P2 n1( S) ∈ Σ P1 n2( S) P2
la source