Πίνακας περιεχομένων[Κρύβω][Προβολή]
Πιο γρήγορα από ποτέ, ο κόσμος αλλάζει λόγω της ψηφιακής αλλαγής.
Με την επικείμενη έλευση ενός άλλου ολοκαίνουργιου κύματος τεχνολογίας ικανού να αλλάξει δραστικά τα σημερινά παραδείγματα με εκπληκτική ταχύτητα και δύναμη: ο κβαντικός υπολογισμός, η κατανόηση των θεμελιωδών ιδεών της ψηφιακής εποχής θα γίνει ακόμη πιο σημαντική.
Μια πρωτοποριακή τεχνική που ονομάζεται κβαντικός υπολογισμός χρησιμοποιεί την κβαντική φυσική για την επίλυση προβλημάτων που είναι πέρα από το πεδίο εφαρμογής των συμβατικών υπολογιστών.
Οι αρχές της κβαντικής θεωρίας δείχνουν πώς η ύλη και η ενέργεια συμπεριφέρονται σε ατομική και υποατομική κλίμακα, και το Qiskit της IBM είναι ένα κιτ ανάπτυξης λογισμικού κβαντικού λογισμικού ανοιχτού κώδικα που βοηθά στη δημιουργία συστημάτων κβαντικών υπολογιστών.
Αυτό το άρθρο προσπαθεί να το εξηγήσει και να σας παρέχει μια επισκόπηση του κβαντικού υπολογισμού.
Θα εξηγήσουμε στους αναγνώστες μας με τη βοήθεια ενός κβαντικού υπολογισμού ανοιχτού κώδικα SDK, δηλ. Qiskit και αφήστε τους να εξερευνήσουν χρησιμοποιώντας Jupyter Notebooks φιλοξενείται στο IBM Quantum Lab.
Τι είναι ο Κβαντικός Υπολογισμός;
Κβαντική υπολογιστική είναι ένας κλάδος της επιστήμης των υπολογιστών που εστιάζει στην ανάπτυξη τεχνολογίας υπολογιστών χρησιμοποιώντας ιδέες από την κβαντική θεωρία.
Εκμεταλλεύεται την εξαιρετική ικανότητα των υποατομικών σωματιδίων να υπάρχουν ταυτόχρονα σε πολλές καταστάσεις, όπως το 0 και το 1.
Είναι σε θέση να επεξεργάζονται πολύ περισσότερα δεδομένα από τους κανονικούς υπολογιστές.
Στις διαδικασίες κβαντικού υπολογισμού, ένα qubit δημιουργείται χρησιμοποιώντας την κβαντική κατάσταση ενός αντικειμένου. Οι βασικές πληροφορίες στον κβαντικό υπολογισμό είναι τα qubits.
Εκτελούν την ίδια λειτουργία με τα bit στον συμβατικό υπολογισμό στον κβαντικό υπολογισμό, αλλά δρουν αρκετά διαφορετικά. Οι κβαντικοί υπολογιστές είναι ένα πεδίο που εμφανίστηκε τη δεκαετία του 1980.
Στη συνέχεια ανακαλύφθηκε ότι οι κβαντικοί αλγόριθμοι ήταν πιο αποτελεσματικοί στην εκτέλεση ορισμένων εργασιών στον υπολογιστή από τους κλασσικούς αντίστοιχους.
Η υπέρθεση και η εμπλοκή, δύο έννοιες της κβαντικής φυσικής, είναι τα θεμέλια στα οποία βασίζονται αυτοί οι υπερυπολογιστές.
Σε σύγκριση με τους συμβατικούς υπολογιστές, οι κβαντικοί υπολογιστές μπορούν επί του παρόντος να κάνουν εργασίες τάξεων μεγέθους πιο γρήγορα, ενώ καταναλώνουν πολύ λιγότερη ενέργεια.
Πρέπει να προχωρήσουμε στη λειτουργία των κβαντικών υπολογιστών για να το κατανοήσουμε πλήρως. Ας ξεκινήσουμε τώρα.
Πώς πραγματικά λειτουργεί ένας κβαντικός υπολογιστής;
Σε σύγκριση με τους παραδοσιακούς υπολογιστές που έχουμε συνηθίσει, οι κβαντικοί υπολογιστές προσεγγίζουν διαφορετικά την επίλυση προβλημάτων. Για ορισμένες εργασίες, οι κβαντικοί υπολογιστές είναι προτιμότεροι από τους παραδοσιακούς με διάφορους τρόπους.
Η ικανότητά τους να υπάρχουν σε πολλές πολιτείες ταυτόχρονα θεωρείται ότι είναι η αιτία. Από την άλλη πλευρά, οι συμβατικοί υπολογιστές μπορούν να βρίσκονται μόνο σε μία κατάσταση ταυτόχρονα.
Υπάρχουν τρεις βασικές έννοιες που πρέπει να κατανοήσετε για να κατανοήσετε πώς λειτουργούν οι κβαντικοί υπολογιστές:
- Προσθήκη.
- Μπλέξιμο.
- Παρέμβαση.
Προσθήκη
Τα bit είναι τα θεμελιώδη στοιχεία των παραδοσιακών υπολογιστών. Τα κβαντικά bit, ή Qubits, είναι οι βασικές μονάδες των κβαντικών υπολογιστών.
Βασικά, τα κβαντικά bit λειτουργούν διαφορετικά. Ένα δυαδικό bit, μερικές φορές γνωστό ως παραδοσιακό bit, είναι ένας διακόπτης που μπορεί να είναι είτε 0 είτε 1.
Λαμβάνουμε πίσω την τρέχουσα κατάσταση του bit όταν το μετράμε. Τα Qubits αποτελούν εξαίρεση σε αυτό. Τα Qubits μπορούν να συγκριθούν με βέλη που δείχνουν σε τρεις διαστάσεις.
Βρίσκονται στις συνθήκες 0 αν δείχνουν προς τα πάνω. Βρίσκονται στην κατάσταση 1 εάν δείχνουν προς τα κάτω. Το ίδιο ισχύει και με τα κλασικά bits.
Ωστόσο, μπορούν επίσης να επιλέξουν να βρίσκονται σε κατάσταση υπέρθεσης.
Ένα βέλος βρίσκεται στην κατάσταση όπου δείχνει προς οποιαδήποτε άλλη κατεύθυνση. Η υπέρθεση των 0 και 1 οδηγεί σε αυτή την κατάσταση. Ένα Qubit θα εξακολουθεί να παράγει είτε 1 είτε 0 ως αποτέλεσμα όταν μετρηθεί.
Ωστόσο, ο προσανατολισμός του βέλους καθορίζει μια πιθανότητα που είναι σχετική.
Είναι πιο πιθανό να λάβετε ένα 1 εάν το βέλος δείχνει κυρίως προς τα κάτω και ένα 0 εάν είναι στραμμένο κυρίως προς τα πάνω.
Θα έχετε 50% πιθανότητα να κερδίσετε για κάθε ένα αν το βέλος βρίσκεται στο κέντρο. Με λίγα λόγια, αυτό είναι υπέρθεση.
Μπλέξιμο
Τα bit σε έναν παραδοσιακό υπολογιστή είναι ανεξάρτητα το ένα από το άλλο. Η κατάσταση του ενός bit δεν έχει καμία σχέση με την κατάσταση του άλλου bit.
Τα qubits στους κβαντικούς υπολογιστές μπορούν να μπλέξουν το ένα με το άλλο. Αυτό σημαίνει ότι συγχωνεύονται σε μια ενιαία μεγάλη κβαντική κατάσταση.
Για παράδειγμα, θεωρήστε δύο qubits που βρίσκονται σε διάφορες καταστάσεις υπέρθεσης αλλά δεν είναι ακόμη μπλεγμένα. Αυτή τη στιγμή, η πιθανότητα τους δεν εξαρτάται η μία από την άλλη.
Όταν τις εμπλέκουμε, πρέπει να απορρίψουμε αυτές τις ανεξάρτητες πιθανότητες και να προσδιορίσουμε τις πιθανότητες όλων των εναλλακτικών καταστάσεων από τις οποίες μπορούμε να ξεφύγουμε, δηλαδή, 00, 01, 10 και 11.
Η κατανομή πιθανότητας ολόκληρου του συστήματος αλλάζει εάν αλλάξει η κατεύθυνση του βέλους σε ένα qubit επειδή τα qubit είναι μπερδεμένα.
Η ανεξαρτησία των qubits το ένα από το άλλο έχει χαθεί. Κάθε ένα από αυτά είναι ένα συστατικό της ίδιας μεγάλης κατάστασης. Ανεξάρτητα από το πόσα qubits έχετε, αυτό εξακολουθεί να ισχύει.
Υπάρχει ένας πιθανός συνδυασμός 2n καταστάσεων για έναν κβαντικό υπολογιστή με n qubits.
Έχετε μια κατανομή πιθανότητας σε δύο καταστάσεις, για παράδειγμα, για ένα qubit. Έχετε μια κατανομή πιθανότητας σε τέσσερις καταστάσεις για δύο qubits, κ.λπ. Η κύρια διάκριση μεταξύ κλασικών και κβαντικών υπολογιστών είναι αυτή.
Μπορείτε να βάλετε τους κλασικούς υπολογιστές σε όποια κατάσταση επιλέξετε, αλλά μόνο έναν κάθε φορά. Όλες αυτές οι καταστάσεις μπορούν να υπάρχουν ταυτόχρονα σε κβαντικούς υπολογιστές ως υπέρθεση.
Πώς μπορεί ο υπολογιστής να επωφεληθεί από το να βρίσκεται σε όλες αυτές τις καταστάσεις ταυτόχρονα; Το τελευταίο στοιχείο παρεμβολής μπαίνει σε αυτό το σημείο.
Παρεμβολή
Μια συνάρτηση κβαντικού κύματος μπορεί να χρησιμοποιηθεί για να περιγράψει την κατάσταση ενός qubit.
Η θεμελιώδης μαθηματική περιγραφή των πάντων στην κβαντική φυσική παρέχεται από τις κυματικές συναρτήσεις.
Όταν μπλέκονται πολλά qubits, οι μεμονωμένες κυματικές συναρτήσεις τους συνδυάζονται για να σχηματίσουν μια ενιαία κυματική συνάρτηση που περιγράφει τη συνολική κατάσταση του κβαντικού υπολογιστή.
Η παρεμβολή είναι το αποτέλεσμα της προσθήκης αυτών των κυματοσυναρτήσεων μαζί. Όταν τα κύματα προστίθενται, μπορεί να αλληλεπιδράσουν εποικοδομητικά και να συνδυαστούν για να δημιουργήσουν ένα μεγαλύτερο κύμα, όπως ακριβώς κάνουν οι κυματισμοί του νερού.
Μπορούν επίσης να αλληλεπιδράσουν καταστροφικά για να αντιμετωπίσουν το ένα το άλλο. Η ποικίλη πιθανότητα των διαφόρων καταστάσεων καθορίζεται από τη συνολική κυματική συνάρτηση του κβαντικού υπολογιστή.
Μπορούμε να αλλάξουμε την πιθανότητα να εμφανιστούν ορισμένες καταστάσεις όταν μετράμε τον κβαντικό υπολογιστή αλλάζοντας τις καταστάσεις διαφόρων qubits.
Παρόλο που ο κβαντικός υπολογιστής μπορεί να υπάρχει σε πολλές υπερθέσεις καταστάσεων ταυτόχρονα, οι μετρήσεις αποκαλύπτουν μόνο μία από αυτές τις καταστάσεις.
Επομένως, ενώ χρησιμοποιείται ένας κβαντικός υπολογιστής για την ολοκλήρωση μιας εργασίας υπολογισμού, απαιτούνται εποικοδομητικές παρεμβολές για να αυξηθεί η πιθανότητα λήψης της σωστής απάντησης και καταστροφική παρεμβολή για μείωση της πιθανότητας λήψης λανθασμένης απάντησης.
Τώρα, ας ξεκινήσουμε με το Qiskit.
Τι είναι Qiskit?
Το Qiskit είναι ένα πλαίσιο λογισμικού που χρηματοδοτείται από την IBM και έχει σχεδιαστεί για να διευκολύνει οποιονδήποτε να εισέλθει στον τομέα των κβαντικών υπολογιστών.
Επειδή οι κβαντικοί υπολογιστές είναι δύσκολο να αποκτηθούν, μπορείτε να αποκτήσετε έναν από έναν πάροχο cloud, όπως η IBM, χρησιμοποιώντας την εργαλειοθήκη Qiskit.
Διατίθεται δωρεάν και όλος ο κώδικάς του είναι ανοικτού κώδικα.
Υπάρχει ένα ηλεκτρονικό εγχειρίδιο που σας διδάσκει όλα τα βασικά στοιχεία της κβαντικής φυσικής, η οποία είναι πολύ χρήσιμη για όσους δεν είναι εξοικειωμένοι με το θέμα. Η Python χρησιμοποιείται για την ανάπτυξη του κιτ εργαλείων Qiskit.
Έτσι, εάν είστε εξοικειωμένοι με τη γλώσσα προγραμματισμού Python, θα αναγνωρίσετε πολύ κώδικα.
Το πλαίσιο λογισμικού είναι κατάλληλο για όσους το επιθυμούν μάθετε για τους κβαντικούς υπολογιστές ενώ αποκτά και πρακτική εμπειρία.
Η πιο θεμελιώδης πτυχή του Qiskit είναι ότι λειτουργεί σε δύο στάδια. Ένα από τα βήματα είναι το στάδιο κατασκευής, στο οποίο δημιουργούμε πολλά κβαντικά κυκλώματα και χρησιμοποιούμε αυτά τα κυκλώματα για να λύσουμε το πρόβλημα.
Στη συνέχεια, αφού ολοκληρώσουμε το στάδιο δόμησης ή φτάσουμε στη λύση, προχωράμε στο επόμενο στάδιο, το οποίο είναι γνωστό ως στάδιο εκτέλεσης, στο οποίο προσπαθούμε να εκτελέσουμε την κατασκευή ή τη λύση μας στα διάφορα backends (state vector backend, unitary backend, open ASM backend), και αφού ολοκληρωθεί η εκτέλεση, επεξεργαζόμαστε τα δεδομένα στο build για την επιθυμητή έξοδο.
Ξεκινώντας με το Qiskit
Στον προσωπικό σας υπολογιστή ή στο Notebook Jupyter που φιλοξενεί η IBM, μπορείτε να το εγκαταστήσετε τοπικά. Γράψτε τον ακόλουθο κώδικα για εγκατάσταση τοπικά σε υπολογιστή με Windows:
Πρέπει να εγγραφούμε εδώ για να αποκτήσουμε πρόσβαση στο διακριτικό API που μας δίνει τη δυνατότητα να χρησιμοποιήσουμε τις κβαντικές συσκευές της IBM και, στη συνέχεια, μπορούμε να αρχίσουμε να εργαζόμαστε με τον ιστότοπο της εταιρείας. Μπορείτε να φανταστείτε να το κάνετε αυτό χρησιμοποιώντας ένα φορητό υπολογιστή Jupyter που είναι εγκατεστημένο στο Qiskit που λειτουργεί στο διαδίκτυο.
Μπορείτε να αποκτήσετε πρόσβαση σε αυτό επιλέγοντας το προφίλ σας από το μενού στην επάνω δεξιά γωνία της σελίδας και, στη συνέχεια, επιλέγοντας Πληροφορίες λογαριασμού. Μπορείτε να βρείτε το διακριτικό API σας στην ενότητα για τα διακριτικά API με τη μορφή ***. Αντιγράφεται και στη συνέχεια εισάγεται στον ακόλουθο κωδικό:
Μόλις εκτελεστεί αυτός ο κώδικας, το διακριτικό API σας θα αποθηκευτεί στον υπολογιστή σας, επιτρέποντάς σας να χρησιμοποιείτε τις κβαντικές συσκευές της IBM. Εισαγάγετε τα ακόλουθα για να διαπιστώσετε εάν έχετε πρόσβαση σε μια τέτοια συσκευή:
Εάν εκτελείται ο προαναφερόμενος κώδικας, θα πρέπει να μπορείτε να εκτελείτε κώδικα όχι μόνο στον υπολογιστή σας αλλά και στέλνοντας τα ενσωματωμένα κβαντικά κυκλώματα στις κβαντικές συσκευές της IBM και λαμβάνοντας αποτελέσματα.
Έτσι, χρησιμοποιώντας τη βιβλιοθήκη κυκλωμάτων, μπορούμε να αρχίσουμε να αναπτύσσουμε τον πρώτο μας κβαντικό αλγόριθμο. Ξεκινάμε εισάγοντας τις βασικές εξαρτήσεις από το Qiskit στο έργο μας.
Στη συνέχεια κατασκευάζουμε έναν κβαντικό καταχωρητή δύο qubit και έναν συμβατικό καταχωρητή δύο bit.
Έτσι, τώρα έχουμε δημιουργήσει και έναν κλασικό και έναν κβαντικό μητρώο. Χρησιμοποιώντας αυτά τα δύο, μπορούμε να κατασκευάσουμε το κύκλωμα και αν, οποιαδήποτε στιγμή κατά τη διάρκεια της τροποποίησης του κυκλώματος, θέλετε να σκιαγραφήσετε πώς μοιάζει το κβαντικό κύκλωμα, γράψτε τον ακόλουθο κώδικα:
Μπορούμε να δούμε από την εικόνα ότι το κύκλωμα αποτελείται από δύο κβαντικά και δύο κλασικά μπιτ.
Όπως είναι, αυτό το σιρκουί στερείται πυλών, κάτι που το καθιστά αδιάφορο. Τώρα ας κατασκευάσουμε το κύκλωμα χρησιμοποιώντας τις κβαντικές πύλες. Όπως το κλασικό λογικές πύλες (ΚΑΙ, Ή πύλες) είναι για κανονικά ψηφιακά κυκλώματα, οι κβαντικές πύλες είναι τα θεμελιώδη συστατικά των κβαντικών κυκλωμάτων.
Η εφαρμογή της πύλης Hadamard στο πρώτο qubit είναι το πρώτο βήμα για τη δημιουργία εμπλοκής. Στη συνέχεια, χρησιμοποιώντας τον ακόλουθο κώδικα, θα προσθέσουμε μια ελεγχόμενη λειτουργία x δύο qubit:
Τώρα που αυτοί οι δύο τελεστές έχουν χρησιμοποιηθεί για την κατασκευή του κβαντικού μας κυκλώματος, είναι καιρός να μετρήσουμε τα κβαντικά bit (qubits), να λάβουμε αυτές τις μετρήσεις και να τα αποθηκεύσουμε στα κλασικά bit. Ας δημιουργήσουμε τον απαραίτητο κώδικα για να το πετύχουμε:
Το παρακάτω διάγραμμα απεικονίζει τη διάταξη του κυκλώματος μας:
Το κύκλωμα πρέπει στη συνέχεια να εκτελεστεί σε έναν παραδοσιακό προσομοιωτή υπολογιστή. Το κύκλωμα ολοκληρώθηκε. Και εξετάστε τα αποτελέσματα αυτής της εκτέλεσης.
Οι πληροφορίες που λαμβάνονται από την εκτέλεση αυτού του κυκλώματος αποθηκεύονται στη μεταβλητή αποτελέσματος. Ας εμφανίσουμε αυτά τα αποτελέσματα χρησιμοποιώντας ένα ιστόγραμμα γραφικής παράστασης.
Αυτό συμβαίνει όταν τρέχουμε το κβαντικό μας κύκλωμα. Για τους αριθμούς 00 και 11, λαμβάνουμε πιθανότητες περίπου 50%. Το αρχικό κύκλωμα κβαντικού υπολογιστή σας κατασκευάστηκε. Συγχαρητήρια!
Εφαρμογές Qiskit Quantum Computing
Qiskit Finance
Μια συλλογή από επιδεικτικά εργαλεία και εφαρμογές προσφέρεται από την Qiskit Finance. Αυτά περιλαμβάνουν μεταφραστές Ising για βελτιστοποίηση χαρτοφυλακίου, προμηθευτές δεδομένων για πραγματικά ή τυχαία δεδομένα και υλοποιήσεις για τιμολόγηση διαφόρων χρηματοοικονομικών επιλογών ή αξιολογήσεις πιστωτικού κινδύνου.
Qiskit Nature
Εφαρμογές όπως αναδίπλωση πρωτεΐνης και ηλεκτρονική/δονική δομή Οι υπολογισμοί τόσο για διεγερμένες όσο και για βασικές καταστάσεις υποστηρίζονται από το Qiskit Nature.
Προσφέρει όλα τα μέρη που απαιτούνται για τη σύνδεση κλασσικών κωδίκων και την αυτόματη μετατροπή σε διαφορετικές αναπαραστάσεις που χρειάζονται οι κβαντικοί υπολογιστές.
Qiskit Machine Learning
Quantum μάθηση μηχανής Οι μέθοδοι που τις χρησιμοποιούν για την αντιμετώπιση διαφόρων προβλημάτων, όπως η παλινδρόμηση και η ταξινόμηση, παρέχονται από το Qiskit Machine Learning καθώς και από θεμελιώδεις κβαντικούς πυρήνες και κβαντικά νευρωνικά δίκτυα (QNNs) ως δομικά στοιχεία.
Επιτρέπει επίσης τη σύνδεση των QNN με το PyTorch με σκοπό την ενσωμάτωση κβαντικών στοιχείων σε κλασικές λειτουργίες.
Βελτιστοποίηση Qiskit
Το Qiskit Optimization προσφέρει όλο το φάσμα των υπηρεσιών βελτιστοποίησης, συμπεριλαμβανομένης της μοντελοποίησης υψηλού επιπέδου θεμάτων βελτιστοποίησης, αυτοματοποιημένης μετάφρασης προβλημάτων σε διάφορες απαραίτητες αναπαραστάσεις και μια συλλογή απλών μεθόδων κβαντικής βελτιστοποίησης.
Συμπέρασμα
Συμπερασματικά, ενώ ο ταχύτερος υπερυπολογιστής που είναι τώρα διαθέσιμος διαρκεί χρόνια, οι κβαντικοί υπολογιστές μπορούν να σπάσουν γρήγορα τις τρέχουσες μεθόδους κρυπτογράφησης.
Παρά το γεγονός ότι οι κβαντικοί υπολογιστές θα είναι σε θέση να σπάσουν πολλές από τις τεχνικές κρυπτογράφησης που χρησιμοποιούνται σήμερα, αναμένεται ότι θα δημιουργήσουν υποκατάστατα ανθεκτικά στο hack.
Η βελτιστοποίηση των προβλημάτων είναι η δύναμη των κβαντικών υπολογιστών. Για περισσότερες λεπτομέρειες, επισκεφθείτε το Qiskit GitHub.
Αφήστε μια απάντηση