Kvantli kompyuter nima?

Oddiy misol bilan javob berdi

Boshqa kuni men Kanadaning Vankuver shahridagi D-Wave Systems zamonaviy kvant kompyuterlarini ishlab chiqaradigan kompaniyaga tashrif buyurdim.

Men u erda kvant kompyuterlari haqida ko'p narsalarni o'rgandim va ba'zi bilib olgan narsalarimni sizlarga aytib bermoqchiman.

Ushbu qismning maqsadi oddiy misol yordamida kvant kompyuteri haqida aniq tasavvur berishdir. Buni tushunish uchun sizdan kvant fizikasi yoki kompyuter fanidan oldindan ma'lumotga ega bo'lishingiz shart emas.

OK, boshlaymiz!

Kvantli kompyuter nima?

Mana bir jumla xulosasi:

Kvant kompyuteri - bu kvant mexanikasidan foydalanib, ma'lum bir hisoblash turini oddiy kompyuterga qaraganda samaraliroq bajaradigan kompyuter turi.

Ushbu jumlada ochish uchun juda ko'p narsa bor, shuning uchun sizga oddiy bir misol bilan murojaat qilishga ijozat bering. Kvantli kompyuter nima ekanligini tushuntirish uchun avval oddiy kompyuterlar haqida bir oz tushuntirish kerak.

Qanday qilib oddiy kompyuter ma'lumotni saqlaydi

Oddiy kompyuter ma'lumotni 0 va 1 soniyalarida saqlaydi.

Raqamlar, matnlar va rasmlar kabi turli xil ma'lumotlar shu tarzda namoyish etilishi mumkin.

Ushbu 0 va 1s seriyadagi har bir birlik biroz deyiladi. Biroz 0 yoki 1 ga o'rnatilishi mumkin.

Kvant kompyuterlari haqida nima deyish mumkin?

Kvantli kompyuter ma'lumotni saqlash uchun bitlardan foydalanmaydi. Buning o'rniga u qubits deb nomlangan narsani ishlatadi.

Qubitni nafaqat 1 yoki 0 ga sozlash, balki uni 1 va 0 ga o'rnatish ham mumkin. Ammo bu nimani anglatadi?

Buni oddiy misol bilan tushuntirib beray. Biroz sun'iy misol, ammo kvant kompyuterlarining ishlashini tushunishda foydali.

Oddiy misol

Aytaylik, siz sayyohlik agentligini boshqaryapsiz va bir guruh odamlarni boshqa joydan boshqa joyga ko'chirishingiz kerak. Oddiy qilib aytadigan bo'lsak, hozircha uchta odamni ko'chirish kerakligini aytaylik: Elis, Bekki va Kris.

Siz ikkita taksini bron qildingiz va siz qaysi taksiga kirishni hal qilishingiz kerak.

Sizga kim do'st va kim dushman ekanligi haqida sizga ma'lumot berishdi:

  • Elis va Bekki do'st
  • Elis va Kris dushman
  • Becki va Kris dushman

Sizning maqsadingiz quyidagi uchta maqsadga erishish uchun uch kishidan iborat ushbu guruhni ikkita taksiga bo'lishdir:

  • Bitta mashinani ulashadigan do'stlar juftligini sonini ko'paytirish
  • Xuddi shu mashinani ulashadigan dushman juftlarining sonini kamaytiring

Bu muammoning asosiy asosidir. Keling, buni oddiy kompyuter yordamida qanday hal qilishimiz haqida o'ylab ko'raylik.

Ushbu muammoni oddiy kompyuter bilan hal qilish

Ushbu muammoni oddiy, kvant bo'lmagan kompyuter bilan hal qilish uchun avval siz tegishli ma'lumotni bit bilan qanday saqlashni o'rganishingiz kerak.

Keling, ikkita 1-taksi va 0-sonli taksilarni belgilaylik.

