Apakah komputer kuantum? Dijelaskan dengan contoh mudah.

Hai semua!

Pada hari yang lain, saya melawat D-Wave Systems di Vancouver, Kanada. Ini adalah syarikat yang membuat komputer kuantum canggih.

Saya banyak belajar mengenai komputer kuantum di sana, jadi saya ingin berkongsi beberapa perkara yang saya pelajari di sana dengan anda dalam artikel ini.

Matlamat artikel ini adalah untuk memberi anda intuisi yang tepat tentang apa yang digunakan oleh komputer kuantum sebagai contoh mudah.

Artikel ini tidak menghendaki anda mempunyai pengetahuan terlebih dahulu mengenai fizik kuantum atau sains komputer untuk dapat memahaminya.

Baiklah, mari kita mulakan.

Edit (26 Feb 2019): Saya baru-baru ini menerbitkan video mengenai topik yang sama di saluran YouTube saya. Saya akan mengesyorkan menontonnya (klik di sini) sebelum atau selepas membaca artikel ini kerana saya telah menambahkan beberapa argumen tambahan yang lebih bernuansa dalam video.

Apakah komputer kuantum?

Berikut adalah ringkasan satu ayat mengenai apa itu komputer kuantum:

Komputer kuantum adalah jenis komputer yang menggunakan mekanik kuantum sehingga dapat melakukan pengiraan jenis tertentu dengan lebih efisien daripada komputer biasa.

Ada banyak yang dapat dibongkar dalam kalimat ini, jadi izinkan saya membimbing anda melalui apa yang sebenarnya menggunakan contoh sederhana.

Untuk menjelaskan apa itu komputer kuantum, saya perlu menerangkan terlebih dahulu sedikit mengenai komputer biasa (bukan kuantum).

Bagaimana komputer biasa menyimpan maklumat

Sekarang, komputer biasa menyimpan maklumat dalam siri 0 dan 1.

Berbagai jenis maklumat, seperti nombor, teks, dan gambar dapat ditunjukkan dengan cara ini.

Setiap unit dalam siri 0 dan 1 ini dipanggil sedikit. Jadi, sedikit boleh ditetapkan ke 0 atau 1.

Sekarang, bagaimana dengan komputer kuantum?

Komputer kuantum tidak menggunakan bit untuk menyimpan maklumat. Sebaliknya, ia menggunakan sesuatu yang disebut qubit.

Setiap qubit tidak hanya dapat diatur ke 1 atau 0, tetapi juga dapat diatur ke 1 dan 0. Tetapi apa maksudnya dengan tepat?

Izinkan saya menerangkan ini dengan contoh yang mudah. Ini akan menjadi contoh yang agak tiruan. Tetapi masih berguna untuk memahami bagaimana komputer kuantum berfungsi.

Contoh mudah untuk memahami bagaimana komputer kuantum berfungsi

Sekarang, andaikan anda menjalankan agensi pelancongan, dan anda perlu memindahkan sekumpulan orang dari satu lokasi ke lokasi lain.

Untuk memastikan ini mudah, katakan anda hanya perlu memindahkan 3 orang sahaja buat masa ini - Alice, Becky, dan Chris.

Dan andaikan anda telah menempah 2 teksi untuk tujuan ini, dan anda ingin mengetahui siapa yang menaiki teksi mana.

Juga, anggaplah di sini bahawa anda diberi maklumat mengenai siapa kawan dengan siapa, dan siapa musuh dengan siapa.

Di sini, katakan:

  • Alice dan Becky berkawan
  • Alice dan Chris adalah musuh
  • Becky dan Chris adalah musuh

Dan anggaplah bahawa tujuan anda di sini adalah untuk membahagikan kumpulan 3 orang ini kepada dua teksi untuk mencapai dua objektif berikut:

  • Maksimumkan bilangan pasangan rakan yang berkongsi kereta yang sama
  • Kurangkan bilangan pasangan musuh yang berkongsi kereta yang sama

Baiklah, ini adalah asas asas masalah ini. Mari kita fikirkan terlebih dahulu bagaimana kita menyelesaikan masalah ini dengan menggunakan komputer biasa.

Menyelesaikan masalah ini dengan komputer biasa

Untuk menyelesaikan masalah ini dengan komputer bukan kuantum biasa, anda perlu terlebih dahulu mengetahui cara menyimpan maklumat yang berkaitan dengan bit.

Mari label dua teksi Teksi # 1 dan Teksi # 0.

Kemudian, anda boleh menunjukkan siapa yang masuk ke dalam kereta mana dengan 3 bit.

Sebagai contoh, kita boleh menetapkan tiga bit ke 0 , 0 ,dan 1 untuk mewakili:

  • Alice masuk ke Teksi # 0
  • Becky masuk ke Teksi # 0
  • Chris masuk ke Teksi # 1

Oleh kerana terdapat dua pilihan untuk setiap orang, terdapat 2 * 2 * 2 = 8 cara untuk membahagikan kumpulan orang ini kepada dua kereta.

