Apa nilai integer minimum untuk menjadikan faktorisasi kuantum bermanfaat?

11

Mari kita asumsikan bahwa kita memiliki komputer kuantum dan klasik sedemikian sehingga, secara eksperimental, setiap operasi logis dasar dari faktorisasi matematika sama-sama memakan biaya waktu dalam klasik dan faktorisasi kuantum: Yang merupakan nilai bilangan bulat terendah yang proses kuantumnya lebih cepat daripada yang klasik satu?

SalvaCardona
sumber
2
Penghitungan yang sangat tepat tergantung pada perincian seperti implementasi operasi penjumlahan dalam algoritma kuantum, dan juga pada operasi yang tepat digunakan dalam algoritma factorisation klasik terbaik. Dalam kedua kasus tersebut, kita sering terbiasa mengabaikan faktor konstan dalam jumlah pekerjaan yang diperlukan, tetapi bahkan lebih banyak pada kasus klasik daripada kasus kuantum. Apakah Anda akan puas dengan perkiraan urutan-besarnya (misalnya keuntungan kuantum yang diperoleh di suatu tempat antara 350-370 bit --- untuk memberikan jawaban yang mungkin saya buat dari udara tipis berdasarkan tidak ada analisis aktual)?
Niel de Beaudrap
@NieldeBeaudrap Saya akan mengatakan bahwa untuk alasan yang Anda nyatakan, angka pastinya tidak mungkin diberikan. Jika perkiraan 'out of the air' Anda didasarkan pada beberapa alasan, saya pikir itu akan menarik. (Dengan kata lain, tebakan berpendidikan memiliki nilai, tetapi tebakan liar tidak)
Kadal diskrit
@DiscreteLizard: jika saya memiliki cara yang bagus untuk memperkirakan siap pakai, saya tidak akan menghasilkan contoh jawaban berdasarkan tanpa analisis :-) Saya yakin ada cara yang masuk akal untuk menghasilkan estimasi yang menarik, tetapi yang saya akan menjadi dapat dengan mudah memberikan bar kesalahan akan terlalu besar untuk menjadi sangat menarik.
Niel de Beaudrap
Karena masalah ini (atau dulu) umumnya dianggap sebagai "bukti" khas bahwa komputer kuantum mampu melakukan hal-hal di luar ranah komputasi klasik, tetapi hampir selalu dalam istilah kompleksitas komputasi yang ketat (jadi, mengabaikan semua konstanta dan hanya berlaku untuk input tinggi yang sewenang-wenang. ukuran) Saya akan mengatakan jawaban kasar besarnya (dan turunannya) sudah berguna / pedagogis. Mungkin orang-orang di CS / teoretisCS mungkin bersedia membantu.
agaitaarino
1
@agaitaarino: Saya setuju, meskipun jawabannya harus mengandaikan beberapa akun yang kurang lebih tepat dari kinerja algoritma klasik terbaik untuk factorisation. Sisanya kemudian dapat dilakukan oleh siswa yang cukup baik dalam perhitungan kuantum.
Niel de Beaudrap

Jawaban:

8

Bagian kuantum dari algoritma Shor, pada dasarnya, adalah eksponensial modular tunggal yang dilakukan di bawah superposisi diikuti oleh transformasi Fourier dan kemudian pengukuran. Eksponen modular adalah bagian yang paling mahal.

Mari kita asumsikan bahwa [...] setiap operasi logis elementer dari faktorisasi matematis sama-sama menghabiskan biaya dalam klasik dan dalam faktorisasi kuantum

Jika kita mengasumsikan bahwa eksponensial modular membutuhkan waktu yang sama lama pada komputer kuantum seperti pada komputer klasik, maka transisi di mana komputasi kuantum menjadi lebih baik akan terjadi pada jumlah yang sangat rendah. Komputasi eksponensial modular sangat cepat, klasik, karena Anda dapat menggunakan kuadrat ulang. Saya akan memperkirakan crossover akan terjadi bahkan sebelum Anda mendapatkan angka 30 bit (angka lebih dari satu miliar).

Tetapi komputer kuantum tidak akan melakukan matematika hampir secepat komputer klasik . Sebagai contoh, pada laptop saya, saya dapat melakukan eksponensial modular 1000-bit dalam python dalam sepersekian detik. Tetapi pada komputer kuantum yang dapat diperkirakan, dibutuhkan waktu berjam-jam atau berhari-hari. Masalahnya adalah perbedaan besar- besaran dalam biaya gerbang AND.

|T