Keyin, uchta bitli qaysi avtomashinaga kim kirishini tasvirlashingiz mumkin. Masalan, uchta bitni 0, 0 va 1 ga quyidagicha ifodalash uchun o'rnatamiz:

  • Elis # 0 taksi bilan shug'ullanadi
  • Becki 0-sonli taksiga kiradi
  • Kris №1 taksiga o'tiradi

Har bir kishi uchun ikkita tanlov mavjud bo'lganligi sababli, ushbu guruhni ikkita mashinaga bo'lishning 2 * 2 * 2 = 8 usuli mavjud.

Barcha mumkin bo'lgan sozlashlarning ro'yxati:

A | B | C
0 | 0 | 0
0 | 0 | 1
0 | 1 | 0
0 | 1 | 1
1 | 0 | 0
1 | 0 | 1
1 | 1 | 0
1 | 1 | 1

Uch bitdan foydalanib, siz ushbu kombinatsiyalarning istalganini namoyish qilishingiz mumkin.

Har bir konfiguratsiya uchun ballarni hisoblash

Endi oddiy kompyuterdan foydalanib, qaysi konfiguratsiya eng yaxshi echim ekanligini qanday aniqlaymiz?

Buning uchun har bir konfiguratsiya bo'yicha hisobni qanday hisoblashimiz mumkinligini aniqlaylik. Ushbu ball har bir echim men yuqorida aytib o'tgan ikkita maqsadga qay darajada erishishini anglatadi:

  • Bitta mashinani ulashadigan do'stlar juftligini sonini ko'paytirish
  • Xuddi shu mashinani ulashadigan dushman juftlarining sonini kamaytiring

Shunchaki bizning balimizni quyidagicha aniqlaymiz:

