MakarovSuites
Français
EnglishDeutschРусскийУкраїнськаFrançaisEspañolItalianoPolski
Contact et licences

Math

Une question, posée une seule fois

Une boîte noire calcule f de n bits vers un bit, et on ne peut l'interroger que sur des entrées. Être certain que f est constante ou équilibrée coûte classiquement la moitié de la table plus un appel. Hadamard sur tout, UN appel dont la réponse est un signe, Hadamard de nouveau - et le résultat tout-à-zéro tranche. La table de vérité est cliquable ici, la promesse peut donc être brisée à la main : pour n'importe quelle table la réponse sort avec la probabilité (1 − 2k/N)². Et si la table se trouve être f(x) = s·x, le même appel unique rend s lui-même.

Une question, posée une seule fois — Image réelle de l’application
Image réelle de l’application

Ce qui se passe

Une boîte noire calcule une fonction f de n bits vers un bit. On promet qu'elle est soit constante soit équilibrée - la même réponse partout, ou une réponse sur exactement la moitié des entrées - et il faut dire laquelle. Classiquement il n'y a pas de raccourci : la moitié de la table peut s'accorder et l'entrée suivante tout gâcher, la certitude coûte donc N/2 + 1 appels. Neuf pour seize entrées, trente-trois pour soixante-quatre. Voici maintenant la version quantique, en trois lignes. Hadamard sur chaque qubit, pour que les N entrées soient posées d'un coup. Appelle l'oracle - qui ne répond pas par un bit mais par un SIGNE : un moins sur chaque entrée où f vaut un. Hadamard de nouveau sur chaque qubit. Mesure. Si tous les qubits lisent zéro, f était constante ; tout le reste veut dire équilibrée, et l'ensemble a coûté un appel. Ce module dépasse la démonstration parce que la table du haut est cliquable. Brise la promesse : retourne une case et f n'est ni constante ni équilibrée, et l'algorithme n'échoue pas - il se dégrade d'une quantité qu'on peut écrire. Pour N'IMPORTE quelle table, le résultat tout-à-zéro a la probabilité (1 − 2k/N)², où k compte les uns de la table. Constante, c'est k = 0 et cela donne un. Équilibrée, c'est k = N/2 et cela donne exactement zéro. Une case retournée à seize entrées donne 4/256, une exécution sur soixante-quatre, et le panneau annonce le nombre avant qu'on ne compte. Voilà ce que vaut une promesse dans un algorithme, en chiffres. Il y a une seconde chose cachée ici. Quand la table est linéaire - f(x) = s·x mod 2 pour une chaîne cachée s -, les mêmes trois étapes ne répondent pas seulement oui ou non : le résultat EST s, avec probabilité un, et tout autre résultat a exactement zéro. C'est Bernstein-Vazirani, et classiquement cela coûte n appels, un par bit. Demande une fois, lis toute la chaîne. Sous les deux faits, une formule : l'amplitude du résultat y est la transformée de Walsh-Hadamard de (−1)^f, et le module la recalcule directement depuis la table pour tenir les deux ensemble.

Équations du module
Équations
les trois étapes :  H sur chaque qubit ;  un appel à l'oracle sous forme de signe, |x> -> (−1)^f(x) |x> ;  H de nouveau sur chaque qubit
amplitude du résultat y :  (1/N) somme sur x de (−1)^(f(x) + x·y) - la transformée de Walsh-Hadamard de (−1)^f
P(que des zéros) = (1 − 2k/N)²  où k est le nombre de uns que contient la table de vérité - EXACTEMENT, pour n'importe quelle table
constante (k = 0 ou N) :  1 ;  équilibrée (k = N/2) :  0 ;  une case d'une table équilibrée inversée :  4/N² = 1/64 pour N = 16
coût classique pour être CERTAIN :  N/2 + 1 appels (3, 5, 9, 17, 33 pour n = 2…6) contre 1
table linéaire f(x) = s·x mod 2 (Bernstein-Vazirani) :  le résultat EST s, probabilité 1, tout autre résultat exactement 0 ;  coût classique n appels, un par bit
f = 1 partout donne exactement les mêmes probabilités que f = 0 partout - la différence est un signe global, et un signe global n'est pas mesurable
compté, 2000 exécutions à n = 4 :  constante, 2000 sur 2000 sur la sortie de zéros ;  s = 11 caché, 2000 sur 2000 sur 11 ;  équilibrée, 0 sur la sortie de zéros ;  une case inversée, 30 (exact 31.25)

Autres expériences

Retour au catalogue
Codes correcteurs d'erreurs — Image réelle de l’application

Math

Codes correcteurs d'erreurs

Injectez X, Z ou Y sur une carte 3D, lisez le syndrome et révélez la correction. Comparez l’opérateur logique résiduel et la fidélité de l’entrée, puis confrontez les probabilités exactes aux tirages.

L'algorithme d'Euclide et les fractions continues — Image réelle de l’application

Math

L'algorithme d'Euclide et les fractions continues

Une table de bois et de laiton montre pourquoi PGCD(a,b)=PGCD(b,r). Reportez le reste, examinez les coefficients exacts de Bézout et les fractions continues, comparez des paires et des échantillons reproductibles.

L'horloge modulaire — Image réelle de l’application

Math

L'horloge modulaire

Un cadran de m marques et une aiguille. L'addition trace une étoile qui se referme après m/pgcd(s, m) coups ; la multiplication, un cycle dont la longueur divise phi(m). Certains modules n'ont aucune racine primitive, et la carte le dit : c'est un théorème, pas une recherche ratée.