Jadi misalkan kita mendapatkan satu juta T state per detik, dan kami ingin mengubahnya menjadi laju penambahan 64-bit untuk dibandingkan dengan mesin klasik. Penambahan 64 bit membutuhkan 64 gerbang AND, masing-masing membutuhkan 4 gerbang T. 1 juta dibagi 4 dibagi 64 memberi ... sekitar 4KHz. Sebaliknya mesin klasik akan dengan mudah melakukan satu miliar tambahan per detik. Penambah kuantum satu juta kali lebih lambat daripada penambah klasik (sekali lagi, perkiraan liar, dan ingatlah bahwa angka ini akan meningkat seiring waktu).

Faktor lain yang patut dipertimbangkan adalah perbedaan biaya komputer kuantum dan klasik. Jika Anda memiliki seratus juta dolar, dan Anda memilih antara satu komputer kuantum dan seribu komputer klasik, faktor 1000 itu harus diperhitungkan. Dalam pengertian ini, kita dapat mengatakan bahwa penambah kuantum satu miliar kali lebih efisien daripada penambah klasik (dalam FLOPS / $).

Denda faktor konstan satu miliar biasanya merupakan pemecah kesepakatan langsung. Dan untuk algoritma kuantum dengan keunggulan kuadrat belaka (seperti Grover), saya berpendapat bahwa itu sebenarnya adalah pemecah kesepakatan. Tetapi algoritma Shor menjadi relatif lebih baik secara eksponensial terhadap strategi klasik saat Anda meningkatkan jumlah bit dalam jumlah menjadi faktor. Berapa banyak bit sebelum kita makan yang "sangat" 10 ^ 9 konstan dengan pertumbuhan eksponensial kita dalam keuntungan?

Pertimbangkan bahwa RSA-640 adalah faktor pada tahun 2005 menggunakan ~ 33 CPU tahun. Komputer kuantum harus dapat melakukan angka itu dalam waktu kurang dari sehari. Jika Anda memiliki seribu komputer klasik yang mengatasi masalah ini, mereka akan selesai dalam waktu sekitar dua minggu. Jadi sepertinya kuantum menang dengan 640 bit, tetapi hanya dengan urutan besarnya atau tiga. Jadi mungkin cutoff akan terjadi di suatu tempat sekitar 500 bit?

Bagaimanapun, saya tahu ini bukan jawaban yang sulit dan cepat. Tapi mudah-mudahan saya telah menyampaikan beberapa pengertian tentang jumlah yang akan saya pikirkan ketika membandingkan klasik dan kuantum. Benar-benar tidak ada yang tahu faktor konstan yang terlibat, jadi saya akan terkejut jika ada yang bisa memberi Anda perkiraan yang tepat lebih baik daripada "di suatu tempat di ratusan bit".

Craig Gidney
sumber
Ini adalah upaya yang baik, tetapi bagaimana Anda bisa memperkirakan 30 bit? Apa tepatnya yang Anda bandingkan dengan algoritma Shor, ketika Anda menganggapnya sebagai titik silang yang mungkin?
Niel de Beaudrap
1
@NieldeBeaudrap Seperti yang saya katakan, ini tebakan liar. Saya pikir: perkalian modular memiliki faktor konstan yang layak (klasik). Begitu juga pecahan lanjutan. Apakah algoritma anjak piutang juga memiliki faktor konstan yang baik? Mungkin tidak? Jika demikian, crossover akan terjadi segera dan bukannya dalam jumlah besar. Jika seseorang ingin benar-benar membandingkan kedua hal itu satu sama lain, saya akan memperbarui jawabannya. Saya menganggap "daging" sebagai sisanya.
Craig Gidney
1
Saya biasanya tidak akan keberatan dengan hal ini sebagai memberikan intuisi, kecuali bahwa tebakan liar Anda tepat pada subjek pertanyaan. (Pertanyaan itu juga diajukan sedemikian rupa sehingga menunjukkan kesadaran akan masalah kecepatan jam.) Teknik tercepat untuk memfaktorkan jumlah yang sangat besar melibatkan faktor-faktor konstan yang besar, tetapi sebenarnya memperhitungkannya adalah poin dari pertanyaan itu; tetapi untuk angka sekitar satu miliar kita bahkan mungkin mempertimbangkan pembagian uji coba menggunakan daftar bilangan prima hingga sekitar 32.767, yang akan sangat cepat dalam praktiknya. Perbandingan kuantitatif bahkan dengan ini akan menjadi awal.
Niel de Beaudrap
6

Seperti yang saya sebutkan di komentar, jawaban yang sangat tepat kemungkinan akan tergantung pada banyak pilihan teknis yang agak sewenang-wenang. Mungkin akan lebih penting untuk mendapatkan estimasi urutan-besarnya, dan memperhitungkan sebanyak mungkin dalam membuatnya.

