Apa yang membuat komputer kuantum begitu baik dalam menghitung faktor utama?

19

Salah satu klaim umum tentang komputer kuantum adalah kemampuan mereka untuk "memecahkan" kriptografi konvensional. Ini karena kriptografi konvensional didasarkan pada faktor prima, sesuatu yang secara komputasi mahal untuk dihitung oleh komputer konvensional, tetapi yang merupakan masalah sepele bagi komputer kuantum.

Apa sifat komputer kuantum yang membuatnya mampu melakukan tugas ini di mana komputer konvensional gagal dan bagaimana qubit diterapkan pada masalah penghitungan faktor utama?

Paul Turner
sumber

Jawaban:

12

Jawaban singkatnya

Komputer Quantum dapat menjalankan subrutin dari suatu algoritma untuk anjak piutang, secara eksponensial lebih cepat daripada rekan klasik yang dikenal. Ini tidak berarti komputer klasik TIDAK BISA melakukannya dengan cepat juga, kami hanya tidak tahu hari ini cara untuk algoritma klasik berjalan seefisien algoritma kuantum

Jawaban panjangnya

Komputer Quantum jago dalam Discrete Fourier Transforms. Ada banyak yang dimainkan di sini yang tidak ditangkap hanya dengan " paralel " atau " cepat ", jadi mari kita masuk ke dalam darah binatang buas.

Masalah anjak piutang adalah sebagai berikut: Diberi angka N=pq mana p,q adalah bilangan prima, bagaimana Anda memulihkan p dan q ? Salah satu pendekatan adalah mencatat hal berikut:

Jika saya melihat angka xmodN , lalux berbagi faktor yang sama denganN , atau tidak.

Jika berbagi faktor umum, dan bukan kelipatan dari N itu sendiri, maka kita dapat dengan mudah bertanya apa faktor umum dari x dan N (melalui algoritma Euclidean untuk faktor umum terbesar).xNxN

Sekarang sebuah fakta yang tidak begitu jelas: himpunan semua yang tidak berbagi faktor umum dengan N membentuk kelompok perkalian mod N . Apa artinya? Anda dapat melihat definisi grup di Wikipedia di sini . Biarkan operasi grup menjadi multiplikasi untuk mengisi detail, tetapi yang benar-benar kita pedulikan di sini adalah konsekuensi berikut dari teori itu yaitu: urutanxNmodN

x0modN,x1modN,x2modN,...

periodik, ketika tidak membagikan faktor umum (coba x = 2 , N = 5 ) untuk melihatnya langsung sebagai:x,Nx=2N=5

1mod5=1,4mod5=4,8mod5=3,16mod5=1.

Sekarang berapa banyak bilangan asli kurang dari N yang tidak berbagi faktor umum dengan N ? Itu dijawab oleh fungsi totient Euler , itu ( p - 1 ) ( q - 1 ) .xNN(p1)(q1)

Terakhir, mengetuk subjek teori kelompok, panjang rantai berulang

x0modN,x1modN,x2modN,...

membagi angka itu . Jadi jika Anda tahu periode urutan kekuatan x N(p1)(q1) maka Anda dapat mulai mengumpulkan menebak untuk apa ( p - 1 ) ( q - 1 ) . Selain itu, Jika Anda tahu apa ( p - 1 ) ( q - 1 ) , dan apa p q (itu N jangan lupa!), Maka Anda memiliki 2 persamaan dengan 2 yang tidak diketahui, yang dapat diselesaikan melalui aljabar dasar untuk p terpisah , q .xNmod5(p1)(q1)(p1)(q1)pqp,q

Di mana komputer kuantum masuk? Temuan periode. Ada operasi yang disebut transformasi Fourier, yang mengambil fungsi ditulis sebagai jumlah dari fungsi periodik a 1 e 1 + a 2 e 2 . . . di mana sebuah i adalah nomor, e i adalah fungsi periodik dengan periode p i dan peta untuk fungsi baru f sehingga f ( p i ) = a i .ga1e1+a2e2...aieipif^f^(pi)=ai

