P ≠ NP'yi kanıtlamak P = NP'yi kanıtlamaktan daha mı zor olur?


20

P ve NP problemi için iki olasılığı göz önünde bulundurun: P = NP ve P NP.

Q'nun NP zor problemlerinden biri olmasına izin verin. P = NP'yi kanıtlamak için, Q için tek bir polinom zaman algoritması A tasarlamamız ve A'nın Q'yu doğru bir şekilde çözdüğünü kanıtlamamız gerekir.

P kanıtlamak için, hiçbir polinom zaman algoritmasının Q'yu göstermemiz gerekir . Başka bir deyişle, tüm polinom zaman algoritmalarını dışlamak zorundayız .

İnsanların bunun ikinci zor işi yaptığını söylediğini duydum (gerçekten doğru olduğunu varsayarak).

P = NP'yi (P = NP olduğunu varsayarak) kanıtlamanın P NP'yi (P NP olduğunu varsayarak) kanıtlamaktan daha kolay olacağını düşünmek için bir neden var mı ?


31
Bu soru sorulmuyor. İfadelerden sadece biri doğru olabileceğinden, kanıtlanması imkansızdır. Diğeri kanıtlamak mümkün olabilir ve eğer öyleyse kanıtlamak sahte olandan daha kolay olurdu. Ergo, ne tür bir cevap aradığın hakkında hiçbir fikrim yok. Topluluk oyları, lütfen! Bu hiç cevaplanabilir mi?
Raphael

10
@ Raphael anlaşmazlık yaşıyorum. OP'nin sorusunu "P = NP doğruysa, P ≠ NP doğruysa P ≠ NP'yi kanıtlamaktan daha kolay olur mu?" OP'nin her ikisinin de doğru olması gerektiğine dair bir öneri olarak yorumlanması için ciddiye alındığını düşünmüyorum.
Anathema

3
FWIW, bana öyle geliyor ki a) @ TheAnathema'nın soruyu yorumlaması doğru ve b) anlamlı bir soru. Başka bir deyişle: P = NP ve bir kanıt bulunursa, bu kanıt muhtemelen NP-tam problemi için bir polinom-zaman algoritması şeklinde olacaktır. Öte yandan, P ≠ NP'nin bir kanıt bulmak için ne tür teknikler kullanabiliriz ve böyle bir kanıt potansiyel olarak hangi biçimi alır?
JohannesD


Yorumlar uzun tartışmalar için değildir; bu sohbet sohbete taşındı .
Gilles 'SO- kötü olmayı bırak'

Yanıtlar:


25

Raphael'in açıkladığı gibi, bu soru kötü bir sorudur, çünkü P = NP ve P ≠ NP'nin en fazla biri kanıtlanabilir olmalıdır. Bununla birlikte, benzer bir soru teorik bilgisayar biliminde, en göze çarpanı yaklaşık algoritmalar alanında olan çeşitli şekillerde ortaya çıkmaktadır .

NP-sert optimizasyon problemi göz önüne alındığında (örneğin, maksimizasyon), yaklaşık olarak ne kadar iyi olabileceğimizi sorabiliriz. Olası yaklaşıklığın üst sınırının kanıtlanması P = NP'ye benzerken, olası yaklaşıklığın alt sınırının P ≠ NP'ye benzer olduğunu kanıtlar. Birincisi ikincisinden çok daha kolaydır. Gerçekten de, bir üst sınırı kanıtlamak için tek yapılması gereken bir yaklaşım algoritması bulmak ve onu analiz etmektir. Buna karşılık, bilinen tüm alt sınırlardır koşullu: bunlar sadece P ≠ NP ise geçerlidir (gerçekten de P = NP ise her NP-hard optimizasyon problemi çözülebilir hale gelir). Bu daha düşük sınırları kanıtlamak için, problemi çok iyi tahmin edebilseydik, bazı NP zor problemler için polinom zaman algoritması elde edeceğimizi gösteriyoruz. Genellikle bu, PCP teoreminin karmaşık teknik makineleri ile yapılır. Yaklaşık sertlik olarak bilinen bu alana sadece uzman olarak yaklaşılabilir ve teknik çoğu yaklaşım algoritmasından daha zorlayıcıdır. Dolayısıyla bu durumda en azından P = NP gerçekten P ≠ NP'den daha kolaydır.


