Alice et Bob ont des chaînes de n bits et veulent savoir s'ils sont égaux tout en faisant peu de communication. La solution randomisée standard consiste à traiter les chaînes de n bits comme des polynômes de degré , puis à évaluer les polynômes sur quelques éléments choisis au hasard dans un champ de taille supérieure à . Cela nécessite une communication .
Supposons plutôt que nous fixions un ordre lexicographique sur les chaînes et voulons plutôt déterminer quelle chaîne est "plus grande", ce qui équivaut à trouver le bit le plus à gauche où les chaînes diffèrent.
Existe-t-il un protocole aléatoire similaire pour ce faire, ou une borne inférieure connue? Cela semble lié au test de positivité des polynômes.
ps Alors que l'ordre lexicographique semble être le plus évident, je suis d'accord avec d'autres ordonnances: pour le but qui m'intéresse, tout ce dont nous avons besoin est d'un certain ordre.
la source
Réponses:
Ceci est connu comme un problème supérieur à la complexité de la communication. Il existe un algorithme avec une complexité de communication (Exercice 3.18 dans le livre de Nisan-Kushilevitz).O ( logn )
Edit: l'algorithme est dû à Nisan (page 10): http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.57.6891&rep=rep1&type=pdf
Il utilise l'approche suggérée par @Sasho Nikolov ci-dessous --- exécuter une recherche binaire en utilisant des tests d'égalité avec une erreur constante pour faire les comparaisons. Cela peut être fait avec des requêtes utilisant «l'algorithme de recherche binaire bruyant» de Feige, Peleg, Raghavan et Upfal: http://cs.brown.edu/~eli/papers/SICOMP23FRPU.pdfO ( logn )
Pour obtenir un protocole d'aléatoire privé (non explicite), on peut appliquer le résultat de Newman: http://pdf.aminer.org/000/933/113/private_vs_common_random_bits_in_communication_complexity.pdf
la source
Voir La complexité de la communication de l'addition .
la source