Paralel süreçler çalıştırarak Grover Algoritmasını hızlandırabilir miyiz?


10

Klasik hesaplamada, paralel hesaplama düğümlerini mümkün olduğunca çok çalıştırarak anahtar aramayı (örneğin AES) çalıştırabiliriz.

Birçok Grover algoritmasını da çalıştırabileceğimiz açıktır.

Sorum şu ; bilişimde olduğu gibi birden fazla Grover algoritmasını kullanarak hızlandırmak mümkün mü?

Yanıtlar:


6

Kesinlikle! Sahip olduğunuzu hayal edinK=2k kehanetin kopyaları USkullanabilirsiniz. Normalde, işlemi yineleyerek arama yaparsınız

Hn(In2|00|n)HnUS,
başlangıç ​​durumundan başlayarak (H|0)n. Bu zaman alırΘ(N). (KullanıyorumIn belirtmek 2n×2n kimlik matrisi.)

Bunu aşağıdakilerle değiştirebilirsiniz: 2k paralel kopyalar, her biri bir x{0,1}k, kullanarak

(IkH(nk))Ik(Ink2|00|(nk))(IkH(nk))US
ve bir eyaletten başlayarak |x(H|0)(nk) Bunları çalıştırmak için gereken süre, O(N/K), talep etme pahasına K kat daha fazla alan.

Ölçeklendirme açısından, bunun alakasız bir sonuç olduğu düşünülebilir. Sabit sayıda kehanetiniz varsa,K, sonra bir sabit (K) (eğer varsa, K paralel klasik çekirdekler, elde edebileceğiniz en iyi gelişme, K) ve ölçeklendirmeyi değiştirmez. Ancak temel çalışma süresini değiştirir. Grover'ın algoritmasının tam olarak optimum olduğunu biliyoruz. Tek bir kehanetle mümkün olan mutlak minimum zamanı alır. Yani, birK zamanın iyileştirilmesi, belirli bir çalışma süresinin belirli bir değerdeki karşılaştırması ile ilgili olarak faydalıdır. N.


ama bunu yaparsanız, klasik performansla karşılaştırma anlamının bir kısmını kaybeder, değil mi? Sonuçta, belirli bir arama olup olmadığını kontrol eden işlemi çalıştırarak klasik aramayı da hızlandırabilirsinizxtüm girdilere paralel hedeftir. Bu açıkça mevcut kaynaklar hakkında ek varsayımlar gerektirir, ancak argümanınızda yapılan aynı varsayımlar gerektirir
glS

1
N sonsuza kadar gider ama Kdeğil. Sorununuz büyüyor ancak kaynaklarınız çok az.
AHusain

1
Bu cevap doğrudur (DaftWullie'nin uyardığı gibi optimal olmayabilir). Bu, klasik devre karmaşıklığını gerektirdiği gibi paralelleşmeye karşı aynı dikkattir. Paralelleştirme nedeniyle bir hızlanma istiyorsanız, devre derinliğine bakarsınız (çünkü birden fazla işlemin koordinasyonu toplam işi azaltmayacaktır ). Bile önemli değilKsabittir --- ya paralelleştirmeden kaynaklanan derinlik gelişimi ile ilgileniyorsunuz ya da değilsiniz. Kuantum hesaplamanın kendisinde olduğu gibi, sadece bir soruna daha fazla bilgisayar atmak sihirli bir şekilde her şeyi hızlı yapmaz!
Niel de Beaudrap

3

Bir bakıma, bunu farklı düğümlerde paralel olarak yapsaydık, koşmak için zaman kazanırdınız. Ancak karmaşıklıktan bahsedersek (genel olarak hızlanmaya atıfta bulunduğumuz şey budur), biraz analize ihtiyacımız var.

Aşağıdakiler hakkında ihtiyacımız olduğunu kabul ediyorsunuz Nparalel olmayan durum için işlemler. Diyelim ki iki düğümümüz var ve N öğeleri listesini iki boyut listesine ayırıyoruzN1,N2. Alt listelerde arama yapmakN1,N2.

Ancak,

N=N1+N2N1+N2

Ve yine de paralel süreçler tarafından döndürülenler arasında hangi çıktının aradığınızı doğrulamanız gerekir. Karmaşıklığa bir sabit ekler, böylece genellikleO notasyonu.

Bununla birlikte, özellikle donanımları kümelememiz gerektiğinde hala ilginç olacaktır çünkü qubit veya başka sınırlamalarla sınırlıyız.


2
N1 = N2 için hala bir eşitsizlik var: sqrt (2) * sqrt (N1) <2 * sqrt (N1)
Mariia Mykhailova

Gerçekten. Kafamda $ \ sqrt {a b} = \ sqrt {a} \ sqrt {b} $ diye düşündüm. Cevapları burada gece yarısı ve yorgunken cevaplamayı bırakmalıyım. Bunu işaret ettiğiniz için teşekkürler.
cnada

3
@cnada: Her ikisi de hızlanma ile ilgili en az iki farklı karmaşıklık kavramı var. Biri boyut karmaşıklığı, diğeri ise derinlik karmaşıklığı. Aksi belirtilmedikçe, genellikle boyut karmaşıklığını düşünmeyi tercih ederiz, ancak derinlik karmaşıklığı hala kuantum hesaplama karmaşıklığına çok ilgi çeken bir şeydir, örneğin MBQC [arXiv: quant-ph / 0301052 , arXiv: 0704.1736 ] ve son sonuçları koşulsuz derinlik ayrımları [arXiv: 1704.00690 ].
Niel de Beaudrap

@NieldeBeaudrap İnsanların derinlik karmaşıklığına daha fazla baktıklarını düşündüm. Ancak Grover için boyut ve derinlik karmaşıklığı yaklaşık olarak aynı sıradadır. Bu, sorunun boyutunda ikinci derecedir (genellikle N öğelerinin bir listesinin boyutu olarak görülür). Sence buradaki yaklaşımım doğru değil mi?
cnada

2
Yanlış bir şey söylemiyorsunuz , sadece boyut karmaşıklığını gereğinden fazla vurguladığınızı ve derinlik karmaşıklığına gerçekten fayda sağlamadığınızı belirtiyorum. Sadece yaparsanız çok ilginç değilkÖ(1) paralel Grover süreçleri, ancak DaftWullie'nin cevabının önerdiği gibi (ve klasik post-processing'i dikkate alarak), derinlik karmaşıklığı N- için log(k)N/k for k(N)Ω(1) parallel Grover processes, which is an improvement by a factor of k/log(k) (the log factor comes from identifying which if any process found a solution).
Niel de Beaudrap
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.