14
OP'nin sorusunu "P = NP doğruysa, P ≠ NP doğruysa P ≠ NP'yi kanıtlamaktan daha kolay olur mu?" OP'nin her ikisinin de doğru olduğu düşünülmesini ciddiye almayı düşünmüyorum.
Anathema

6
@Anathema sanırım soruyu bu şekilde yorumlamak gerekiyor. Ancak hala oldukça kötü bir durum çünkü seçeneklerden biri mutlaka karşı olgusal. Bu karşı olgusallığı doğru olan bir şeyi kanıtlamanın zorluğu ile nasıl karşılaştırabilirsiniz?
David Richerby

@David, P NP'yi P = NP'ye kıyasla kanıtlamanın zorluğu hakkındaki iddia , uzmanlardan birkaç kez sahip olduğum bir şey. Bunun makul bir iddia olup olmadığını sormak geçerli bir sorudur. Karşı-olgusal durumların zorluğunu değerlendirmek (böyle bilinmediklerinde) aslında yaygındır. Örneğin, P NP'yi kanıtlamanın zorluğunu soran birini ele alalım . P = NP ise karşı olgusaldır. =
Kaveh

9

P = NP olduğuna dair basit bir kanıt olasılığını göz ardı edemedik. Yarın biri P zamanında NP-tam problemi çözen bir algoritma bulursa, dünya değişir.

Öte yandan, biz var P! = NP olduğunu basit bir ispat söz konusu olmadığını belirtti. İki farklı karmaşıklık sınıfının resmi olarak yetersiz olduğunu gösteren tipik kanıtlama tekniklerimiz. Bu tür üç teknik "aritmetizasyon", "doğal kanıt" ve "relativize" adı verilen kanıt kategorisi olarak bilinir. Bu kategorilerden herhangi birine giren herhangi bir kanıt tekniğinin P! = NP olduğunu kanıtlayamayacağı kanıtlanabilir.

Aslında, P! = NP'yi kanıtlamanın, sadece iyi bilinen kanıt tekniklerinin yeni bir uygulaması değil, yeni kanıt türlerini (farklı özelliklere sahip yeni teknikler) gerektirdiğine dair güçlü kanıtlar vardır.


