Le premier langage de programmation intuitif pour les ordinateurs quantiques
Plusieurs progrès techniques ont été réalisés récemment sur la voie de la création d'ordinateurs quantiques performants. Aujourd'hui, des informaticiens de l'ETH Zurich ont réalisé une percée importante dans le domaine de la programmation : Leur langage de programmation quantique est le premier à être aussi élégant, simple et s?r que ce que l'on conna?t des langages informatiques classiques.
La programmation des ordinateurs quantiques devient plus simple : des informaticiens de l'ETH Zurich ont con?u le premier langage de programmation qui permet de programmer les ordinateurs quantiques aussi facilement, de manière fiable et sans erreur que les ordinateurs classiques. "La programmation des ordinateurs quantiques reste à ce jour un défi pour la recherche", explique le professeur d'informatique de l'ETH Martin Vechev du Secure, Reliable and Intelligent Systems Lab (SRI), "je suis d'autant plus heureux que nous pouvons désormais poursuivre la tradition de l'ETH Zurich en matière de développement d'ordinateurs quantiques et de langages de programmation".
"Notre langage de programmation quantique Silq permet aux programmeurs de mieux exploiter le potentiel des ordinateurs quantiques qu'avec les langages existants, car ses codes sont plus courts, plus rapides et plus intuitifs et faciles à comprendre pour les programmeurs", explique encore Vechev. Il présentera Silq cette semaine à la conférence PLDI 2020 sur les langages de programmation. page externeprésenter au monde professionnel. Pour permettre la discussion, l'utilisation et le développement, son équipe et lui Silq ont en outre créé aous avons notre propre site web a été publié.
Les ordinateurs quantiques ont fait l'objet d'une attention croissante au cours de la dernière décennie. Finalement, ces ordinateurs, qui fonctionnent selon les règles de la physique quantique, recèlent un énorme potentiel. La plupart des chercheurs sont aujourd'hui convaincus qu'ils pourront un jour résoudre certains problèmes plus rapidement que les ordinateurs classiques, car ils utilisent pour leurs calculs des états quantiques intriqués, dans lesquels différentes informations se superposent à un moment donné. Cela devrait permettre à l'avenir aux ordinateurs quantiques de résoudre efficacement des problèmes que les ordinateurs classiques ne peuvent pas calculer dans un délai raisonnable.
Cette supériorité quantique n'a pas encore été définitivement prouvée. Des progrès techniques importants ont toutefois été réalisés récemment : Ainsi, à la fin de l'été 2019, un ordinateur quantique a pu pour la première fois résoudre une t?che - certes très spécifique - plus rapidement que les ordinateurs classiques les plus rapides.
Pour certains "algorithmes quantiques", c'est-à-dire des stratégies de calcul, on sait en outre qu'ils sont plus rapides que les algorithmes classiques, qui n'exploitent pas le potentiel des ordinateurs quantiques. Jusqu'à présent, ces algorithmes ne peuvent toutefois pas encore être calculés sur du matériel quantique existant, car les ordinateurs quantiques sont actuellement encore trop sujets aux erreurs.
Comment les programmeurs pensent
Pour exploiter réellement le potentiel des ordinateurs quantiques, il faut non seulement disposer de la technologie la plus récente, mais aussi d'un langage de programmation quantique pour décrire les algorithmes quantiques. En principe, un algorithme représente une "recette" pour résoudre un problème, et un langage de programmation décrit l'algorithme de manière à ce qu'un ordinateur puisse effectuer les calculs nécessaires.
Aujourd'hui, les langages de programmation quantiques sont très proches du matériel, c'est-à-dire qu'ils décrivent précisément le comportement des circuits sous-jacents. Pour les programmeurs, ces "langages de description du matériel" sont compliqués et sujets aux erreurs, car il faut formuler les différentes instructions de programme de manière très détaillée et exprimer explicitement en conséquence de nombreux détails de l'implémentation des algorithmes quantiques.
C'est là que Martin Vechev et son groupe interviennent avec le langage de programmation Silq. "Silq est le premier langage de programmation quantique qui ne s'oriente pas en premier lieu sur la construction et le fonctionnement du matériel, mais sur la manière de penser des programmeurs qui veulent résoudre un problème et qui n'ont pas besoin pour cela de comprendre chaque détail de l'architecture de l'ordinateur et de son implémentation", explique Benjamin Bichsel, doctorant dans le groupe de Vechev.
Les langages informatiques qui font abstraction des détails techniques de chaque type d'ordinateur sont appelés langages de programmation de haut niveau par les informaticiens. Pour les ordinateurs quantiques, Silq est le tout premier langage de programmation supérieur. Les langages de programmation de haut niveau sont plus expressifs, c'est-à-dire qu'ils peuvent exprimer des t?ches et des algorithmes complexes avec moins de texte (code). Cela les rend plus compréhensibles pour les programmeurs et plus faciles à utiliser. De plus, ils peuvent être appliqués à différentes architectures d'ordinateurs.
Sans erreur gr?ce à la collecte automatique des déchets
La principale nouveauté et facilitation introduite par Silq pour les langages de programmation quantiques concerne une source d'erreur qui rendait la programmation quantique difficile jusqu'à présent : chaque ordinateur calcule une t?che en plusieurs étapes intermédiaires. Il en résulte des résultats intermédiaires, appelés valeurs temporaires. Afin de soulager la mémoire de travail, ces valeurs sont automatiquement supprimées dans les ordinateurs classiques.
Les informaticiens parlent ici de "garbage collection" ou de "ramassage des ordures", car les valeurs intermédiaires superflues sont éliminées. Dans le cas des ordinateurs quantiques, cette élimination n'est pas aussi simple en raison de l'intrication quantique : les valeurs de calcul antérieures peuvent interagir avec les valeurs actuelles et perturber le calcul correct. En conséquence, le nettoyage de telles valeurs temporaires sur les ordinateurs quantiques nécessite une technique avancée, appelée "uncomputation" dans le jargon.
"Silq est le premier langage de programmation quantique qui reconna?t et élimine automatiquement les valeurs qui ne sont plus nécessaires", explique Bichsel. Pour ce faire, les informaticiens ont utilisé leur savoir-faire des langages de programmation classiques. Leur système automatique de collecte des déchets, ou plut?t leur méthode d'exécution de l'"uncomputation", n'utilise en effet que des instructions de programmation exemptes d'opérations quantiques spécifiques - il est "qfree", comme le disent Vechev et Bichsel.
"Silq est une percée importante sur la voie d'une programmation optimale des ordinateurs quantiques, mais ce n'est pas la dernière étape de développement", explique Vechev. Il y a encore beaucoup de questions ouvertes. En rendant "Silq" plus compréhensible, Vechev et Bichsel espèrent donner des impulsions aussi bien pour le développement des langages de programmation quantiques que pour l'enseignement et le développement de nouveaux algorithmes quantiques.
"Notre équipe de quatre personnes a réussi à faire une percée après deux ans de travail gr?ce à la combinaison de différentes expertises en conception linguistique, en physique quantique et en implémentation. Si d'autres équipes de recherche et de développement reprenaient maintenant nos innovations, ce serait un beau succès", conclut Bichsel.
Référence bibliographique
Bichsel B, Baader M, Gehr T, Vechev M. Silq : a high-level quantum language with safe uncomputation and intuitive semantics. PLDI 2020 : Proceedings of the 41st ACM SIGPLAN Conference on Programming Language Design and Implementation, June 2020, 286-300. doi : page externe10.1145/3385412.3386007
Articles connexes
- chevron_right L'ordinateur quantique et l'avenir du calculable (Actualités ETH 29.08.2019)
- chevron_right Recherche d'erreurs dans le monde quantique (Actualités ETH 18.09.2018)
- chevron_right Une vision devient réalité (ETH Globe Magazine 2/2018)
- chevron_right Elucider des processus chimiques complexes avec des ordinateurs quantiques (Actualités ETH 31.07.2017)