Berikut adalah senarai semua kemungkinan konfigurasi:

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

Dengan menggunakan 3 bit, anda dapat mewakili salah satu kombinasi ini.

Mengira skor untuk setiap konfigurasi

Sekarang, dengan menggunakan komputer biasa, bagaimana kita menentukan konfigurasi mana yang merupakan penyelesaian terbaik?

Untuk melakukan ini, mari kita tentukan bagaimana kita dapat mengira skor untuk setiap konfigurasi. Skor ini akan menunjukkan sejauh mana setiap penyelesaian mencapai dua objektif yang saya nyatakan sebelumnya:

  • Maksimumkan bilangan pasangan rakan yang berkongsi kereta yang sama
  • Kurangkan bilangan pasangan musuh yang berkongsi kereta yang sama

Mari tentukan skor kami seperti berikut:

(skor konfigurasi tertentu) = (# pasangan rakan berkongsi kereta yang sama) - (# pasangan musuh berkongsi kereta yang sama)

Contohnya, anggaplah Alice, Becky, dan Chris masuk ke Teksi # 1. Dengan tiga bit, ini dapat dinyatakan sebagai 111 .

Dalam kes ini, hanya ada satu pasangan rakan yang berkongsi kereta yang sama - Alice dan Becky.

Namun, ada dua pasangan musuh yang berkongsi kereta yang sama - Alice dan Chris, dan Becky dan Chris.

Jadi, jumlah skor konfigurasi ini adalah 1-2 = -1.

Menyelesaikan masalah

Dengan semua persediaan ini, akhirnya kita dapat menyelesaikan masalah ini.

Dengan komputer biasa, untuk mencari konfigurasi yang terbaik, anda perlu melalui semua konfigurasi untuk melihat mana yang memperoleh skor tertinggi.

Jadi, anda boleh berfikir untuk membina jadual seperti ini:

A | B | C | Markah

0 | 0 | 0 | -1

0 | 0 | 1 | 1 <- salah satu penyelesaian terbaik

0 | 1 | 0 | -1

0 | 1 | 1 | -1

1 | 0 | 0 | -1

1 | 0 | 1 | -1

1 | 1 | 0 | 1 <- penyelesaian terbaik lain

1 | 1 | 1 | -1

Seperti yang anda lihat, terdapat dua penyelesaian yang betul di sini - 001 dan 110, keduanya mencapai skor 1.

Masalah ini agak mudah. Dengan cepat menjadi terlalu sukar untuk diselesaikan dengan komputer biasa kerana kita meningkatkan jumlah orang dalam masalah ini.

Kami melihat bahawa dengan 3 orang, kami perlu melalui 8 kemungkinan konfigurasi.

Bagaimana jika ada 4 orang? Sekiranya demikian, kita perlu melalui konfigurasi 2 * 2 * 2 * 2 = 16.

Dengan orang-orang n, kita perlu melalui (2 kekuatan n) konfigurasi untuk mencari penyelesaian terbaik.

Oleh itu, jika terdapat 100 orang, kita perlu melalui:

  • 2¹⁰⁰ ~ = 10³⁰ = satu juta juta juta juta juta konfigurasi.

Perkara ini tidak mungkin diselesaikan dengan komputer biasa.

Menyelesaikan masalah ini dengan komputer kuantum

Bagaimana kita menyelesaikan masalah ini dengan komputer kuantum?

Untuk memikirkannya, mari kita kembali kepada kes membahagi 3 orang menjadi dua teksi.

Seperti yang kita lihat sebelumnya, ada 8 kemungkinan penyelesaian untuk masalah ini:

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

Dengan komputer biasa, menggunakan 3 bit, kami hanya dapat mewakili satu daripada penyelesaian ini pada satu masa - sebagai contoh, 001.

Namun, dengan komputer kuantum, menggunakan 3 qubit , kita dapat mewakili semua 8 penyelesaian ini pada masa yang sama .

Terdapat perdebatan mengenai apa maksudnya dengan tepat, tetapi inilah cara saya memikirkannya.

Pertama, periksa qubit pertama daripada 3 qubit ini. Apabila anda menetapkannya kepada kedua-duanya0 dan 1, ia seperti mencipta dua dunia yang selari. (Ya, itu pelik, tapi ikuti saja di sini.)

Di salah satu dunia selari itu, qubit ditetapkan ke 0. Di dunia lain, ia ditetapkan ke 1.

Sekarang, bagaimana jika anda menetapkan qubit kedua ke 0 dan 1 juga? Kemudian, ia seperti mencipta 4 dunia selari.

Di dunia pertama, kedua qubit ditetapkan ke 00. Di dunia kedua, mereka adalah 01. Di ketiga, mereka adalah 10. Di dunia keempat, mereka 11.

Begitu juga, jika anda menetapkan ketiga qubit ke 0 dan 1, anda akan mencipta 8 dunia selari - 000, 001, 010, 011, 100, 101, 110, dan 111.

Ini adalah cara berfikir yang pelik, tetapi ini adalah salah satu cara yang tepat untuk menafsirkan bagaimana tingkah laku qubit di dunia nyata.

Sekarang, apabila anda menggunakan beberapa pengiraan pada ketiga qubit ini, anda sebenarnya menggunakan pengiraan yang sama di semua 8 dunia selari pada masa yang sama.

Jadi, daripada melalui setiap penyelesaian berpotensi tersebut secara berurutan, kita dapat menghitung skor semua penyelesaian pada masa yang sama.

Dengan contoh ini, secara teori, komputer kuantum anda dapat mencari salah satu penyelesaian terbaik dalam beberapa milisaat. Sekali lagi, itu 001 atau 110 seperti yang kita lihat sebelumnya:

A | B | C | Markah

0 | 0 | 0 | -1

0 | 0 | 1 | 1 <- salah satu soluti terbaik Firefox

0 | 1 | 0 | -1

0 | 1 | 1 | -1

1 | 0 | 0 | -1

1 | 0 | 1 | -1

1 | 1 | 0 | 1 <- yang terbaik jadi pencuci mulut

1 | 1 | 1 | -1

Pada hakikatnya, untuk menyelesaikan masalah ini, anda perlu memberikan dua perkara kepada komputer kuantum anda:

  • Semua penyelesaian berpotensi ditunjukkan dengan qubit
  • Fungsi yang mengubah setiap potensi penyelesaian menjadi skor. Dalam kes ini, ini adalah fungsi yang mengira bilangan pasangan rakan dan pasangan musuh yang berkongsi kereta yang sama.

Dengan adanya dua perkara ini, komputer kuantum anda akan mengeluarkan salah satu penyelesaian terbaik dalam beberapa milisaat. Dalam kes ini, itu adalah 001 atau 110 dengan skor 1.

Sekarang, secara teori, komputer kuantum dapat mencari salah satu penyelesaian terbaik setiap kali dijalankan.

Namun, pada hakikatnya, terdapat kesalahan ketika menjalankan komputer kuantum. Oleh itu, bukannya mencari penyelesaian terbaik, ia mungkin mencari penyelesaian terbaik kedua, penyelesaian ketiga terbaik, dan seterusnya.

Kesalahan ini menjadi lebih ketara kerana masalahnya menjadi semakin kompleks.

Oleh itu, dalam praktiknya, anda mungkin ingin menjalankan operasi yang sama pada komputer kuantum berpuluh-puluh kali atau beratus-ratus kali. Kemudian pilih hasil terbaik daripada banyak hasil yang anda dapat.

Bagaimana skala komputer kuantum

Walaupun dengan kesalahan yang saya sebutkan, komputer kuantum tidak mempunyai masalah penskalaan yang sama dengan komputer biasa.

Apabila ada 3 orang yang perlu kita bahagikan kepada dua kereta, jumlah operasi yang perlu kita lakukan pada komputer kuantum adalah 1. Ini kerana komputer kuantum menghitung skor semua konfigurasi pada masa yang sama.

Apabila terdapat 4 orang, jumlah operasi masih 1.

Apabila terdapat 100 orang, jumlah operasi masih 1. Dengan satu operasi, komputer kuantum mengira skor semua 2¹⁰⁰ ~ = 10³⁰ = satu juta juta juta juta juta konfigurasi pada masa yang sama.

Seperti yang saya nyatakan sebelumnya, dalam praktiknya, mungkin yang terbaik adalah menjalankan komputer kuantum anda berpuluh-puluh kali atau beratus-ratus kali dan memilih hasil terbaik daripada banyak hasil yang anda dapat.

Namun, masih jauh lebih baik daripada menjalankan masalah yang sama pada komputer biasa dan harus mengulangi pengiraan jenis yang sama satu juta juta juta juta juta kali.

Mengakhiri

Terima kasih khas untuk semua orang di D-Wave Systems kerana dengan sabar menerangkan semua ini kepada saya.

D-Wave baru-baru ini melancarkan persekitaran awan untuk berinteraksi dengan komputer kuantum.

Sekiranya anda seorang pembangun dan ingin benar-benar mencuba menggunakan komputer kuantum, ini mungkin kaedah termudah untuk melakukannya.

Ia dipanggil Leap, dan terdapat di //cloud.dwavesys.com/leap. Anda boleh menggunakannya secara percuma untuk menyelesaikan ribuan masalah, dan mereka juga mempunyai tutorial yang mudah diikuti untuk memulakan komputer kuantum setelah anda mendaftar.

Nota Kaki:

  • Dalam artikel ini, saya menggunakan istilah "komputer biasa" untuk merujuk kepada komputer bukan kuantum. Namun, dalam industri pengkomputeran kuantum, komputer bukan kuantum biasanya disebut sebagai komputer klasik.