Şimdi, P = NP olduğu ortaya çıkabilir, ancak P'de NP-tam bir problemi çözen algoritmayı doğrulamak kolay değildir ve P = NP'yi kanıtlamak için yeni kanıtlama teknikleri gereklidir. (P = NP ise, teknik olarak P'de NP-zor problemleri eğlenceli bir şekilde çözen algoritmaları biliyoruz. Sabit faktörleri büyük olduğu için çalıştırılması pratik değildir.)

Temel olarak, P! = NP'yi kanıtlamak için kullanamayacağımız şey hakkında çok şey biliyoruz, oysa P = NP'yi kanıtlamak için kullanamayacağımız şey hakkında çok az şey biliyoruz.


Basit kanıtlarının önündeki tüm engeller , eşit kuvvetle P = N P kanıtlarına uygulanır . Bir algoritmanız varsa, P = N P'nin algoritmanın (i) doğru ve (ii) polinom zamanı olduğunun kanıtı olacağının kanıtı ve bu kanıt hala algoritmasızlık algoritması hakkında hangi gerçeği tartışmalıdır. (cebirsel) bir kehanete göre doğru olmayan verimli deterministik simülasyonu ve doğal kanıt bariyerini nasıl yendiğini kullanıyor. PNPP=NPP=NP
Lieuwe Vinkhuijzen

8

Temelde bir fikriniz var. Genel olarak P! = NP olduğunu düşünüyoruz, ancak bunların eşit olmadığını nasıl kanıtlayacağımızı bile bilmiyoruz.

Tersine, P = NP olsaydı, şimdiye kadar düzinelerce NP-tam probleminden birini çözmek için bir algoritma bulacağımızı düşünürdünüz.

Bunlar çok dalgalı argümanlar ama birkaç cümlede bilgisayar bilimcileri arasındaki kültürü anlatıyorlar.

P! = NP'yi kanıtlamanın "daha zor" olup olmadığı elbette hangisinin doğru olduğuna (meta-matematiksel sonuçların engellenmesi?) Bağlıdır ve elbette bilmiyoruz.


5

P NP'yi kanıtlamanın, P ve NP sorununun çözülmesi gerektiğini düşündükleri zaman açısından P = NP'yi kanıtlamaktan daha zor olduğuna inanan bazı uzmanlar vardır . Ancak bu çoğunlukla problemler için algoritma tasarlamanın (etkin) algoritma olmadığını kanıtlamaktan daha kolay olduğu hissine dayanan bir sezgidir. Genellikle sorunların alt sınırlarını kanıtlamada çok başarılı olamadık. SAT için doğrusal bir zaman algoritmasını bile dışlayamayız. SAT için bir günlük alanı algoritması olmadığını göz ardı edemeyiz. Depth , , ¬ ve sabit derinlikte polinom boyutlu Boole devresi olmadığını bile gösteremeyiz.¬SAT'ı çözemeyen 6 kapı (layman'ın terimleriyle SAT'ı çözen ve her bir işlemin bu kapılardan sadece birini hesaplayan polinom sayısı işlemcilere sahip sabit bir zaman paralel algoritması olması mümkündür). SAT'ı çözen Turing makineleri için sahip olduğumuz en iyi alt sınırlar, çalışma süresi kullandığı alanla çarpılan bir algoritmanın olmadığını bile gösteremez n 1.9 . Daha düşük sınırlar ispatlamanın oldukça utanç verici durumu hakkında biraz daha devam edebilirim (ancak daha düşük sınırların kanıtlanmasının neden bu kadar zor olduğunu açıklayan bariyer sonuçlarımız olduğunu da unutmayın). Bazı uzmanlar Ketan Mulmuley'nin GCT programının P'ye karşı NP'yi çözme olasılığının en yüksek olduğunu düşünüyor ve Mulmuley tekrar tekrar oraya ulaşmanın yüz yıldan fazla zaman alacağına inandığını söyledi.mod6n1.9

Bununla birlikte, Ryan Williams ve diğerleri tarafından, daha düşük sınırların kanıtlanması ile algoritmaların bulunması arasında içsel bağlantılar olduğunu gösteren bazı çalışmalar yapılmıştır. Örneğin, belirli bir kısıtlanmış SAT problemi için kaba kuvvet algoritmasından biraz daha iyi bir algoritmanın devre alt sınırlarını ima ettiğini gösterdi ve daha sonra böyle bir algoritma tasarladı. Bu yüzden insanların biraz daha kötümser olduklarını ve algoritma geliştirmediklerini ve daha önce düşündükleri kadar düşük sınırları kanıtlamadıklarını düşünüyorum.

πφπφve algoritma evet veya hayır döndürür. Herhangi bir kanıt denetleyicisini bu şekilde düşünebilirsiniz. Ayrıca kanıtları ZFC gibi bir matematiksel sistemde de düşünebilirsiniz. Kontrol sürecinin kendisi, sözdizimsel bir görev olduğu için prova boyutunda polinom zamanda yapılabilir.

φφφ265536kanıt ve kuraldaki geçerli satırdan önceki satırları belirleyebilirsiniz. Bunun önemli bir istisnası kesme kuralıdır. Bu önemlidir, çünkü ifadeleri kanıtlamak için kesme kuralına ihtiyacımız olmamasına rağmen, en kısa kanıtın boyutunu önemli ölçüde azaltabilir. Ancak kesim kuralı belirleyici değildir: tahmin etmemiz gereken kesilmiş bir formül vardır. Kesme kuralını limonları kanıtlamak ve kullanmak olarak düşünebilirsiniz. Kesim formülü bir lemma gibidir. Ama bize yardımcı olacak hangi lemmayı kanıtlamalıyız? Zor kısmı bu. Genellikle iyi bir lemma bularak matematikte bir sonuç kanıtlanır. Ayrıca daha önce kanıtlanmış sonuçları kullandığınızda aslında kesme kuralını kullanırsınız. İfadeleri kanıtlamanın bir diğer önemli bileşeni tanımlar. Genellikle yeni bir kavram tanımlarız, daha sonra bununla ilgili ifadeleri kanıtlarız, ve son olarak bizim özel durumumuzda uygulayın. Tanımları kullanmak formüllerin boyutunu küçültür (tanımların ne kadar önemli olduğuna dair bir fikir edinmek için tanımları genişleterek bazı matematiksel formülleri saf küme teorik diline genişletmeyi deneyin). Yine hangi yeni tanımları kullanmalıyız? Bilmiyoruz. Bu beni kanıtlamanın zor olduğu bir ifadenin üçüncü anlamına getiriyor. Bir ifadenin kanıtlanması zor olabilir, çünkü güçlü aksiyomlara ihtiyacınız vardır. Örn. Bir ifadenin kanıtlanması zor olabilir, çünkü güçlü aksiyomlara ihtiyacınız vardır. Örn. Bir ifadenin kanıtlanması zor olabilir, çünkü güçlü aksiyomlara ihtiyacınız vardır. Örn.CH . ZFC'de kanıtlanamaz ve ZFC'de çürütülemez. Bu aşırı bir durum ama düşündüğünüzden daha sık oluyor. Örneğin ihtiyacımız yapmak büyük kardinal aksiyomlarını (iş edebilmek için Grothendieck evrenler ) kanıtlamak için FLT veya bunun gibi daha zayıf teoride kanıtlayabilirim PA ? Bu, ifadeleri kanıtlamanın zorluğu ile ilgili başka bir kavramdır.

Şimdi P'ye NP'ye geri dönelim. Sorunun oldukça zayıf aritmetik teorilerde şu ya da bu şekilde çözülemeyeceğini belirten sonuçlarımız yok. Alexander Razborov, 1995 yılında "Bazı Sınırlı Aritmetik Parçalarında Devre Boyutunda Alt Sınırların Karsızlığı" başlıklı bir makale yazdı ve bunu zayıf bir teoride kanıtlamanın mümkün olmadığını gösterdi, ancak teori gerçekten gerçekten zayıf. Bildiğim kadarıyla, Sam Buss'un sınırlı aritmetik teorileri gibi önemli ölçüde daha güçlü teorilere genişletilmesi konusunda çok fazla ilerleme kaydedilmemiştir ve sonuç onlara genişlemiş olsa bile, hala PA veya ZFC gibi bir şeyden uzaktır. Kısacası, SAT'ın çok küçük karmaşıklık sınıflarında olmadığını kanıtlayamıyoruz, aynı zamanda P kanıtlayamayacağımızı bile kanıtlayamıyoruz.


"Daha dindar" sorusunu tanımlamaktan bahsettiğinizde, "daha titiz" demek istediğinizi varsayıyorum? :-)
David Richerby

