ö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 .xR,yR(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:H⊗m+12→H⊗m+12O|a⟩|b⟩=|a⟩|b⊕f(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:Hm+12→Hm+12standart 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⟩|b⟩mΩ(logn)xf:{0,1}m→{0,1}m∈O(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/ℓNnxON∈O(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.
xR∃y: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=11⋯1n
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
\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}