{"id":16111,"date":"2018-07-20T07:09:04","date_gmt":"2018-07-20T06:09:04","guid":{"rendered":"http:\/\/www.oezratty.net\/wordpress\/?p=16111"},"modified":"2019-02-10T19:44:05","modified_gmt":"2019-02-10T18:44:05","slug":"comprendre-informatique-quantique-algorithmes-et-applications","status":"publish","type":"post","link":"https:\/\/www.oezratty.net\/wordpress\/2018\/comprendre-informatique-quantique-algorithmes-et-applications\/","title":{"rendered":"Comprendre l&#8217;informatique quantique &#8211; algorithmes et applications"},"content":{"rendered":"<p>Maintenant que nous avons <a href=\"https:\/\/www.oezratty.net\/wordpress\/2018\/comprendre-linformatique-quantique-ordinateur-quantique\/\">d\u00e9soss\u00e9 un ordinateur quantique<\/a> avec ses qubits, ses registres, ses portes et son frigo, voyons-donc comment on peut exploiter cette belle quincaillerie. L\u2019ordinateur quantique utilise des algorithmes dits quantiques qui ont la particularit\u00e9 d\u2019\u00eatre bien plus efficaces que leurs \u00e9quivalents con\u00e7us pour des ordinateurs traditionnels. Mais ces algorithmes ne sont pas tr\u00e8s nombreux et leur performance relative aux algorithmes traditionnels pas toujours \u00e9vidente \u00e0 prouver. Elle est m\u00eame parfois contest\u00e9e.<\/p>\n<p><strong>Richard Feynman <\/strong>avait d\u00e9crit l\u2019id\u00e9e de cr\u00e9er des simulateurs quantiques en 1982 dans <a href=\"https:\/\/people.eecs.berkeley.edu\/~christos\/classics\/Feynman.pdf\">Simulating Physics with Computers<\/a> (22 pages). Son id\u00e9e consistait \u00e0 cr\u00e9er des dispositifs exploitant les effets de la m\u00e9canique quantique pour les simuler tandis que cette simulation serait quasiment impossible avec des ordinateurs traditionnels. Cela correspond aujourd\u2019hui \u00e0 l\u2019un des usages des ordinateurs quantiques, comprenant notamment la simulation des interactions atomiques dans des structures inertes ou biologiques. On peut m\u00eame faire la distinction entre simulateurs quantiques analogiques et simulateurs quantiques num\u00e9riques, \u00e0 base de qubits et de portes quantiques.<\/p>\n<p>Des math\u00e9maticiens planchent depuis le milieu et la fin des ann\u00e9es 1980 sur la cr\u00e9ation d\u2019algorithmes adapt\u00e9s aux simulateurs et ordinateurs quantiques, bien avant que l\u2019on en ait vu l\u2019ombre de la couleur. Les premiers algorithmes quantiques ont \u00e9t\u00e9 publi\u00e9s au d\u00e9but des ann\u00e9es 1990 et les chercheurs en cr\u00e9ent r\u00e9guli\u00e8rement de nouveaux depuis 25 ans. Le <a href=\"https:\/\/math.nist.gov\/quantum\/zoo\/\">Quantum Algorithm Zoo<\/a> en identifie une soixantaine dans la litt\u00e9rature scientifique ! C\u2019est un nombre encore modeste au regard des algorithmes non quantiques qui se comptent en milliers.<\/p>\n<p>Leur cr\u00e9ation est un travail de recherche parall\u00e8le avec la partie mat\u00e9rielle des ordinateurs quantiques. Ce n\u2019est pas la premi\u00e8re fois dans l\u2019Histoire qu\u2019il en est ainsi. L\u2019embl\u00e9matique <strong>Ada Lovelace <\/strong>planchait sur la cr\u00e9ation des premiers algorithmes et lignes de code devant tourner sur la machine de <strong>Charles Babbage<\/strong>, qui ne vit jamais le jour. Elle avait annot\u00e9 en 1842\/1843 une traduction de son cru d\u2019un papier de l\u2019Italien <strong>Luigi Federico Menabrea <\/strong>qui d\u00e9crivait la machine de Babbage. Il fallut attendre 102 ans pour que les premiers ordinateurs voient le jour \u00e0 la fin de la seconde guerre mondiale ! Cela rappelle dans un autre domaine les dessins d\u2019h\u00e9licopt\u00e8res de <strong>L\u00e9onard de Vinci <\/strong>qui datent de 1487-1490. Un premier h\u00e9licopt\u00e8re propuls\u00e9 par l\u2019\u00e9nergie humaine et cr\u00e9\u00e9 par l\u2019Universit\u00e9 de Toronto a vol\u00e9 en 2013, AeroVelo (<a href=\"https:\/\/www.youtube.com\/watch?v=0E77j1imdhQ\">vid\u00e9o<\/a>) suivi d\u2019un autre sp\u00e9cimen assez voisin issu de l\u2019Universit\u00e9 de Maryland qui vient tout juste de voler en 2018 (<a href=\"https:\/\/www.youtube.com\/watch?v=emK-qIbuJ-k\">vid\u00e9o<\/a>) ! Donc, avec plus de cinq si\u00e8cles de d\u00e9calage ! Cette m\u00eame Universit\u00e9 de Maryland est d\u2019ailleurs l\u2019une des plus en pointe dans le monde dans les ordinateurs quantiques \u00e0 base d\u2019ions pi\u00e9g\u00e9s ! Comme quoi !<\/p>\n<p><a href=\"https:\/\/www.oezratty.net\/wordpress\/wp-content\/Programme-Ada-Lovelace.jpg\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"Programme Ada Lovelace\" src=\"https:\/\/www.oezratty.net\/wordpress\/wp-content\/Programme-Ada-Lovelace_thumb.jpg\" alt=\"Programme Ada Lovelace\" width=\"352\" height=\"248\" border=\"0\" \/><\/a><\/p>\n<p>Apr\u00e8s-guerre, l\u2019Histoire se r\u00e9p\u00e9ta en partie pour nombre de travaux du vaste champ de l\u2019intelligence artificielle, o\u00f9 les chercheurs planchaient \u00e9galement sur des algorithmes, notamment \u00e0 base de r\u00e9seaux de neurones, avant que les ordinateurs puissent les ex\u00e9cuter convenablement. L\u2019essor du deep learning depuis 2012 est en partie li\u00e9 \u00e0 la puissance des machines et des GPU \u00e0 m\u00eame d\u2019entra\u00eener de tels r\u00e9seaux de neurones. Le mat\u00e9riel a une fois encore rejoint les algorithmes qui \u00e9taient en avance sur leur temps.<\/p>\n<p>Aujourd\u2019hui, une bonne part des algorithmes quantiques qui sont invent\u00e9s ne sont pas encore ex\u00e9cutables sur les ordinateurs quantiques disponibles ni m\u00eame sur des simulateurs quantiques \u00e0 base d\u2019ordinateurs traditionnels. Les qubits sont disponibles dans un nombre bien trop faible pour qu\u2019ils servent \u00e0 quelque chose et surtout, qu\u2019ils soient plus performants que des ordinateurs traditionnels. Les supercalculateurs \u00e9mulent difficilement plus de 50 qubits.<\/p>\n<p>Comme dans le pass\u00e9 de l\u2019Histoire de l\u2019informatique, nous en sommes dans le quantique \u00e0 naviguer dans les couches basses du logiciel. Un peu comme pour les programmeurs en langage machine ou en assembleur d\u2019il y a 30 \u00e0 50 ans. Les algorithmes quantiques sont les couches les plus basses des solutions logicielles qui restent \u00e0 inventer puis \u00e0 assembler. Les algorithmes quantiques exploitent les portes quantiques que nous avons vues dans la <a href=\"https:\/\/www.oezratty.net\/wordpress\/2018\/comprendre-linformatique-quantique-ordinateur-quantique\/\">partie pr\u00e9c\u00e9dente<\/a>.<\/p>\n<p>La cr\u00e9ation d\u2019algorithmes quantiques requiert une capacit\u00e9 d\u2019abstraction sans commune mesure avec celle des algorithmes et programmes traditionnels. Une nouvelle g\u00e9n\u00e9ration de math\u00e9maticiens et d\u00e9veloppeurs capables de raisonner en mode quantique devra se d\u00e9velopper au gr\u00e9 de la maturation des ordinateurs quantiques. Ils devront \u00eatre capables de conceptualiser des algorithmes qui ne sont pas faciles \u00e0 se repr\u00e9senter physiquement. Qui plus est, ces algorithmes devront aussi, c\u2019est la moindre des choses, \u00eatre bien plus efficaces que leurs \u00e9quivalents pour ordinateurs traditionnels ou supercalculateurs.<\/p>\n<p><strong>L&#8217;ambigu\u00eft\u00e9 de la supr\u00e9matie quantique<\/strong><\/p>\n<p>Avant de rentrer dans le d\u00e9tail des algorithmes quantiques, il nous faut expliquer la signification de la notion de \u201csupr\u00e9matie quantique\u201d qui commence \u00e0 fleurir dans la communication de certains acteurs tels que Google. C\u2019est un terme un peu galvaud\u00e9 dont vous entendrez parler dans diverses annonces tonitruantes \u00e0 venir.<\/p>\n<p>Voir par exemple <a href=\"https:\/\/www.technologyreview.com\/s\/609193\/new-twists-in-the-road-to-quantum-supremacy\/\">New twists in the road to quantum supremacy<\/a> et <a href=\"https:\/\/www.technologyreview.com\/s\/604242\/googles-new-chip-is-a-stepping-stone-to-quantum-computing-supremacy\/\">Google\u2019s new chip is a stepping stone to quantum computing supremacy<\/a> publi\u00e9s dans la s\u00e9rieuse MIT Technology Review en 2017. L\u2019appellation a \u00e9t\u00e9 invent\u00e9e en 2011 par l\u2019Am\u00e9ricain John Preskill dans sa communication au Congr\u00e8s de Solvay de cette ann\u00e9e-l\u00e0, d\u00e9crite dans <a href=\"http:\/\/www.theory.caltech.edu\/~preskill\/talks\/Solvay-2011-Preskill.pdf\">Quantum Computing and the Entanglement Frontier<\/a>.<\/p>\n<p><a href=\"https:\/\/www.oezratty.net\/wordpress\/wp-content\/Quantum-supremacy-in-MIT-Review.jpg\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; margin: 10px 0px 10px 10px; display: inline; padding-right: 0px;\" title=\"Quantum supremacy in MIT Review\" src=\"https:\/\/www.oezratty.net\/wordpress\/wp-content\/Quantum-supremacy-in-MIT-Review_thumb.jpg\" alt=\"Quantum supremacy in MIT Review\" width=\"474\" height=\"324\" border=\"0\" \/><\/a><\/p>\n<p>Une \u201csupr\u00e9matie quantique\u201d est atteinte lorsqu\u2019un algorithme traitant un probl\u00e8me donn\u00e9\u00a0n&#8217;est ex\u00e9cutable\u00a0que\u00a0sur un ordinateur quantique,<span style=\"text-decoration: line-through;\">\u00a0<\/span>ce probl\u00e8me ne\u00a0pouvant\u00a0pas \u00eatre r\u00e9solu\u00a0m\u00eame sur le plus puissant des supercalculateurs. De nombreux sp\u00e9cialistes affirment que le seuil de 50 qubits de qualit\u00e9 pur porc &#8211; avec un faible taux d\u2019erreurs et un long temps de d\u00e9coh\u00e9rence &#8211; constituera une \u00e9tape cl\u00e9 de l\u2019atteinte de cette supr\u00e9matie quantique.<\/p>\n<p>Mais cette appellation n\u2019est pas absolue. Elle ne signifiera pas qu\u2019un ordinateur quantique donn\u00e9 est supr\u00eamement plus puissant que tous les supercalculateurs du moment. C\u2019est une appellation qui devra \u00eatre utilis\u00e9e au cas par cas avec des couples d\u2019algorithmes quantiques et d\u2019ordinateurs quantiques, et avec des tests r\u00e9alis\u00e9s s\u00e9rieusement avec le meilleur possible des algorithmes adapt\u00e9s aux supercalculateurs sachant que celui-ci est aussi mouvant.<\/p>\n<p>Certains benchmarks de D-Wave et Google r\u00e9alis\u00e9s en 2015 et montrant la sup\u00e9riorit\u00e9 de la solution quantique (dite adiabatique ou \u00e0 recuit quantique) ont \u00e9t\u00e9 ensuite contredits par la cr\u00e9ation d\u2019algorithmes optimis\u00e9s pour des supercalculateurs. Bref, cette supr\u00e9matie quantique naviguera dans un premier temps dans des sables mouvants.<\/p>\n<p><a href=\"https:\/\/www.oezratty.net\/wordpress\/wp-content\/Suppremation-quantique.jpg\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"Suppremation quantique\" src=\"https:\/\/www.oezratty.net\/wordpress\/wp-content\/Suppremation-quantique_thumb.jpg\" alt=\"Suppremation quantique\" width=\"437\" height=\"231\" border=\"0\" \/><\/a><\/p>\n<p>Elle interviendra certainement d\u2019ici quelques ann\u00e9es pour quelques algorithmes qui ne peuvent avoir d\u2019\u00e9quivalents optimis\u00e9s pour les supercalculateurs. Voir \u00e0 ce sujet <a href=\"https:\/\/www.quantamagazine.org\/quantum-computers-struggle-against-classical-algorithms-20180201\">Quantum Algorithms Struggle Against Old Foe: Clever Computers<\/a> de Ariel Bleicher (f\u00e9vrier 2018) qui rappelle \u00e0 juste titre que les supercalculateurs et ceux qui les exploitent n\u2019ont pas dit leur dernier mot et cherchent aussi \u00e0 am\u00e9liorer leurs propres algorithmes. A long terme, le quantique supplantera certainement les supercalculateurs pour un grand nombre d\u2019algorithmes.<\/p>\n<p>Il semblerait sinon que les limitations des supercalculateurs pour simuler des algorithmes quantiques rel\u00e8vent plus de leur m\u00e9moire vive que de leur capacit\u00e9 de traitement. Il faudrait 10 Po de m\u00e9moire pour simuler 48 qubits. Quand on arrive \u00e0 50 qubits, on d\u00e9passe la capacit\u00e9 m\u00e9moire des supercalculateurs d\u2019aujourd\u2019hui. Si on passe \u00e0 96 qubits, la m\u00e9moire n\u00e9cessaire pour simuler l\u2019ensemble sur supercalculateur est multipli\u00e9e par 2 puissance 48. Bref, la loi de Moore de la m\u00e9moire ne peut pas suivre le rythme d\u2019une augmentation lin\u00e9aire du nombre de qubits align\u00e9s dans un ordinateur quantique.<\/p>\n<p>Il faudra se m\u00e9fier des annonces des IBM et autres Google lorsqu\u2019ils pr\u00e9tendront avoir atteint cette supr\u00e9matie quantique. Quand Google communiquait en mars 2018 sur la cr\u00e9ation d\u2019un ordinateur quantique de 72 qubits, donc bien au-del\u00e0 de 50 qubits, il se gardait bien de pr\u00e9ciser le temps de coh\u00e9rence de l\u2019ensemble ainsi que du niveau du bruit g\u00e9n\u00e9r\u00e9, sans compter le fait qu\u2019il n\u2019avait pas encore \u00e9t\u00e9 benchmark\u00e9 avec un algorithme donn\u00e9. Sans ces informations, une annonce d\u2019ordinateur quantique reste du vent !<\/p>\n<p>Il faut donc attendre d\u2019avoir des \u00e9l\u00e9ments d\u2019informations complets pour juger, comme l\u2019indiquent fort bien Cristian et Elena Calude de l\u2019Universit\u00e9 d\u2019Auckland en Nouvelle Z\u00e9lande dans <a href=\"https:\/\/arxiv.org\/pdf\/1712.01356.pdf\">The road to quantum computing suppremacy<\/a> publi\u00e9 fin 2017. Ils arguent aussi du fait que l\u2019on compare une limite haute de performance, celle d\u2019un ordinateur quantique pr\u00e9cis, \u00e0 une limite basse qui est la meilleure performance dans la r\u00e9solution du m\u00eame probl\u00e8me dans un supercalculateur. Or, il est plus facile de d\u00e9montrer qu\u2019un truc existe que son inexistence.<\/p>\n<p>Une supr\u00e9matie quantique est donc un comparable entre l\u2019existence d\u2019une performance quantique et la supposition de la non existence d\u2019une performance \u00e9quivalente dans le non quantique. Les auteurs rappellent aussi un crit\u00e8re qui manque parfois \u00e0 l\u2019analyse : il vaudrait mieux que l\u2019algorithme test\u00e9 serve \u00e0 quelque chose ! Ce qui n\u2019est pas toujours \u00e9vident avec les algorithmes quantiques comme nous le verrons plus loin.<\/p>\n<p><strong>Usages des applications quantiques<\/strong><\/p>\n<p>Avant de rentrer dans le lard des algorithmes quantiques, faisons un d\u00e9tour de leur utilit\u00e9 pratique connue \u00e0 ce jour.<\/p>\n<p>Je les ai organis\u00e9s ci-dessous en trois niveaux verticaux : les fonctions de base, les algorithmes puis les applications concr\u00e8tes. Tout ceci rel\u00e8ve encore largement de la prospective car nombre de ces solutions demanderont des puissances en termes de nombre et de qualit\u00e9 de qubits qui ne seront pas disponibles avant plusieurs ann\u00e9es voire d\u00e9cennies.<\/p>\n<p>Dans un ordre vaguement chronologique, nous aurons tout d\u2019abord des applications d\u2019algorithmes de recherche et d\u2019optimisation bas\u00e9s sur les \u00e9quations lin\u00e9aires en g\u00e9n\u00e9ral sachant que tous les algorithmes quantiques reposent sur des \u00e9quations lin\u00e9aires. On peut y caser les solutions de r\u00e9solution de probl\u00e8mes complexes, comme la d\u00e9termination du parcours optimal d\u2019un commercial, un sujet bien connu. Sa variante est la solution d\u2019optimisation du trafic individuel de nombreux v\u00e9hicules dans une ville en tenant compte de l\u2019ensemble des trajets planifi\u00e9s pour chacun d\u2019entre eux.<\/p>\n<p>Cette cat\u00e9gorie de solutions comprend aussi l\u2019acc\u00e9l\u00e9ration de l\u2019entra\u00eenement des r\u00e9seaux de neurones du deep learning. L\u2019avantage par rapport aux techniques existantes s\u2019appuyant sur des processeurs neuromorphiques n\u2019est pas encore \u00e9vidente et d\u00e9montr\u00e9e. Qui plus est, la faisabilit\u00e9 de ces r\u00e9seaux de neurones est \u00e9tablie sur architectures traditionnelles, \u00e0 base de GPUs comme ceux de Nvidia ou de TPU (Tensor Processing Units) comme ceux de Google, sans compter les processeurs \u00e0 base de memristors qui sont encore au stade du laboratoire.<\/p>\n<p>En second lieu, dans le vaste champ de la simulation quantique, nous aurons d\u2019abord des applications dans la chimie et la physique des mat\u00e9riaux pour simuler les interactions entre atomes dans mol\u00e9cules et structures cristallines, qui d\u00e9pendent elles-m\u00eames des lois de la m\u00e9canique quantique. Cela servira si tout va bien \u00e0 inventer de nouvelles solutions comme des batteries plus efficaces, chargeables plus rapidement et avec une plus grande densit\u00e9 \u00e9nerg\u00e9tique, des proc\u00e9d\u00e9s chimiques de captation du carbone ou de fixation de l\u2019azote, ainsi que la cr\u00e9ation de mat\u00e9riaux supraconducteurs \u00e0 temp\u00e9rature ambiante. Ce sont des hypoth\u00e8ses non encore valid\u00e9es \u00e0 savoir que les algorithmes quantiques compl\u00e9t\u00e9s d\u2019ordinateurs quantiques bien dimensionn\u00e9s avec des centaines de qubits logiques seront \u00e0 m\u00eame de permettre aux chercheurs d\u2019avancer dans ces domaines-l\u00e0.<\/p>\n<p><a href=\"https:\/\/www.oezratty.net\/wordpress\/wp-content\/Grandes-applications-informatique-quantique.jpg\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; margin: 10px 0px 10px 10px; display: inline; padding-right: 0px;\" title=\"Grandes applications informatique quantique\" src=\"https:\/\/www.oezratty.net\/wordpress\/wp-content\/Grandes-applications-informatique-quantique_thumb.jpg\" alt=\"Grandes applications informatique quantique\" width=\"518\" height=\"283\" border=\"0\" \/><\/a><\/p>\n<p>En dernier lieu et avec des quantit\u00e9s de qubits bien plus importantes, donc \u00e0 plus lointaine \u00e9ch\u00e9ance, la simulation quantique pourra \u00e9ventuellement passer \u00e0 la simulation de mol\u00e9cules biologiques. Cela commencera avec celle de peptides, puis de polypeptides, et enfin, de prot\u00e9ines et d\u2019enzymes. Les mol\u00e9cules biologiques ont la particularit\u00e9 d\u2019\u00eatre tr\u00e8s complexes, avec des structures pouvant atteindre des dizaines de milliers d\u2019atomes. Le top du top serait la capacit\u00e9 \u00e0 simuler l\u2019assemblage puis le fonctionnement d\u2019un ribosome, qui fait plus de 100 000 atomes. C\u2019est la structure mol\u00e9culaire la plus magique du vivant, celle qui assemble les acides amin\u00e9s pour construire les prot\u00e9ines \u00e0 partir du code de l\u2019ARN messager issu de la transposition de l\u2019ADN des g\u00eanes. Suivrait alors la simulation du fonctionnement d\u2019une cellule enti\u00e8re. Mais l\u00e0, on est \u00e0 la fronti\u00e8re de la science-fiction, m\u00eame en \u00e9tant tr\u00e8s optimiste sur l\u2019informatique quantique !<\/p>\n<p>Mon sch\u00e9ma est une version simplifi\u00e9e d\u2019un \u00e9quivalent trouv\u00e9 dans un <a href=\"https:\/\/www.gartner.com\/smarterwithgartner\/the-cios-guide-to-quantum-computing\/\">rapport du Gartner Group<\/a> de fin 2017, <em>ci-dessous<\/em>.<\/p>\n<p><a href=\"https:\/\/www.oezratty.net\/wordpress\/wp-content\/Schema-Applications-Quantique-du-Gartner.jpg\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; margin: 10px 0px 10px 10px; display: inline; padding-right: 0px;\" title=\"Schema Applications Quantique du Gartner\" src=\"https:\/\/www.oezratty.net\/wordpress\/wp-content\/Schema-Applications-Quantique-du-Gartner_thumb.jpg\" alt=\"Schema Applications Quantique du Gartner\" width=\"395\" height=\"439\" border=\"0\" \/><\/a><\/p>\n<p><strong>Principes de base<\/strong><\/p>\n<p>Comme nous l\u2019avons vu dans la partie pr\u00e9c\u00e9dente qui d\u00e9crit la structure d\u2019un ordinateur quantique, un algorithme quantique va int\u00e9grer \u00e0 la fois la partie initialisation des donn\u00e9es puis celle des calculs et enfin de la mesure du r\u00e9sultat. Elle s\u2019appliquera \u00e0 un registre de n qubits qui sont physiquement initialis\u00e9s \u00e0 z\u00e9ro, puis modifi\u00e9s par des portes quantiques.<\/p>\n<p>Le r\u00e9sultat correspond \u00e0 la mesure de l\u2019\u00e9tat de ces m\u00eames qubits \u00e0 la fin de l\u2019ex\u00e9cution de l\u2019algorithme. Si le r\u00e9sultat recherch\u00e9 est purement binaire (0 ou 1 par qubits), le cycle ne sera ex\u00e9cut\u00e9 qu\u2019une seule fois. Si le r\u00e9sultat est une probabilit\u00e9 de 0 et de 1 pour chaque qubits, alors, il faudra r\u00e9p\u00e9ter de nombreuses fois le cycle initialisation-algorithme-mesure et faire une moyenne des 0 et des 1 obtenu pour chaque qubit et obtenir un nombre flottant compris entre 0 et 1.<\/p>\n<p>L\u2019algorithme doit \u00eatre compatible avec les caract\u00e9ristiques de l\u2019ordinateur quantique. Les principales sont le temps de coh\u00e9rence et la dur\u00e9e d\u2019ex\u00e9cution des portes quantiques. Le nombre de portes quantiques \u00e0 ex\u00e9cuter devra permettre d\u2019ex\u00e9cuter l\u2019algorithme dans un temps inf\u00e9rieur au temps de coh\u00e9rence au bout duquel les qubits perdront leur \u00e9tat de superposition. Cette v\u00e9rification est g\u00e9n\u00e9ralement r\u00e9alis\u00e9e par les compilateurs de code quantique. Elle devra tenir compte des codes de correction d\u2019erreurs qui sont souvent mis en \u0153uvre sous la forme de sous algorithmes pr\u00e9fabriqu\u00e9s int\u00e9gr\u00e9s dans l\u2019algorithme \u201cm\u00e9tier\u201d cr\u00e9\u00e9 par le d\u00e9veloppeur.<\/p>\n<p>Il en va de m\u00eame des portes quantiques utilis\u00e9es dans les outils de d\u00e9veloppement. Certaines portes quantiques, notamment s\u2019appliquant sur deux ou trois qubits, sont utilis\u00e9es par les d\u00e9veloppeurs mais seront converties par le compilateur en un jeu de portes quantiques universelles support\u00e9es par l\u2019ordinateur quantique. Cela va aussi multiplier le nombre de portes quantiques par rapport \u00e0 l\u2019algorithme initial. Dans la pratique,\u00a0 l\u2019ordinateur va donc ex\u00e9cuter un nombre de portes quantiques bien plus grand que l\u2019algorithme con\u00e7u par le d\u00e9veloppeur.<\/p>\n<p>L\u2019une des consid\u00e9rations importantes de la cr\u00e9ation d\u2019algorithmes quantiques est de s\u2019assurer qu\u2019ils sont plus efficaces que leurs \u00e9quivalents optimis\u00e9s pour des ordinateurs ou supercalculateurs traditionnels. Des th\u00e9ories permettent de v\u00e9rifier cela pour \u00e9valuer la mont\u00e9e en puissance exponentielle, polynomiale, quadratique ou logarithmique du temps de calcul en fonction de la taille du probl\u00e8me \u00e0 r\u00e9aliser, ou une combinaison des quatre. Mais rien ne remplace l\u2019exp\u00e9rience !<\/p>\n<p><strong>Les grandes classes d\u2019algorithmes quantiques<\/strong><\/p>\n<p>Les algorithmes quantiques sont des applications pratiques de l\u2019alg\u00e8bre lin\u00e9aire, cette branche des math\u00e9matiques qui g\u00e8re des espaces vectoriels et des transformations lin\u00e9aires \u00e0 base de matrices. Elles sont appliqu\u00e9es dans des espaces \u00e0 deux dimensions, les vecteurs qui d\u00e9finissent les \u00e9tats de qubits. Leur manipulation s\u2019appuie sur des calculs matriciels qui permettent de modifier l\u2019\u00e9tat des qubits sans en lire le contenu. Leur lecture n\u2019intervient qu\u2019\u00e0 la fin des calculs. Cela rend difficile la programmation conditionnelle, du genre : faire tel calcul si tel r\u00e9sultat interm\u00e9diaire a telle valeur ou v\u00e9rifie telle condition. Mais les portes quantiques conditionnelles (CNOT &amp; co) permettent d\u2019\u00e9muler ce genre de comportement dans un algorithme quantique.<\/p>\n<p>A ce jour, quatre principales cat\u00e9gories d&#8217;algorithmes quantiques sont disponibles et que nous d\u00e9taillerons plus loin :<\/p>\n<ul>\n<li>Les <strong>algorithmes de recherches <\/strong>bas\u00e9s sur ceux de Deutsch-Jozsa, Simon et de Grover.<\/li>\n<li>Les <strong>algorithmes bas\u00e9s sur les transform\u00e9es de Fourier quantiques <\/strong>(QFT), comme celui de Shor qui sert \u00e0 la factorisation de nombres entiers qui a d\u00e9clench\u00e9 un ph\u00e9nom\u00e8ne de pompiers-pyromanes, les pyromanes \u00e9tant ceux qui veulent cr\u00e9er des ordinateurs quantiques capables de casser les cl\u00e9s de s\u00e9curit\u00e9 publiques de type RSA et les pompiers \u00e9tant ceux qui cherchent \u00e0 prot\u00e9ger les communications num\u00e9rique avec des algorithmes r\u00e9sistant \u00e0 la factorisation rapide de nombres entiers.<\/li>\n<li>Les <strong>algorithmes qui cherchent un point d\u2019\u00e9quilibre d\u2019un syst\u00e8me complexe <\/strong>comme dans l\u2019entra\u00eenement de r\u00e9seaux de neurones, la recherche de chemin optimal dans des r\u00e9seaux ou l\u2019optimisation de processus.<\/li>\n<li>Les <strong>algorithmes de simulation de m\u00e9canismes quantiques <\/strong>qui servent notamment \u00e0 simuler les interactions entre atomes dans des structures mol\u00e9culaires diverses, inorganiques et organiques.<\/li>\n<\/ul>\n<p>La roadmap ci-dessous illustre le rythme de cr\u00e9ation de ces nouveaux algorithmes sur les trois derni\u00e8res d\u00e9cennies. Et l\u2019histoire ne fait que commencer parce que la dynamique d\u2019innovation exponentielle du th\u00e8me est pour l\u2019instant limit\u00e9e par l\u2019imagination humaine et surtout, par les capacit\u00e9s d\u2019exp\u00e9rimentation.<\/p>\n<p><a href=\"https:\/\/www.oezratty.net\/wordpress\/wp-content\/Historique-algorithmes-quantiques.jpg\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"Historique algorithmes quantiques\" src=\"https:\/\/www.oezratty.net\/wordpress\/wp-content\/Historique-algorithmes-quantiques_thumb.jpg\" alt=\"Historique algorithmes quantiques\" width=\"582\" height=\"296\" border=\"0\" \/><\/a><\/p>\n<p>Voici quelques sources d\u2019information pour creuser la question : <a href=\"https:\/\/people.maths.bris.ac.uk\/~csxam\/presentations\/dstltalk.pdf\">Quantum Computing Applications<\/a> d\u2019Ashley Montanaro de l\u2019Universit\u00e9 de Bristol, 2013 (69 slides), <a href=\"http:\/\/dept-info.labri.fr\/~ges\/ENSEIGNEMENT\/CALCULQ\/polycop_calculq.pdf\">Introduction \u00e0 l\u2019information quantique<\/a> de Yves Leroyer et G\u00e9raud S\u00e9nizergues de l\u2019ENSEIRB-MATMECA, 2016-2017 (110 pages), un cours r\u00e9cent int\u00e9ressant sur la partie algorithmique, <a href=\"http:\/\/mmrc.amss.cas.cn\/tlb\/201702\/W020170224608149125645.pdf\">An Introduction to Quantum Computing<\/a> de Phillip Kaye, Raymond Laflamme et Michele Mosca, Oxford, 2017 (284 pages), <a href=\"https:\/\/www.cs.umd.edu\/~amchilds\/qa\/qa.pdf\">Lecture Notes on Quantum Algorithms<\/a> de Andrew M. Childs, University of Maryland, 2017 (174 pages), <a href=\"http:\/\/csis.pace.edu\/ctappert\/cs837-18spring\/QC-textbook.pdf\">Quantum Computation and Quantum Information<\/a> de Nielsen et Chuang, 2010 (698 pages) et <a href=\"http:\/\/lapastillaroja.net\/wp-content\/uploads\/2016\/09\/Intro_to_QC_Vol_1_Loceff.pdf\">A Course in Quantum Computing for the Community College<\/a> de Michael Locef, 2016 (742 pages) qui pose de mani\u00e8re tr\u00e8s d\u00e9taill\u00e9e les fondements math\u00e9matiques du calcul et des algorithmes quantiques et n\u00e9cessite plusieurs semaines pour \u00eatre parcouru et compris.<\/p>\n<p>En compl\u00e9ment, voici quelques vid\u00e9os sur ce m\u00eame sujet : <a href=\"https:\/\/www.youtube.com\/watch?v=QrP9HACtac8\">Quantum Algorithms<\/a> d\u2019Andrew Childs en 2011 (2h31), <a href=\"https:\/\/www.youtube.com\/watch?v=laDOWsrx_VM\">Language, Compiler, and Optimization Issues in Quantum Computing<\/a> de Margaret Martonosi, 2015 (39 minutes et <a href=\"https:\/\/www.mathstat.dal.ca\/~selinger\/qpc2015\/slides\/Martonosi.pdf\">slides<\/a>) et <a href=\"https:\/\/www.youtube.com\/watch?v=dU8_wSDhIFU\">What Will We Do With Quantum Computing?<\/a> de Aram Harrow, MIT, 2018 (32 minutes).<\/p>\n<p>Les algorithmes quantiques sont classifiables et explicables \u00e0 haut niveau, mais leur compr\u00e9hension d\u00e9taill\u00e9e n\u2019est pas une partie de plaisir. Il faut soit avoir une capacit\u00e9 de vision conceptuelle assez d\u00e9velopp\u00e9e, soit une maitrise des math\u00e9matiques pouss\u00e9e, et id\u00e9alement les deux \u00e0 la fois. Dans ce qui suit, je vais donc vous d\u00e9crire quelques algorithmes mais en reconnaissant que je n\u2019ai pas v\u00e9ritablement tout compris de leur fonctionnement dans les qubits et op\u00e9rations de portes quantiques appliqu\u00e9es dessus. Le quantique est ainsi fait en g\u00e9n\u00e9ral : on n\u2019a jamais tout compris ! D\u00e9crire cela est donc un v\u00e9ritable exercice d\u2019humilit\u00e9 intellectuelle.<\/p>\n<p><strong>Algorithmes de recherche<\/strong><\/p>\n<p>L\u2019un des premiers algorithmes quantiques invent\u00e9s est celui de David Deutsch, avec sa d\u00e9clinaison dite de <strong>Deutsch-Jozsa<\/strong>, coinvent\u00e9e avec Richard Jozsa et qui date de 1992. Cet algorithme permet de caract\u00e9riser la fonction d\u2019une \u201cboite noire\u201d que l\u2019on appelle un \u201coracle\u201d dont on sait \u00e0 l\u2019avance qu\u2019elle va retourner pour toutes ses entr\u00e9es, soit toujours la m\u00eame valeur, 0 ou 1, soit les valeurs 0 et 1 \u00e0 parts \u00e9gales. L\u2019algorithme permet donc de savoir si la fonction f() est \u00e9quilibr\u00e9e ou pas. Elle est appliqu\u00e9e \u00e0 un ensemble de qubits n.<\/p>\n<p><a href=\"https:\/\/www.oezratty.net\/wordpress\/wp-content\/Algorithme-de-Deutsch-Jozsa.jpg\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"Algorithme de Deutsch-Jozsa\" src=\"https:\/\/www.oezratty.net\/wordpress\/wp-content\/Algorithme-de-Deutsch-Jozsa_thumb.jpg\" alt=\"Algorithme de Deutsch-Jozsa\" width=\"503\" height=\"243\" border=\"0\" \/><\/a><\/p>\n<p>Les qubits en entr\u00e9e sont tous initialis\u00e9s \u00e0 0 sauf un qui l\u2019est \u00e0 1 puis ils sont chacun mis en superposition entre 0 et 1 via des portes de Hadamard. Les qubits ont donc simultan\u00e9ment toutes les valeurs possible avec 2 puissance n+1 combinaisons de valeurs. Il est facile de comprendre pourquoi cet algorithme quantique est bien plus efficace que sa version traditionnelle : en calcul traditionnel, il faudrait scanner plus de la moiti\u00e9 des valeurs possibles en entr\u00e9e de mani\u00e8re s\u00e9quentielle alors que dans la version quantique, elles sont toutes analys\u00e9es en m\u00eame temps. Le r\u00e9sultat est donc obtenu avec quelques s\u00e9ries de portes quantiques, presque instantan\u00e9ment, et il est parfaitement d\u00e9terministe.<\/p>\n<p>Ces qubits en superposition traversent la boite noire qui contient un ensemble de portes avec une fonction \u00e0 \u00e9valuer. On mesure alors en sortie le r\u00e9sultat pour voir si la fonction est \u00e9quilibr\u00e9e ou pas gr\u00e2ce \u00e0 d\u2019autres portes de Hadamard. L\u2019initialisation du dernier qubit \u00e0 1 sert \u00e0 g\u00e9n\u00e9rer une interf\u00e9rence avec les autres qubits qui va impacter les valeurs sortant des portes H apr\u00e8s le passage par l\u2019oracle. La fonction f est constante si la totalit\u00e9 des mesures donne 0 et d\u00e9s\u00e9quilibr\u00e9e si au moins d\u2019un des qubits en sortie retourne 1. Pour savoir comment cela fonctionne dans le d\u00e9tail, vous pouvez voir les <a href=\"https:\/\/cs.uwaterloo.ca\/~watrous\/LectureNotes\/CPSC519.Winter2006\/05.pdf\">formules math\u00e9matiques<\/a> associ\u00e9es ainsi que la pr\u00e9sentation <a href=\"https:\/\/www.appi.keio.ac.jp\/Itoh_group\/abe\/pdf\/qc3.pdf\">Deutsch-Jozsa Algorithm<\/a> de Eisuke Abe, 2005 (29 slides). Mais ce n\u2019est pas des plus \u00e9vident ! Les explications donn\u00e9es sont toujours incompl\u00e8tes pour bien comprendre ces algorithmes. Elles n\u2019indiquent pas bien o\u00f9 se retrouve le bit de sortie de la fonction de l\u2019oracle qui est soit de 0 soit de 1.<\/p>\n<p>L\u2019int\u00e9r\u00eat pratique ? C\u2019est un exemple d\u2019algorithme ultra puissant qui n\u2019a aucune utilit\u00e9 pratique connue \u00e0 ce jour. On est bien avanc\u00e9s ! Qui plus est, il existe des algorithmes probabilistes classiques tr\u00e8s efficaces qui effacent une bonne part du gain de puissance quantique de l\u2019algorithme de Deutsch-Jozsa. C\u2019est le cas en particulier de l\u2019algorithme de recherche de Monte Carlo qui \u00e9value la fonction d\u2019oracle sur un nombre limit\u00e9 d\u2019entr\u00e9es choisies al\u00e9atoirement. La probabilit\u00e9 d\u2019erreurs est d\u00e9pendante du nombre d\u2019\u00e9valuations et d\u00e9croit tr\u00e8s rapidement. Voir \u00e0 ce sujet le document <a href=\"https:\/\/members.loria.fr\/SPerdrix\/wp-content\/blogs.dir\/110\/files\/sites\/110\/2017\/03\/chapitre-InfoQ.pdf\">Mod\u00e8les de Calcul Quantique<\/a> (30 pages).<\/p>\n<p>Alors, le quantique ne sert donc \u00e0 rien ? Non, bien s\u00fbr. D\u2019autres algorithmes moins performants mais bien plus utiles ont vu le jour depuis ce patient z\u00e9ro de l\u2019algorithmie quantique !<\/p>\n<p>L\u2019algorithme de <strong>Simon <\/strong>est une variante plus complexe de celui de Deutsch-Jozsa. Il consiste \u00e0 trouves les combinaisons de valeurs qui v\u00e9rifient une condition impos\u00e9e par la fonction \u201cboite noire\u201d. Le gain de performance est tr\u00e8s int\u00e9ressant et cette fois-ci, les applications existent, notamment pour r\u00e9soudre des probl\u00e8mes de parcours dans des graphes. Le gain de performance est typique de ce que le quantique apporte : on passe d\u2019un calcul classique qui est de temps exponentiel (2 puissance n\/2) \u00e0 un temps lin\u00e9aire en N.<\/p>\n<p><a href=\"https:\/\/www.oezratty.net\/wordpress\/wp-content\/Algorithme-de-Simon.jpg\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"Algorithme de Simon\" src=\"https:\/\/www.oezratty.net\/wordpress\/wp-content\/Algorithme-de-Simon_thumb.jpg\" alt=\"Algorithme de Simon\" width=\"443\" height=\"185\" border=\"0\" \/><\/a><\/p>\n<p>L\u2019autre algorithme le plus connu de cette cat\u00e9gorie est celui de <strong>Grover<\/strong>, cr\u00e9\u00e9 en 1996. Il permet de r\u00e9aliser une recherche quantique rapide dans une base de donn\u00e9es. Un peu comme l\u2019algorithme de Deutsch-Jorza, il permet de scanner une liste d\u2019\u00e9l\u00e9ments pour trouver ceux qui v\u00e9rifient un crit\u00e8re. Il utilise aussi la superposition d\u2019\u00e9tats de qubits pour acc\u00e9l\u00e9rer le traitement par rapport \u00e0 une recherche s\u00e9quentielle traditionnelle dans une base non tri\u00e9e et non index\u00e9e. L\u2019am\u00e9lioration de performance est significative par rapport \u00e0 une base non tri\u00e9e, \u00e0 ceci pr\u00e8s que dans la vraie vie, on utilise g\u00e9n\u00e9ralement des bases index\u00e9es !<\/p>\n<p>L\u2019<a href=\"https:\/\/fr.wikipedia.org\/wiki\/Algorithme_de_Grover\">algorithme de Grover<\/a> utilise aussi une fonction \u201coracle\u201d ou \u201cboite noire\u201d qui va indiquer si un ensemble de qubits en entr\u00e9e v\u00e9rifie un crit\u00e8re de recherche ou non, comme pour v\u00e9rifier qu\u2019un num\u00e9ro de t\u00e9l\u00e9phone donn\u00e9 a \u00e9t\u00e9 trouv\u00e9 dans une liste de num\u00e9ros de t\u00e9l\u00e9phone. Dans un tel cas, la fonction compare le num\u00e9ro de t\u00e9l\u00e9phone recherch\u00e9 et celui qui lui est soumis pour r\u00e9pondre 1 si ils sont identiques et 0 sinon. La boite noire \u00e9tant quantique, elle va \u00e9valuer cette fonction pour 2 puissance N registres de qubits en m\u00eame temps. Elle sortira donc un 1 une fois et des 0 autrement.<\/p>\n<p><a href=\"https:\/\/www.oezratty.net\/wordpress\/wp-content\/Algorithme-de-Grover.jpg\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"Algorithme de Grover\" src=\"https:\/\/www.oezratty.net\/wordpress\/wp-content\/Algorithme-de-Grover_thumb.jpg\" alt=\"Algorithme de Grover\" width=\"453\" height=\"193\" border=\"0\" \/><\/a><\/p>\n<p>La question \u00e9tant de savoir si un 1 est sorti une fois et \u00e0 quelle entr\u00e9e il correspond. Pour ce faire, l\u00e0 aussi avec des portes de Hadamard, l\u2019algorithme va amplifier graduellement la combinaison de qubits du r\u00e9sultat \u00e0 une valeur 1 et faire converger les autres combinaisons de qubits vers 0. Il sera alors possible de mesurer le r\u00e9sultat et on obtiendra la combinaison de qubits avec la valeur recherch\u00e9e. C&#8217;est bien expliqu\u00e9 dans le sch\u00e9ma <em>ci-dessous<\/em> (<a href=\"https:\/\/www.gsaglobal.org\/2017apef\/wp-content\/uploads\/sites\/17\/2017\/11\/4.Quantum-Computing-Explained-for-Classical-Computing-Engineers-GSA-APEF-November-8-2017-Final.pdf\">source<\/a>).<\/p>\n<p><a href=\"https:\/\/www.oezratty.net\/wordpress\/2018\/comprendre-informatique-quantique-algorithmes-et-applications\/grover-explanation\/\" rel=\"attachment wp-att-16119\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-16119\" src=\"https:\/\/www.oezratty.net\/wordpress\/wp-content\/Grover-explanation.jpg\" alt=\"\" width=\"484\" height=\"211\" srcset=\"https:\/\/www.oezratty.net\/wordpress\/wp-content\/Grover-explanation.jpg 1456w, https:\/\/www.oezratty.net\/wordpress\/wp-content\/Grover-explanation-300x131.jpg 300w, https:\/\/www.oezratty.net\/wordpress\/wp-content\/Grover-explanation-768x335.jpg 768w, https:\/\/www.oezratty.net\/wordpress\/wp-content\/Grover-explanation-1024x447.jpg 1024w\" sizes=\"auto, (max-width: 484px) 100vw, 484px\" \/><\/a><\/p>\n<p>Le temps de calcul est proportionnel \u00e0 la racine carr\u00e9e de la taille de la base et l\u2019espace de stockage n\u00e9cessaire est proportionnel au logarithme de la taille de la base. Un algorithme classique a un temps de calcul proportionnel \u00e0 la taille de la base. Passer d\u2019un temps N \u00e0 sqrt(N) est donc un gain int\u00e9ressant, mais il ne transformera pas un probl\u00e8me de taille exponentielle en probl\u00e8me de taille polynomial (2 puissance N vers N puissance M).<\/p>\n<p>Par contre, cet algorithme peut ensuite \u00eatre exploit\u00e9 pour \u00eatre int\u00e9gr\u00e9 dans d\u2019autres algorithmes comme ceux qui permettent de d\u00e9couvrir le chemin optimal dans un graphe ou le nombre minimal ou maximal d\u2019une s\u00e9rie de N nombres.<\/p>\n<p>Notons cependant que l\u2019algorithme de recherche de Grover n\u00e9cessite l\u2019emploi d\u2019une m\u00e9moire quantique (QRAM) qui n\u2019est pas encore au point ! C\u2019est notamment document\u00e9 dans <a href=\"http:\/\/home.lu.lv\/~df\/quantum\/QALGO\/Prakash.pdf\">Quantum algorithms for linear algebra<\/a> de Anupam Prakash, 2015 (92 slides).<\/p>\n<p>Ces diff\u00e9rents algorithmes de recherche sont d\u00e9clin\u00e9s en diverses variantes et sont exploit\u00e9s en pi\u00e8ces d\u00e9tach\u00e9es dans d\u2019autres algorithmes quantiques.<\/p>\n<p><strong>Transform\u00e9es de Fourier quantiques et usages associ\u00e9s<\/strong><\/p>\n<p>Les transform\u00e9es de Fourier classiques permettent d\u2019identifier les fr\u00e9quences qui composent un signal. En th\u00e9orie du signal, cela permet d\u2019identifier les composantes de base d\u2019un son en le d\u00e9composant en fr\u00e9quences. En astrophysique, on d\u00e9termine la composition atomique des \u00e9toiles par une d\u00e9composition du spectre lumineux, mais celle-ci est op\u00e9r\u00e9e par un prisme optique et pas par transform\u00e9e de Fourier. Il en va de m\u00eame pour les capteurs en proche infrarouge de type Scio qui d\u00e9terminent la composition des aliments. Un prisme et le principe de la diffraction permettent donc de r\u00e9aliser optiquement une transform\u00e9e de Fourier.<\/p>\n<p>La transform\u00e9e de Fourier quantique est utilis\u00e9e dans divers autres algorithmes et en particulier dans celui de Shor qui sert \u00e0 factoriser des nombres entiers. Elle n\u2019est pas une transform\u00e9e parfaite qui r\u00e9alise une d\u00e9composition compl\u00e8te en fr\u00e9quences d\u2019un signal. Elle sert \u00e0 identifier la fr\u00e9quence d\u2019amplitude la plus forte d\u2019un signal donn\u00e9. Elle ne peut pas servir \u00e0 du traitement fin du signal comme on le fait dans des DSP (Digital Signal Processors) traditionnels.<\/p>\n<p>Le gain de vitesse g\u00e9n\u00e9r\u00e9 ? Le temps de calcul passe de N*log(N) pour les meilleures transform\u00e9es de Fourier simples \u00e0 log<sup>2<\/sup>(N) pour la QFT. On passe donc d\u2019un ordre de grandeur lin\u00e9aire \u00e0 un ordre de grandeur logarithmique. C\u2019est un gain appr\u00e9ciable mais pas tr\u00e8s impressionnant.<\/p>\n<p><a href=\"https:\/\/www.oezratty.net\/wordpress\/wp-content\/QFT.jpg\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"QFT\" src=\"https:\/\/www.oezratty.net\/wordpress\/wp-content\/QFT_thumb.jpg\" alt=\"QFT\" width=\"459\" height=\"241\" border=\"0\" \/><\/a><\/p>\n<p>La factorisation de <strong>Shor <\/strong>permet permet de d\u00e9composer des entiers en nombres premiers bien plus rapidement qu&#8217;avec un ordinateur traditionnel. Elle utilise une QFT vue pr\u00e9c\u00e9demment. Je vous passe les d\u00e9tails du fonctionnement de l\u2019algorithme qui est d\u00e9crit dans le sch\u00e9ma <em>ci-dessous <\/em>(<a href=\"http:\/\/qs3.mit.edu\/images\/pdf\/QS3-2017---Pakin-Lecture.pdf\">source<\/a>) et dans cette explication assez claire vue dans une <a href=\"https:\/\/www.youtube.com\/watch?v=wUwZZaI5u0c\">vid\u00e9o de PBS<\/a>.<\/p>\n<p>L\u2019une des premi\u00e8res mises en \u0153uvre de l\u2019algorithme de Shor eu lieu en 2001 chez IBM avec un ordinateur quantique exp\u00e9rimental de 7 qubits, pour factoriser le nombre 15. Depuis, on est juste pass\u00e9 \u00e0 un nombre \u00e0 5 chiffres, 56153, comme document\u00e9 dans <a href=\"https:\/\/arxiv.org\/abs\/1411.6758\">Quantum factorization of 56153 with only 4 qubits<\/a>, 2014 (6 pages), mais avec un autre algorithme de factorisation que celui de Shor. C\u2019est en fait un algorithme d\u2019optimisation qui fonctionnait sur ordinateur \u00e0 recuit quantique du Canadien D-Wave ! Le record \u00e0 ce jour atteint en 2016 serait la factorisation de 200 099 avec 897 qubits sur D-Wave mais avec un autre algorithme que celui de Peter Shor. Comme quoi il ne faut pas jeter le b\u00e9b\u00e9 D-Wave avec l\u2019eau du bain du quantique universel !<\/p>\n<p><a href=\"https:\/\/www.oezratty.net\/wordpress\/wp-content\/Algorithme-de-Shor.jpg\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; margin: 10px 0px 10px 10px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"Algorithme de Shor\" src=\"https:\/\/www.oezratty.net\/wordpress\/wp-content\/Algorithme-de-Shor_thumb.jpg\" alt=\"Algorithme de Shor\" width=\"434\" height=\"300\" border=\"0\" \/><\/a><\/p>\n<p>Il faut surtout retenir que l\u2019algorithme de Shor permet en th\u00e9orie de casser les cl\u00e9s publiques de la cryptographie RSA qui est couramment utilis\u00e9e dans la s\u00e9curit\u00e9 sur Internet. Les cl\u00e9s publiques fonctionnent en envoyant un tr\u00e8s long nombre entier \u00e0 un destinataire qui poss\u00e8de d\u00e9j\u00e0 son diviseur. Il lui suffit de diviser le grand nombre envoy\u00e9 par son diviseur pour r\u00e9cup\u00e9rer l\u2019autre diviseur et d\u00e9coder le message ainsi chiffr\u00e9. Celui qui ne poss\u00e8de pas le diviseur ne peut pas exploiter la cl\u00e9 compl\u00e8te sauf \u00e0 disposer d\u2019une \u00e9norme puissance de calcul traditionnelle pour trouver ses diviseurs. Jusqu\u2019\u00e0 pr\u00e9sent, seuls les supercalculateurs de la NSA pouvaient casser les cl\u00e9s de taille raisonnable comprises aux alentours de 256 \u00e0 400 bits. Mais \u00e0 512, 1024 bits et au-del\u00e0, la t\u00e2che est inaccessible en un temps raisonnable pour ces supercalculateurs.<\/p>\n<p><a href=\"https:\/\/www.oezratty.net\/wordpress\/wp-content\/Algo-Factorisation-de-Shor.jpg\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"Algo Factorisation de Shor\" src=\"https:\/\/www.oezratty.net\/wordpress\/wp-content\/Algo-Factorisation-de-Shor_thumb.jpg\" alt=\"Algo Factorisation de Shor\" width=\"478\" height=\"251\" border=\"0\" \/><\/a><\/p>\n<p>En th\u00e9orie, cela deviendrait accessible \u00e0 des ordinateurs quantiques. Mais pour casser une cl\u00e9 publique RSA de 1024 bits, il faudra encore patienter car cela n\u00e9cessite de cr\u00e9er des ordinateurs quantiques avec un tr\u00e8s grand nombre de qubits fonctionnant en coh\u00e9rence. On en est tr\u00e8s tr\u00e8s loin. A noter que l\u2019algorithme de Shor permet aussi de casser la cryptographie utilisant des courbes elliptiques, qui concurrencent la cryptographie RSA. Au passage, une part de la cryptographie utilis\u00e9e dans le <a href=\"https:\/\/www.technologyreview.com\/s\/609408\/quantum-computers-pose-imminent-threat-to-bitcoin-security\/\">protocole du Bitcoin<\/a> passerait \u00e9galement\u00a0 \u00e0 la moulinette Shor.<\/p>\n<p><a href=\"https:\/\/www.oezratty.net\/wordpress\/wp-content\/Shor-et-bitcoin.jpg\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"Shor et bitcoin\" src=\"https:\/\/www.oezratty.net\/wordpress\/wp-content\/Shor-et-bitcoin_thumb.jpg\" alt=\"Shor et bitcoin\" width=\"488\" height=\"175\" border=\"0\" \/><\/a><\/p>\n<p>En tout cas, l\u2019algorithme de Shor terrorise les sp\u00e9cialistes de la s\u00e9curit\u00e9 depuis une bonne dizaine d\u2019ann\u00e9es. Cela explique l\u2019int\u00e9r\u00eat pour l\u2019exploitation de cl\u00e9s quantiques, cens\u00e9es \u00eatre inviolables car leur interception peut \u00eatre d\u00e9tect\u00e9e par son r\u00e9cipiendaire l\u00e9gitime, ainsi que de la \u201cpost quantum cryptographie\u201d consistant \u00e0 faire \u00e9voluer les algorithmes et m\u00e9thodes de cryptographie pour les rendre (th\u00e9oriquement) inviolables par des ordinateurs quantiques utilisant l\u2019algorithme de Shor. Les deux m\u00e9thodes \u00e9tant probablement combinables. Nous aurons l\u2019occasion de traiter de cela plus tard.<\/p>\n<p><strong>Algorithmes de machine learning et de deep learning<\/strong><\/p>\n<p>Quelques algorithmes d\u2019optimisation quantiques divers existent \u00e9galement. Ils peuvent permettre diverses optimisations combinatoires utiles dans divers m\u00e9tiers comme dans le marketing ou la finance.<\/p>\n<p>L\u2019un de ces algorithmes rel\u00e8ve de l\u2019entra\u00eenement de r\u00e9seaux de neurones. Mais cela ne change pas les fonctionnalit\u00e9s accessibles, qui sont d\u00e9j\u00e0 exploitables. Cela ne jouera un r\u00f4le que le jour o\u00f9 on alignera des millions de qubits avec un faible niveau d\u2019erreurs. Cela va d\u2019ailleurs poser des probl\u00e8mes d&#8217;explicabilit\u00e9 des algorithmes car on ne pourra pas facilement expliquer les r\u00e9sultats. La d\u00e9composition du processus d\u2019entra\u00eenement et d\u2019inf\u00e9rence de ces r\u00e9seaux de neurones quantiques sera probablement diff\u00e9rente par rapport \u00e0 leur mise en \u0153uvre dans des ordinateurs plus traditionnels.<\/p>\n<p>Ces algorithmes quantiques de r\u00e9seaux de neurones doivent contourner le fait que les fonctions d\u2019activation des neurones sont g\u00e9n\u00e9ralement non lin\u00e9aires, comme les sigmo\u00efdes qui sont couramment utilis\u00e9es alors que les portes quantiques appliquent toutes des transformations lin\u00e9aires. L\u2019astuce est expliqu\u00e9e dans <a href=\"https:\/\/arxiv.org\/abs\/1711.11240\">Quantum Neuron: an elementary building block for machine learning on quantum computers<\/a>, de Yudong Cao, Gian Giacomo Guerreschi et Alan Aspuru-Guzik en 2017 (30 pages).<\/p>\n<p>Ces techniques seront concurrenc\u00e9es par les futurs processeurs neuromorphiques \u00e0 base de memristors qui permettront de faire converger plus rapidement les r\u00e9seaux par r\u00e9tropropagation. C\u2019est encore un domaine de recherche, op\u00e9r\u00e9 notamment par Julie Grollier du laboratoire du CNRS situ\u00e9 chez Thal\u00e8s TRT \u00e0 Palaiseau, et que j\u2019ai pu rencontrer en mai 2018.<\/p>\n<p><a href=\"https:\/\/www.oezratty.net\/wordpress\/wp-content\/Algo-Reseaux-Neurones.jpg\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"Algo Reseaux Neurones\" src=\"https:\/\/www.oezratty.net\/wordpress\/wp-content\/Algo-Reseaux-Neurones_thumb.jpg\" alt=\"Algo Reseaux Neurones\" width=\"465\" height=\"250\" border=\"0\" \/><\/a><\/p>\n<p>Voici quelques autres exemples d\u2019algorithmes d\u2019entra\u00eenement de machine learning provenant de D-Wave et exploitant leurs ordinateurs \u00e0 recuit quantique.<\/p>\n<p><a href=\"https:\/\/www.oezratty.net\/wordpress\/wp-content\/Quantum-Learning.jpg\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"Quantum Learning\" src=\"https:\/\/www.oezratty.net\/wordpress\/wp-content\/Quantum-Learning_thumb.jpg\" alt=\"Quantum Learning\" width=\"474\" height=\"270\" border=\"0\" \/><\/a><\/p>\n<p>Comme ils sont adapt\u00e9s \u00e0 la recherche d\u2019un minimum \u00e9nerg\u00e9tique de syst\u00e8mes complexes, ils peuvent en effets servir \u00e0 entrainer des r\u00e9seaux de neurones, celui-ci correspondant \u00e0 la recherche d\u2019un niveau minimum d\u2019erreur dans l\u2019ajustement du poids des neurones.<\/p>\n<p><a href=\"https:\/\/www.oezratty.net\/wordpress\/wp-content\/DVAE.jpg\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"DVAE\" src=\"https:\/\/www.oezratty.net\/wordpress\/wp-content\/DVAE_thumb.jpg\" alt=\"DVAE\" width=\"475\" height=\"269\" border=\"0\" \/><\/a><\/p>\n<p>D-Wave fournit d\u2019ailleurs les ressources de ses calculateurs quantiques en mode \u201ccloud\u201d.<\/p>\n<p><a href=\"https:\/\/www.oezratty.net\/wordpress\/wp-content\/Quantum-Classical-Machine-Learning-S2.jpg\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"Quantum Classical Machine Learning Services\" src=\"https:\/\/www.oezratty.net\/wordpress\/wp-content\/Quantum-Classical-Machine-Learning-S2_thumb.jpg\" alt=\"Quantum Classical Machine Learning Services\" width=\"475\" height=\"269\" border=\"0\" \/><\/a><\/p>\n<p>Dans <a href=\"https:\/\/arxiv.org\/pdf\/1611.09347.pdf\">Quantum Machine Learning<\/a>, mai 2018, on trouve ce tableau qui positionne clairement les diff\u00e9rentes acc\u00e9l\u00e9rations quantiques associ\u00e9es \u00e0 divers algorithmes utilis\u00e9s dans le machine learning et le deep learning. Les acc\u00e9l\u00e9rations en log(N) sont plus importantes que celles qui sont exprim\u00e9es en racine carr\u00e9 de N. Ce document \u00e9voque de nombreux algorithmes quantiques de bas niveau qui sont tr\u00e8s utiles au machine learning et au deep learning : le qBLAS (quantum basic linear algebra subroutines), la r\u00e9solution d\u2019\u00e9quations lin\u00e9aires, la descente de gradient pour la r\u00e9tropropagation dans l\u2019entra\u00eenement des r\u00e9seaux de neurones, la PCA pour d\u00e9terminer les variables cl\u00e9s d\u2019un jeu de donn\u00e9es (Principal Component Analysis, utilis\u00e9e dans le machine learning traditionnel) et le SVM (support vector machine, une m\u00e9thode traditionnelle de segmentation dans le machine learning). Le tout, avec une am\u00e9lioration exponentielle de vitesse de traitement.<\/p>\n<p><a href=\"https:\/\/www.oezratty.net\/wordpress\/wp-content\/Quantum-Machine-Learning-Speedups.jpg\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"Quantum Machine Learning Speedups\" src=\"https:\/\/www.oezratty.net\/wordpress\/wp-content\/Quantum-Machine-Learning-Speedups_thumb.jpg\" alt=\"Quantum Machine Learning Speedups\" width=\"471\" height=\"112\" border=\"0\" \/><\/a><\/p>\n<p>Il existe m\u00eame des algorithmes quantiques de GAN (Generative Adversarial Networks), pour ces r\u00e9seaux de neurones qui g\u00e9n\u00e8rent des contenus synth\u00e9tiques \u00e0 partir de contenus existants en v\u00e9rifiant leur plausibilit\u00e9 via un r\u00e9seau de neurones de reconnaissance. C\u2019est bien document\u00e9 dans <a href=\"https:\/\/arxiv.org\/abs\/1804.09139\">Quantum generative adversarial learning<\/a> de Seth Lloyd et Christian Weedbrook, 2018 (5 pages).<\/p>\n<p>On retrouve cette liste d\u2019algorithmes de machine learning en version quantique dans <a href=\"https:\/\/doc.lagout.org\/Others\/Data%20Mining\/Quantum%20Machine%20Learning_%20What%20Quantum%20Computing%20Means%20to%20Data%20Mining%20%5BWittek%202014-08-28%5D.pdf\">Quantum Machine Learning What Quantum Computing Means to Data Mining<\/a> de Peter Wittek, 2014 (178 pages).<\/p>\n<p><a href=\"https:\/\/www.oezratty.net\/wordpress\/wp-content\/Machine-Learning-and-Quantum-Computing.jpg\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"Machine Learning and Quantum Computing\" src=\"https:\/\/www.oezratty.net\/wordpress\/wp-content\/Machine-Learning-and-Quantum-Computing_thumb.jpg\" alt=\"Machine Learning and Quantum Computing\" width=\"469\" height=\"221\" border=\"0\" \/><\/a><\/p>\n<p>C\u00f4t\u00e9 sources d\u2019information sur ce sujet, j\u2019ai aussi parcouru <a href=\"http:\/\/arxiv.org\/abs\/1510.06356\">Application of Quantum Annealing to Training of Deep Neural Networks<\/a>.\u00a0 (2015), <a href=\"https:\/\/arxiv.org\/abs\/1312.5258\">On the Challenges of Physical Implementations of RBMs<\/a>, 2014, avec notamment Yoshua Bengio et Ian Goodfellow parmi les auteurs, illustrant l\u2019int\u00e9r\u00eat des sp\u00e9cialistes de l\u2019IA pour le quantique et <a href=\"http:\/\/arxiv.org\/abs\/1412.3489\">Quantum Deep Learning<\/a>, 2014, le tout \u00e9tant extrait de <a href=\"http:\/\/www.fz-juelich.de\/ias\/jsc\/EN\/Expertise\/Workshops\/Conferences\/QUAASI16\/Programme\/Talks\/quaasi16-adachi.pdf?__blob=publicationFile\">Near-Term Applications of Quantum Annealing<\/a>, 2016, Lockheed Martin (34 slides).<\/p>\n<p><a href=\"https:\/\/www.oezratty.net\/wordpress\/wp-content\/Rise-of-quantum-robots.jpg\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"Rise of quantum robots\" src=\"https:\/\/www.oezratty.net\/wordpress\/wp-content\/Rise-of-quantum-robots_thumb.jpg\" alt=\"Rise of quantum robots\" width=\"450\" height=\"327\" border=\"0\" \/><\/a><\/p>\n<p>Bon, de l\u00e0 \u00e0 utiliser ces algorithmes dans la robotique comme d\u00e9crit dans <a href=\"https:\/\/mappingignorance.org\/2018\/04\/04\/rise-quantum-robots\">The Rise of Quantum Robots<\/a> de Daniel Manzano (avril 2018), il faudra patienter un peu ! Ce n\u2019est plus de la technologie, c\u2019est de la science-fiction.<\/p>\n<p><strong>Algorithmes de simulation quantique<\/strong><\/p>\n<p>Les algorithmes de simulation quantique servent \u00e0 reproduire dans un ordinateur les ph\u00e9nom\u00e8nes de la m\u00e9canique quantique qui gouvernement le comportement de quantums dans des ordinateurs traditionnels ou quantiques. Ils seront utilisables en particulier pour simuler l\u2019interaction entre les atomes dans des mol\u00e9cules pour la cr\u00e9ation de nouveaux mat\u00e9riaux. Suivront la simulation des mol\u00e9cules de la biologie mol\u00e9culaire, donc, de la chimie organique, allant progressivement des plus petites aux plus grandes des mol\u00e9cules : acide amin\u00e9s, peptides, polypeptides, prot\u00e9ines et peut-\u00eatre bien plus tard, de mol\u00e9cules ultra complexes comme les ribosomes qui fabriquent les prot\u00e9ines \u00e0 partir des acides amin\u00e9s. La constitution et le fonctionnement de ces grosses mol\u00e9cules font partie des plus grands myst\u00e8res chimiques de la vie que l\u2019Homme aimerait bien expliquer.<\/p>\n<p><a href=\"https:\/\/www.oezratty.net\/wordpress\/wp-content\/Algo-Simulation-Quantique.jpg\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"Algo Simulation Quantique\" src=\"https:\/\/www.oezratty.net\/wordpress\/wp-content\/Algo-Simulation-Quantique_thumb.jpg\" alt=\"Algo Simulation Quantique\" width=\"566\" height=\"302\" border=\"0\" \/><\/a><\/p>\n<p>Bref, ces algorithmes ambitionnent de simuler les processus mol\u00e9culaires qui interviennent dans la nature ou \u00e0 cr\u00e9er de tels m\u00e9canismes artificiels qui n\u2019existent pas encore dans la nature. Cela peut aussi servir \u00e0 faire des simulations \u201cmacro\u201d comme celle du fonctionnement de trous noirs ou d\u2019\u00e9toiles \u00e0 neutrons en astronomie.<\/p>\n<p>Ces algorithmes s\u2019ex\u00e9cuteront de mani\u00e8re la plus performante dans les ordinateurs quantiques universels \u00e0 base de qubits. En attendant, on les ex\u00e9cute dans des ordinateurs adiabatiques comme ceux de D-Wave voire dans des ordinateur quantiques dits analogiques, sans architectures \u00e0 base de registres de qubits. Comme ces algorithmes visent souvent \u00e0 d\u00e9terminer un niveau d\u2019\u00e9nergie minimum d\u2019un syst\u00e8me complexe, le syst\u00e8me adiabatique \u00e0 recuit simul\u00e9 de D-Wave est assez adapt\u00e9 \u00e0 la t\u00e2che pour des probl\u00e8mes relativement simples.<\/p>\n<p>A partir de 50 \u00e9lectrons dans une mol\u00e9cule, les ordinateurs classiques ne peuvent plus simuler leur dynamique, ce qui correspond \u00e0 quelques atomes \u00e0 peine. Pour les mol\u00e9cules simples, les applications rel\u00e8vent de la physique des mat\u00e9riaux : capture du carbone ou de l&#8217;azote, nouvelles batteries, d\u00e9couverte de m\u00e9canismes supraconducteurs utilisables ensuite dans les scanners m\u00e9dicaux, id\u00e9alement fonctionnant \u00e0 temp\u00e9rature ambiante.<\/p>\n<p>Ceci devrait \u00eatre accessible avec des ordinateurs quantiques universels dot\u00e9s de 50 \u00e0 quelques centaines de qubits de qualit\u00e9. Pour les simulations de biologie mol\u00e9culaire, il faudra probablement attendre bien plus longtemps avant que cela soit possible et disposer d\u2019ordinateur avec des milliers voir des centaines de milliers de qubits. Le sch\u00e9ma ci-dessous positionne de mani\u00e8re assez optimiste le nombre de qubits n\u00e9cessaires pour simuler le fonctionnement une prot\u00e9ine des mitochondries, la MRC2. Il est issu de <a href=\"https:\/\/arxiv.org\/abs\/1710.01022\">Quantum optimization using variational algorithms on near-term quantum devices<\/a>, issu de chercheurs d\u2019IBM en 2017 (30 pages).<\/p>\n<p><a href=\"https:\/\/www.oezratty.net\/wordpress\/wp-content\/Qubits-for-quantum-chemistry-computation.jpg\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px;\" title=\"Qubits for quantum chemistry computation\" src=\"https:\/\/www.oezratty.net\/wordpress\/wp-content\/Qubits-for-quantum-chemistry-computation_thumb.jpg\" alt=\"Qubits for quantum chemistry computation\" width=\"463\" height=\"247\" border=\"0\" \/><\/a><\/p>\n<p>Voici quelques exemples d\u2019algorithmes de simulation quantique :<\/p>\n<ul>\n<li><a href=\"https:\/\/arxiv.org\/abs\/1304.0741\">Faster phase estimation<\/a> de Svore, Hastings et Freedman, 2013 (14 pages) qui est utilis\u00e9 dans les simulations quantiques de mol\u00e9cules.<\/li>\n<li><a href=\"https:\/\/arxiv.org\/abs\/1506.05135\">Solving strongly correlated electron models on a quantum computer<\/a> de Wecker, Troyer, Hastings, Nayak et Clark, 2015 (27 pages), qui utilise les ordinateurs quantiques adiabatiques pour simuler la dynamique des semi-conducteurs.<\/li>\n<li><a href=\"https:\/\/arxiv.org\/abs\/quant-ph\/0604193\">Simulated Quantum Computation of Molecular Energies<\/a> de Wiebe, Wecker et Troyer, 2006 (21 pages) qui porte sur la d\u00e9termination de l\u2019\u00e9tat d\u2019\u00e9quilibre de mol\u00e9cules simples.<\/li>\n<li><a href=\"https:\/\/arxiv.org\/abs\/1001.3855\">Simulation of Electronic Structure Hamiltonians Using Quantum Computers<\/a> de James Whitfield, Jacob Biamonte et Alan Aspuru-Guzik, 2010 (22 pages) qui porte aussi sur la simulation du fonctionnement de mol\u00e9cules simples.<\/li>\n<li>Un exemple de simulation de mol\u00e9cule d\u2019hydrure de b\u00e9ryllium (3 atomes, BeH2) avec seulement 6 qubits par IBM en 2017 dans <a href=\"https:\/\/spectrum.ieee.org\/tech-talk\/computing\/hardware\/tiny-quantum-computer-simulates-big-molecules\">Tiny Quantum Computer Simulates Complex Molecules<\/a> par Katherine Bourzac.<\/li>\n<li>La simulation de l\u2019\u00e9lectrolyse de l\u2019eau provoqu\u00e9e par de la lumi\u00e8re avec des usages \u00e9vidents pour la production d\u2019\u00e9nergie stockable, notamment dans les piles \u00e0 combustible (\u00e0 base d\u2019hydrog\u00e8ne). C\u2019est l\u2019un des tr\u00e8s nombreux exemples issus de la pr\u00e9sentation <a href=\"https:\/\/q2b.squarespace.com\/s\/Quantum-Chemistry-Applications_Bert-de-Jong.pdf\">Enabling Scientific Discovery in Chemical Sciences on Quantum Computers<\/a>, d\u00e9cembre 2017 (34 slides) par Ber De Jong de Berkeley.<\/li>\n<\/ul>\n<p>Dans <a href=\"http:\/\/calyptus.caltech.edu\/qis2009\/documents\/aspuru-guzikQIS0409.pdf\">Quantum Computation for Chemistry<\/a>, 2009 (51 slides), on d\u00e9couvre que les caract\u00e9ristiques des ordinateurs quantiques n\u00e9cessaires pour simuler l\u2019\u00e9tat de mol\u00e9cules organiques de complexit\u00e9 moyenne telle que le cholest\u00e9rol, il faudrait 1500 qubits et surtout, pouvoir enquiller des milliards de portes quantiques, ce qui est actuellement impossible au vu des temps de coh\u00e9rence bien trop courts des ordinateurs quantiques existants. Et on parle probablement d\u2019un nombre de qubits logiques et pas physiques. Il faudrait donc probablement aligner des millions de qubits physiques pour pouvoir r\u00e9aliser ce genre de simulation.<\/p>\n<p><a href=\"https:\/\/www.oezratty.net\/wordpress\/wp-content\/CNOT-and-Qubits-for-Chemisty-Simulation.jpg\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"CNOT and Qubits for Chemisty Simulation\" src=\"https:\/\/www.oezratty.net\/wordpress\/wp-content\/CNOT-and-Qubits-for-Chemisty-Simulation_thumb.jpg\" alt=\"CNOT and Qubits for Chemisty Simulation\" width=\"433\" height=\"402\" border=\"0\" \/><\/a><\/p>\n<p>L\u2019une des applications de la simulation quantique mol\u00e9culaire est de mieux comprendre le fonctionnement de la photosynth\u00e8se pour \u00e9ventuellement l\u2019am\u00e9liorer ou l\u2019imiter, comme ci-dessous avec l\u2019implication des diff\u00e9rentes formes de ferr\u00e9doxine, des mol\u00e9cules relativement simples \u00e0 base de fer et de souffre qui servent \u00e0 transporter les \u00e9lectrons de l\u2019effet photo\u00e9lectrique mis en \u0153uvre dans la photosynth\u00e8se dans les plantes. Les recherches algorithmiques sur la simulation de cette mol\u00e9cule ont fait passer en quelques ann\u00e9es la dur\u00e9e de simulation th\u00e9orique quantique de 24 milliards d\u2019ann\u00e9es \u00e0 une heure ! La simulation de la photosynth\u00e8se peut ouvrir la voie \u00e0 une meilleure capture du carbone, entre autres pour produire du fuel synth\u00e9tique. Des recherches font d&#8217;ailleurs progresser le domaine, sans quantique pour l&#8217;instant, comme vu en septembre 2018 dans\u00a0<a href=\"https:\/\/labiotech.eu\/industrial\/semi-artificial-photosynthesis-fuel\/\">Semi-Artificial Photosynthesis Method Produces Fuel More Efficiently Than Nature<\/a>.<\/p>\n<p><a href=\"https:\/\/www.oezratty.net\/wordpress\/wp-content\/Ferrefoxin.jpg\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; margin: 10px 0px 10px 10px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"Ferrefoxin\" src=\"https:\/\/www.oezratty.net\/wordpress\/wp-content\/Ferrefoxin_thumb.jpg\" alt=\"Ferrefoxin\" width=\"521\" height=\"393\" border=\"0\" \/><\/a><\/p>\n<p>Matthias Troyer explique comment cet algorithme a \u00e9t\u00e9 optimis\u00e9 dans <a href=\"https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2015\/03\/Matthias-Troyer_Quantum-applications.pdf\">What Can We Do with a Quantum Computer<\/a> (41 slides). Dans le m\u00eame domaine, la simulation de l\u2019enzyme nitrog\u00e9nase qui transforme l\u2019azote en ammoniaque dans les cyanobact\u00e9ries permettrait de produire des engrais avec beaucoup moins d\u2019\u00e9nergie que les processus habituels Haber-Bosch de production de l\u2019ammoniaque qui sont tr\u00e8s consommateurs d\u2019\u00e9nergie.<\/p>\n<p><a href=\"https:\/\/www.oezratty.net\/wordpress\/wp-content\/Fe2S2-Simulation-comparison.jpg\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"Fe2S2 Simulation comparison\" src=\"https:\/\/www.oezratty.net\/wordpress\/wp-content\/Fe2S2-Simulation-comparison_thumb.jpg\" alt=\"Fe2S2 Simulation comparison\" width=\"438\" height=\"212\" border=\"0\" \/><\/a><\/p>\n<p>Il y pr\u00e9sente les b\u00e9n\u00e9fices d\u2019autres formes d\u2019optimisations, par simplification du mod\u00e8le, pour la simulation de supraconducteurs.<\/p>\n<p><a href=\"https:\/\/www.oezratty.net\/wordpress\/wp-content\/Supraconductor-simulation.jpg\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"Supraconductor simulation\" src=\"https:\/\/www.oezratty.net\/wordpress\/wp-content\/Supraconductor-simulation_thumb.jpg\" alt=\"Supraconductor simulation\" width=\"457\" height=\"242\" border=\"0\" \/><\/a><\/p>\n<p>S\u2019il faudra \u00eatre patient pour voir la couleur de nombre de ces simulations, cela n\u2019emp\u00eache pas de nombreux chercheurs d\u2019explorer des moyens de simuler le repliement de prot\u00e9ines, l\u2019une des t\u00e2ches de simulation de mol\u00e9cule organique les plus complexes.\u00a0 Voir par exemple <a href=\"http:\/\/binf.gmu.edu\/vaisman\/binf731\/biochimie2015_wolynes.pdf\">Evolution, energy landscapes and the paradoxes of protein folding<\/a> de Peter Wolynes, 2015 (13 pages).<\/p>\n<p>Le top du top de la simulation mol\u00e9culaire quantique arrivera probablement bien plus tardivement. Il s\u2019agit de la simulation du repliement des prot\u00e9ines, une voie cl\u00e9 pour cr\u00e9er de nouvelles th\u00e9rapies diverses, notamment pour traiter certaines pathologie neurod\u00e9g\u00e9n\u00e9ratives ou divers cancers. Diff\u00e9rents algorithmes quantiques ont d\u00e9j\u00e0 \u00e9t\u00e9 cr\u00e9\u00e9s pour ce faire et notamment <a href=\"http:\/\/blogs.nature.com\/news\/2012\/08\/d-wave-quantum-computer-solves-protein-folding-problem.html\">celui de Aspuru-Guzik<\/a> de Harvard en 2012, qui a m\u00eame \u00e9t\u00e9 test\u00e9 \u00e0 petite \u00e9chelle sur le premier ordinateur quantique adiabatique, le D-Wave One. Reste \u00e0 \u00e9valuer les ordres de grandeur des ordinateurs quantiques n\u00e9cessaires pour r\u00e9soudre ces probl\u00e8mes de chimie organique. Il n\u2019est pas impossible qu\u2019ils rel\u00e8vent de l\u2019impossible ou de l\u2019extr\u00eame long-terme !<\/p>\n<p>Pour en savoir plus, voir <a href=\"https:\/\/arxiv.org\/ftp\/arxiv\/papers\/1706\/1706.05413.pdf\">Quantum Information and Computation for Chemistry<\/a>, 2016 (60 pages), qui inventorie tr\u00e8s bien les divers travaux algorithmiques de simulation quantique de chimie organique.<\/p>\n<p><strong>Equations lin\u00e9aires<\/strong><\/p>\n<p>Enfin, de nombreux autres algorithmes quantiques existent qui permettent de r\u00e9aliser des op\u00e9rations math\u00e9matiques complexes comme la r\u00e9solution d\u2019\u00e9quations diff\u00e9rentielles, l\u2019inversion de matrices ou le traitement de divers probl\u00e8mes d\u2019alg\u00e8bre lin\u00e9aire. Ils sont ensuite utilis\u00e9s\u2026 ailleurs ! L\u2019algorithme le plus connu est le <strong>HHL <\/strong>qui reprend le nom de ses cr\u00e9ateurs Harrow, Hassidim et Lloyd, cr\u00e9\u00e9 en 2009 et qui qui permet de r\u00e9soudre des \u00e9quations lin\u00e9aires, avec un gain de performance exponentiel.<\/p>\n<p><strong>Gains de performance quantiques<\/strong><\/p>\n<p>Pour conclure, j\u2019ai consolid\u00e9 le petit sch\u00e9ma <em>ci-dessous <\/em>qui r\u00e9sume les gains de performance de quelques-uns des algorithmes d\u00e9terministes que nous venons de voir. Les niveaux de complexit\u00e9 (exponentielle, polynomiale, lin\u00e9aire, \u2026) sont g\u00e9n\u00e9riques. Les niveaux pr\u00e9cis de complexit\u00e9 de chaque algorithme sont associ\u00e9s \u00e0 ces classes de mani\u00e8re approximative.<a href=\"https:\/\/www.oezratty.net\/wordpress\/wp-content\/Gain-performance-quantique.jpg\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"Gain performance quantique\" src=\"https:\/\/www.oezratty.net\/wordpress\/wp-content\/Gain-performance-quantique_thumb.jpg\" alt=\"Gain performance quantique\" width=\"600\" height=\"275\" border=\"0\" \/><\/a><\/p>\n<p>Ainsi, N*log(N) qui est la complexit\u00e9 d\u2019une transform\u00e9e de Fourier classique est lin\u00e9aire car N grandit bien plus vite que log(N) et log(N) puissance 3 est une complexit\u00e9 de niveau logarithmique (pour l\u2019algorithme de Shor et une QFT, Quantum Fourier Transform).\u00a0Les \u00e9chelles de temps sont plus parlantes dans ce tableau (<a href=\"https:\/\/www.enseignement.polytechnique.fr\/informatique\/INF423\/uploads\/Main\/chap11-good.pdf\">source<\/a>) :<\/p>\n<p><a href=\"https:\/\/www.oezratty.net\/wordpress\/2018\/comprendre-informatique-quantique-algorithmes-et-applications\/complexite-et-temps-de-calcul\/\" rel=\"attachment wp-att-16123\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-16123\" src=\"https:\/\/www.oezratty.net\/wordpress\/wp-content\/Complexite-et-temps-de-calcul.jpg\" alt=\"\" width=\"500\" height=\"145\" srcset=\"https:\/\/www.oezratty.net\/wordpress\/wp-content\/Complexite-et-temps-de-calcul.jpg 1456w, https:\/\/www.oezratty.net\/wordpress\/wp-content\/Complexite-et-temps-de-calcul-300x87.jpg 300w, https:\/\/www.oezratty.net\/wordpress\/wp-content\/Complexite-et-temps-de-calcul-768x223.jpg 768w, https:\/\/www.oezratty.net\/wordpress\/wp-content\/Complexite-et-temps-de-calcul-1024x297.jpg 1024w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/a><\/p>\n<p>L\u2019id\u00e9al en gains de performances est de traverser plusieurs classes de complexit\u00e9, et surtout, \u00e0 partir d\u2019un probl\u00e8me exponentiel. Dans la pratique, les principaux algorithmes sautent une \u00e0 deux classes de complexit\u00e9 mais pas forc\u00e9ment \u00e0 partir de la classe des probl\u00e8mes exponentiels. Mais mon sch\u00e9ma est trompeur. N peut aussi croitre de mani\u00e8re exponentielle selon la taille d\u2019un probl\u00e8me. L\u2019exemple classique est celui de l\u2019algorithme de Shor. Le point de d\u00e9part est un N qui est en fait une taille de cl\u00e9 RSA qui elle-m\u00eame est \u00e9valu\u00e9e en puissance de 2. Une cl\u00e9 de 1024 bits fait 2 puissance 1024. Si on passe de 2 puissance 256 \u00e0 2 puissance 1024, la croissance de la taille de la cl\u00e9 est exponentielle. Et l\u00e0, on obtient donc avec l\u2019algorithme de Shor un gain de performance exponentiel en passant d\u2019une racine carr\u00e9e de 2 puissance 1024 \u00e0 un log de 2 puissance 1024, soit 1024 ! On passe alors de 2 puissance 512 \u00e0 1024, soit un gain exponentiel en pratique !<\/p>\n<p>L\u2019algorithme de Deutsch-Jozsa a la particularit\u00e9 de traverser tous les niveaux de complexit\u00e9 mais nous avons vu qu\u2019il n\u2019avait malheureusement pas d\u2019application pratique connue. Il faut aussi int\u00e9grer le fait que la complexit\u00e9 de certains probl\u00e8mes peut \u00eatre contourn\u00e9e avec des approches probabilistes qui permettent aussi de r\u00e9duire de un ou plusieurs \u00e9tages le niveau de complexit\u00e9 de probl\u00e8mes exponentiels. Bref, les algorithmes quantiques sont s\u00e9duisants mais ils ne sont pas pour autant toujours la panac\u00e9e.<\/p>\n<p><strong>_________________________<\/strong><\/p>\n<p>Dans la <a href=\"https:\/\/www.oezratty.net\/wordpress\/2018\/comprendre-informatique-quantique-complexite\/\">prochaine partie<\/a>, nous \u00e9tudierons justement la question des diff\u00e9rents niveaux de complexit\u00e9 des probl\u00e8mes qui peuvent \u00eatre r\u00e9solus par les ordinateurs classiques et quantiques et aussi ceux qui ne peuvent pas l\u2019\u00eatre par ces derniers. Cela remettra l\u2019Homme dans sa posture classique : toujours \u00e0 la recherche du savoir absolu, mais \u00e9ternellement bloqu\u00e9 par de nouvelles barri\u00e8res \u00e0 surmonter.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Maintenant que nous avons d\u00e9soss\u00e9 un ordinateur quantique avec ses qubits, ses registres, ses portes et son frigo, voyons-donc comment on peut exploiter cette belle quincaillerie. L\u2019ordinateur quantique utilise des algorithmes dits quantiques qui ont la particularit\u00e9 d\u2019\u00eatre bien plus efficaces que leurs \u00e9quivalents con\u00e7us pour des ordinateurs traditionnels. Mais ces algorithmes ne sont pas [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2659,3057],"tags":[1521,3054,107,2397,3069,2833,3068,2470,3056,1088,3034,260,3052,2832,3053,2458,2928,867,3070,3051,3055,3067,1193],"class_list":["post-16111","post","type-post","status-publish","format-standard","hentry","category-intelligence-artificielle","category-quantique","tag-atos","tag-bohr","tag-cea","tag-d-wave","tag-david-simon","tag-deep-learning","tag-deutsch-jozsa","tag-google","tag-heisenberg","tag-ibm","tag-informatique-quantique","tag-intel","tag-ionq","tag-machine-learning","tag-majorana","tag-microsoft","tag-planck","tag-qml","tag-quantum-machine-learning","tag-rigetti","tag-schrodinger","tag-shor","tag-supraconducteur"],"views":38724,"_links":{"self":[{"href":"https:\/\/www.oezratty.net\/wordpress\/wp-json\/wp\/v2\/posts\/16111","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.oezratty.net\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.oezratty.net\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.oezratty.net\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.oezratty.net\/wordpress\/wp-json\/wp\/v2\/comments?post=16111"}],"version-history":[{"count":0,"href":"https:\/\/www.oezratty.net\/wordpress\/wp-json\/wp\/v2\/posts\/16111\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.oezratty.net\/wordpress\/wp-json\/wp\/v2\/media?parent=16111"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.oezratty.net\/wordpress\/wp-json\/wp\/v2\/categories?post=16111"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.oezratty.net\/wordpress\/wp-json\/wp\/v2\/tags?post=16111"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}