2
@David, evet, otomatik düzeltme bazen bunu yapar. :)
Kaveh

4

Sorunun şu şekilde azaltılabileceğini düşünüyorum: bir şeyin var olduğunu kanıtlamak veya bir şeyin var olmadığını kanıtlamak daha kolay mı?

Bir şeyin var olduğunu kanıtlama iddiası, gereksinimleri karşılayabilecek şeyler inşa etmenin kolay olması ve aynı zamanda gerçekten onları karşılayıp karşılamadıklarını kontrol etmenin kolay olmasıdır.

Bazı durumlarda bu doğrudur: bir polinomun kökünü bulmak istiyorsanız, sayıları oluşturmak kolaydır ve bunların kök olup olmadığını kontrol etmek kolaydır.

Sorun, elbette, şanslı olmanız gerektiğidir. Arama alanını azaltabilirsiniz, örneğin 5'in katları veya 1 ile 10 arasında olması gerektiğini kanıtlayarak; ancak, sonlu bir sayılar kümesiyle sınırlandırmazsanız (bu durumda gerçekten "tahmin et ve doğrula" yöntemini kullanmıyorsanız), sorunu çözmek için bir yönteminiz yoktur: yalnızca, çok şanslıysanız, bir çözüm üretebilirsiniz.

Ancak bunu istiyorsanız, bir şeyin olmadığını kanıtlamak da aynı derecede kolaydır! Olası çözümler olabilecek metinler oluşturun ve gerçekte olup olmadıklarını kontrol edin.

