• Home
  • Chimie
  • Astronomie
  • Énergie
  • La nature
  • Biologie
  • Physique
  • Électronique
  •  science >> Science >  >> Physique
    Des chercheurs progressent vers des outils de débogage pour les ordinateurs quantiques

    Crédit :CC0 Domaine public

    En informatique classique, le débogage des programmes est l'une des tâches les plus chronophages du développement de logiciels. Un débogage réussi repose sur des outils de développement logiciel et également sur l'expérience du programmeur. En informatique quantique, les chercheurs prédisent que le débogage sera un défi encore plus grand. Dans un article à paraître prochainement au 46e Symposium international annuel ACM/IEEE pour l'architecture informatique (dans le cadre des conférences de recherche en informatique fédéré de l'ACM en 2019), des chercheurs de l'université de Princeton présentent des outils de débogage basés sur des tests statistiques, dans le but d'aider les programmeurs à créer des programmes quantiques corrects pour les ordinateurs quantiques à court terme.

    L'informatique quantique promet de changer le monde de l'informatique en offrant des capacités au-delà de tout ordinateur classique. Ces capacités proviennent d'algorithmes quantiques - des séquences d'instructions qui indiquent à un ordinateur quantique ce qu'il doit faire pour calculer un résultat, un peu comme les logiciels pour ordinateurs classiques d'aujourd'hui. Ces algorithmes couvrent un large éventail d'applications. Par exemple, les algorithmes de chimie quantique permettraient aux scientifiques de calculer les propriétés des composés chimiques directement à partir des équations régissant la mécanique quantique, une tâche formidable hors de portée des ordinateurs modernes pour toutes les molécules sauf les plus simples. D'autres algorithmes promettent d'accélérer la recherche dans les bases de données et de permettre des communications sécurisées résistantes aux écoutes.

    Pendant environ deux décennies, ces algorithmes quantiques n'existaient que sous forme d'équations et de spécifications abstraites, et n'ont jamais été exécutés sur de vrais ordinateurs quantiques. Ce paysage de la recherche a changé rapidement. Au cours des deux dernières années, des chercheurs ont construit les premiers prototypes d'ordinateurs quantiques capables d'exécuter des programmes quantiques. Notamment, IBM a mis des ordinateurs quantiques à petite échelle à la disposition du public pour exécuter du code et voir les résultats. Avec cet intérêt grandissant pour l'expérimentation en informatique quantique, un défi nouveau et urgent consiste à aider les programmeurs à traduire ces algorithmes abstraits en un code de programme quantique fonctionnant correctement.

    "Nous avons découvert que même les chercheurs spécialisés dans l'informatique quantique commettaient des erreurs subtiles dans le code des programmes quantiques, empêcher les programmes de donner des résultats corrects, " Yipeng Huang, post-doctorant à l'Université de Princeton et auteur de l'article, mentionné. "Si c'est si délicat pour les programmeurs quantiques expérimentés, comment les étudiants débutants en informatique quantique peuvent-ils écrire des programmes corrects, sans l'aide d'outils tels que des débogueurs ?"

    Dans l'article intitulé "Statistical Assertions for Validating Patterns and Finding Bugs in Quantum Programs, " Huang et Marguerite Martonosi, professeur d'informatique à Princeton, identifier trois difficultés clés dans le débogage des programmes quantiques, et évaluer leurs solutions pour faire face à ces difficultés.

    La première difficulté est que les programmeurs ne peuvent pas facilement examiner les valeurs des variables d'un programme quantique, pendant l'exécution du programme. Cette limitation rend le débogage difficile, considérant que l'un des mouvements incontournables dans les programmes de débogage est d'inspecter les valeurs des variables étape par étape au cours d'un programme. Les programmeurs quantiques ne peuvent pas effectuer ce type de débogage car la lecture de variables quantiques impliquerait de mesurer et de "réduire" les états quantiques délicats à l'intérieur des ordinateurs quantiques. Une fois qu'un état quantique est effondré, toute observation ne constituerait pas une description complète de l'état du programme.

    Dans leur papier, Huang et Martonosi relèvent ce défi en trouvant des moyens de déboguer les programmes quantiques en utilisant uniquement les informations sur les états quantiques effondrés. Ils envisagent de déboguer des programmes dans deux types de paramètres différents; dans un cadre les programmes quantiques exécutés en simulation sur un ordinateur classique, et dans l'autre cadre, les programmes s'exécutent sur de vrais prototypes d'ordinateurs quantiques. Dans les deux paramètres, ils utilisent plusieurs exécutions du programme quantique afin de trouver la distribution des états à l'intérieur du programme quantique.

    La deuxième difficulté est que même lorsque des observations ou des simulations sont disponibles, les états quantiques sont en général de grande dimension et difficiles à interpréter, limitant leur utilité pour les programmeurs pour déboguer des programmes quantiques qui se comportent mal.

    La solution de Huang et Martonosi à ce défi est d'utiliser des tests statistiques sur les résultats de mesure, afin d'aider les programmeurs à décider si les résultats sont cohérents avec trois types d'états. Ils utilisent le test statistique du chi carré pour décider si les états observés appartiennent à l'un des états classiques, superposition, ou des états intriqués. "Nous concentrons notre attention sur ces trois types d'états car ils se produisent tout au long d'un programme quantique, et sont plus faciles à identifier pour les programmeurs, " Huang a dit. " Si les états ne correspondent pas à ce que le programmeur attend, les tests statistiques aident le programmeur à zoomer et à trouver des erreurs dans le code du programme."

    La troisième difficulté est que les programmeurs n'ont pas encore de directives pour savoir où et quoi vérifier lors du débogage de programmes quantiques. Jusque récemment, les algorithmes quantiques existaient principalement sous forme d'équations; parfois, les algorithmes seraient plus étoffés sous la forme de schémas de circuits quantiques. La tâche de codage des programmes quantiques implique la traduction de ces schémas de circuits quantiques en code de programme. "L'état de l'art en programmation quantique s'apparente à la programmation d'ordinateurs classiques il y a 50 ans, " dit Huang. " Pour le moment, les chercheurs écrivent des programmes quantiques opération par opération, sur des bits d'information de très bas niveau. Une contribution de notre article est de discuter de la façon dont les modèles et les structures à l'intérieur des algorithmes quantiques guident les programmeurs pour savoir quoi vérifier. »

    Dans leur papier, Huang et Martonosi utilisent leurs outils de débogage pour tester plusieurs programmes quantiques de référence, dont un pour la factorisation des entiers, un pour la recherche de données, et un dans le domaine de la chimie quantique. Modèles de programme communs à ces algorithmes, telles que les opérations de bouclage, opérations d'imbrication, et les opérations de mise en miroir, servir de guides aux programmeurs quantiques pour savoir où utiliser les outils de débogage.

    Soutenu par la National Science Foundation à travers le projet EPiQC Expedition, Le travail de Huang et Martonosi sur les outils de débogage est une approche pragmatique du problème de l'écriture de programmes quantiques corrects. Il rejoint un champ croissant d'approches connexes, beaucoup qui sont basés sur des preuves formelles. "Nous constatons que l'écriture de programmes quantiques corrects repose sur un mélange de techniques, " dit Huang. " Tout comme dans le cas de la programmation classique, les programmeurs quantiques s'appuieront sur un mélange de techniques pragmatiques et formelles."

    © Science https://fr.scienceaq.com