Mémoire classique suffisante pour stocker des états jusqu'à 40 qubits de système quantique?

10

Dans le cadre d'une discussion avec mon ami «classique», il a insisté sur le fait qu'il était possible de créer une machine à états pour calculer le résultat d'un ordinateur quantique; Donc, calculez simplement les résultats des algorithmes (connus) sur les superordinateurs et stockez leurs résultats dans une table de consultation. (Quelque chose comme stocker la table de vérité).

Alors, pourquoi les gens travaillent-ils sur des simulateurs quantiques (disons, capables jusqu'à 40 qubits); qui calcule le résultat à chaque fois?! Utilisez simplement (hypothétiquement) les superordinateurs du monde (disons capables jusqu'à 60 qubits); calculer le résultat pour cas d'entrée, stocker leur résultat et l'utiliser comme référence? Comment puis-je le convaincre que ce n'est pas possible? Remarque: ceci concerne les algorithmes quantiques connus et leurs implémentations de circuits connues.260

viliyar
la source
2
Je suggérerais une approche «classique» plus extrême: au final, tout algorithme quantique est une transformation unitaire appliquée à un système à n qubits; elle peut être décrite par matrice unitaire; afin que nous puissions créer une liste d'algorithmes quantiques connus, décrits comme des matrices unitaires; et l'exécution d'un algorithme est simplement une multiplication de la matrice par un vecteur d'entrée, et ce serait rapide. Bien sûr, il faut tenir compte de la mémoire ...2n×2n
kludg
Exactement. Et je crois que les besoins en mémoire augmenteraient fortement à mesure que le n augmente.
viliyar

Réponses:

14

Supposons que vous ayez un algorithme quantique avec entrées possibles. Supposons également qu'il faudrait 1 nanoseconde pour exécuter ceci sur un supercalculateur (ce qui est irréaliste et optimiste!). Le temps total requis pour exécuter toutes les entrées possibles serait de 36,5 ans.260

De toute évidence, il serait bien préférable d'exécuter simplement l'instance qui vous intéresse et d'obtenir la réponse en un instant, plutôt que d'attendre une demi-vie pour la choisir dans une liste. Cela devient de plus en plus vrai lorsque nous augmentons le temps d'exécution de la 1 nanoseconde irréaliste.

pourquoi les gens travaillent-ils sur des simulateurs quantiques (disons, capables jusqu'à 40 qubits); qui calcule le résultat à chaque fois?!

Même si vous vouliez créer une table de recherche, vous auriez toujours besoin d'un simulateur comme celui-ci pour le créer.

James Wootton
la source
2
Le supercalculateur n ° 1 Top500 actuel , à Oak Ridge, est répertorié comme ayant 2,3 millions de cœurs, POWER9 et CUDA Volta (je ne connais pas la panne, ils les ont probablement regroupés dans les statistiques). En supposant que le calcul est entièrement parallélisable, ce qui est le cas, réduit considérablement l'estimation, jusqu'à environ 20 minutes. Même en multipliant le temps de simulation par 12, cela donne un temps raisonnable de 4 heures et les dépenses énergétiques de seulement 32 MW‧h :)
kkm
3

Pour un algorithme quantique spécifique qui utilise 40 qubits, votre ami fait un bon point. On peut simplement calculer la table de vérité (on peut trouver cela difficile, mais supposons que l'on peut) et l'utiliser comme référence. Bien sûr, cela commence à devenir ridicule à mesure que vous augmentez le nombre de qubits, non seulement à cause du nombre d'entrées, mais parce que le calcul du résultat d'un algorithme quantique pourrait être exponentiellement plus difficile classiquement pour tout ce que nous savons.

Cependant, être capable de simuler un ordinateur quantique (ou avoir un ordinateur quantique réel) est beaucoup plus utile. En changeant les opérations quantiques que l'on fait, on obtient différents algorithmes. Le nombre de fonctions que l'on peut définir sur 40 bits d'entrées est de 2 ^ 2 ^ 40. Avoir une base de données unique qui vous donne un accès instantané aux résultats de n'importe quel algorithme quantique est tout simplement absurdement irréalisable. Nous voulons aussi pouvoir changer d'algorithme facilement, et classiquement, nous voudrions des simulateurs pour cela.

SuhailSherif
la source
Pouvez-vous me dire comment avez-vous calculé ? 2240
viliyar
1
Chaque fonction est définie de manière unique par une table de vérité. Pour une entrée de 40 bits, la table de vérité a une longueur de 2 ^ 40 bits. Ainsi, le nombre de tables de vérité (et donc le nombre de fonctions) est le nombre de chaînes de bits de longueur 2 ^ 40, qui est 2 ^ 2 ^ 40.
SuhailSherif