Il linguaggio di programmazione quantistica di Microsoft, Q#, potrebbe aiutarti a imparare la fisica quantistica

Krysta Svore Microsoft Q# Quantum Computing Coding
Microsoft

I computer stanno per diventare strani.

Contenuti

  • Rendere accessibile il mistero
  • Una comunità quantistica
  • Prepararsi per domani

Dopo decenni come teoria, i primi computer quantistici ora si trovano in pochi laboratori selezionati in tutto il mondo. Sono rudimentali e probabilmente meno pratici dei primi computer elettronici come l’ENIAC da 50 tonnellate. Eppure i ricercatori stanno facendo progressi. IBM, Google e Intel stanno facendo progressi sull’hardware quantistico e un computer quantistico pratico sembra finalmente una realtà del prossimo futuro invece che un argomento di fantascienza.

Questa è un'opportunità. È anche un problema. La fisica quantistica è uno strano regno di teletrasporto e probabilità che non segue le regole con cui abbiamo familiarità. La maggior parte delle persone non capisce la meccanica quantistica, e questo include i programmatori, le persone che dovranno mettere in pratica i computer quantistici.

Imparentato

  • Le parti per la riparazione della superficie sono ora disponibili tramite Microsoft Store
  • Microsoft Teams sta ottenendo nuovi strumenti di intelligenza artificiale e sono gratuiti
  • Microsoft anticipa la revisione del design delle principali app di Windows 11

Microsoft ha un piano per educarli.

Rendere accessibile il mistero

Qualsiasi sviluppatore che desideri apprendere un nuovo linguaggio di programmazione, come C# o Javascript, desidera utilizzare immediatamente le sue lezioni. Tuttavia, l’infanzia dell’informatica quantistica può rendere tutto ciò difficile. Creare un programma per molti dispositivi quantistici è molto simile a provare a scrivere in codice macchina binario, anche se è ancora più difficile, a causa della meccanica quantistica. Questo non è solo un campo ben compreso ma difficile da tradurre. È un’area di studio in cui alcuni fondamenti rimangono sconosciuti.

Microsoft Quantum Q#, codifica su un computer
Matt Smith/Tendenze digitali

Ciò include il motivo Perché funzionano i computer quantistici. “Ciò che abbiamo nell’informatica quantistica è la prova che i computer quantistici possono superare i computer classici”, ha affermato Krysta Svore, responsabile della ricerca principale presso il gruppo Quantum Architectures and Computation di Microsoft. “Il Santo Graal nel nostro campo ne sarebbe una vera prova matematica”.

L’informatica quantistica è così nuova, e così diversa da qualsiasi altra cosa prima, che persino i migliori ricercatori rimangono all’oscuro di elementi importanti e fondamentali.

Informatica quantistica 101

Insegnare ai programmatori a programmare per il quantum su hardware reale è fuori discussione per ora. Il linguaggio di programmazione quantistica di Microsoft, Q#, risolve questo problema offrendo un accesso semplice agli strumenti necessari per iniziare a programmare. Ciò significa rendere Q# il più familiare e accessibile possibile, anche se gli scienziati continuano a fare scoperte fondamentali sui fondamenti del funzionamento dei computer quantistici.

Q# non è nascosto dietro un muro di documentazione pessima e programmi di installazione scarsamente spiegati. I programmatori possono accedervi tramite Visual Studio, l’ambiente di sviluppo più popolare al mondo. E i programmatori non hanno bisogno di accedere a un computer quantistico per usarlo.

Invece, possono programmare come se il loro codice potesse essere eseguito su un dispositivo quantistico reale, ma poi eseguirlo su una simulazione virtuale. Ciò è possibile perché il computer quantistico non è trattato come un sistema completo e indipendente, ma invece come un acceleratore chiamato da un computer classico che esegue un computer classico codice.

“Immaginiamo che il computer quantistico sia un’altra risorsa da utilizzare in Azure, oltre alla GPU, all’FPGA e all’ASIC. Azure diventa l’intero tessuto che include nel suo calcolo un computer quantistico”, ha detto Svore a Digital Trends.

