Grover Algoritması ve karmaşıklık sınıflarıyla ilişkisi?


12

Grover'ın algoritması ve karmaşıklık sınıflarıyla bağlantısı hakkında kafam karışıyor.

Grover algoritması bulur ve eleman bir veri tabanında bulunan , N = 2 , n (öyle ki f ( k ) = 1 ) ile elemanların ~ kN=2nf(k)=1 oracle çağırır.

N=2n/2

Yani şu problemimiz var:

Sorun: Veritabanında f ( k ) = 1 olacak şekilde bir bulunkf(k)=1

Şimdi bunun bir problem sorunu olmadığının farkındayım ve bu nedenle , NP vb . Karmaşıklık sınıfındaki normal tanımlarımız gerçekten geçerli değil. Ama böyle bir durumda karmaşıklık sınıfını nasıl tanımlayacağımızı merak ediyorum - ve hava durumu N veya n'ye göre mi yapılıyor ?PNPNn

Ayrıca Grover'ın algoritması altyordam olarak kullanılabilir. Birkaç yerde Grover'ın algoritmasının karmaşıklık sınıfını bir problemi değiştirmediğini okudum - bunu görmenin sezgisel bir yolu var.


\text{}Karmaşıklık sınıflarının adlarını yazmak için kullanmayı düşünün . Örneğin \text{NP}veya\text{BQP}
Sanchayan Dutta

1
Burada ne istediğinden emin değilim. Algoritmalar karmaşıklık sınıflarının üyesi olamaz, çünkü karmaşıklık sınıfları hesaplama problemleri içerir. Soruda belirtilen sorunun 'bilinen' bir karmaşıklık sınıfında mı yoksa bunun için mi tamamlandığını mı soruyorsunuz? Grover'ın algoritmasının 'keşfinin' bilinen karmaşıklık sınıfları arasındaki ilişki hakkında bir teorem yaratıp yaratmadığını mı soruyorsunuz? Lütfen açıkla.
Ayrık kertenkele

Yanıtlar:


6

özet

  • Arama problemlerinin karmaşıklığı teorisi vardır (ilişki problemleri olarak da bilinir). Bu teori, FP , FNP ve FBQP adı verilen ve farklı kaynak türleri ile arama problemlerini etkili bir şekilde çözme dersleri içerir .
  • Arama sorunlarından, arama sorunlarını normal P , NP ve BQP sınıflarıyla ilişkilendirmenizi sağlayan karar problemleri de tanımlayabilirsiniz .
  • Sorunun karar sürümünün arama sürümünü göz önünde bulundurun, Yapılandırılmamış Arama sorununa girdiyi dikkate alma şekliniz, karmaşıklığına hangi üst sınırları koyabileceğinizi belirler.

İlişki problemlerinin karmaşıklığı

Belirttiğiniz gibi, Grover'ın problemi, karmaşıklık literatüründe bazen bir ilişki problemi olarak da bilinen bir arama problemini çözer . Yani, aşağıdaki türden bir sorundur:

Genel bir arama probleminin yapısı.
Bir girdisi ve bir R ikili ilişkisi verildiğinde, R ( x , y ) tutabilecek şekilde bir y bulun .xRyR(x,y)

FP ve FNP karmaşıklık sınıfları , özellikle en fazla x uzunluğunun bir polinom fonksiyonuna sahip olduğu ve R ( x , y ) ilişkisinin kendisinin yapabileceği durumla ilgilenen bu tür problemler açısından tanımlanır. ( x , y ) uzunluğunda bir polinom tarafından sınırlanan miktarda hesaplanabilir .yxR(x,y)(x,y)

Özellikle: Grover's Search'ün genellikle uygulandığı 'veritabanı arama' sorunu örneği aşağıdaki gibi açıklanabilir.

Yapılandırılmamış Arama.
Girdi kehaneti öyle O | Bir | b = | Bir | b f ( a ) bir fonksiyonu f : { 0 , 1 } m{ 0 , 1 } , bulmak Y şekilde O | y | 0 = | y | 1O:H2m+1H2m+1O|a|b=|a|bf(a)f:{0,1}m{0,1}y .O|y|0=|y|1

Burada kâhin kendisi sorunun girdisidir: rolünü oynar ve hesapladığımız ilişki R ( O , y )x

R(O,y)[O|y|0=|y|1][f(y)=1].

