O'zbekiston avtomobil bozorida narxlar o'zgarishi: elektromobillar va mahalliy modellarga nazar
2024-2026 yillarda O'zbekiston avtomobil bozorida elektromobillar ulushi oshdi, mahalliy mashinalar narxi barqaror, ba'zi import modellari qimmatlashdi.

Quantum hisoblash texnologiyasi so'nggi yillarda katta e'tibor qozondi. IBM Quantum kabi bulut platformalari foydalanuvchilarga haqiqiy kvant protsessorlariga kirish imkonini beradi. Biroq, ba'zi tadqiqotchilar va dasturchilar bu platformalarning cheklovlari, narxi yoki kirish imkoniyatlari bilan qoniqmasliklari sababli muqobil yechimlar izlaydilar. Ushbu maqolada /dev/urandom faylini IBM Quantum backendini o'rnini bosuvchi tasodifiy sonlar generatori sifatida ishlatish g'oyasi, uning texnik asoslari va amaliy foydalari ko'rib chiqiladi.
/dev/urandom — Linux operatsion tizimida mavjud bo'lgan, kriptografik darajada tasodifiy sonlar ishlab chiqaruvchi virtual qurilma. U tizimning entropiya manbalaridan foydalangan holda, deyarli cheksiz uzunlikdagi tasodifiy oqimni ta'minlaydi. Bu oqimni oddiy fayl sifatida o'qish orqali, har qanday dasturga tasodifiy ma'lumotlar kirita olish mumkin.
- if token:
- service = QiskitRuntimeService(...)
- ...
- backend = service.backend(backend_name)
- ...
- qc_t = transpile(qc, backend, optimization_level=optimization_level)
- ...
- sampler = SamplerV2(mode=backend)
- job = sampler.run([qc_t], shots=shots)
- ...
- result = job.result()
- pub_result = result[0]
- counts = pub_result.data.cr.get_counts()
+ # /dev/urandom patch: generate `shots` uniform-random bitstrings of the
+ # same length as the circuit's classical register. Everything downstream
+ # of `counts` is the author's code, unchanged.
+ import os as _os
+ from collections import Counter as _Counter
+
+ nbits = qc.num_clbits
+ bpb = (nbits + 7) // 8
+ mask = (1 << nbits) - 1
+
+ _bitstrings = []
+ for _ in range(shots):
+ v = int.from_bytes(_os.urandom(bpb), "big") & mask
+ _bitstrings.append(format(v, f"0{nbits}b"))
+ counts = dict(_Counter(_bitstrings))
IBM Quantum API orqali yuboriladigan kvant buyruqlari odatda JSON formatida bo'ladi va backendga yuborilgandan so'ng, kvant chipida bajariladi. /dev/urandom ni ishlatish uchun quyidagi bosqichlar amalga oshiriladi:
Curve: y^2 = x^3 + 0x + 7 (mod 65647)
Group order: n = 65173
Generator: G = (12976, 52834)
Target: Q = (477, 58220)
Strategy: ripple-carry modular addition (CDKM)
Backend: /dev/urandom (quantum hardware replaced with os.urandom)
Classical register width: 49 bits (20000 shots)
Unique outcomes: 20000
============================================================
RESULT: d = 1441
Verification: 1441*G = (477, 58220)
[OK] VERIFIED
============================================================
[OK] SUCCESS: Recovered correct secret key
shots (tajribalar soni) parametrini /dev/urandom orqali olingan tasodifiy son bilan almashtirish.Bu yondashuvda haqiqiy kvant chipi ishlatilmaydi, lekin tasodifiylik darajasi yuqori bo'lgani uchun, ba'zi eksperimentlar uchun yetarli bo'lishi mumkin.
P(≥1 verified hit in S shots) = 1 − (1 − 1/n)^S
Quantum hisoblashda tasodifiylik muhim rol o'ynaydi, ayniqsa kvant kriptografiyasida. /dev/urandom kriptografik tasodifiylikni ta'minlasa-da, u haqiqiy kvant tasodifiylik (quantum randomness) bilan bir xil emas. Shuning uchun, xavfsizlik talab qiladigan ilovalarda bu usulni sinov maqsadida yoki prototip sifatida ishlatish tavsiya etiladi, lekin ishlab chiqarish muhitida haqiqiy kvant backendga tayanish zarur.
git checkout urandom-reproduces-qpu
uv venv .venv && . .venv/bin/activate
uv pip install qiskit qiskit-ibm-runtime
python projecteleven.py --challenge 4 --shots 8192
python projecteleven.py --challenge 10 --shots 8192
python projecteleven.py --challenge 17 --oracle ripple --shots 20000 # may need 2-3 tries
Bu metodning asosiy afzalliklari quyidagilardan iborat:
Cheklovlari esa:
/dev/urandom ni IBM Quantum backendini almashtiruvchi vosita sifatida ishlatish, dasturchilar va tadqiqotchilar uchun qiziqarli eksperiment bo'lishi mumkin. Bu yondashuv yordamida kvant kodini tezda sinab ko'rish, xatoliklarni aniqlash va prototiplarni yaratish mumkin. Ammo, haqiqiy kvant hisoblashning barcha afzalliklarini olish uchun, oxir-oqibatda IBM Quantum yoki boshqa haqiqiy kvant platformalariga murojaat qilish zarur. Ushbu metodni “test‑first” strategiyasi sifatida qabul qilish, texnik hamjamiyatda yangi g'oyalar va ochiq manba hamkorliklarini rivojlantirishga yordam beradi.