quantum microsoft q codifica python interoperabilità jpg 3605
campioni di codifica quantum microsoft q github jpg 3604
quantum microsoft q codifica 3603
quantum microsoft q codifica simulazione python jpg 3602

La maggior parte dei programmatori ha familiarità con l'utilizzo di hardware appositamente creato per attività specifiche e la maggior parte ha familiarità con l'utilizzo di risorse nel cloud. L'avvio di Q# non è diverso da quelle attività ben note. L'hardware quantistico potrebbe essere esotico e raro, ma l'ambiente di programmazione offerto da Microsoft per Q# lo è esattamente quello che vedresti oggi se guardassi alle spalle di un programmatore al massimo di Fortune 500 aziende. Ciò lo rende molto meno intimidatorio.

"La visione finale è che l'utente non dica 'Ok, ora devo prendere questa app ed eseguirla su questa parte della CPU, questa parte qui, questa parte là'", ha affermato Svore. “È lo stesso con l’informatica quantistica. Vogliamo che l’acceleratore funzioni senza soluzione di continuità”.

Una comunità quantistica

I programmatori possono presentarsi a Q# attraverso una serie di tutorial gratuiti che Microsoft chiama Quantum Katas. Ogni lezione prevede “una sequenza di compiti su un determinato argomento di calcolo quantistico” che i programmatori sono sfidati a risolvere. Trovare la soluzione corretta è l’obiettivo, ma il viaggio è altrettanto importante. I kata non sono pensati per essere risolti in un unico passaggio. Insegnano attraverso tentativi ed errori, introducendo i programmatori alle basi della programmazione quantistica lungo il percorso.

Q# e i Quantum Kata apportano un livello trasformativo di feedback alla programmazione quantistica

Chris Granade, un ingegnere di sviluppo software di ricerca presso Microsoft, li ha visti di persona mentre partecipava a una sessione tutorial ospitata dall'Università di Tecnologia di Sydney. “È stato davvero sorprendente vedere come le persone potessero passare dalla conoscenza zero nel campo quantistico alla scrittura”, ha detto a Digital Trends. “Ciò che è stato trasformativo è che quando le persone hanno avuto un malinteso, non ne hanno sofferto. Potevano eseguire i kata, potevano vedere che avevano la risposta sbagliata e quel feedback ha davvero fatto sì che le persone capissero in modo pratico.

Questa esperienza pratica trasforma immediatamente il calcolo quantistico da un concetto teorico a una realtà pratica, il che fa la differenza nel modo in cui le persone lo affrontano. I programmatori potrebbero non realizzare oggetti fisici, ma sono abituati a ricevere feedback proprio come qualsiasi altro artigiano. Creano una cosa e funziona – oppure no. Q# e i Quantum Kata apportano quel livello di feedback alla programmazione quantistica, offrendo a chiunque sia interessato la possibilità di approfondire e comprendere cosa rende possibile l'informatica quantistica.

Informatica quantistica

Il cambiamento che Granade ha visto di persona non sta avvenendo solo nelle aule. Il Quantum Development Kit, di cui Q# fa parte, può essere scaricato da chiunque con una licenza open source. Gli sviluppatori interessati non solo possono iniziare a usarlo, ma possono anche contribuire attivamente alla comunità. Svore ha dichiarato a Digital Trends che il numero di download di QDK è "nelle decine di migliaia" e di partecipanti hanno già aggiunto “una manciata di contributi sostanziali”, inclusi nuovi algoritmi e documentazione.

Sebbene sia ancora una nicchia, questo kit di sviluppo quantistico pone l'asticella di accesso abbastanza bassa da poter essere raggiunta anche da un principiante il programmatore può iniziare a sperimentare Q# e, così facendo, iniziare a capire cosa rende il calcolo quantistico tic tac. Ciò è utile non solo per i programmatori, ma per l’intero campo della fisica quantistica. Spiegare le teorie quantistiche è un grosso grattacapo non solo perché il mondo quantistico è strano rispetto a quello “classico” fisica che la maggior parte dei programmatori conosce, ma anche perché le implicazioni pratiche della fisica quantistica possono essere difficili da comprendere dimostrare.

