L’idée de Quantum Tetris, objet du présent article, provient directement de Quandoom : plutôt que d’essayer de faire tourner tout un jeu vidéo sur un ordinateur quantique (ou sa simulation), pourquoi ne pas conserver un moteur de jeu classique et n’utiliser le quantique que pour certains événements de gameplay ? En l’occurrence Quantum Tetris est un Tetris développé en Rust avec le moteur Bevy. Le jeu est entièrement classique dans sa structure : il possède un plateau, des pièces, une boucle de jeu, des entrées clavier, un score, une gravité, un système de rendu et une interface. Il peut être compilé en application native, mais aussi porté dans le navigateur grâce à WebAssembly.
L’idée de Quantum Tetris, objet du présent article, provient directement de Quandoom : plutôt que d’essayer de faire tourner tout un jeu vidéo sur un ordinateur quantique (ou sa simulation), pourquoi ne pas conserver un moteur de jeu classique et n’utiliser le quantique que pour certains événements de gameplay ? En l’occurrence Quantum Tetris est un Tetris développé en Rust avec le moteur Bevy. Le jeu est entièrement classique dans sa structure : il possède un plateau, des pièces, une boucle de jeu, des entrées clavier, un score, une gravité, un système de rendu et une interface. Il peut être compilé en application native, mais aussi porté dans le navigateur grâce à WebAssembly.
Un ordinateur est un objet physique effectuant des opérations logiques, il a donc nécessairement besoin d’un substrat physique pour faire ces opérations. Aussi, si la théorie qui sous-tend l’informatique doit beaucoup aux mathématiciens (Turing pour n’en citer qu’un), c’est la physique qui a rendu la réalisation concrète des ordinateurs possible, qu’ils soient réalisés avec des relais électromécaniques, des tubes électroniques ou des transistors. Et cela ne s’arrête pas là : par exemple, d’une part la miniaturisation de ces derniers dans les processeurs fait que les phénomènes quantiques doivent être pris en compte (les électrons risquent de passer d’un fil à un autre par effet tunnel), d’autre part l’accroissement de la vitesse d’horloge rend concrète la barrière qu’est la vitesse de la lumière. Si les ordinateurs ne sont possibles qu’avec une théorie physique suffisamment évoluée, il y a une rétroaction qui se crée, car la physique a beaucoup bénéficié du développement des ordinateurs. Ceux-ci rendent en effet possibles des calculs – d’abord numériques, mais également symboliques – qu’il serait difficile de faire « à la main », pour des questions de temps et « d’erreurs humaines ». Cette possibilité a ouvert la voie à des simulations dans pratiquement toutes les branches de la physique, et ces simulations ont à leur tour pratique- ment créé de nouvelles branches, telle la théorie du chaos. En 1982, Richard Feynman déplorait cependant que les simulations informatiques de processus quantiques ne fussent pas efficaces, et suggérait qu’elles pourraient être bien plus rapides si l’ordinateur était lui-même « quantique » [2]. Dans ce document, nous allons d’abord revenir (chapitre 1) sur ce point et expliquer ce que pourrait faire différemment un ordinateur « quantique ». Nous décrirons ensuite (chapitre 2) les bases théoriques du calcul quantique tel que pourrait le pratiquer un ordinateur de ce type. Nous verrons finalement (chapitre 3) avec l’exemple de l’algorithme de Shor et de la Tranformation de Fourier Quantique qu’au-delà des simulations de processus quantiques, un ordinateur quantique pourrait accélérer dramatiquement d’autres opérations. Nous conclurons sur quelques approches possibles pour la réalisation d’un ordinateur quantique et sur l’existence d’autres applications de la mécanique quantique liées à l’informatique et à la communication qui ne nécessitent pas forcément un tel ordinateur, ainsi que sur des aspects plus philosophiques du calcul quantique.
Méthodes Formelles pour les Langages de Programmation Quantiques Le modèle Qram est un modèle de calcul quantique pratique composé d’un ordinateur classique et un processus quantique qui communiquent entre eux. Le programme est exécuté sur l’ordinateur classique. Il envoie les instructions correspondant aux opérateurs quantiques sur le co-processeur, et reçoit le résultat de l’observation de l’état quantique. Ce modèle est considéré comme un modèle standard et plusieurs langages de programmation ont été conçus en basant sur ce modèle. Alors que les programmes dans ce modèle sont capables de réaliser tout calcul quantique grâce à l’usage de la mémoire quantique, il est difficile de les analyser sans l’aide d’un autre ordinateur quantique. Ce problème suscite le besoin pour des méthodes formelles pour les langages programmations quantiques : les outils formels pour raisonner sur l’optimisation du code, pour l’analyser des ressources, et pour spécifier et prouver les propriétés des programmes quantiques. La sémantique catégorique fait partie de ces méthodes qui fait le lien entre les opérateurs quantiques et les programmes et introduit le système logique qui peut décrire les propriétés sur l’état quantique dans le système de types. Bien que plusieurs travaux proposent des sémantiques catégoriques pour les langages de description de circuits quantiques, aucun ne supporte l’usage du résultat d’une mesure au sein du processeur classique (le ”levage dynamique”). Dans cette thèse, nous formalisons le levage dynamique qui transfère le résultat d’observations sur l’état quantique à l’information classique dans un langage de programmation de description de circuit quantique. En suivant l’approche du langage Proto-Quipper, nous définissons un langage typé de description de circuit quantique où l’information quantique levée est incorporée dans la structure ramifiée. Ensuite, le levage dynamique est formalisé dans le cadre de la sémantique opérationnelle et la sémantique catégorique. Notre sémantique catégorique est basée sur le modèle de Francisco Rios et Peter Selinger pour le langage programmation Proto-Quipper- M. Pourtant, pour formaliser le levage dynamique, nous construisons une catégorie de Kleisli en capturant la mesure quantique comme un effet de bord sur une catégorie concrète pour le circuit avec la mesure quantique. Nous prouvons le théorème de correction de la sémantique catégorique par rapport à la sémantique opérationnelle.
Le modèle Qram est un modèle de calcul quantique pratique composé d’un ordinateur classique et un processus quantique qui communiquent entre eux. Le programme est exécuté sur l’ordinateur classique. Il envoie les instructions correspondant aux opérateurs quantiques sur le co-processeur, et reçoit le résultat de l’observation de l’état quantique. Ce modèle est considéré comme un modèle standard et plusieurs langages de programmation ont été conçus en basant sur ce modèle. Alors que les programmes dans ce modèle sont capables de réaliser tout calcul quantique grâce à l’usage de la mémoire quantique, il est difficile de les analyser sans l’aide d’un autre ordinateur quantique. Ce problème suscite le besoin pour des méthodes formelles pour les langages programmations quantiques : les outils formels pour raisonner sur l’optimisation du code, pour l’analyser des ressources, et pour spécifier et prouver les propriétés des programmes quantiques. La sémantique catégorique fait partie de ces méthodes qui fait le lien entre les opérateurs quantiques et les programmes et introduit le système logique qui peut décrire les propriétés sur l’état quantique dans le système de types. Bien que plusieurs travaux proposent des sémantiques catégoriques pour les langages de description de circuits quantiques, aucun ne supporte l’usage du résultat d’une mesure au sein du processeur classique (le ”levage dynamique”). Dans cette thèse, nous formalisons le levage dynamique qui transfère le résultat d’observations sur l’état quantique à l’information classique dans un langage de programmation de description de circuit quantique. En suivant l’approche du langage Proto-Quipper, nous définissons un langage typé de description de circuit quantique où l’information quantique levée est incorporée dans la structure ramifiée. Ensuite, le levage dynamique est formalisé dans le cadre de la sémantique opérationnelle et la sémantique catégorique. Notre sémantique catégorique est basée sur le modèle de Francisco Rios et Peter Selinger pour le langage programmation Proto-Quipper- M. Pourtant, pour formaliser le levage dynamique, nous construisons une catégorie de Kleisli en capturant la mesure quantique comme un effet de bord sur une catégorie concrète pour le circuit avec la mesure quantique. Nous prouvons le théorème de correction de la sémantique catégorique par rapport à la sémantique opérationnelle.
Algorithmes quantique d’apprentissage automatique Cette thèse présente de nouveaux algorithmes quantiques pour l'apprentissage automatique. L'ordinateur quantique permet un nouveau paradigme de calcul qui exploite les lois de la mécanique quantique pour offrir une accélération des calculs par rapport aux ordinateurs classiques. Récemment, la communauté scientifique a produit plusieurs algorithmes quantiques liés la résolution de problèmes d'algèbre linéaire. Puisqu’une grande partie de l'apprentissage automatique se réduit à multiplier des matrices ou à les inverser, il est possible d'obtenir dans certains cas une version quantique de nombreux algorithmes en lien avec l'apprentissage automatique. Malgré tout, l'écriture d’un nouvel algorithme quantique n’est en général pas du tout une tâche aisée. Dans cette thèse, je propose des algorithmes quantiques pour l'apprentissage de certains modèles d'apprentissage classique. Les algorithmes conçus et analysés dans cette thèse sont les suivants : Slow Feature Analysis, un algorithme de réduction de dimension utilisé pour éviter phénomène d'overfitting dans le cadre de l'apprentissage supervisionné. Dans le cadre de l'apprentissage non supervisé, une version quantique de l'algorithme de clustering k-means et sa généralisation dans le model Gaussian Mixture Models. Ces algorithmes sont itératifs, et représentent la contrepartie quantique de l’algorithmique classique Expectation-Maximization très répandu. Spectral Sum, un algorithme calculant des quantités liées à la somme des valeurs singulières d'un matrice, et ses applications. Les nouveaux algorithmes quantiques développés ont été implémentés et simulés sur des ordinateurs classiques à base d’HPC, avec les jeux de donnés couramment utilisés pour l’apprentissage automatique classique. Je démontre ainsi que ces algorithmes ont effectivement le potentiel de concourir contre les meilleurs algorithmes classiques pour l’analyse de donnés.
Circuits quantiques bruités pour l'optimisation combinatoire Alors que les ordinateurs quantiques croissent en taille tout en restant affectés par le bruit, un défi clé consiste à déterminer quand et comment ils peuvent surpasser les meilleurs algorithmes classiques sur des tâches pratiques. Cela nécessite le développement d'algorithmes de simulation de circuits quantiques hautement efficaces. Les algorithmes de rétropropagation de Pauli font partie des plus prometteurs, ayant montré leur efficacité dans la simulation de certaines classes de circuits quantiques paramétrés, candidats sérieux pour l'avantage quantique à court terme, sous des hypothèses de circuits aléatoires et de bruit de dépolarisation. Cependant, leur efficacité n'avait pas été démontrée pour des modèles de bruit nonunital plus réalistes, tels que l'amortissement d'amplitude, qui capturent mieux le comportement des ordinateurs quantiques actuels. Nous comblons cette lacune en adaptant la rétropropagation de Pauli à la plupart des canaux de bruit à un qubit, incluant le bruit nonunital, et en prouvant qu'elle reste efficace sous ces conditions. Notre algorithme est parallélisable, économe en mémoire, et ne requiert aucune hypothèse sur la localité de l'observable, la géométrie de la puce quantique, ou la profondeur du circuit. Bien que le bruit des ordinateurs quantiques puisse fortement affecter la puissance de calcul dans des circuits hautement structurés et tolérants aux erreurs, nos résultats indiquent peu de différence pour la plupart des architectures variationnelles. Ceci établit la rétropropagation de Pauli comme une méthode efficace pour simuler les dispositifs quantiques bruités sous des hypothèses de bruit réalistes. Bien que ces avancées améliorent notre capacité à simuler des observables bruités, de nombreuses applications pratiques, incluant l'optimisation combinatoire, nécessitent un accès direct aux chaînes de bits produites par les circuits quantiques, car celles-ci encodent les solutions souhaitées. La réplication classique de tels échantillons bruités a jusqu'à présent été limitée au-delà du cadre des circuits aléatoires. Pour combler cette lacune, nous nous concentrons d'abord sur les problèmes dont les fonctions objectif ne dépendent que des corrélations sur deux sites, tel que Max-Cut, et appliquons des techniques d'arrondissement aléatoire gaussien aux marginales à deux qubits du circuit. Ceci produit des échantillons classiques dont le coût espéré est prouvablement proche de celui du dispositif quantique bruité. Des simulations à grande échelle et des expériences sur les ordinateurs quantiques d'IBM confirment que les échantillons arrondis reproduisent la distribution d'énergie complète, avec un comportement similaire sous divers modèles de bruit. Couplé avec la rétropropagation de Pauli pour estimer efficacement les marginales bruitées, cela donne un échantillonneur classique de bout en bout opérant en temps polynomial pour une large classe de circuits variationnels bruités. Nos résultats montrent donc que des circuits quantiques suffisamment bruités pour l'optimisation combinatoire peuvent être échantillonnés classiquement, clarifiant où les ordinateurs quantiques à court terme peuvent ou ne peuvent pas surpasser les algorithmes classiques.Enfin, nous allons au-delà des marginales sur un et deux sites et présentons un algorithme qui échantillonne des chaînes de bits valides directement depuis une distribution d'entropie maximale avec des moments correspondant à ceux du circuit quantique. Cette méthode ne repose pas sur la localité ou la parcimonie de l'Hamiltonien du problème et fonctionne bien sur une variété de circuits quantiques, incluant des circuits profonds sur de nombreux qubits. Lorsqu'elle est combinée avec la propagation de Pauli ou la mitigation d'erreur, elle fournit un pipeline pratique pour obtenir des échantillons de circuits quantiques à court terme, où la correction d'erreur pourrait ne pas encore être disponible.
Apprentissage automatique sur des machine quantiques actuelles avec des données non structurées et sur des graphes L'apprentissage automatique a permis de résoudre de nombreux problèmes du monde réel que d'autres méthodes informatiques traditionnelles avaient du mal à résoudre, ou qu'elles pouvaient résoudre de manière plus coûteuse. L'informatique quantique est un paradigme de calcul utilisant les états quantiques de la matière qui permet une grande vitesse de calcul pour certains problèmes. Les progrès récents dans le développement du matériel quantique ont encouragé la recherche d'applications concrètes des ordinateurs quantiques. Il est donc devenu naturel de chercher des moyens d'appliquer les ordinateurs quantiques à l'apprentissage automatique. Cette thèse est une contribution à cet objectif. La première partie vise à comprendre les capacités générales des circuits quantiques variationnels pour les tâches d'apprentissage automatique à partir de données vectorielles, et d'éclaircir les conditions nécessaires pour obtenir un avantage quantique. Les circuits variationnels sont une famille d'algorithmes quantiques où les opérations sont paramétrées et où l'on cherche les paramètres qui minimisent une fonction de coût, à la manière des réseaux de neurones. Ce sont en réalité des modèles linéaires dans un espace à grande dimension. Je montre que bien que les circuits soient coûteux à évaluer, on peut parfois construire des approximations classiques en utilisant la technique de "random features regression". Si cette approximation est possible, l'avantage quantique est limité. Je souligne également le fait que l'apprentissage d'un modèle classique dans le même espace converge vers une solution appelée estimateur MNLS (Minimum Norm Least Square), mais que la dynamique d'apprentissage des circuits quantiques ne conduira pas nécessairement à la même solution. Cette séparation est la source de l'avantage quantique, je montre qu'il suffit que le vecteur des coefficients du modèle quantique ait une grande norme, et je donne des exemples concrets. La deuxième partie explore l'utilisation d'ordinateurs quantiques pour effectuer des tâches d'apprentissage automatique sur des graphes. L'apprentissage automatique sur des graphes possède beaucoup d'applications, et les algorithmes pour des données vectorielles ne sont pas directement applicables. Dans cette partie, j'ai cherché à développer des algorithmes quantiques adaptés à la structure de graphes des données. L'idée principale est d'encoder le graphe dans un hamiltonien qui a une topologie similaire. On prépare ensuite un état quantique en faisant évoluer cet hamiltonien, et les mesures sont incorporées dans un algorithme classique d'apprentissage automatique. Cette approche est particulièrement adaptée aux processeurs quantiques à atomes neutres. Avec de telles plateformes, on peut en effet facilement créer un système quantique avec la connectivité souhaitée, et la géométrie peut être modifiée à chaque exécution. J'ai développé une diverse famille d'algorithmes, inspirés par les noyaux, les réseaux neurones et les transformers, avec l'intention de pouvoir les implémenter sur les machines actuelles. J'ai réalisé des expériences numériques sur des ensembles de données à grande échelle et décrit les résultats d'implémentation expérimentale sur la machine de Pasqal.