Comment la programmation est-elle différente d'un algorithme quantique? À quoi ressemblerait une langue similaire si elle a été conçue pour les qubits? Les types changent-ils?
À quoi ressemblerait une langue similaire si elle a été conçue pour les qubits? Les types changent-ils?
Il serait si drastiquement différent d'être incompréhensible en tant que C.
Le problème principal (comme je le comprends) est que l'informatique quantique ne fonctionne pas de manière intéressante de manière impérative ", alors cela, alors cette autre chose". Essayer de forcer la capacité de C de faire cela dans le "processeur" de l'ordinateur quantique sera sinon impossible, sauvagement inefficace.
Algorithmes de programmation pour les ordinateurs quantiques (à nouveau, si je les comprends) ont tendance à être plus proches de la carte de programmation fonctionnelle Carte/Raduire, car l'informatique quantique permet à tous les candidats de la partie "Réduire" d'exister simultanément et "tomber" de l'ordinateur quand observé.
Notez qu'il existe des algorithmes existants pour les ordinateurs quantiques, même si les périphériques n'existent pas pour les exécuter. Algorithme de Simon Par exemple.
Afin de faire l'utilisation la plus efficace possible d'un ordinateur quantique, il faut pouvoir faire face aux intrants et aux sorties des états d'un registre quantique, pour lequel il n'y a vraiment aucun analogue classique. Parlant de quelques années d'expérience dans le domaine des informations quantiques, je dois vous avertir que personne n'a vraiment une bonne intuition pour cela au-delà des mathématiques abstraites des algèbres C *, et je l'ai dit que même cette intuition s'avère inadéquate Si vous commencez à vous demander la théorie de la relativité.
La classe de problèmes qui sont efficaces efficacement sur un ordinateur quantique sont connues sous le nom de BQP, pour le polynôme quantique délimité. Ceci est la version quantique de BPP et vous pouvez trouver plus d'informations sur ce document: http://www.scottaaronson.com/papers/bqppph.pdf
On m'a dit la nuit dernière par un chercheur d'algorithmes quantum qu'il existe un problème très important de BQP-Complete: Résoudre un système linéaire d'équations N. Classiquement, cela est résoluble dans O(N) Étapes avec élimination gaussienne. L'algorithme Harrow-Hassidim-Lloyd ( http://arxiv.org/abs/0811.3171 ) la résout dans Polylog (n), à condition que vous soyez prêt à accepter une réponse qui a la solution codée comme un état quantique. Si vous souhaitez utiliser pleinement un ordinateur quantique, il semble donc nécessaire que vous ayez un type correspondant à l'état d'un registre quantique.
Bien que je sois un peu en dehors de mon expertise particulière en ce moment, je suppose que vous devinez que vous puissiez programmer un ordinateur quantique tant que vous aviez accès à un type correspondant aux États magiques. C'est un concept difficile, cependant, cela nécessite une certaine étude du sujet.
Soyez averti que nous sommes très longs de disposer d'un langage de programmation quantique, car nous sommes à un stade très primitif de la recherche sur l'informatique quantique. Demander un quantum C en ce moment serait comme aller à Alan Turing et lui demander de concevoir Python. Nous n'avons même pas encore la version quantique du tube de l'aspirateur!