Diyelim ki, bir oracle yerine, f işlevinin nasıl hesaplanacağını açıklayan belirli bir girişi sağlanmış, bu sorunun hangi karmaşıklık sınıfına ait olduğunu düşünebiliriz. Olarak gösterir , biz elde uygun karmaşıklık sınıf girişi sağlanır bağlıdır.xfpyramids

  • Giriş işlevinin, veritabanına her girişin bir miktar olduğu bir veritabanı olarak sağlandığını (sorunun bazen açıklandığı gibi) varsayalım . Eğer n, dizgenin uzunluğudur x tanımlamak için kullanılan tüm veritabanı , veritabanı sahip , N = N / girişleri. Etraflıca her sorgulayarak tüm veri tabanını araştırmak mümkün olmaktadır , N biz bir girdi, sırayla girişleri ve durma Y bu şekilde f ( y ) = 1 . Veritabanındaki her bir sorgunun O (nxN=n/Nyf(y)=1 zamanı, bu prosedür O ( N log N ) O ( n log n ) zamanında durur, böylece problemFP'de olur.O(logN)O(logn)O(NlogN)O(nlogn)

    Veritabanı aramasının tutarlı süperpozisyonda yapılabileceğini varsayarsak, Grover algoritması bu sorunun FBQP'de olmasına izin verir . Ancak, FP  ⊆  FBQP , klasik ayrıntılı arama da bu sorunu olduğunu kanıtlamaktadır FBQP . Elde ettiğimiz tek şey (günlük faktörlerine kadar), veritabanı sorgularının sayısındaki tasarruf nedeniyle ikinci dereceden bir hızlanmadır.

  • Giriş işlevinin, belirtimini ve y { 0 , 1 } m bağımsız değişkenini alan ve O : H m + 1 2'yi hesaplayan bir polinom-zaman algoritması ile kısa bir şekilde tanımlandığını varsayın.x{0,1}ny{0,1}mO:H2m+1H2m+1standart bazında , burada m, çok daha büyük olabilir Q ( log n ) . Bir örnek olacaktır burada X belirtir bazı Boole fonksiyonu CNF şekli f : { 0 , 1 } m{ 0 , 1 } için m O ( n ) , verimli değerlendirebilir ve bu durumda f ( y ) bir girişi y |y|bmΩ(logn)xf:{0,1}m{0,1}mO(n)f(y) ve dolayısıyla etkili bir şekilde değerlendirilmesi O standart baz devletler. Bu, sorunuFNP'ye yerleştirir.y{0,1}mO

    Değerlendirmek için bir prosedür verilen den ( x , y ), zaman içinde , O ( s ( n ) ) için , n = | x | Grover algoritması çözer için Yapılandırılmamış Arama problemi O zaman içinde O ( p ( n ) f(y)(x,y)O(p(n))n=|x|OO(p(n)2m) O(p(n)2n)n

nxOxN=n/NnxONO(2n/2)O(N)

İlişki sorunlarından karar karmaşıklığı

NP- tamamlama problemleri teorisinden iyi bilinen ilişki problemlerinden karar problemleri almanın basit bir yolu vardır : arama problemini geçerli bir çözümün varlığı sorununa dönüştürmek.


xRy:R(x,y)

R

xx Yapılandırılmamış Aramaya gerçekte bir çözüm bulmadan bunu yapan bir çözümdür, ancak genel olarak bir çözüm bulmaktan daha fazla avantaj sağlayacak bir şekilde nasıl yapılacağı açık değildir.

Oracle karmaşıklığı

OxO

OnOnx

O
x=111n

  • y{0,1}n

  • y{0,1}n

O|y|0=|y|1

NPOFNPOBQPOFBQPO

O

İkinci durumdan da görebileceğimiz gibi, girdiye sadece bir kehanet gibi davranırsak, durum biraz sezgisel görünüyor ve "veritabanının" gerçekleştirilme yolları hakkında konuşmayı kesinlikle imkansız hale getiriyor. Ancak sorunun göreceli versiyonunu, gerçek bir kehanetle düşünmenin bir erdemidir, aksi takdirde nasıl kanıtlayacağımız hakkında hiçbir fikrimiz olmayan şeyleri kanıtlayabiliriz. Biz özlü yapılandırılmamış arama problemin karar versiyonu olduğunu kanıtlamak olsaydı BQP , o zaman pratik hesaplamasında muazzam bir atılım gerçekleştirmek durabilir misiniz; ve karar sorununun aslında BQP'de olmadığını kanıtlayabilirsek , P ≠ PSPACEOONPOBQPO


2

nmn

m2n/2m2n1

Bununla birlikte, fizikçiler, bunun hala bilinen (veya gerçekten kolayca düşünülebilen) klasik eşdeğeri ile hala üstel bir hız olduğu fikrine itiraz etmeyi severler. Bu, en çok oracle işlevinin bir veritabanı araması olduğu ve Grover'ın algoritmasının, veritabanında verilerden daha az aramaya ihtiyaç duyduğu veritabanı örneğinde en belirgindir. Bu anlamda, karmaşıklık sınıfı resminde tamamen kaybolmasına rağmen, hala önemli bir avantaj var.


" fizikçiler bunun hala bilinmeyen bir üstel hızlanma olduğu fikrine itiraz etmeyi severler " ... " hala bir polinom hızlanması " mı yazmak istediniz ?
glS

Hayır, gerçekten üstel bir hızlanmadır (üstel çalışma zamanını üstel olmayan bir sürüme dönüştürmek için yeterli değildir).
piramitler

2

n

NP

f(x)x{0,1}nxf(x)=1pxmpoly(n)g(x,px)=1f(x)=1g(x,px)poly(n)

Birkaç örnek vereyim (belki de burada istediğin buydu ?):

  • f(x)xxf(x)g(x,px)=f(x)

  • f(x)xx=72px=(8,9)g(x,p)x

  • G1G2xf(x)pxG1G2g(x,px)pxG1G2

  • xf(x)pxg(x,px)

NPPP

PNPNPPPNP

NPxpxm=poly(n)g(x,px)=1O(2mpoly(m))g(x,px)=1pxO(2m/2poly(m)). Bu çok daha hızlıdır, ancak çalışma süresinin polinom ya da daha kötü bir şey olup olmadığının değerlendirmesini değiştirmez; bir polinom zaman algoritması haline gelmemiştir. Örneğin, grafik izomorfizmasının olası tüm permütasyonları araştırması gerekir. Mayın Tarlası, açık karelerde mayınların tüm olası atamalarını araştırmak zorunda kalacaktı.

Tabii ki, bazen, problemdeki ek yapı, olası tüm kanıtların aranmasını gerektirmeyen farklı çözümlere izin verir. Orada, Grover'ın arayışı bizim için daha az ya da hiç kullanmıyor, ancak başka bir şekilde bir polinom zaman algoritması bulabiliriz. Örneğin, bileşik test durumunda: klasik olarak, bir sayının faktörlerini bulmak zor görünmektedir: olası tüm faktörleri test etmekten daha iyisini yapamayız, bu nedenle bu kanıt türünü kullanmak çok yardımcı olmaz, ancak , daha önce de belirtildiği gibi, soru başka bir yol olan AKS öncelik testi ile verimli bir şekilde çözülebilir.


P ve NP sınıfları genellikle bu sorunun cevabı gibi dil sınıfları veya karar problemleri olarak tanımlanır . Bunlar, burada yaptığınız gibi ikili çıktıya sahip işlevler olarak 'kodlanabilir', ancak bu, karmaşıklık teorisinde biraz standart değildir.
Ayrık kertenkele

f(x)

Her şeyi istediğiniz gibi tanımlayabilirsiniz, ancak bence bu, örneğin okuyucular diğer kaynakları kontrol ettiğinde standart değildir. Dolayısıyla yorum.
Ayrık kertenkele

-1

Veritabanını unutun. Grover'ın algoritması Boole Memnuniyeti Problemini çözer :

n10

Sorunun NP-tam olduğu bilinmektedir.


3
Söylediklerinizde gerçeğin bir unsuru var - kişinin neredeyse her zaman kahramanın bir veritabanı aramasından ziyade bir işlevi değerlendirdiğini düşünmesi gerekir; ve eğer bu fonksiyon polinom zamanında değerlendirilebiliyorsa, o zaman etkili bir şekilde aslında NP-tamamlanmış bir SAT örneğidir. Ancak Grover'in hızlandırmasının en fazla ikinci dereceden olduğu göz önüne alındığında, SAT'ın NP tamlığının Grover algoritmasının gerçekte yaptığı ile ilgili olmadığı açık değildir.
Niel de Beaudrap

2
Cehalet veya trolling aşağı oylama nedeniyle artık bu foruma katkıda bulunmayacağım.
kludg

@kludg Aşağı oylardan birinin benim olduğunu itiraf ediyorum, bu yüzden açıklamama izin verin; Daha fazla bağlam veya açıklama olmadan cevabınız OP'de sorduğum soruların hiçbirine cevap vermiyor. Bu ilginç bir noktaya değiniyor, ancak bunun özel sorularımla ilgili olmadığını söylemek. Şimdi bu noktada yanılmış olabilirim ve aslında bazı sorularıma cevap veriyorsunuz - eğer durum buysa, açık bir şekilde cevaplandıklarına inanmıyorum.
Kuantum spagettifikasyonu
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.