Substitut de Communication Par Intrication Quantique (Article de Richard Cleve et Harry Buhrman) IQ – 2006 – Matthieu Castebrunet
Sommaire Introduction Introduction Question Question Réponse et explication 1 Réponse et explication 1 Réponse et explication 2 Réponse et explication 2 Apport supplémentaire Apport supplémentaire Conclusion Conclusion
Introduction Physique classique : Physique classique : phénomène d'intrication => communication phénomène d'intrication => communication Physique quantique : Physique quantique : pas de communication, pas même simulée pas de communication, pas même simulée Exemple Exemple f(x, y) = x 1 + · · · + x n + y 1 + · · · + y n => 1 bit transféré f(x, y) = x 1 · y 1 + · · · + x n · y n => n bits transférés Complexité de communication de f Complexité de communication de f
Question Est-ce que l'intrication peut réduire la complexité de communication de f ? Considérations Considérations Réponses pour n 3 : Réponses pour n 3 : => avec intrication, 2 bits sont suffisants => sans intrication, 3 bits sont nécessaires => sans intrication, 3 bits sont suffisants
Réponse et explication 1 Avec intrication, 2 bits sont suffisants L'intrication concerne 3n qubits, n pour chacune des parties A(lice), B(ob) et C(arol) L'intrication concerne 3n qubits, n pour chacune des parties A(lice), B(ob) et C(arol) Notation : Notation : Les N bits d'entrée de Y sont notés xY = xY 1, …, xY n Les N qubits de Y sont notés qY 1, …, qY n Pour chaque i, le triplet qA i, qB i, qC i est dans l'état: Pour chaque i, le triplet qA i, qB i, qC i est dans l'état: ½ (|001> + |010> + |100> - |111>)
Réponse et explication 1 Avec intrication, 2 bits sont suffisants But de A : Calculer f(xA, xB, xC) But de A : Calculer f(xA, xB, xC) Protocole : Protocole : Pour chaque partie P dans {A, B, C} Pour chaque i de {1, …, n} Pour chaque i de {1, …, n} Si xPi = 0 Alors appliquer H à qPi(H: Hadamard) sPi = Mesurer qPi (base standard) sP = sP1 + … + sPn(+ mod 2) sP = sP1 + … + sPn(+ mod 2) B (resp. C) envoie sB (resp. sC) à A A calcule sA + sB + sC Selon la condition originale, xA + xB + xC = 1 Selon la condition originale, xA + xB + xC = 1 On a sA + sB + sC = f(xA, xB, xC)
Réponse et explication 1 Avec intrication, 2 bits sont suffisants Preuve : Preuve : sA + sB + sC = f(xA, xB, xC) car sAi + sBi + sCi = xAi xBi xCi sA + sB + sC = f(xA, xB, xC) car sAi + sBi + sCi = xAi · xBi · xCi Selon condition originelle, xAi xBi xCi {001, 010, 100, 111} Cas 111 : Pas de H appliquée à qAi, qBi ou qCi, donc |qAi qBi qCi> est mesuré dans l'état : ½ (|001> + |010> + |100> - |111>) => sAi + sBi + sCi = 1 = xAi xBi xCi => sAi + sBi + sCi = 1 = xAi · xBi · xCi Cas 001 (et par symétrie, 010 et 100) : |qAi qBi qCi> est mesuré dans l'état : |qAi qBi qCi> est mesuré dans l'état : H H I ( ½ (|001> + |010> +|100> +|111>)) = ½ (|011> + |101> + |000> - |110>) => sAi + sBi + sCi = 0 = xAi xBi xCi => sAi + sBi + sCi = 0 = xAi · xBi · xCi
Réponse et explication 2 Sans intrication, 3 bits sont nécessaires Principe : Prouver que 2 bits ne suffisent pas. Principe : Prouver que 2 bits ne suffisent pas. Avec deux bits, seule solution enviseageable : B broadcast 1 bit à A et C, puis C envoie un bit à A. Solution : partitionner l'espace des possibilités de chacun en deux sous-groupes et communiquer l'indice de ce sous- groupe ( 0 ou 1) Solution : partitionner l'espace des possibilités de chacun en deux sous-groupes et communiquer l'indice de ce sous- groupe ( 0 ou 1) B communique son sous-groupe à A et C. B communique son sous-groupe à A et C. C doit pouvoir envoyer un bit qui permette à A de déterminer le résultat du calcul. C doit pouvoir envoyer un bit qui permette à A de déterminer le résultat du calcul. => Dans toutes les situations, il y a ambiguité pour A sur les données de C ou C ne peut pas construire de partition binaire permettant d'indiquer son résultat.
Apport supplémentaire Sans intrication, 3 bits sont suffisants Idée : Compter le nombre de 0 total dans toutes les 3n entrées (Ce nombre est pair selon la condition originelle) Idée : Compter le nombre de 0 total dans toutes les 3n entrées (Ce nombre est pair selon la condition originelle) Si xi yi zi = 1 alors pas de 0 dans {xi yi zi } Si xi · yi · zi = 1 alors pas de 0 dans {xi, yi, zi } Si xi yi zi = 0 alors deux 0 dans {xi yi zi } (cf. xi+yi+zi =1) Si xi · yi · zi = 0 alors deux 0 dans {xi, yi, zi } (cf. xi+yi+zi =1) Np est le nombre de 0 dans xP (Na + Nb + Nc =2k, où k est le nombre total de termes égal à 0 dans {x1y1z1, …,xnynzn} ) Np est le nombre de 0 dans xP (Na + Nb + Nc =2k, où k est le nombre total de termes égal à 0 dans {x1 · y1 · z1, …,xn · yn · zn} ) A peut calculer f(x, y, z) = (n-k) mod 2 avec uniquement la parité de k. B et C peuvent envoyer le mod 4 de leur N (4bit tranférés). A peut calculer f(x, y, z) = (n-k) mod 2 avec uniquement la parité de k. B et C peuvent envoyer le mod 4 de leur N (4bit tranférés). Comme on a parité du nombre de 0, l'un des deux peux envoyer seulement le bit de poids fort => 3 bits transférés Comme on a parité du nombre de 0, l'un des deux peux envoyer seulement le bit de poids fort => 3 bits transférés
Conclusion Dans certains cas, l'intrication permet de réduire la complexité de communication d'une fonction à données réparties Dans certains cas, l'intrication permet de réduire la complexité de communication d'une fonction à données réparties L'approche de l'intrication Quantique ne simule pas une communication L'approche de l'intrication Quantique ne simule pas une communication Classique / Quantique Classique / Quantique