Τι είναι ο κβαντικός υπολογιστής; Εξηγείται με ένα απλό παράδειγμα.

Γεια σε όλους!

Τις προάλλες, επισκέφτηκα την D-Wave Systems στο Βανκούβερ του Καναδά. Είναι μια εταιρεία που κατασκευάζει υπερσύγχρονους κβαντικούς υπολογιστές.

Έχω μάθει πολλά για τους κβαντικούς υπολογιστές εκεί, οπότε θα ήθελα να μοιραστώ μερικά από αυτά που έμαθα εκεί μαζί σας σε αυτό το άρθρο.

Ο στόχος αυτού του άρθρου είναι να σας δώσει μια ακριβή διαίσθηση του τι ένας κβαντικός υπολογιστής χρησιμοποιεί ένα απλό παράδειγμα.

Αυτό το άρθρο δεν απαιτεί από εσάς να έχετε προηγούμενη γνώση είτε της κβαντικής φυσικής είτε της επιστήμης των υπολογιστών για να μπορέσετε να το κατανοήσετε.

Εντάξει, ας ξεκινήσουμε.

Επεξεργασία (26 Φεβ 2019): Δημοσίευσα πρόσφατα ένα βίντεο σχετικά με το ίδιο θέμα στο κανάλι μου στο YouTube. Θα συνιστούσα να το παρακολουθήσετε (κάντε κλικ εδώ) πριν ή μετά την ανάγνωση αυτού του άρθρου, διότι έχω προσθέσει κάποια επιπλέον, πιο αποχρωματικά επιχειρήματα στο βίντεο.

Τι είναι ο κβαντικός υπολογιστής;

Ακολουθεί μια περίληψη μιας φράσης για το τι είναι ένας κβαντικός υπολογιστής:

Ένας κβαντικός υπολογιστής είναι ένας τύπος υπολογιστή που χρησιμοποιεί την κβαντική μηχανική έτσι ώστε να μπορεί να εκτελεί συγκεκριμένα είδη υπολογισμού πιο αποτελεσματικά από ό, τι μπορεί ένας κανονικός υπολογιστής.

Υπάρχουν πολλά να αποσυμπιέσετε σε αυτήν την πρόταση, οπότε επιτρέψτε μου να σας καθοδηγήσω σε αυτό που χρησιμοποιεί ακριβώς ένα απλό παράδειγμα.

Για να εξηγήσω τι είναι ένας κβαντικός υπολογιστής, θα πρέπει πρώτα να εξηγήσω λίγο για τους κανονικούς (μη κβαντικούς) υπολογιστές.

Πώς ένας κανονικός υπολογιστής αποθηκεύει πληροφορίες

Τώρα, ένας κανονικός υπολογιστής αποθηκεύει πληροφορίες σε μια σειρά από 0 και 1.

Διαφορετικά είδη πληροφοριών, όπως αριθμοί, κείμενο και εικόνες μπορούν να αναπαρασταθούν με αυτόν τον τρόπο.

Κάθε μονάδα σε αυτήν τη σειρά 0 και 1 ονομάζεται λίγο. Έτσι, ένα bit μπορεί να οριστεί σε 0 ή 1.

Τώρα, τι γίνεται με τους κβαντικούς υπολογιστές;

Ένας κβαντικός υπολογιστής δεν χρησιμοποιεί bit για την αποθήκευση πληροφοριών. Αντ 'αυτού, χρησιμοποιεί κάτι που ονομάζεται qubits.

Κάθε qubit δεν μπορεί μόνο να οριστεί σε 1 ή 0, αλλά μπορεί επίσης να οριστεί σε 1 και 0. Αλλά τι σημαίνει αυτό ακριβώς;

Επιτρέψτε μου να το εξηγήσω με ένα απλό παράδειγμα. Αυτό θα είναι ένα κάπως τεχνητό παράδειγμα. Αλλά εξακολουθεί να είναι χρήσιμο να κατανοήσουμε πώς λειτουργούν οι κβαντικοί υπολογιστές.

Ένα απλό παράδειγμα για την κατανόηση του τρόπου λειτουργίας των κβαντικών υπολογιστών

Τώρα, ας υποθέσουμε ότι χρησιμοποιείτε ένα ταξιδιωτικό γραφείο και πρέπει να μετακινήσετε μια ομάδα ατόμων από τη μια τοποθεσία στην άλλη.