Komputasi transformasi Fourier biasanya diperkenalkan sebagai integral, tetapi ketika Anda ingin menerapkannya pada array data ( elemen ke- l array adalah ) Anda dapat menggunakan alat ini disebut Discrete Fourier Transform yang jumlahnya untuk mengalikan "array" Anda seolah-olah itu adalah vektor, oleh matriks kesatuan yang sangat besar.f(I)

Penekanan pada kata kesatuan: itu adalah properti yang benar-benar sewenang-wenang yang dijelaskan di sini . Namun kuncinya adalah sebagai berikut:

Dalam dunia fisika, semua operator mematuhi prinsip matematika umum yang sama: unitaritas .

Jadi itu berarti tidak masuk akal untuk mereplikasi operasi matriks DFT sebagai operator kuantum.

Sekarang di sini adalah di mana ia mendapat mendalam qubit Array dapat mewakili 2 n mungkin elemen array (konsultasikan mana saja secara online untuk penjelasan dari itu atau drop komentar).n2n

Dan juga sebuah Operator kuantum qubit dapat bertindak atas bahwa seluruh 2 n ruang kuantum, dan menghasilkan jawaban yang kita dapat menafsirkan.n2n

Lihat artikel Wikipedia ini untuk detail lebih lanjut.

Jika kita dapat melakukan transformasi Fourier ini pada set data yang besar secara eksponensial, hanya menggunakan Qubit, maka kita dapat menemukan periode dengan sangat cepat.n

Jika kita dapat menemukan periode dengan sangat cepat, kita dapat dengan cepat mengumpulkan perkiraan untuk (p1)(q1)

Jika kita dapat melakukan itu dengan cepat maka dengan pengetahuan kita tentang kita dapat mengambil bacokan memeriksa p , q .N=pqp,q

Itulah yang terjadi di sini, pada tingkat yang sangat tinggi.

frogeyedpeas
sumber
3

Apa yang membuat komputer kuantum bagus dalam memfaktorkan sejumlah besar adalah kemampuan mereka untuk memecahkan masalah penemuan periode (dan fakta matematika yang berhubungan dengan menemukan faktor-faktor utama untuk penemuan periode). Itu pada dasarnya algoritma Shor secara singkat. Namun itu hanya menimbulkan pertanyaan apa yang membuat komputer kuantum bagus dalam menemukan periode.

Inti dari penemuan periode adalah kemampuan untuk menghitung nilai fungsi di seluruh domainnya (yaitu, untuk setiap input yang dimungkinkan). Ini disebut paralelisme kuantum. Ini sendiri tidak cukup baik, tetapi bersama dengan gangguan (kemampuan untuk menggabungkan hasil dari paralelisme kuantum dengan cara tertentu), itu.

Saya kira jawaban ini mungkin sedikit gantungan tebing: Bagaimana seseorang menggunakan kemampuan ini untuk benar-benar faktor? Temukan jawabannya di wikipedia pada algoritma Shor .

piramida
sumber
1

Pertama-tama, anjak piutang dapat dilakukan pada komputer kuantum (dengan penggunaan gerbang kuantum 'kesatuan') dengan menggunakan algoritma Shor .

Penjelasan yang tidak memerlukan matematika tingkat lanjut atau pengetahuan fisika lanjutan adalah posting blog ini oleh Scott Aaronson , berjudul "Shor, aku akan melakukannya."

Ringkasan ide-idenya adalah sebagai berikut:

Pertama, kami mewakili gerbang kuantum / qubit kami dengan jam (menggunakan 'bilangan kompleks sebagai panah (yaitu elemen dari R2 dengan multiplikasi yang aneh), representasi ')

Kemudian, kami mencatat bahwa seorang peneliti CS memiliki periode tidur yang sangat tidak teratur. Untuk menemukan periode aneh ini, kami menggunakan jam. Kemudian, kami mencatat bahwa temuan periode ini dapat digunakan untuk faktor bilangan bulat (menggunakan konstruksi yang sama seperti pada Pollard acak -ρ algoritma)

Karenanya, jam kuantum aneh kami dapat membantu kami memfaktorkan secara efisien!

Kadal diskrit
sumber