I Tikslai
Eksperimento tikslai
- Isnagrineti tyrimo eksperimento darbo eiga nuo grandines projektavimo iki rezultatu analizes
- Suprasti tikros kvantines sistemos ir kvantinio simuliatoriaus skirtumus ir pranasumas
- Ismokti konstruoti kvantines grandines naudojant grafine sasaja (GUI)
- Ismokti programuoti kvantines grandines naudojant SpinQit SDK kodo sasaja
- Suprasti grandines metrikas: gylis, vartu skaicius, plotis ir jungiamumo reikalavimai
- Atlikti integruota tyrima: suprojektuoti, simuliuoti ir ivykdyti kvantine grandine
II Teorija: Tyrimo darbo eiga
Integruotas tyrimo eksperimentas sujungia visus ankstesniuose eksperimentuose isgytus iguddzius i visa darbo eiga. Tyrimo procesas prasideda nuo uzduoties formulavimo, pereina per grandines projektavima ir simuliavima, ir baigiasi vykdymu tikroje kvantineje sistemoje.
1. Formulavimas
Uzduoties apibreztis ir tikslo nustatymas
2. Projektavimas
Kvantines grandines sukurimas
3. Simuliavimas
Grandines patikrinimas simuliatoriumi
4. Vykdymas
Paleidimas tikroje sistemoje
5. Analize
Rezultatu palyginimas ir isvados
Tikra kvantine sistema vs simuliatorius
SpinQ Gemini platforma suteikia du veikimo rezimus: tikra kvantine sistema (Real Quantum System) ir kvantini grandiniu simuliatoriu (Quantum Circuit Simulator). Kiekvienas rezimas turi savitu pranasumu ir apribojimu.
Tikra kvantine sistema
Naudoja fizinius kubitus (BMR branduolius). Rezultatai atspindi tikra kvantine elgsena su dekoherencija ir triuksmu. Ribota iki 2 kubitu SpinQ Gemini platformoje. Reikia impulsu kalibravimo.
Kvantinis simuliatorius
Klasikinis kompiuteris emuliuoja kvantine elgsena. Idealus rezultatai be triuksmo. Gali simuliuoti daugiau kubitu. Tinka grandines tikrinimui pries vykdyma tikroje sistemoje.
Grandines metrikos
Kuriant ir analizuojant kvantines grandines, svarbu ivertinti kelias pagrindines metrikas, kurios lemia grandines sudeguinga ir vykdymo galimybes.
| Metrika | Aprasymas | Svarba |
|---|---|---|
| Grandines gylis (depth) | Ilgiausias nuosekliu vartu sluoksniu skaicius grandineje | Tiesiogiai lemia vykdymo laika ir dekoherencijos poveiki |
| Vartu skaicius (gate count) | Bendras vieno ir dvieju kubitu vartu skaicius | Kiekvienas vartas ideda paklaida, daugiau vartu = daugiau triuksmo |
| Grandines plotis (width) | Kubitu skaicius, naudojamu grandineje | Riboja kokioje aparaturoje grandine galima vykdyti |
| Dvieju kubitu vartu skaicius | CNOT, CZ ir kitu dvieju kubitu vartu skaicius | Dvieju kubitu vartai yra daugiausiai triuksmo sukeliantys vartai |
| Jungiamumo reikalavimai | Kurie kubitai turi tiesiogiai saveikaut | Aparatura gali tureti ribota kubitu jungiamumo topologija |
III Interaktyvus grandines konstruktorius
Kvantines grandines konstravimas
Pasirinkite varta is paletes ir spustelekite ant grandines vietos, kad pridatumete. Stebakite busenu vektoriu ir tikimybes realiuoju laiku.
IV Grandines sablonai
Dazniausiai naudojamos grandines
Pasirinkite sabloninini grandini ir stebakite kaip ji konstruojama. Kiekvienas sablonas demonstruoja svarbu kvantinio skaiciavimo principa.
V Teorija: Grafine ir programine sasajos
Grafine sasaja (GUI)
SpinQ Gemini programine iranga leidzia konstruoti grandines naudojant grafine sasaja. Vartai tempiami is paletes i grandines diagramas lauka. Sis budas yra intuityvus ir tinkamas mazoms grandinems su keliais vartais.
GUI pranasymai
Vizualus grandines atvaizdavimas, greitas prototipavimas, nereikia programavimo ziniu, lengva mokytis pradininkams.
GUI apribojimai
Sunku kurti sudetingas grandines, nera ciklo logikos, ribota automatizavimas, netinka didelems grandinems.
Programine sasaja (SpinQit SDK)
SpinQit SDK leidzia programuoti kvantines grandines naudojant Python kalba. Sis metodas yra galingesnis — galima naudoti kilpas, salyginius sakinius, parametrizuotas grandines ir hibridini klasikini-kvantini programavima.
| Savybe | GUI sasaja | Kodo sasaja (SpinQit) |
|---|---|---|
| Mokymosi kreive | Lengva — tempk ir mesk | Vidutine — reikia Python ziniu |
| Grandines sudetingumas | Mazas iki vidutinis | Neribojamas |
| Kilpos ir salyginiai sakiniai | Nepalaikomi | Pilnai palaikomi |
| Parametrizuotos grandines | Ribotos | Pilnai palaikomos |
| Hibridinis skaiciavimas | Nepalaikomas | Palaikomas (VQE, QAOA ir kt.) |
| Grandines eksportavimas | JSON formatas | JSON arba QASM formatai |
VI Kvantinio kodo simuliatorius
SpinQit stiliaus programavimas
Iveskite kvantini koda naudodami palaikomas komandas. Spuskite "Vykdyti" kad pamatytumete rezultatus.
VII Tikros kvantines sistemos veikimas
Tikroje kvantineje sistemoje grandine kompiliuojama i fizini impulsu seka, kuri siunuciama i BMR aparatura. Procesas apima kelis etapus:
1. Grandines kompiliavimas
Kvantine grandine issklaidzama i bazini vartu rinkini (H, CNOT, Rz, Rx), kuriuos tiesiogiai galima realizuoti BMR sistemoje kaip RF impulsus.
2. Impulsu generavimas
Kiekvienas loginis vartas paverciamas i RF impulsu seka su tiksliai nustatytomis amplitudemis, fazems ir trukmemis.
3. Vykdymas
Impulsu seka siunuciama i BMR aparatura. Branduoliai reaguoja i RF impulsus pagal kvantiniu vartu logika.
4. Matavimas
Po grandines vykdymo uzfiksuojamas BMR signalas (FID). Is signalo atkuriamas busenu tikimybiu pasisirstymas.
Triuksmo ir idealiuju rezultatu palyginimas
Idealus vs tikri rezultatai
Palyginkite idealias simuliatoriaus tikimybes su triuksmingais tikros sistemos rezultatais. Keiskite triuksmo lygi.
VIII SpinQ Gemini realizacija
SpinQ Gemini platformoje tyrimo eksperimentas vykdomas dviem etapais: pirma grandine tikrinama simuliatoriuje, paskui vykdoma tikroje BMR sistemoje.
| Parametras | GUI rezimas | Kodo rezimas |
|---|---|---|
| Palaikomi vartai | H, X, Y, Z, S, T, Rx, Ry, Rz, CNOT, SWAP, CZ | Visi GUI vartai + parametrizuoti ir pritaikyti vartai |
| Kubitu skaicius (tikra sistema) | 2 | 2 |
| Kubitu skaicius (simuliatorius) | iki 10 | iki 25 (ribojamas RAM) |
| Matavimu skaicius (shots) | 1 (vienkartinis BMR matavimas) | 1-10000 (simuliatorius), 1 (tikra sistema) |
| Rezultatu formatas | Tikimybiu stulpeline diagrama | Counts zodyne + busenos vektorius |
SpinQit kodo pavyzdziai
IX Eksperimento procedura
Sistemos paruosimas ir uzduoties pasirinkimas
Ijunkite SpinQ Gemini ir pasirinkite tyrimo tema. Apibrezkite kokia kvantine grandine norite realizuoti ir kokiu rezultatu tikites.
Grandines projektavimas GUI aplinkoje
Atidarykite grafine sasaja ir sukonstruokite pasirinkta grandine tempdami vartus is paletes. Patikrinkite grandines metrikus (gylis, vartu skaicius).
Simuliavimas ir tikinimas
Paleiskite grandine simuliatoriaus rezimu. Patikrinkite ar rezultatu tikimybiu pasiskirstymas atitinka laukiamus teorinius rezultatus.
Kodo versijos sukurimas
Parasykit ta pacia grandine naudojant SpinQit SDK. Patikrinkite ar kodo ir GUI grandines simuliacijos rezultatai sutampa.
Vykdymas tikroje sistemoje
Perjunkite i tikros kvantines sistemos rezima ir ivykdykite grandine. Uzfiksuokite gautus tikimybiu pasiskirstymus.
Rezultatu palyginimas
Palyginkite tris rezultatus: teorini, simuliuota ir tikra. Apskaiciuokite fidelity ir TVD (Total Variation Distance) metrikas.
Analize ir isvados
Aptarkite triuksmo saltnius, dekoherencijos poveiki ir vartu paklaidu itaka. Pasiulykite budu kaip pagerinti tikros sistemos rezultatus.
X Savikontrol
1. Koks pagrindinis skirtumas tarp kvantinio simuliatoriaus ir tikros kvantines sistemos?
2. Ka reiskia grandines gylis (depth)?
3. Kodel dvieju kubitu vartai yra problemiskesni nei vieno kubito vartai?
4. Ka leidzia programine sasaja (SpinQit SDK), ko negali grafine sasaja?
5. Kas yra TVD (Total Variation Distance) metrika?
XI Santrauka
Pagrindiniai rezultatai
- Integruotas tyrimo eksperimentas apjungia grandines projektavima, simuliavima ir vykdyma tikroje sistemoje
- GUI sasaja yra intuityvi ir tinka prototipavimui, kodo sasaja (SpinQit) — sudetingesnems uzduotims
- Grandines metrikos (gylis, vartu sk., plotis) lemia grandines sudetinguma ir vykdymo kokybe
- Tikros sistemos rezultatai skiriasi nuo idealiuju del dekoherencijos, vartu paklaidu ir triuksmo
- Fidelity ir TVD metrikos leidzia kiekybiskai ivertinti tikru rezultatu kokybe
- Dvieju kubitu vartai sukelia daugiausiai paklaidu — ju mazinimas pagerina grandines tiksluma
- SpinQ Gemini platforma palaiko iki 2 kubitu tikroje sistemoje ir iki 25 kubitu simuliatoriuje
XII Programinis pavyzdys ir RQmod alternatyva
Integruotas tyrimo eksperimentas — grandines konstravimas, simuliavimas ir
vykdymas tikroje SpinQ Gemini sistemoje — gali būti realizuotas tiek tiesiogiai
Python kalboje (SpinQit), tiek deklaratyviai
.rqmod aprasyme. RQmod aprašyme tas pats šaltinio failas
taip pat fiksuoja audito ir QARS-NI kontekstą — tai naudinga, kai eksperimentas yra
edukacinė platesnės kriptografinės rizikos analizės dalis.
Pythonas: pilnas darbo srautas su SpinQit
Pavyzdys parengia Bell pora, paleidžia ja simuliatoriuje ir, esant prisijungimui, tikroje SpinQ Gemini sistemoje. Skaičiuojami fidelity ir TVD vertinimai.
# integrated_run.py — Bell paruosimas ir vykdymas (SpinQit) from spinqit import Circuit, get_compiler, BasicSimulator from spinqit.model import H, CX, MEASURE import math # 1) Grandine qc = Circuit(2) qc.append(H, [0]) qc.append(CX, [0, 1]) qc.append(MEASURE, [0, 1]) # 2) Lokalus simuliavimas (idealas) exe = get_compiler("native").compile(qc, 0) sim = BasicSimulator().run(exe, 2048).counts print("sim:", sim) # 3) Vykdymas tikroje sistemoje (jei prisijungta prie SpinQ Gemini) try: from spinqit import NMRBackend real = NMRBackend().run(exe, 2048).counts print("real:", real) except Exception as e: print("Tikra sistema nepasiekiama:", e) # 4) Total Variation Distance tarp simuliacijos ir tikru rezultatu def tvd(p, q, keys): return 0.5 * sum(abs(p.get(k, 0) - q.get(k, 0)) for k in keys)
Alternatyva: .rqmod modelis
Integruotas RQmod modelis vienu šaltinio failu apjungia audito sluoksnių aprašymą, QARS-NI vertinimą (Mosca formulę), CBOM įrodymų generavimą ir SpinQ kvantinį eksperimentą. Tinka demonstruoti, kad tas pats šaltinis duoda ir saugumo audito artefaktus, ir kvantinį eksperimentą.
// lab11-integrated.rqmod audit "lab11-integrated-experiment" { targets = ["10.0.0.0/24", "edge.example.lt"] layers { transit { tls, ssh, dnssec, certs } use { openssl, jwt, hsm, runtime } rest { luks, tde, backups, kms } } score qars_ni { mosca { t_protect="24mo"; t_data ="10y"; t_quantum="96mo" } } experiment bell_demo { qubits = [q0, q1] circuit { h(q0); cx(q0, q1) } measure = z_basis shots = 2048 verify { fidelity_min = 0.90 } } backend quantum { provider = spinqit emit = qasm2 max_width = 2 } constraint { max_runtime = "72h" evidence = signed local_changes = forbidden } output { formats = [json, cbom, pdf, qasm] } }
resilq-q compile lab11-integrated.rqmod --out build/lab11-integrated
resilq-q run lab11-integrated.rqmod --backend spinqit-basic --out build/lab11-run
Apie RQmod
RQmod (ResilQ Studio) — autorius prof. dr. Šarūnas
Grigaliūnas — yra deklaratyvi .rqmod kalba ir integruota
aplinka postkvantinės kriptografijos rizikai modeliuoti. Vienu šaltinio failu
aprašomi audito tikslai, sluoksniai (transit / use / rest), QARS-NI
vertinimo langai (Mosca formulė), išvesties formatai (JSON, CBOM, PDF, QASM2)
ir pasirinktinai — kvantinis bekendas (SpinQit, OpenQASM2). Tas pats šaltinio
failas naudojamas tiek saugumo auditui, tiek edukaciniam SpinQ Gemini
eksperimentui.
Daugiau: https://www.rqmod.com