Étant donné deux sous-ensembles de l' hypercube à dimensions (c'est-à-dire ), je cherche un algorithme qui récupère les points st le hamming la distance (ou la distance sur l'hypercube) est minimale. L'algorithme naïf qui vérifie juste chaque paire a besoin de time, existe-t-il un meilleur résultat connu?
Pour simplifier, nous pouvons supposer que .
Réponses:
Je viens de réaliser que vous demandez le cas où . Ensuite, vous pouvez faire une multiplication matricielle, non? Écrire est une matrice de lignes , comme matrice de colonnes , annuler les entrées de et calculer la matrice . De toute évidence, le est la distance de Hamming entre le ème point de et de la j ème point de N . Selon les dernières percées, cela a un temps de fonctionnement O ( d 2.3727 )M X N Y Y Z = X Y z i , j i M| M| = | N| =d M X N Oui Oui Z= XOui zi , j je M j N O ( d2,3727) (mais j'ai un manuscrit de 50 000 pages qui montre comment faire cette multiplication matricielle en temps par un algorithme vraiment simple).O ( d2.3726999999)
Vous pouvez obtenir un effet similaire si les matrices ne sont pas des carrés. Je pense qu'Uri Zwick a un article sur la multiplication matricielle rapide dans ce cas.
Dans un certain sens, ce n'est pas trop intéressant - nous voulons éviter le terme . Les améliorations du terme d sont un peu meh, meh ...O ( | M| ∗ | N| ) ré
la source
comme dans les commentaires, ce problème est généralement étroitement lié au même problème dans un espace de Hilbert et les algorithmes sont presque applicables. un exemple de ceci peut être trouvé dans cet article par Arya et al [1] p29 où les auteurs comparent leur algorithme de voisin de l'espace de Hilbert en utilisant le cube booléen et la norme . leur algorithme fonctionne sur n'importe quelle métrique L m Minkowski. comme vous le signalez (mais wikipedia ne semble pas faire beaucoup d'autres références), la métrique de distance de Hamming est équivalente à la métrique d'espace L 1 Minkowski ou "métrique taxicab" sur les coordonnées binaires. leur algorithme prend O ( d n log n )L∞ Lm L1 O ( dn journaln ) temps de prétraitement ( dimensions ) et temps de "requête" logarithmique (par point). voir aussi [2]ré
[1] Un algorithme optimal pour la recherche approximative du plus proche voisin dans des dimensions fixes Arya et al, 30pp
[2] Recherche des voisins les plus proches efficaces sur l'hyper-cube, avec des applications au clustering moléculaire Cazals
la source