Are -tamamlamak sorunlar daha doğası gereği daha az uysal -tamamlamak problemler?


66

Şu anda, büyük girdiler için problemin veya bir problemin çözülmesi genel olarak mümkün değildir. Bununla birlikte, her ikisi de üstel zaman ve polinom uzayda çözülebilir.NPPSPACE

Belirsiz veya 'şanslı' bilgisayarlar kuramadığımız için, bir problemin veya olması bizim için herhangi bir fark yaratır mı?NPPSPACE

Yanıtlar:


82

Bu, çok düşündüğüm çok güzel bir soru: Bir sorunun veya olduğu gerçeği aslında sorunun en kötü zaman karmaşıklığını etkiliyor mu? NPPSPACEDaha kuşkusuz, böyle bir ayrım gerçekten problemin pratikteki "tipik durum" karmaşıklığını etkiler mi?

Sezgi, kullandığınız karmaşıklık ölçüsüne bakılmaksızın , complete probleminin complete probleminden daha zor olduğunu söylüyor . Ancak durum çok ince. Örneğin, (Ölçülen Boolean Formüller, kanonik tamamlama problemi), sadece (subonfiability, tamamlama problemi) eksepansal zamandaysa ve münasebetsiz zamanda olabilir. (Bir yön açıktır; diğer yön önemli bir sonuç olacaktır!) Bu doğruysa, belki de "Ben sadece bu sorunu çözmek istiyorum" bakış açısıyla, sorunun komplet olup olmadığı önemli değil. veyaPSPACENPQBFPSPACESATNPPSPACENP-complete: Her iki durumda da, biri için subexponential algoritması, diğeri için subexponential algoritması anlamına gelir.

Bana bir şeytanın savunucusu olalım ve bir sorunun diğerinden daha "zor" olduğu bir örnek vereyim, ancak yine de diğerinden daha "izlenebilir" olduğu ortaya çıktı.

Let bir Boole formülü olabilir değişkenleri, ve eşitlenir. Karar vermek istediğiniz iki formül arasında bir seçeneğiniz olduğunu varsayalım:F(x1,,xn)nn

Φ1=(x1)(x2)(xn1)(xn)F(x1,,xn) .

