Qu'est-ce qu'un ordinateur quantique? Expliqué avec un exemple simple.

Salut à tous!

L'autre jour, j'ai visité D-Wave Systems à Vancouver, au Canada. C'est une entreprise qui fabrique des ordinateurs quantiques de pointe.

J'ai appris beaucoup de choses sur les ordinateurs quantiques là-bas, alors j'aimerais partager une partie de ce que j'ai appris là-bas avec vous dans cet article.

Le but de cet article est de vous donner une intuition précise de ce qu'est un ordinateur quantique en utilisant un exemple simple.

Cet article ne vous obligera pas à avoir des connaissances préalables en physique quantique ou en informatique pour pouvoir le comprendre.

D'accord, commençons.

Edit (26 février 2019): J'ai récemment publié une vidéo sur le même sujet sur ma chaîne YouTube. Je recommanderais de le regarder (cliquez ici) avant ou après avoir lu cet article car j'ai ajouté des arguments supplémentaires plus nuancés dans la vidéo.

Qu'est-ce qu'un ordinateur quantique?

Voici un résumé en une phrase de ce qu'est un ordinateur quantique:

Un ordinateur quantique est un type d'ordinateur qui utilise la mécanique quantique afin de pouvoir effectuer certains types de calcul plus efficacement qu'un ordinateur ordinaire.

Il y a beaucoup à découvrir dans cette phrase, alors laissez-moi vous expliquer ce que c'est exactement en utilisant un exemple simple.

Pour expliquer ce qu'est un ordinateur quantique, je dois d'abord expliquer un peu les ordinateurs ordinaires (non quantiques).

Comment un ordinateur ordinaire stocke les informations

Désormais, un ordinateur ordinaire stocke les informations dans une série de 0 et de 1.

Différents types d'informations, tels que des nombres, du texte et des images, peuvent être représentés de cette manière.

Chaque unité de cette série de 0 et de 1 est appelée un bit. Ainsi, un bit peut être défini sur 0 ou 1.

Maintenant, qu'en est-il des ordinateurs quantiques?

Un ordinateur quantique n'utilise pas de bits pour stocker des informations. Au lieu de cela, il utilise quelque chose appelé qubits.

Chaque qubit peut non seulement être défini sur 1 ou 0, mais il peut également être défini sur 1 et 0. Mais qu'est-ce que cela signifie exactement?

Permettez-moi de vous expliquer cela avec un exemple simple. Ce sera un exemple quelque peu artificiel. Mais cela sera toujours utile pour comprendre le fonctionnement des ordinateurs quantiques.

Un exemple simple pour comprendre le fonctionnement des ordinateurs quantiques

Maintenant, supposons que vous dirigiez une agence de voyage et que vous deviez déplacer un groupe de personnes d'un endroit à un autre.

Pour rester simple, disons que vous n'avez besoin de déplacer que 3 personnes pour le moment - Alice, Becky et Chris.

Et supposons que vous ayez réservé 2 taxis à cet effet et que vous souhaitiez savoir qui monte dans quel taxi.

Supposons également ici que l'on vous donne des informations sur qui est ami avec qui et qui est ennemi avec qui.

Ici, disons que:

  • Alice et Becky sont amis
  • Alice et Chris sont des ennemis
  • Becky et Chris sont des ennemis

Et supposons que votre objectif ici soit de diviser ce groupe de 3 personnes en deux taxis pour atteindre les deux objectifs suivants:

  • Maximisez le nombre de paires d'amis partageant la même voiture
  • Minimisez le nombre de paires d'ennemis partageant la même voiture

D'accord, c'est donc la prémisse de base de ce problème. Pensons d'abord à la façon dont nous pourrions résoudre ce problème en utilisant un ordinateur ordinaire.

Résoudre ce problème avec un ordinateur ordinaire

Pour résoudre ce problème avec un ordinateur ordinaire non quantique, vous devez d'abord comprendre comment stocker les informations pertinentes avec des bits.

Appelons les deux taxis Taxi # 1 et Taxi # 0.

Ensuite, vous pouvez représenter qui monte dans quelle voiture avec 3 bits.

Par exemple, nous pouvons définir les trois bits sur 0 , 0 ,et 1 pour représenter:

  • Alice entre dans le taxi # 0
  • Becky monte dans le taxi n ° 0
  • Chris entre dans le taxi n ° 1

Puisqu'il y a deux choix pour chaque personne, il existe 2 * 2 * 2 = 8 façons de diviser ce groupe de personnes en deux voitures.

Voici une liste de toutes les configurations possibles:

A | B | C

0 | 0 | 0

0 | 0 | 1

