Κβαντική Πληροφορική

Κβαντικές Πύλες

1. Εισαγωγή και Βασικές Έννοιες

Κβαντικές Πύλες

Στην κλασική πληροφορική, η βασική μονάδα πληροφορίας είναι το bit (0 ή 1). Στους κβαντικούς υπολογιστές, η βασική μονάδα είναι το qubit, το οποίο λόγω της υπέρθεσης μπορεί να είναι 0 και 1 ταυτόχρονα. Οι κβαντικές πύλες δεν είναι διακόπτες, αλλά μαθηματικές περιστροφές της κατάστασης του qubit πάνω στη λεγόμενη Σφαίρα Bloch.

Βασικές Πύλες ενός Qubit:
  • Πύλη X (NOT): Αντιστρέφει την κατάσταση (το |0⟩ γίνεται |1⟩).
  • Πύλη Hadamard (H): Βάζει το qubit σε τέλεια υπέρθεση (50% πιθανότητα για 0 ή 1).
  • Πύλη Z: Αλλάζει τη φάση του qubit χωρίς να επηρεάζει τις πιθανότητες μέτρησης.

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

2. Κβαντικός Εναγκαλισμός & Πύλες Πολλών Qubits

Κβαντικές Πύλες

Η πύλη CNOT (Controlled-NOT) είναι η βάση για τη συνεργασία πολλών qubits. Αν το qubit-ελεγκτής είναι |1⟩, τότε αντιστρέφει την κατάσταση του qubit-στόχου.

Είσοδος Ελεγκτή Είσοδος Στόχου Έξοδος Ελεγκτή Έξοδος Στόχου
|0⟩|0⟩|0⟩|0⟩
|0⟩|1⟩|0⟩|1⟩
|1⟩|0⟩|1⟩|1⟩
|1⟩|1⟩|1⟩|0⟩

Συνδυάζοντας μια πύλη Hadamard και μια CNOT, δημιουργούμε το φαινόμενο του Κβαντικού Εναγκαλισμού (Entanglement), συνδέοντας τα qubits έτσι ώστε η κατάσταση του ενός να καθορίζει ακαριαία το άλλο.

3. Αλγόριθμος του Shor (Σπάσιμο Κρυπτογράφησης)

Κβαντικές Πύλες

Ο αλγόριθμος του Shor βρίσκει τους πρώτους παράγοντες μεγάλων αριθμών, σπάζοντας την κρυπτογράφηση RSA. Λειτουργεί μετατρέποντας το πρόβλημα σε εύρεση περιόδου (συχνότητας).

  • Υπέρθεση: Οι πύλες Hadamard δημιουργούν μια μαζική υπέρθεση όλων των πιθανών αριθμών.
  • Παράλληλος Υπολογισμός: Ελεγχόμενες πύλες εκτελούν μαθηματικές πράξεις για όλες τις τιμές ταυτόχρονα.
  • Κβαντικός Μετασχηματισμός Fourier (QFT): Πύλες φάσης και Hadamard ευθυγραμμίζουν τις φάσεις, προκαλώντας εποικοδομητική συμβολή στις σωστές απαντήσεις και καταστρεπτική στις λάθος.

4. Αλγόριθμος του Grover (Αναζήτηση σε Βάσεις Δεδομένων)

Κβαντικές Πύλες

Ο αλγόριθμος του Grover επιτρέπει την αναζήτηση σε μη ταξινομημένες βάσεις δεδομένων σε χρόνο √N αντί για N προσπάθειες. Χρησιμοποιεί την τεχνική της Ενίσχυσης Πλάτους.

Το Μαντείο (Oracle) αναποδογυρίζει τη φάση της σωστής απάντησης σε αρνητική. Στη συνέχεια, ο Διαχύτης (Diffusion Operator), ένα δίκτυο από πύλες H και X, κάνει κατοπτρισμό γύρω από τον μέσο όρο, εκτοξεύοντας την πιθανότητα της σωστής απάντησης προς τα πάνω.

5. Πρακτική Εφαρμογή και Υλοποίηση σε Κώδικα

Κβαντικές Πύλες

Ακολουθεί η υλοποίηση του αλγορίθμου Grover για 2 qubits με τη χρήση της βιβλιοθήκης Qiskit της IBM για την εύρεση της κατάστασης |11⟩:

from qiskit import QuantumCircuit
from qiskit.primitives import StatevectorSampler

qc = QuantumCircuit(2, 2)

# ΒΗΜΑ 1: Υπέρθεση
qc.h(0)
qc.h(1)
qc.barrier()

# ΒΗΜΑ 2: Μαντείο (Oracle)
qc.cz(0, 1)
qc.barrier()

# ΒΗΜΑ 3: Διαχύτης
qc.h(0)
qc.h(1)
qc.x(0)
qc.x(1)
qc.cz(0, 1)
qc.x(0)
qc.x(1)
qc.h(0)
qc.h(1)
qc.barrier()

# ΒΗΜΑ 4: Μέτρηση
qc.measure([0, 1], [0, 1])

sampler = StatevectorSampler()
job = sampler.run([qc])
print(job.result()[0].data.c.get_counts())
# Έξοδος: {'11': 1} (100% επιτυχία)