Φ2=(x1)(x2)(xn1(xn)F(x1,,xn)

(Yani, , niceleyiciler alternatif olur.)Φ2

Hangisini çözmenin daha kolay olduğunu düşünüyorsunuz? Tipi formüller ya da türde formüller ?Φ1Φ2

Biri, bariz seçimin olduğunu, karar sadece olarak tamamlandığını, oysa bir tam bir problem olduğunu . Fakat aslında, en iyi bilinen algoritmalarımıza göre daha kolay bir problemdir. Genel için adımdan daha az bir sürede nasıl çözüleceği hakkında hiçbir fikrimiz yok . (Bunu yapabilseydik, yeni formül büyüklüğü alt sınırlarımız olurdu!) Fakat , randomize oyun ağacı aramayı kullanarak herhangi bir için randomize zamanında herhangi bir için kolayca çözülebilir ! Bir referans için, Motwani ve Raghavan'daki Bölüm 2.1, Bölüm 2.1'e bakınız.Φ1NPΦ2PSPACEΦ2Φ1F2nΦ2FO(2.793n)

Sezgisi olmasıdır evrensel nicelik ekleyerek aslında sorunu kısıtlar o hale kolay değil zor değil, çözmek için. Oyun ağacı arama algoritması, değişken nicelikleri kullanmaya dayanır ve rastgele nicelikleri kaldıramaz. Yine de, sorun, başka bir önlem altında "daha sert" görünseler bile, bazen bir karmaşıklık ölçütünde "daha basit" olabileceğine işaret ediyor.


16
Güzel cevap ve ilginç bir cevap.
Suresh Venkat

Anladığım kadarıyla yukarıdakiler "İnce taneli karmaşıklık" (Simons Enstitüsü'ndeki bir Güz 2015 programı) ile ne demek istediğimizin oldukça iyi bir örneği. Temel fikirlerden biri, karmaşıklık teorisinin, her problem için “sorunun” tam olduğu bir (potansiyel olarak tuhaf) bir hesaplama modeli bulmaya çalışmak yerine, bir problemin mümkün olan en iyi çalışma zamanının ne olduğunu anlamaya odaklandığı zaman oldukça farklı görünebileceğidir. problem için üs.
Ryan Williams

37

Fark eder, çünkü çözümleri bulabilmemizden daha çok söz konusu olabilir. Ayrıca ilgi çekici olan, çözümleri doğrulayabilmemizdir . Sorunların zorluğu arasında başka nitel ayrımlar yapılabilir, ancak NP ve daha büyük karmaşıklık sınıfları için, en önemli olarak tanımlayacağım kişi bu olurdu.

Karar problemleri için - her örneğin ' EVET ' veya ' HAYIR ' cevabını verdiği problemler - NP , kesin olarak, verilen bir örneğin ' EVET ' örneği olduğu iddia edilen bir kanıtı etkin bir şekilde doğrulayabildiğimiz problemler sınıfıdır. bize bir tane var. Örneğin, bir 3-SAT örneği için tatmin edici bir değişken atamanız varsa, bu atama, örneğin verilebilir olduğunu verimli bir şekilde ispatlamanıza izin verir. Böyle tatmin edici bir ödev bulmak zor olabilir, ancak bir tanesine sahip olduktan sonra, başkalarına, bulduğunuz çözümü doğrulayarak onları tatmin edici bulduklarını kolayca kanıtlayabilirsiniz.

Benzer şekilde, coNP için, ' NO ' örnekleri için etkin bir şekilde kontrol edilebilir kanıtlar vardır ; ve NP  ∩  coNP'deki sorunlar için ikisini birden yapabilirsiniz. Ancak PSPACE-tamamlanmış problemler için böyle bir prosedür mevcut değildir - karmaşıklık sınıflarının oldukça görkemli eşitliklerini kanıtlayamazsanız.


Sorunun NP-tam ve PSPACE-tam sorunların "optimizasyon" versiyonuyla ilgili olduğunu düşünüyorum. Örneğin, SAT ve QBF için bir çözüm bulmak arasında herhangi bir fark var mı (karmaşıklık açısından)? Ve daha genel olarak, karar sürümü NP tamamlandı mı yoksa PSPACE tamamlandı mı optimizasyon problemlerinin bir tanımı var mı?
Lamine

@Lamine: Soruda yaptığınız ayrımı tespit etmiyorum (en azından sadece karar ile tam optimizasyon arasında). Belki de, askerin sadece cevabın bulunması için gerekli olan kaynaklarla ilgili soruya ilgi duyduğunu ve sorunun zorluğunun diğer önlemlerine ilgisiz olduğunu, bu durumda cevabımın bu cevabı vermeyeceği konusunda hemfikir olduğunuzu kastediyorsunuz. Her durumda, yukarıda olduğu gibi soruya benim cevabım yukarıda.
Niel de Beaudrap

5
Çok güzel cevap.
Dave Clarke

Verimli bir şekilde doğrulama yeteneği bir çözümü hesaplamaya yardımcı olmaz (P = NP olmadıkça). NP ve yardımcı NP problemi tahmin et ve doğrula yoluyla saldırıya izin verir. Bu yaklaşımın uygulanması kolaydır ve hatta daha verimli olabilir, ancak en kötü durumda yardımcı olmuyor.
András Salamon

@ András: doğru - bu yüzden vurgusu, çözüm bulmanın cevabımın başındaki tek önemli şey olmadığı yönünde.
Niel de Beaudrap

36

(En kötü durumda) NP-tam sorunlarından ortalama-zorlu problemlerin nasıl oluşturulacağını bilmiyoruz, ancak PSPACE için (bkz. Köbler ve Schuler (1998) ), tek tip dağıtımda bile sorun yaratmamak için yapabiliriz. Tüm PSPACE'lerin hesaplanması kolay olmadığı sürece birçok girdide çözüldü.


20

Pratik açıdan, NP-Bütünlüğün pratikteki birçok problem için bir engel olmadığını hatırlamak önemlidir. SAT çözücülerinin ve CPLEX'in (tamsayılı doğrusal programlama için) ikiz araçları, yeterince güçlü ve yeterince iyi tasarlanmış olup, problemi uygun bir ILP olarak çerçeveleyerek veya SAT'a indirgeyerek büyük NP-tamamlayıcı sorunların örneklerini çözmek için mümkün olabilir.

PSPACE'teki problemler için benzer şekilde iyi tasarlanmış çözücülerden haberdar değilim.



7

Bunu şu şekilde düşünebilirsiniz: Bir matematik probleminin insan tarafından okunabilen bir kanıtı var mı, yoksa doğal olarak bir "bilgisayar kanıtı" gerektiriyor mu? Örnekler: damaların başlangıç ​​pozisyonları berabere kalkar mı? (Cevap: evet.) Satrançın başlangıç ​​pozisyonu beyaz için bir kazanç mıdır? (Cevap: bilinmiyor, ancak mezunların çoğu bunun bir beraberlik olduğunu düşünüyor.)

Dama başlangıç ​​pozisyonunun bir çekiliş olduğuna dair kanıt, nihayetinde bilgisayarın bir çok özel durumu doğru bir şekilde doğruladığını kabul etmeyi gerektirir. Eğer satrançla ilgili bir kanıt varsa, muhtemelen insan okuyuculardan bir bilgisayarın daha özel durumları doğru bir şekilde doğruladığını kabul etmeleri gerekecektir. Ve bu ifadeleri ispatlamanın daha kısa bir yöntemi olmadığı da olabilir . Bunlar PSPACE'de sorun. Bir sorun NP’de “sadece” ise, o zaman (sezgisel olarak) bir insan kanıtı kafasında tutabilir. Tabii ki bu insanın çok uzmanlaşmış bir matematikçi olması gerekebilir.

Bu metafor çok zorlanırsa boyutunda bir NP kanıtı muhtemelen hiç kimsenin kafasına sığmaz. Ancak “tanıklar küçüktür” temel fikri NP-tam sorunların bu kadar endüstriyel öneme sahip olmasının bir parçasıdır.n1000000


Kişi, coNP-komple sorunların "bazen bilgisayar kanıtı" gerektiren (bazen) bu soruna sahip olduğunu iddia edebilir mi?
Philip White

@Philip White: Aynı olduğunu sanmıyorum. Diyelim ki "satranç berabere" coNP'de. Hayır demek için tek yapmam gereken, kolayca doğrulanabilir tek bir zorlama çizgisini göstermektir. Ancak, böyle bir çizgi olsa bile, gerçekten de "zorlayıcı" olduğunu kanıtlamanın çok zor olacağını umuyoruz. Dolayısıyla, sorun belirli bir yönde çözülebilir ise basitlik garantisi vermez. "Satranç bir beraberliktir" muhtemelen doğuştan doğru veya yanlış olup olmadığını ispatlamak için bir bilgisayar gerektirir.
Aaron Sterling

5

Suresh'in yorumuna ek olarak, uygulamada büyük bir fark var gibi görünmektedir. Pratik SAT örneklerinin yapısından faydalanmayı ve mükemmel performans elde etmeyi sağlayan bir buluşsal bulgu var (burada çatışmaya dayalı cümle öğrenme çözücülerine bakın). Aynı sezgisel tarama, QBF çözücülerde benzer performans iyileştirmeleri üretmemektedir.

Kanıt ve doğrulama arasındaki fark da ortaya çıkar. Bazı SAT çözücüleri (MiniSAT 1.14 ve diğerleri) gibi ispatlar ispatlar. Mevcut QBF çözücülerinde ispat üretmek önemsiz değildir. (Bir sonraki ifade, duyumdan geliyor) QBF yarışmasında, çözücünün açıkça farklı sonuçlar ürettiği büyük durumlar var. Kanıt yaratan çözücülerin yokluğunda, hangi sonucun doğru olduğunu bilmiyoruz.


0

SAT ve satrançta pratik performansa bakarsanız, fark var - NP-tam problemler PSPACE-tam problemlerden daha izlenebilir. Günümüzde SAT çözücüler binden fazla değişkeni idare edebilirler, ancak aynı zamanda en iyi satranç motoru sadece 20 hamle altında hesaplayabilir.

Sanırım bunun nedeni sorunların yapısı. Evet, yalnızca çözümleri sıralarsanız, SAT çözümü süper yavaştır. Ancak, nicelik değiştirici seçeneğine sahip olmadığı için, insanlar formülde bulunan yapıları keşfederler ve bu nedenle sayımın çoğundan kaçınırlar. Bence Ryan Williams bu konuyu görmezden geldi.

Kantitatif değişim ile evet, akıllı budama yöntemleri vardır, ancak yine de yapı bir CNF formülüne göre zengin değildir.

Geleceği tahmin edeyim. SAT çözme, formülü inceleyerek ve esasen arama yapmaktan kaçınarak P'yi gerçekleştirir, satranç ise oyun ağacında yapılan aramadan yararlanarak P'ye yapar.

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.