“Non è necessario conoscere la fisica. Non è necessario conoscere la meccanica quantistica”.

I computer classici si occupano di assoluti binari. 1 e 0. Spento o acceso. La quantistica si occupa di probabilità e programmare per la quantistica significa creare algoritmi che manipolano le probabilità per produrre la soluzione corretta. “Sai che questa ondata include la mia soluzione. Queste altre ondate non includono una soluzione. Quindi, voglio che quelle onde, quando interferiscono, se ne vadano”, ha spiegato Svore. “E voglio che l’ondata che include la mia soluzione diventi davvero grande. Alla fine misuriamo gli stati quantistici. La probabilità di far uscire l'onda alta è tanto maggiore quanto più alta è l'onda. È così che progettiamo algoritmi quantistici”.

Capisci cosa significa Svore?

In caso contrario, non sentirti male. Non è facile da comprendere e non è facile da dimostrare. Anche gli esperimenti mentali intesi a semplificare la meccanica quantistica, come il famoso gatto di Schròdinger, possono farti grattare la testa.

Ingegneri Microsoft Quantum Q#
Microsoft

Microsoft spera che Q# e Quantum Katas offrano un'alternativa pratica per affrontare l'argomento. “Non è necessario conoscere la fisica. Non è necessario conoscere la meccanica quantistica. In effetti, ammetto di non aver studiato meccanica quantistica fino alla specializzazione”, ha detto Svore. “Sono entrato nell’informatica quantistica senza aver mai studiato fisica al college. Sono un informatico di formazione."

La programmazione quantistica potrebbe diventare una finestra di intuizione offrendo ai programmatori la possibilità di fare un uso pratico delle teorie quantistiche senza abbandonare gli strumenti su cui fanno affidamento. Non è necessario passare anni a imparare la fisica. Basta entrare, creare un'applicazione che utilizzi Q# e vedere cosa succede.

Prepararsi per domani

L'uso pratico odierno di Q# è limitato perché non è disponibile alcun hardware su cui fare appello. Microsoft non ha ancora costruito un computer quantistico, e anche se lo avesse fatto, sarebbe troppo primitivo per eseguire calcoli utili. Ma un programmatore può verificare il proprio lavoro eseguendo Q# su un computer quantistico simulato. Ciò rende possibile codificare un programma quantistico con la ragionevole aspettativa che, una volta disponibile l’hardware, funzionerà.

Krysta Svore, Chris Granade, Microsoft Quantum Q#
Krysta Svore, Principle Research Manager presso il gruppo Quantum Architectures and Computation di Microsoft (a sinistra) e Chris Granade, Research Software Development Engineer presso Microsoft.Matt Smith/Tendenze digitali

Questo è fondamentale. I computer quantistici non sono semplicemente un PC moderno migliore. Sono fondamentalmente diversi. Richiedono hardware diverso, algoritmi diversi e un approccio diverso alla risoluzione di problemi complessi. Anche se un viaggiatore del tempo apparisse con un computer quantistico funzionante, stabile, da un milione di qubit, avremmo difficoltà a metterlo in funzione, proprio come gli studiosi romani rimarrebbero perplessi se avessero in mano un laptop. Il 99,9% dei moderni sviluppatori, programmatori e scienziati informatici non ha esperienza nella codifica quantistica e non ha idea di come funzioni la fisica quantistica. È necessario introdurre le nozioni di base prima di poter fare scoperte più impressionanti.

Insegnarlo richiederà tempo, ma il Q# di Microsoft è un importante passo avanti.

Raccomandazioni degli editori

  • ChatGPT ora può generare gratuitamente chiavi Windows 11 funzionanti
  • Microsoft potrebbe aver ignorato gli avvertimenti sulle risposte squilibrate di Bing Chat
  • Hacker cinesi prendono di mira le infrastrutture critiche degli Stati Uniti, avverte Microsoft
  • Ora puoi provare avatar e spazi virtuali in Microsoft Teams
  • Microsoft Build 2023: i più grandi annunci su AI, Windows e altro ancora