(berilgan konfiguratsiyaning hisobi) = ((bitta mashinani birgalikda ishlatgan # do'stlar juftligi) - (# bitta dushman juftligi bitta mashinani bo'lishmoqda)

Masalan, Elis, Bekki va Krislarning barchasi №1 taksiga o'tirishadi deylik. Uch bit bilan bu 111 bilan ifodalanishi mumkin.

Bunday holda, bitta avtomobilni taqsimlagan bitta do'stim bor - Elis va Bekki.

Biroq, bir xil mashinada ikkita dushman juftligi bor - Elis va Kris, Bekki va Kris.

Shunday qilib, ushbu konfiguratsiyaning umumiy bahosi 1-2 = -1.

Muammoni hal qilish

Ushbu sozlashning barchasi bilan biz nihoyat ushbu muammoni hal qilishga kirishamiz.

Oddiy kompyuter yordamida eng yaxshi konfiguratsiyani topish uchun, siz barcha konfiguratsiyalardan o'tishingiz kerak, qaysi biri eng yuqori ballga ega bo'lishini ko'rishingiz kerak.

Shunday qilib, siz jadval tuzish haqida o'ylashingiz mumkin:

A | B | C | Hisob
0 | 0 | 0 | -1
0 | 0 | 1 | 1 <- eng yaxshi echimlardan biri
0 | 1 | 0 | -1
0 | 1 | 1 | -1
1 | 0 | 0 | -1
1 | 0 | 1 | -1
1 | 1 | 0 | 1 <- boshqa eng yaxshi echim
1 | 1 | 1 | -1

Ko'rib turganingizdek, bu erda ikkita to'g'ri echim bor - 001 va 110, ikkalasi ham 1 ballga erishadilar.

Bu muammo juda oddiy. Oddiy kompyuter bilan tezda hal qilish juda qiyinlashadi, chunki biz bu muammoga duch keladigan odamlarning sonini ko'paytiramiz.

Uch kishi bilan 8 ta mumkin bo'lgan konfiguratsiyalardan o'tishimiz kerakligini ko'rdik.

To'rt kishi bo'lsa nima bo'ladi? Bunday holda, biz 2 * 2 * 2 * 2 = 16 konfiguratsiyasidan o'tishimiz kerak.

Eng yaxshi echimni topish uchun n odamlar bilan biz (2 n kuchiga) konfiguratsiyalardan o'tamiz.

Shunday qilib, agar 100 kishi bo'lsa, biz quyidagilarni o'tishimiz kerak:

  • 2¹⁰⁰ ~ = 10³⁰ = bir million million million million million konfiguratsiya.

Oddiy kompyuter bilan hal qilishning iloji yo'q.

Ushbu muammoni kvant kompyuter yordamida hal qilish

Kvantli kompyuter yordamida ushbu muammoni qanday hal qilish kerak?

Bu haqda o'ylash uchun, uchta odamni ikkita taksiga bo'lish masalasiga qaytaylik.

Avval aytib o'tganimizdek, ushbu muammoni hal qilishning 8 ta echimi mavjud edi:

A | B | C
0 | 0 | 0
0 | 0 | 1
0 | 1 | 0
0 | 1 | 1
1 | 0 | 0
1 | 0 | 1
1 | 1 | 0
1 | 1 | 1

Oddiy kompyuter yordamida uchta bitdan foydalangan holda, biz bir vaqtning o'zida ushbu echimlarning bittasini taqdim eta oldik, masalan 001.

Biroq, kvant kompyuter yordamida 3 qubitdan foydalanib, biz ushbu echimlarning barchasini bir vaqtning o'zida taqdim etishimiz mumkin.

Bu aniq nimani anglatishi borasida munozaralar mavjud, ammo men bu haqda shunday fikrlayman.

Birinchidan, ushbu uchta qubitdan birinchi qubitni ko'rib chiqing. Agar siz uni 0 va 1 ga o'rnatgan bo'lsangiz, xuddi ikkita parallel olamni yaratish kabi. (Ha, g'alati, lekin shunchaki shu erda davom eting.)

Parallel dunyolardan birida qubit 0 ga o'rnatiladi. Boshqa qismda esa 1 ga o'rnatiladi.

Shunday qilib, agar siz ikkinchi qubitni 0 va 1 ga o'rnatsangiz nima bo'ladi? Keyin to'rtta parallel olamni yaratishga o'xshaydi.

Birinchi dunyoda ikkita qubit 00 ga o'rnatiladi. Ikkinchisida ular 01 ga teng, uchinchisida ular 10 ga teng. To'rtinchi dunyoda ular 11 tani tashkil qiladi.

Shunga o'xshab, agar siz uchta qubitni 0 va 1 ga qo'ygan bo'lsangiz, sakkizta parallel olamni yaratgan bo'lar edingiz - 000, 001, 010, 011, 100, 101, 110 va 111.

Bu fikrlashning g'alati usuli, ammo qubitlarning haqiqiy dunyoda o'zini qanday tutishini tushuntirishning to'g'ri usullaridan biri.

Endi siz ushbu uchta qubitga biron bir hisoblash usulini qo'llaganingizda, aslida siz shu 8 ta parallel olamda bir vaqtning o'zida bir xil hisoblashdan foydalanasiz.

Shunday qilib, ushbu mumkin bo'lgan echimlarning har birini ketma-ket ko'rib chiqishning o'rniga, biz bir vaqtning o'zida barcha echimlarning ballarini hisoblashimiz mumkin.

Ushbu aniq misol bilan, nazariy jihatdan, sizning kvant kompyuteringiz bir necha millisekundlarda eng yaxshi echimlardan birini topishi mumkin edi. Yana, biz yuqorida ko'rganimizdek 001 yoki 110:

A | B | C | Hisob
0 | 0 | 0 | -1
0 | 0 | 1 | 1 <- eng yaxshi echimlardan biri
0 | 1 | 0 | -1
0 | 1 | 1 | -1
1 | 0 | 0 | -1
1 | 0 | 1 | -1
1 | 1 | 0 | 1 <- boshqa eng yaxshi echim
1 | 1 | 1 | -1

Aslida, ushbu muammoni hal qilish uchun siz kvant kompyuteringizga ikkita narsani berishingiz kerak bo'ladi:

  • Qubits bilan taqdim etilgan barcha mumkin bo'lgan echimlar.
  • Har bir mumkin bo'lgan echimni ballga aylantiradigan funktsiya. Bunday holda, bu bir xil mashinani almashadigan do'st va dushman juftlarining sonini hisoblaydigan funktsiya.

Ushbu ikkita narsani hisobga olgan holda, sizning kvant kompyuteringiz bir necha millisekundda eng yaxshi echimlardan birini chiqarib yuboradi. Bunday holda, bu 001 yoki 110 1 ball bilan.

Endi nazariy jihatdan, kvant kompyuteri har safar ishlayotganda eng yaxshi echimlardan birini topishga qodir.

Biroq, aslida, kvant kompyuterini ishga tushirishda xatolar mavjud. Shunday qilib, eng yaxshi echimni topish o'rniga, ikkinchi eng yaxshi echimni, uchinchi eng yaxshi echimni va hokazolarni topish mumkin.

Muammo borgan sari murakkablashib borgan sari bu xatolar yaqqolroq namoyon bo'lmoqda.

Shunday qilib, amalda, ehtimol siz bir xil operatsiyani kvant kompyuterida o'nlab yoki yuzlab marta bajarishni xohlaysiz. Keyin olingan ko'p natijalardan eng yaxshi natijani tanlang.

Qanday qilib kompyuterning kvant tarozisi

Men aytib o'tgan xatolarga qaramay, kvant kompyuterida masshtablash muammosi bir xil bo'lmaydi, bu oddiy kompyuterdan azob chekadi.

Ikkita mashinaga bo'linishimiz kerak bo'lgan uchta kishi bo'lsa, kvant kompyuterida bajarilishi kerak bo'lgan harakatlar soni bitta. Buning sababi, kvant kompyuter bir vaqtning o'zida barcha konfiguratsiyalarning ballarini hisoblab chiqadi.

To'rt kishi bo'lganida, operatsiyalar soni hali ham bitta.

Agar 100 kishi bo'lsa, operatsiyalar soni hanuzgacha 1 ga teng. Birgina operatsiya bilan kvant kompyuter bir vaqtning o'zida barcha 2¹⁰⁰ ~ = 10³⁰ = bir million million million million konfiguratsiyalarning ballarini hisoblab chiqadi.

Yuqorida aytib o'tganimdek, amalda, ehtimol, kvant kompyuteringizni o'nlab yoki yuzlab marta ishlatish va ko'plab natijalar ichidan eng yaxshi natijani tanlash yaxshidir.

Biroq, bu xuddi shu muammoni oddiy kompyuterda ishlashdan va xuddi shu turdagi hisoblashlarni bir million million million million marta takrorlashdan yaxshiroqdir.

O'ramoq

Bularning barchasini menga sabr-toqat bilan tushuntirgani uchun D-Wave tizimlaridagi barchaga alohida tashakkur.

Yaqinda D-Wave kvant kompyuteri bilan ishlash uchun bulutli muhitni ishga tushirdi. Agar siz dasturchi bo'lsangiz va aslida kvant kompyuteridan foydalanmoqchi bo'lsangiz, ehtimol buni amalga oshirishning eng oson yo'li.

U "Leap" deb nomlangan va https://cloud.dwavesys.com/leap-da joylashgan. Siz uni minglab muammolarni hal qilish uchun bepul ishlatishingiz mumkin va ularda ro'yxatdan o'tganingizda kvant kompyuterlarini ishga tushirish bo'yicha qo'llanmalar mavjud.

Izoh

Ushbu maqolada, "oddiy kompyuter" atamasini, kvant bo'lmagan kompyuterga murojaat qildim. Biroq, kvant hisoblash sanoatida kvant bo'lmagan kompyuterlar odatda klassik kompyuterlar deb nomlanadi.