0 | 1 | 0

0 | 1 | 1

1 | 0 | 0

1 | 0 | 1

1 | 1 | 0

1 | 1 | 1

En utilisant 3 bits, vous pouvez représenter l'une de ces combinaisons.

Calcul du score pour chaque configuration

Maintenant, en utilisant un ordinateur ordinaire, comment pourrions-nous déterminer quelle configuration est la meilleure solution?

Pour ce faire, définissons comment nous pouvons calculer le score pour chaque configuration. Ce score représentera la mesure dans laquelle chaque solution atteint les deux objectifs que j'ai mentionnés précédemment:

  • Maximisez le nombre de paires d'amis partageant la même voiture
  • Minimisez le nombre de paires d'ennemis partageant la même voiture

Définissons simplement notre score comme suit:

(le score d'une configuration donnée) = (# paires d'amis partageant la même voiture) - (# paires d'ennemis partageant la même voiture)

Par exemple, supposons qu'Alice, Becky et Chris entrent tous dans Taxi n ° 1. Avec trois bits, cela peut être exprimé par 111 .

Dans ce cas, il n'y a qu'une seule paire d'amis partageant la même voiture - Alice et Becky.

Cependant, il y a deux paires d'ennemis partageant la même voiture - Alice et Chris, et Becky et Chris.

Ainsi, le score total de cette configuration est de 1-2 = -1.

Résoudre le problème

Avec toute cette configuration, nous pouvons enfin résoudre ce problème.

Avec un ordinateur ordinaire, pour trouver la meilleure configuration, vous devrez essentiellement parcourir toutes les configurations pour voir laquelle obtient le score le plus élevé.

Donc, vous pouvez penser à construire une table comme celle-ci:

A | B | C | But

0 | 0 | 0 | -1

0 | 0 | 1 | 1 <- une des meilleures solutions

0 | 1 | 0 | -1

0 | 1 | 1 | -1

1 | 0 | 0 | -1

1 | 0 | 1 | -1

1 | 1 | 0 | 1 <- l'autre meilleure solution

1 | 1 | 1 | -1

Comme vous pouvez le voir, il y a deux solutions correctes ici - 001 et 110, toutes deux atteignant le score de 1.

Ce problème est assez simple. Cela devient rapidement trop difficile à résoudre avec un ordinateur ordinaire car nous augmentons le nombre de personnes confrontées à ce problème.

Nous avons vu qu'avec 3 personnes, il faut passer par 8 configurations possibles.

Et s'il y a 4 personnes? Dans ce cas, nous devrons passer par 2 * 2 * 2 * 2 = 16 configurations.

Avec n personnes, nous devrons passer par (2 à la puissance n) configurations pour trouver la meilleure solution.

Donc, s'il y a 100 personnes, nous devrons passer par:

  • 2¹⁰⁰ ~ = 10³⁰ = un million de millions de millions de millions de configurations.

C'est tout simplement impossible à résoudre avec un ordinateur ordinaire.

Résoudre ce problème avec un ordinateur quantique

Comment pourrions-nous résoudre ce problème avec un ordinateur quantique?

Pour y réfléchir, revenons au cas de la division de 3 personnes en deux taxis.

Comme nous l'avons vu précédemment, il y avait 8 solutions possibles à ce problème:

A | B | C

0 | 0 | 0

0 | 0 | 1

0 | 1 | 0

0 | 1 | 1

1 | 0 | 0

1 | 0 | 1

1 | 1 | 0

1 | 1 | 1

Avec un ordinateur ordinaire, utilisant 3 bits, nous n'avons pu représenter qu'une seule de ces solutions à la fois - par exemple, 001.

Cependant, avec un ordinateur quantique, utilisant 3 qubits , nous pouvons représenter les 8 solutions en même temps .

Il y a des débats sur ce que cela signifie exactement, mais voici comment j'y pense.

Tout d'abord, examinez le premier qubit de ces 3 qubits. Lorsque vous le réglez sur les deux0 et 1, c'est un peu comme créer deux mondes parallèles. (Oui, c'est étrange, mais suivez simplement ici.)

Dans l'un de ces mondes parallèles, le qubit est mis à 0. Dans l'autre, il est mis à 1.

Maintenant, que faire si vous définissez également le deuxième qubit sur 0 et 1? Ensuite, c'est un peu comme créer 4 mondes parallèles.

Dans le premier monde, les deux qubits sont mis à 00. Dans le second, ils sont 01. Dans le troisième, ils sont 10. Dans le quatrième, ils sont 11.

De même, si vous définissez les trois qubits sur 0 et 1, vous créeriez 8 mondes parallèles - 000, 001, 010, 011, 100, 101, 110 et 111.

C'est une façon étrange de penser, mais c'est l'une des bonnes façons d'interpréter le comportement des qubits dans le monde réel.

Maintenant, lorsque vous appliquez une sorte de calcul sur ces trois qubits, vous appliquez en fait le même calcul dans tous ces 8 mondes parallèles en même temps.

Ainsi, au lieu de passer par chacune de ces solutions potentielles de manière séquentielle, nous pouvons calculer les scores de toutes les solutions en même temps.

Avec cet exemple particulier, en théorie, votre ordinateur quantique serait capable de trouver l'une des meilleures solutions en quelques millisecondes. Encore une fois, c'est 001 ou 110 comme nous l'avons vu précédemment:

A | B | C | But

0 | 0 | 0 | -1

0 | 0 | 1 | 1 <- une des meilleures soluti ons

0 | 1 | 0 | -1

0 | 1 | 1 | -1

1 | 0 | 0 | -1

1 | 0 | 1 | -1

1 | 1 | 0 | 1 <- l'autre meilleure solution

1 | 1 | 1 | -1

En réalité, pour résoudre ce problème, vous auriez besoin de donner à votre ordinateur quantique deux choses:

  • Toutes les solutions potentielles représentées avec des qubits
  • Une fonction qui transforme chaque solution potentielle en score. Dans ce cas, c'est la fonction qui compte le nombre de paires d'amis et de paires d'ennemis partageant la même voiture.

Compte tenu de ces deux choses, votre ordinateur quantique crachera l'une des meilleures solutions en quelques millisecondes. Dans ce cas, c'est 001 ou 110 avec un score de 1.

Désormais, en théorie, un ordinateur quantique est capable de trouver l'une des meilleures solutions à chaque fois qu'il fonctionne.

Cependant, en réalité, il y a des erreurs lors de l'exécution d'un ordinateur quantique. Ainsi, au lieu de trouver la meilleure solution, il pourrait trouver la deuxième meilleure solution, la troisième meilleure solution, et ainsi de suite.

Ces erreurs deviennent de plus en plus importantes à mesure que le problème devient de plus en plus complexe.

Ainsi, en pratique, vous voudrez probablement exécuter la même opération sur un ordinateur quantique des dizaines ou des centaines de fois. Ensuite, choisissez le meilleur résultat parmi les nombreux résultats que vous obtenez.

Comment un ordinateur quantique évolue

Même avec les erreurs que j'ai mentionnées, l'ordinateur quantique n'a pas le même problème de mise à l'échelle qu'un ordinateur ordinaire souffre.

Lorsqu'il y a 3 personnes que nous devons diviser en deux voitures, le nombre d'opérations que nous devons effectuer sur un ordinateur quantique est de 1. En effet, un ordinateur quantique calcule le score de toutes les configurations en même temps.

Lorsqu'il y a 4 personnes, le nombre d'opérations est toujours de 1.

Lorsqu'il y a 100 personnes, le nombre d'opérations est toujours de 1. Avec une seule opération, un ordinateur quantique calcule les scores de toutes les 2¹⁰⁰ ~ = 10³⁰ = un million de millions de millions de millions de configurations en même temps.

Comme je l'ai mentionné précédemment, dans la pratique, il est probablement préférable d'exécuter votre ordinateur quantique des dizaines ou des centaines de fois et de choisir le meilleur résultat parmi les nombreux résultats que vous obtenez.

Cependant, c'est toujours bien mieux que d'exécuter le même problème sur un ordinateur ordinaire et de devoir répéter le même type de calcul un million de millions de millions de millions de fois.

Emballer

Un merci spécial à tout le monde chez D-Wave Systems pour m'avoir patiemment expliqué tout cela.

D-Wave a récemment lancé un environnement cloud pour interagir avec un ordinateur quantique.

Si vous êtes un développeur et que vous souhaitez réellement essayer d'utiliser un ordinateur quantique, c'est probablement le moyen le plus simple de le faire.

Il s'appelle Leap et se trouve sur //cloud.dwavesys.com/leap. Vous pouvez l'utiliser gratuitement pour résoudre des milliers de problèmes, et ils ont également des didacticiels faciles à suivre pour démarrer avec les ordinateurs quantiques une fois que vous vous êtes inscrit.

Note de bas de page:

  • Dans cet article, j'ai utilisé le terme «ordinateur ordinaire» pour désigner un ordinateur non quantique. Cependant, dans l'industrie de l'informatique quantique, les ordinateurs non quantiques sont généralement appelés ordinateurs classiques.