Για να διατηρήσουμε αυτό το απλό, ας πούμε ότι πρέπει να μετακινήσετε μόνο 3 άτομα προς το παρόν - Άλις, Μπέκι και Κρις.

Ας υποθέσουμε ότι έχετε κάνει κράτηση για 2 ταξί για αυτό το σκοπό και θέλετε να μάθετε ποιος μπαίνει σε ποιο ταξί.

Επίσης, ας υποθέσουμε ότι έχετε λάβει πληροφορίες για το ποιοι είναι οι φίλοι με ποιον και ποιοι είναι εχθροί με ποιον.

Εδώ, ας πούμε ότι:

  • Η Άλις και η Μπέκι είναι φίλες
  • Η Αλίκη και ο Κρις είναι εχθροί
  • Ο Μπέκι και ο Κρις είναι εχθροί

Και ας υποθέσουμε ότι ο στόχος σας εδώ είναι να χωρίσετε αυτήν την ομάδα 3 ατόμων στα δύο ταξί για να επιτύχετε τους ακόλουθους δύο στόχους:

  • Μεγιστοποιήστε τον αριθμό ζευγών φίλων που μοιράζονται το ίδιο αυτοκίνητο
  • Ελαχιστοποιήστε τον αριθμό των ζευγών εχθρών που μοιράζονται το ίδιο αυτοκίνητο

Εντάξει, λοιπόν αυτή είναι η βασική προϋπόθεση αυτού του προβλήματος. Ας σκεφτούμε πρώτα πώς θα λύσουμε αυτό το πρόβλημα χρησιμοποιώντας έναν κανονικό υπολογιστή.

Επίλυση αυτού του προβλήματος με έναν κανονικό υπολογιστή

Για να λύσετε αυτό το πρόβλημα με έναν κανονικό, μη κβαντικό υπολογιστή, θα πρέπει πρώτα να μάθετε πώς να αποθηκεύετε τις σχετικές πληροφορίες με bits.

Ας επισημάνουμε τα δύο ταξί Ταξί # 1 και Ταξί # 0.

Στη συνέχεια, μπορείτε να αντιπροσωπεύσετε ποιος μπαίνει σε αυτό το αυτοκίνητο με 3 bit.

Για παράδειγμα, μπορούμε να ορίσουμε τα τρία bits σε 0 , 0 ,και 1 για να αντιπροσωπεύσει:

  • Η Άλις μπαίνει στο ταξί # 0
  • Ο Μπέκι μπαίνει στο ταξί # 0
  • Ο Chris μπαίνει στο ταξί # 1

Δεδομένου ότι υπάρχουν δύο επιλογές για κάθε άτομο, υπάρχουν 2 * 2 * 2 = 8 τρόποι για να χωρίσετε αυτήν την ομάδα ατόμων σε δύο αυτοκίνητα.

Ακολουθεί μια λίστα με όλες τις πιθανές διαμορφώσεις:

Α | Β | ντο

0 | 0 | 0

0 | 0 | 1

0 | 1 | 0

0 | 1 | 1

1 | 0 | 0

1 | 0 | 1

1 | 1 | 0

1 | 1 | 1

Χρησιμοποιώντας 3 bit, μπορείτε να αντιπροσωπεύσετε οποιονδήποτε από αυτούς τους συνδυασμούς.

Υπολογισμός της βαθμολογίας για κάθε διαμόρφωση

Τώρα, χρησιμοποιώντας έναν κανονικό υπολογιστή, πώς θα καθορίζαμε ποια διαμόρφωση είναι η καλύτερη λύση;

Για να γίνει αυτό, ας καθορίσουμε πώς μπορούμε να υπολογίσουμε τη βαθμολογία για κάθε διαμόρφωση. Αυτή η βαθμολογία θα αντιπροσωπεύει το βαθμό στον οποίο κάθε λύση επιτυγχάνει τους δύο στόχους που ανέφερα νωρίτερα:

  • Μεγιστοποιήστε τον αριθμό ζευγών φίλων που μοιράζονται το ίδιο αυτοκίνητο
  • Ελαχιστοποιήστε τον αριθμό των ζευγών εχθρών που μοιράζονται το ίδιο αυτοκίνητο

