La mappa degli algoritmi variazionali in PennyLane
Il paradigma ibrido quantistico-classico
Gli algoritmi quantistici della generazione attuale non sono puramente quantistici. Operano secondo un paradigma ibrido; il circuito quantistico esegue il calcolo che il computer classico non può fare efficientemente, ma l’ottimizzazione dei parametri è affidata a un ottimizzatore classico esterno (gradient descent, ADAM, COBYLA, BFGS).
Questo schema — noto come Variational Quantum Eigensolver nel contesto chimico, o più in generale come Variational Quantum Algorithm — è il paradigma dominante nell’era NISQ (Noisy Intermediate-Scale Quantum): processori con 10–1000 qubit, senza error correction completa, dove la profondità dei circuiti è limitata dalla decoerenza.
Il loop fondamentale è sempre lo stesso:
- Inizializza parametri θ
- Esegui circuito C(θ) sul QPU
- Misura il valore atteso ⟨ψ(θ)|H|ψ(θ)⟩
- Calcola gradiente ∂⟨H⟩/∂θ (parameter shift)
- Aggiorna θ con ottimizzatore classico
- Ripeti fino a convergenza
VQE — Variational Quantum Eigensolver
Il problema che risolve: trovare l’energia del ground state (stato fondamentale) di un sistema quantistico, tipicamente una molecola. Equivale a trovare il minimo autovalore di un operatore Hamiltoniano.
Perché è quantistico: lo spazio di Hilbert di una molecola con N elettroni cresce esponenzialmente. Simulare H₂O richiede già 10 qubit nella rappresentazione minimal basis; molecole farmacologicamente rilevanti richiedono centinaia o migliaia di qubit. I computer classici affrontano questo problema con approssimazioni (DFT, coupled cluster) che diventano inaccurate o computazionalmente proibitive su sistemi grandi.
Applicazioni enterprise: design di nuovi materiali, ottimizzazione di catalizzatori chimici, simulazione di reazioni per il settore farmaceutico. Il vantaggio quantistico in questo dominio è atteso essere tra i primi a diventare pratico su hardware fault-tolerant.
QAOA — Quantum Approximate Optimization Algorithm
Struttura: QAOA con p livelli alterna due operatori unitari:
– ‘U_C(γ)’: l’operatore di problema, che encode il costo da minimizzare
– ‘U_B(β)’: l’operatore di mixing, che esplora lo spazio delle soluzioni
Con p→∞, QAOA converge alla soluzione esatta. Con p finito (come nel regime NISQ), produce soluzioni approssimate di qualità crescente con p.
Applicazioni enterprise: ottimizzazione di portafogli finanziari (selezione di asset con vincoli di rischio), routing logistico, scheduling di produzione, ottimizzazione di reti di distribuzione. Nel mio Quantum Labs ho implementato casi d’uso specifici per FinTech e supply chain che approfondirò in articoli dedicati.
I template: il livello alto dell'astrazione
PennyLane offre una libreria di templates – layer quantistici riutilizzabili con strutture variazionali collaudate:
`qml.StronglyEntanglingLayers(weights, wires)`: il template più usato per QNN generiche. Alterna rotazioni SU(2) locali ed entanglement CNOT con una struttura che garantisce espressività (alta capacità di approssimare funzioni arbitrarie sul manifold quantistico).
`qml.BasicEntanglerLayers(weights, wires)`: versione semplificata, con solo RX e CNOT. Più leggera, utile su hardware con risorse limitate.
`qml.QAOAEmbedding(features, weights, wires)`: template specifico per QAOA, che combina encoding e ottimizzazione in un’unica struttura.
`qml.AngleEmbedding(features, wires)` e `qml.AmplitudeEmbedding(features, wires, normalize=True)`: i due principali metodi per caricare dati classici in un circuito quantistico. AngleEmbedding usa rotazioni (richiede N qubit per N feature), AmplitudeEmbedding comprime 2^N valori in N qubit sfruttando la sovrapposizione.
QNN — Quantum Neural Network
Il problema che risolve: classificazione, regressione e più in generale function approximation su dati classici, sfruttando lo spazio di Hilbert come spazio delle feature implicite.
Logica: una QNN è un circuito variazionale in cui i dati vengono prima encodati (angle embedding o amplitude embedding), poi processati da layer variazionali parametrizzati (StronglyEntanglingLayers), e infine misurati per produrre un output scalare o vettoriale. Può essere usata come layer autonomo o integrata in un modello ibrido PyTorch.
Applicazioni enterprise: classificazione di serie temporali finanziarie, anomaly detection su dati di rete, previsione di mercato. Il vantaggio rispetto alle reti classiche non è universale — dipende dalla struttura dei dati e dal numero di qubit disponibili. Ma in specifici domini con dati strutturati quantisticamente (o con kernel quantistici), le QNN mostrano performance competitive già oggi.
Scegliere l'algoritmo giusto: una guida rapida
Il tipo di problema guida la scelta:
– Simulazione di sistemi fisici/chimici → VQE
– Ottimizzazione combinatoria con vincoli → QAOA
– Classificazione/regressione su dati strutturati → QNN
– Ottimizzazione continua su spazi ad alta dimensione → VQE con ansatz personalizzato