Optimal NP çözücüler


12

bir NP tam arama sorununu, örneğin SAT arama formunu düzeltin . Levin araması X'i çözmek için bir anlamda optimal olan bir algoritma L sağlar . Özellikle, algoritma " Bazı x P yanıtını doğru test edip yanıtlamadığını sorduktan sonra x girişindeki tüm olası P programlarını çalıştır ." X'i zaman karmaşıklığı ile çözen bir P programı verilmişse, T PX{0,1}×{0,1}LXPxPyPX , zaman karmaşıklığı t L ( n ) arasında L tatmintP(n)tL(n)L

tL(n)<2|P|p(tP(n))

burada , kesin hesaplama modeline bağlı olan sabit bir polinomdurp

'nin iyimserliği biraz daha güçlü bir şekilde formüle edilebilir. Yani, her için M { 0 , 1 } * ve Q, çözme programı X söz ile M sürede t M Q ( n ) , zaman karmaşıklığı t M L ( n ) arasında L girişlere sınırlı M tatminLM{0,1}QXMtQM(n)tLM(n)LM

tLM(n)<2|Q|q(n,tQM(n))

burada sabit bir polinomdur. Kritik fark t M Q ( n ) 'nin P N P olsa bile polinom olabilmesidir.qtQM(n)PNP

nin bariz "zayıflığı" büyük faktör 2 | S | bu sınırda. Aynı formdaki bir sınırı 2 ile tatmin eden bir algoritma varsa görmek kolaydır | S | bir polinom ile değiştirildi | S |L2|Q|2|Q||Q|daha sonra . Bunun sebebi, Q'nun cevabı zor kodlayarak X'in belirli bir örneğini çözen bir program olması olabilir . Benzer şekilde, 2 ise | S | bir alt üstel fonksiyonu ile değiştirilebilir | S |P=NPQX2|Q||Q|daha sonra üstel zaman hipotezi ihlal edilir. Ancak, aşağıdaki sorunun cevabı (benim için) daha az açıktır:

(Polinom hiyerarşi örneğin olmayan dejenerasyon, tek yönlü fonksiyon varlığı) gerektiğinde üstel zaman hipotezi ve diğer iyi bilinen varsayımlar varsayılarak, bir algoritma olduğu çözme X, her için st M { 0 , 1 } * ve Q, çözme programı X söz ile M sürede t M Q ( n ) , zaman karmaşıklığı t M a ( n ) arasında a girişlere sınırlı M tatminAXM{0,1}QXMtQM(n)tAM(n)AM

tAM(n)<f(|Q|)q(n,tQM(n))+g(|Q|)

burada polinom, f alt-üstel ve g isteğe bağlıdırqfg

Cevap olumluysa polinom olabilir mi? Büyüme oranı nedir g (ETH altında açıkça en azından üstel)? Cevap negatifse, ETH yanlış fakat P N P ise polinom f var olabilir mi?fgfPNP

Yanıtlar:


12

Aşağıdaki algoritmayı düşünün (Levin'in algoritmasının bir çeşidi):

İlk algoritmayı paralel olarak çalıştırın. Ayrıca, tüm olası çözümleri tek tek çalıştıran kaba kuvvet algoritmasını paralel olarak çalıştırın. (Tüm algoritmaları aynı hızda çalıştırın.)n

Algoritmalardan biri bir çözüm bulduğunda durur.

İki durumu düşünün ( n uzunluğunda bir giriş verilir ):xn

  • , ilk n algoritmalardan biridir. O zaman çalışma süresi O ( n t M Q ( n ) ) Qn .O(ntQM(n))poly(n)

  • , ilk n algoritmalarındanbiri değildir(dolayısıyla n < 2 | Q | ). Daha sonra çalışma süresi, kaba kuvvet algoritmasının çalışma süresi ile sınırlanır. Çalışma süresinin 2 n O ( 1 ) = 2 2 olduğunuQnn<2|Q| .2nO(1)=22O(|Q|)

Biz

tAM(n)poly(n)tQM(n)+22O(|Q|).

(Burada, polinomdur ve g ( n ), çift üstel n , biz dependance artırabilir g ( n ) üzerinde n bağımlılığı daha da kötüye gitmesidir f ( n ) ile n ).f(n)g(n)ng(n)nf(n)n


İstediğim formda olmasa da, bir anlamda bir sınırı daha iyi karşılayan bir varyantı var. Yani kaba kuvvet algoritması kullanmak yerine sıradan Levin araması yapın. Bu, ~ 2|Q|tQM(2|Q|)
Vanessa
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.