Ας ορίσουμε απλώς το σκορ μας ως εξής:

(το σκορ μιας δεδομένης διαμόρφωσης) = (# ζευγάρια φίλων που μοιράζονται το ίδιο αυτοκίνητο) - (# ζεύγη εχθρού που μοιράζονται το ίδιο αυτοκίνητο)

Για παράδειγμα, ας υποθέσουμε ότι η Αλίκη, η Μπέκι και ο Κρις μπαίνουν στο Ταξί # 1. Με τρία bits, αυτό μπορεί να εκφραστεί ως 111 .

Σε αυτήν την περίπτωση, υπάρχει μόνο ένα ζευγάρι φίλων που μοιράζονται το ίδιο αυτοκίνητο - την Αλίκη και την Μπέκι.

Ωστόσο, υπάρχουν δύο ζεύγη εχθρών που μοιράζονται το ίδιο αυτοκίνητο - η Αλίκη και ο Κρις, και η Μπέκι και ο Κρις.

Έτσι, η συνολική βαθμολογία αυτής της διαμόρφωσης είναι 1-2 = -1.

Επίλυση του προβλήματος

Με όλες αυτές τις ρυθμίσεις, επιτέλους μπορούμε να επιλύσουμε αυτό το πρόβλημα.

Με έναν κανονικό υπολογιστή, για να βρείτε την καλύτερη διαμόρφωση, θα πρέπει ουσιαστικά να περάσετε από όλες τις διαμορφώσεις για να δείτε ποια επιτυγχάνει την υψηλότερη βαθμολογία.

Έτσι, μπορείτε να σκεφτείτε για την κατασκευή ενός πίνακα όπως αυτό:

Α | Β | Γ | Σκορ

0 | 0 | 0 | -1

0 | 0 | 1 | 1 <- μία από τις καλύτερες λύσεις

0 | 1 | 0 | -1

0 | 1 | 1 | -1

1 | 0 | 0 | -1

1 | 0 | 1 | -1

1 | 1 | 0 | 1 <- η άλλη καλύτερη λύση

1 | 1 | 1 | -1

Όπως μπορείτε να δείτε, υπάρχουν δύο σωστές λύσεις εδώ - 001 και 110, και οι δύο επιτυγχάνουν το σκορ 1.

Αυτό το πρόβλημα είναι αρκετά απλό. Γίνεται γρήγορα πολύ δύσκολο να επιλυθεί με έναν κανονικό υπολογιστή καθώς αυξάνουμε τον αριθμό των ατόμων σε αυτό το πρόβλημα.

Είδαμε ότι με 3 άτομα, πρέπει να περάσουμε από 8 πιθανές διαμορφώσεις.

Τι γίνεται αν υπάρχουν 4 άτομα; Σε αυτήν την περίπτωση, θα πρέπει να περάσουμε από 2 * 2 * 2 * 2 = 16 διαμορφώσεις.

Με n άτομα, θα χρειαστεί να περάσουμε από τις διαμορφώσεις (2 στη δύναμη του n) για να βρούμε την καλύτερη λύση.

Έτσι, αν υπάρχουν 100 άτομα, θα πρέπει να περάσουμε:

  • 2¹⁰⁰ ~ = 10³⁰ = ένα εκατομμύριο εκατομμύρια εκατομμύρια εκατομμύρια διαμορφώσεις.

Αυτό είναι απλώς αδύνατο να επιλυθεί με έναν κανονικό υπολογιστή.

Επίλυση αυτού του προβλήματος με έναν κβαντικό υπολογιστή

Πώς μπορούμε να επιλύσουμε αυτό το πρόβλημα με έναν κβαντικό υπολογιστή;

Για να το σκεφτούμε αυτό, ας επιστρέψουμε στην περίπτωση του διαχωρισμού 3 ατόμων σε δύο ταξί.

Όπως είδαμε νωρίτερα, υπήρχαν 8 πιθανές λύσεις σε αυτό το πρόβλημα:

Α | Β | ντο

0 | 0 | 0

0 | 0 | 1

0 | 1 | 0

0 | 1 | 1

1 | 0 | 0

1 | 0 | 1

1 | 1 | 0

1 | 1 | 1

Με έναν κανονικό υπολογιστή, χρησιμοποιώντας 3 bit, καταφέραμε να αντιπροσωπεύουμε μόνο μία από αυτές τις λύσεις κάθε φορά - για παράδειγμα, 001.

Ωστόσο, με έναν κβαντικό υπολογιστή, χρησιμοποιώντας 3 qubit , μπορούμε να αντιπροσωπεύσουμε και τις 8 από αυτές τις λύσεις ταυτόχρονα .

Υπάρχουν συζητήσεις για το τι σημαίνει ακριβώς, αλλά εδώ είναι ο τρόπος που το σκέφτομαι.

Πρώτα, εξετάστε το πρώτο qubit από αυτά τα 3 qubit. Όταν το ρυθμίζετε και στα δύο0 και 1, είναι σαν να δημιουργείς δύο παράλληλους κόσμους. (Ναι, είναι περίεργο, αλλά απλώς ακολουθήστε εδώ.)

Σε έναν από αυτούς τους παράλληλους κόσμους, το qubit ορίζεται στο 0. Στον άλλο, ορίζεται στο 1.

Τώρα, τι γίνεται αν ορίσετε και το δεύτερο qubit σε 0 και 1; Τότε, είναι σαν να δημιουργείς 4 παράλληλους κόσμους.

Στον πρώτο κόσμο, τα δύο qubits είναι 00. Στο δεύτερο, είναι 01. Στο τρίτο, είναι 10. Στο τέταρτο, είναι 11.

Ομοίως, αν ορίσετε και τα τρία qubit και στα 0 και 1, θα δημιουργούσατε 8 παράλληλους κόσμους - 000, 001, 010, 011, 100, 101, 110 και 111.

Αυτός είναι ένας παράξενος τρόπος σκέψης, αλλά είναι ένας από τους σωστούς τρόπους για να ερμηνεύσουμε πώς συμπεριφέρονται τα qubits στον πραγματικό κόσμο.

Τώρα, όταν εφαρμόζετε κάποιο είδος υπολογισμού σε αυτά τα τρία qubit, στην πραγματικότητα εφαρμόζετε τον ίδιο υπολογισμό και σε αυτούς τους 8 παράλληλους κόσμους ταυτόχρονα.

Έτσι, αντί να εξετάσουμε καθεμιά από αυτές τις πιθανές λύσεις διαδοχικά, μπορούμε να υπολογίσουμε τα αποτελέσματα όλων των λύσεων ταυτόχρονα.

Με αυτό το συγκεκριμένο παράδειγμα, θεωρητικά, ο κβαντικός υπολογιστής σας θα μπορούσε να βρει μία από τις καλύτερες λύσεις σε λίγα χιλιοστά του δευτερολέπτου. Και πάλι, αυτό είναι 001 ή 110 όπως είδαμε νωρίτερα:

Α | Β | Γ | Σκορ

0 | 0 | 0 | -1

0 | 0 | 1 | 1 <- μία από τις καλύτερες soluti ons

0 | 1 | 0 | -1

0 | 1 | 1 | -1

1 | 0 | 0 | -1

1 | 0 | 1 | -1

1 | 1 | 0 | 1 <- το άλλο καλύτερο, έτσι και με την λύση

1 | 1 | 1 | -1

Στην πραγματικότητα, για να λύσετε αυτό το πρόβλημα, θα πρέπει να δώσετε στον κβαντικό υπολογιστή σας δύο πράγματα:

  • Όλες οι πιθανές λύσεις αντιπροσωπεύονται με qubits
  • Μια συνάρτηση που μετατρέπει κάθε πιθανή λύση σε βαθμολογία. Σε αυτήν την περίπτωση, αυτή είναι η λειτουργία που μετρά τους αριθμούς ζευγών φίλων και ζευγών εχθρών που μοιράζονται το ίδιο αυτοκίνητο.

Δεδομένων αυτών των δύο πραγμάτων, ο κβαντικός υπολογιστής σας θα βρει μια από τις καλύτερες λύσεις σε λίγα χιλιοστά του δευτερολέπτου. Σε αυτήν την περίπτωση, είναι 001 ή 110 με σκορ 1.

Τώρα, θεωρητικά, ένας κβαντικός υπολογιστής μπορεί να βρει μία από τις καλύτερες λύσεις κάθε φορά που εκτελείται.

Ωστόσο, στην πραγματικότητα, υπάρχουν σφάλματα κατά την εκτέλεση ενός κβαντικού υπολογιστή. Έτσι, αντί να βρει την καλύτερη λύση, μπορεί να βρει τη δεύτερη καλύτερη λύση, την τρίτη καλύτερη λύση και ούτω καθεξής.

Αυτά τα σφάλματα γίνονται πιο εμφανή καθώς το πρόβλημα γίνεται όλο και πιο περίπλοκο.

Έτσι, στην πράξη, ίσως θέλετε να εκτελέσετε την ίδια λειτουργία σε έναν κβαντικό υπολογιστή δεκάδες φορές ή εκατοντάδες φορές. Στη συνέχεια, επιλέξτε το καλύτερο αποτέλεσμα από τα πολλά αποτελέσματα που έχετε.

Πώς κλιμακώνεται ένας κβαντικός υπολογιστής

Ακόμα και με τα λάθη που ανέφερα, ο κβαντικός υπολογιστής δεν έχει το ίδιο πρόβλημα κλιμάκωσης που υποφέρει από έναν κανονικό υπολογιστή.

Όταν υπάρχουν 3 άτομα που πρέπει να χωρίσουμε σε δύο αυτοκίνητα, ο αριθμός των λειτουργιών που πρέπει να εκτελέσουμε σε έναν κβαντικό υπολογιστή είναι 1. Αυτό συμβαίνει επειδή ένας κβαντικός υπολογιστής υπολογίζει την βαθμολογία όλων των διαμορφώσεων ταυτόχρονα.

Όταν υπάρχουν 4 άτομα, ο αριθμός των λειτουργιών παραμένει 1.

Όταν υπάρχουν 100 άτομα, ο αριθμός των λειτουργιών εξακολουθεί να είναι 1. Με μία μόνο λειτουργία, ένας κβαντικός υπολογιστής υπολογίζει τις βαθμολογίες όλων των διαστάσεων 2 = ~ = 10 one = ένα εκατομμύριο εκατομμύρια εκατομμύρια εκατομμύρια εκατομμύρια διαμορφώσεις ταυτόχρονα.

Όπως ανέφερα νωρίτερα, στην πράξη, είναι ίσως καλύτερο να τρέχετε τον κβαντικό υπολογιστή σας δεκάδες φορές ή εκατοντάδες φορές και να επιλέξετε το καλύτερο αποτέλεσμα από τα πολλά αποτελέσματα που έχετε.

Ωστόσο, είναι ακόμα πολύ καλύτερο από το να τρέχετε το ίδιο πρόβλημα σε έναν κανονικό υπολογιστή και να χρειάζεται να επαναλάβετε τον ίδιο τύπο υπολογισμού ένα εκατομμύριο εκατομμύρια εκατομμύρια εκατομμύρια εκατομμύρια φορές.

Τυλίγοντας

Ιδιαίτερες ευχαριστίες σε όλους στο D-Wave Systems που μου εξήγησαν υπομονετικά όλα αυτά.

Η D-Wave ξεκίνησε πρόσφατα ένα περιβάλλον cloud για αλληλεπίδραση με έναν κβαντικό υπολογιστή.

Εάν είστε προγραμματιστής και θέλετε πραγματικά να δοκιμάσετε να χρησιμοποιήσετε έναν κβαντικό υπολογιστή, είναι ίσως ο ευκολότερος τρόπος για να το κάνετε.

Ονομάζεται Leap και βρίσκεται στη διεύθυνση //cloud.dwavesys.com/leap. Μπορείτε να το χρησιμοποιήσετε δωρεάν για την επίλυση χιλιάδων προβλημάτων και έχουν επίσης εύκολες οδηγίες για να ξεκινήσετε με κβαντικούς υπολογιστές μόλις εγγραφείτε.

Υποσημείωση:

  • Σε αυτό το άρθρο, χρησιμοποίησα τον όρο «κανονικός υπολογιστής» για να αναφερθώ σε έναν μη κβαντικό υπολογιστή. Ωστόσο, στη βιομηχανία κβαντικών υπολογιστών, οι μη κβαντικοί υπολογιστές αναφέρονται συνήθως ως κλασικοί υπολογιστές.