Bu nedenle, çözümü saf şans ile verebilecek bir yönteme sahip olmak, bir şeyin var olduğunu kanıtlamanın daha kolay olduğu anlamına gelmez.

Şimdi, başka bir yöntemle bir şeyin var olduğunu kanıtlamak genellikle daha kolay mıdır? Bu asıl soruna bağlıdır, çünkü aksi takdirde bir şeyin olmadığını kanıtlamak, var olmadığına dair bir kanıtın varlığını kanıtlamaya indirgenecektir. Korkarım ki, hem var olduğu hem de var olmadığı kanıtlanmış bir şey olmadığı için bunu ölçemeyiz, böylece ispatın zorluğunu ölçebiliriz (deneriz).


1
Bu "bir şey" varsa, bunu kanıtlamak daha kolaydır (önemsiz olarak, var olmadığını kanıtlayamazsınız; bu, söz konusu kanıtın bulunmasının çok zor olmadığı anlamına gelmez). Aynı mantık tersi. Yorumların dediği gibi, sorunun kendisi anlamsızdır.
vonbrand

@vonbrand demiyorum for any X: is it easier to prove that X exists or to prove that X does not exist, diyorum ki, for any X,Y: is it easier to prove that X exists or to prove that Y does not exist.eğer E, 'X' formunun cümlelerini kanıtlayan ispat dizisi ve NE 'Y' formunun bulunmadığını ispatlayan ispat dizisi ve d ( P) ispatın zorluğu, d (X) <d (Y) 'nin olduğu, burada E'de X ve Y'de NE'nin olduğu doğrudur.
Thanos Tintinidis

d(X)XXX

@ vonbrand evet; dahası, OP'nin yöntemini (bulana kadar potansiyel çözümler üretmeye devam etmek) kullanamayacağınızı, varlığını kanıtlamanın, var olmamaya dair S1 ifadesini dönüştürebileceğinizi kanıtlamaktan yoksun olduğunu iddia etmek için bir argüman olarak tartışamıyorum. S1 ifadesinin ispatının varlığına dair S2 beyanına. Bunun değerinden şüphe etmeye
başlamama rağmen


-2

P <> NP'yi kanıtlamanın imkansız olduğuna inanıyorum, çünkü P = NP'yi ispatlayabilecek tüm algoritmaları dışlamak zorunda kalacaksınız. Bunlardan sonsuz sayıda mümkün olabilir. Sonsuzluğu çürütmenin bir yolu yoktur, bu nedenle mümkün değildir. Öte yandan, tek yapmanız gereken, eğer P = NP olduğunu kanıtlamak için tek bir algoritmadır. Bu nedenle, ya birisinin kanıtlayacağı P = NP ya da asla bilemeyiz.


Bilgisayar Bilimine Hoşgeldiniz ! İnanıyor musun ya da kanıtlanabilir olmadığını kanıtlayabilir misin? Yakk'ın cevabının konuya ışık tuttuğunu düşünüyorum.
Evil

2
“Sonsuzluğun çürütülmesinin bir yolu yoktur” İnsanlar matematikte sonsuz sayıda olasılıkları dışlarlar; hiçbirinin işe yaramadığını bilmek için her birini elle kontrol etmek zorunda değiliz. “Argümanınız”, karmaşıklık sınıflarını hiçbir zaman asla ayıramayacağımız anlamına gelir ki bu saçmalıktır.
Noah Schweber
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.