Jawaban ini dimaksudkan bukan sebagai jawaban definitif, tetapi sebagai langkah ke arah yang benar dengan merujuk pada literatur yang ada (meskipun diakui lebih dari satu dekade sekarang), khususnya:

  • Van Meter, Itoh, dan Ladd. Waktu Eksekusi yang Bergantung pada Arsitektur dari Algoritma Shor . Proc Superkonduktivitas Mesoscopic + Spintronics 2006; [ arXiv: quant-ph / 0507023 ]

Van Meter, Itoh, dan Ladd mencoba untuk membandingkan kinerja algoritma Shor dengan teknologi komputasi yang tersedia dengan melakukan Number Field Sieve (algoritma klasik yang terkenal untuk factorisation). Saya belum punya waktu untuk menyelami rincian makalah ini - jawaban yang superior kemungkinan bisa diperoleh dengan melakukannya - tetapi Gambar 1 dari artikel itu memungkinkan kami untuk membuat estimasi numerik yang masuk akal:

masukkan deskripsi gambar di sini

Di sini, kurva curam mewakili waktu komputasi jaringan komputasi klasik. Kurva yang berlabel 'NFS, 104 PCs, 2003' tampaknya menunjukkan perhitungan (dan waktu komputasi yang diproyeksikan) dari seratus empat komputer pribadi sekitar tahun 2003, sebagaimana dilaporkan oleh RSA Security Inc. pada tahun 2004 [ http: //www.rsasecurity. com / rsalabs / node.asp? id = 2096] .

nnvv2×1011operasi per detik. Pembandingan hipotetis dari algoritma Shor harus dilakukan terhadap komputer kuantum yang bekerja pada kecepatan clock yang sebanding.

109

  • Terlepas dari keuntungan operasi per detik dari faktor 200 atau lebih, plot tersebut menunjukkan kapan implementasi NFS klasik 200GHz ini dilampaui oleh komputer kuantum 1GHz yang melakukan algoritma Shor (sekitar 200 angka angka) dan oleh komputer kuantum 1MHz ( sekitar 330 angka).
  • Kami juga memiliki kurva yang memproyeksikan kinerja "pada 2018", mewakili 1000 kali kekuatan komputasi klasik: penyadapan dengan komputer kuantum 1GHz dan 1MHz berada pada angka 350 bit dan angka 530 bit.

Peningkatan titik persimpangan terhadap perhitungan kuantum, dari perhitungan pada tahun 2003 ke yang diproyeksikan pada tahun 2018, mewakili peningkatan kecepatan clock 1000, adalah faktor sekitar 5/3. Dari ini kita dapat memperkirakan bahwa keunggulan komputasi untuk ukuran angka yang dapat dengan cepat diselesaikan oleh komputer klasik, karena peningkatan kecepatan faktor 200, kira-kira 7/6. Kemudian kita dapat memperkirakan bahwa titik persimpangan dari komputer klasik 1GHz tunggal yang melakukan NFS, dengan komputer kuantum 1GHz yang melakukan algoritma Shor, berada pada angka sekitar 170 bit.

Intinya - jawaban yang tepat akan tergantung pada banyak asumsi teknis yang dapat mengubah hasil yang tepat secara signifikan, sehingga lebih baik untuk mencari perkiraan kasar. Tetapi pertanyaan ini telah diteliti setidaknya satu kali sebelumnya, dan membuat sejumlah asumsi dan ekstrapolasi pada kinerja berdasarkan kinerja klasik pada tahun 2003, tampaknya algoritma Shor akan mengungguli algoritma klasik paling terkenal pada operasi-by-operasi untuk angka. sekitar 170 bit.

Niel de Beaudrap
sumber
Ini jawaban yang bagus. Perlu dicatat bahwa gagasan makalah ini tentang "operasi logis dasar" adalah (sangat tepat) pada tingkat gerbang AND, dibandingkan dengan pada tingkat instruksi CPU atau operasi BigInt (yang saya curigai adalah apa yang ditanyakan oleh penanya. berpikir). Dalam jawaban saya sendiri, saya mengasumsikan eksponensial modular dilakukan "seolah-olah klasik", yang akan melibatkan misalnya penggandaan FFT. Inilah sebabnya saya menduga angka yang jauh lebih rendah dari makalah ini, yang (tepat) melakukan penggandaan buku sekolah dengan riak carry adders untuk aritmatika kuantumnya.
Craig Gidney
@SalvaCardona: Saya sarankan Anda tidak menerima jawaban saya. Analisis saya sangat sepintas, dan Anda harus bertahan untuk analisis yang lebih baik.
Niel de Beaudrap