NP = CoNP Proof'umdaki kusur?


13

Ben NP = CoNP için bu çok basit bir "kanıt" var ve sanırım bir yerde yanlış bir şey yaptım, ama neyin yanlış olduğunu bulamıyorum. Birisi bana yardım edebilir mi?

A'nın NP'de bir sorun olmasına ve M'nin A için karar vermesine izin verin. B, tamamlayıcı olsun, yani B, CoNP'de. M bir karar verici olduğundan, B'ye karar vermek için de kullanabilirsiniz (sadece cevabı çevirin). Bu, hem NP hem de CoNP sorunlarını aynı M ile çözdüğümüz anlamına gelmiyor mu?

Daha somut olarak ifade etmek gerekirse.

A'nın NP-tam bir problem olmasına ve M'nin A için karar vermesine izin verin. CoNP'deki herhangi bir B problemini düşünün. NP'de olan B değil tamamlayıcısını düşünüyoruz ve sonra A'ya polinom indirimi alıyoruz. Sonra M kararcımızı çalıştırıyoruz ve cevabımızı çeviriyoruz. Bu nedenle B için bir kararlayıcı elde ederiz. Bu, B'nin NP'de olduğu anlamına gelir.

Akıl yürütmemde neyin yanlış olduğunu bilebilir miyim?


2
Aşağıdaki cevapların uzunca açıkladığı gibi, "karar" kavramını doğru şekilde kullanmıyorsunuz. CoNP'deki problemler "çevrilmiş NP karartıcısı" olan problemler değildir . Bir girdiyi kabul etmek ("kabul etmeyi sağlayan belirleyici olmayan seçimler vardır") ve reddetmek ("tüm belirleyici olmayan seçimler reddetmeye yol açar") arasında NP sorunlarında önemli bir asimetri vardır. Argümanınız, NP'nin bir dizeyi reddetmesi için ("reddedilmeye neden olan deterministik olmayan seçenekler var") ve bu kusur olduğunu varsayar. Başka bir deyişle, nicelleştiricilerinizi karıştırdınız.
Andrej Bauer

1
Sen cevaplarını bulabilir bu soru aydınlatılmasına.
Raphael

@ Raphael Şaşırtıcı bir şekilde, bu soru ortak NP'den hiç bahsetmiyor! (Gerçi bu tür şeylerden emin olmayan biri için yararlı bir okuma olduğunu kabul ediyorum.)
David Richerby

@DavidRicherby Cevap, temelde, " kusurlu sezgi yerine NP tanımını kullan " olduğundan, umarım!
Raphael

1
Temel kural: "son halleri çevir" yapısı yalnızca deterministik modeller için geçerlidir. NFA'nın nedenini anlamasının nasıl başarısız olduğunu inceleyin. Buraya ve buraya da bakınız .
Raphael

Yanıtlar:


17

Bu kanıtta iki olası hata vardır:

  1. "Karar" dediğinde, deterministik bir TM demek istiyorsun. Bu durumda, bir deterministik makineye bir NP makineden (bildiğimiz kadarıyla) en iyi çeviri bir makine doğurabilir üstel sürede çalışır, bu nedenle kanıtlayan sen üstel sürede tamamlayıcı bir decider olacak tamamlayan sonra (veya bazı optimizasyonlardan sonra c o - N P P S P A C E ).coNPEXPcoNPPSPACE

  2. "Karar" dediğinde belirsiz bir TM demek istiyorsun. Bu durumda, cevabı çevirmek dili tamamlamayacaktır. Gerçekten de, ters çevrilmiş makine dili olan tüm kelime olacaktır vardır bir reddetme çalıştırmak ile ağırlıkMw


Bunun neden önemli olduğundan emin değilim. Bir kararlayıcı tanımım, giriş L'de ise kabul ediyorum ve giriş L'de değilse reddediyorum. Bu karar belirleyici veya belirleyici olmayabilir. Bununla birlikte, L'nin NP'de olduğunu söylüyorum ve bu nedenle deterministik olmayan bir TM kullanıyorsanız, polinom zaman alacağım. Ayrıca, biti çevirmenin dili neden tamamlamadığını da öğrenebilir miyim. Bildiğim kadarıyla CoNP = {L | NP \ 'de L \ değil. Bu nedenle, biraz çevirirseniz cevap almak gerekir?

Let . Aşağıdaki gibi çalışan belirsiz bir TM düşünün - bir seferde her zaman "reddetme" üretir. Diğer çalışmalarda, polinom zamanında L'yi tanır ( L N P'den beri mümkündür ). Eğer biraz çevirmek ne olur düşünün - reddetme koşmak her giriş için kabul olur, tümler makine tanır böylece Σ * - olmadıkça tamamlayıcısı olmadığı L = . Bunu tam olarak anlamak için belirsizliği tanımlamaları yakından gözden geçirmenizi öneririm. LNPLLNPΣL=
Shaull

Her bir hesaplama yolunun bitini çevirdiğim anlamına gelmez. Demek istediğim, TM'm kabul ederse, bu kabul edilebilir bir duruma ulaşan bir hesaplama yolu olduğu anlamına gelir. Bu, L'nin NP olduğu, yani tamamlayıcının coNP'de olduğu anlamına gelir. TM'm reddedilirse, bu her hesaplama yolunun reddedildiği anlamına gelir. Bu, tamamlayıcının NP'de olduğu, yani L'nin CoNP'de olduğu anlamına gelir.

4
@simpleton: Bir NTM'nin tüm yollara aynı anda erişimi olmadığını biliyorsunuz, sadece bir yol mu? NTM'nin davranışını belirleyici olarak dışarıdan analiz eden biri olarak düşünürsünüz.
13'te frafl

7
Bence OP NP tanımını daha dikkatli bir şekilde inceleyebilir.
MCH

15

İşte Shaull'un "karar vericiler" ile ilgili yaptığı noktaya bakmanın başka bir yolu.

Bir problem olan NP bir algoritma vardır, ancak ve ancak şekildedirV:{0,1}n×{0,1}poly(n){0,1}

  • her YES örneği için V ( x , p ) = 1 olacak şekilde bir p { 0 , 1 } p o l y ( n ) sertifikası vardır ; vex{0,1}np{0,1}poly(n)V(x,p)=1

  • her NO örneği için , tüm p { 0 , 1 } p o l y ( n ) için V ( x , p ) = 0 var .x{0,1}nV(x,p)=0p{0,1}poly(n)

Bunlar genellikle NP doğrulama algoritması için tamlık ve sağlamlık koşulları olarak tanımlanır : "tamlık" koşulu, her YES örneğinin bir sertifikaya sahip olduğunu ve "sağlamlık" koşulunun, algoritmanın hiçbir zaman bir NO örneği tarafından aldatılmadığını söyler. İçin coNP orada herhangi YOK örneği için en az bir sertifika kabul edecek bir doğrulayıcı algoritma, ancak hangi bir EVET örneği tarafından aptal asla: tam tersi bu.

Bunu göstermek istiyorsanız NPcoNP , her göstermek zorunda NP problemi vardır coNP tipi doğrulayıcı, NO örneklerini yerine EVET örneklerini tasdik hangi. Sen nondeterministic Turing makinesi ile bunu yapamaz: orada bildiğimiz hiçbir şekilde, örneğin, var verimli şekilde içinde, birbirine SAT örneklerini eşleştirmek için tüm edilemezdir formüller karşılanabilir olanlar eşlenir ve tersi. (Formülün çıktısını reddetmek, örneğin yeterli değildir; ancak tatmin edici olmayan ancak bir totoloji olmayan bir formül, bunun yerine tatmin edici olmayan bir formüle ihtiyaç duyduğumuzda, tatmin edici ancak bir totoloji olmayan farklı bir formüle eşleştirilir.) Belirsiz bir makineyi, tüm yolları reddetme yolları gibi bir şeyi tespit etmek için 'kandırmanın' hiçbir yolu yoktur.

Şunu sorabilirsiniz: "Belirsiz Turing makinesi ne sonuca ulaştığını bilmiyor mu?" Cevap hayır olurdu , değil. Deterministik olmayan makinenin çalışması, aynı anda birden fazla hesaplama yolu hakkında herhangi bir bilgiye erişmesini sağlamaz: paralel olarak birçok yolda çalıştığını düşünebilirsiniz, ancak her yol içinde sadece bu yolu biliyor. Herhangi bir çözüm olup olmadığını "fark etme" yeteneği ile donatmaya çalışırsanız, bunun yerine basit bir belirsiz Turing makinesinden daha (potansiyel olarak!) Daha güçlü bir NP kehanetine sahip bir makineyi tarif ediyorsunuz .

  • Δ2PPNPPNP

  • Σ2PNPNPPNPkehanet nedeniyle HAYIR cevabı vardır, ancak yine de kendi (oldukça güçlü) hesaplama dallarından birinde faaliyet göstermeye sıkışmış olacak , böylece kendi hesaplama dallarının hepsinin reddedilip reddedilmediğini söyleyemeyecektir .

NPNPNP

Yani, hayır, biz oracles kullanmadıkça, bir sorunun etkin bir şekilde EVET veya HAYIR bir örnek olduğuna 'karar' verebilecek hiçbir makine (deterministik veya başka türlü) yoktur; ancak böyle bir kehanetle bile, NP veya coNP'den (muhtemelen) daha güçlü olan, eşit olduklarını gösteren bir makine ile sonuçlanırız.


Merhaba, yorumlarınız için size ve Shauli'ye teşekkür ederim. Bir NTM'nin çoklu zamanlı bir NP dilini tanıyabildiğini, ancak çoklu zamanlı bir NP dilini belirleyemeyeceğini mi söylüyorsunuz? Ben NP problemleri için bir karar vericiyi söylediğimde bunu varsayıyorum.
simpleton

2
PNPNPPNPCoNPPNPUNSATNP

5
NP sertliği, kehanet azaltımlarıyla değil, birden fazla azaltmayla tanımlanır.
Yuval Filmus

6

Akıl yürütmeniz RE = coRE demektir, ancak bu muhtemelen yanlıştır. Bunun bir kanıtı bulmaya çalışabilir ve ardından azaltmanızın nerede başarısız olduğunu görebilirsiniz.

{x:P halts on input x}{x:(x,w)L for some w}L

L={x:p halts on input x}L={(x,w):p halts on input x in w steps}LL={x:(x,w)L for some w}

L={x:(x,w)L for some w}LP(x,w)Q(x)wP(x,w)wP(x,w)wQL={x:Q halts on input x}

L={(P,x):P halts on input x}PxHH(P,x)(P,x)LGG(x)=H(x,x)(G,G)LGGH(G,G)(G,G)L(G,G)LGGH(G,G)(G,G)LH

H


2

İşte bir TL; DR versiyonu; Ben de benzer bir soruya daha uzun bir cevap gönderdim .

AMxAMxMx. Kabul eden ve reddedilen durumları tersine çevirirseniz, bazı kabul yolları olan ve bazı reddeten yolları olan bir makineden, bazı reddetme yolları ve bazı kabul eden olan bir makineye gidersiniz. Başka bir deyişle, hala kabul yolları vardır, bu yüzden hala kabul eder. Belirsiz olmayan bir makinenin kabul etme ve reddetme durumlarını ters çevirmek, genel olarak, tamamlayıcı dili kabul etmenize neden olmaz.

(Eğer kabul Bu tanım bu asimetri olan herhangi bir yol kabul etmektedir yalnızca reddetmek bütün yolları reddetmek) yapar NP vs eş-NP problemi zor.


-2

Aslında, belirsiz olmayan makinenizin M, belirli bir giriş dizesinin B olup olmadığına karar verebileceğini kabul ediyorum. Ancak, belirli bir girişin A'da olup olmadığına karar verme biçiminden biraz farklı "karar" verir. İkinci durumda, bunu ( kararsızca) kabul eden bir durum bulmak. Önceki durumda, bunu kabul eden devletler bulamamaktadır. Bu fark neden önemlidir? Bakalım:

M sorulduğunda "Dize A dilinde mi?"

M kabul etme durumuna ulaşır. Bunu kanıtlayabilirsiniz (bakınız, örneğin, Sipser kitap teoremi 7.20), dizenin A'da polinom zamanında olduğunu doğrulayan deterministik bir makine olduğunu ima eder.

M sorulduğunda "Dize B dilinde mi?"

M, belirsiz hesaplamanın tüm dallarında reddetme durumuna ulaşır. Yukarıdaki doğrulayıcı kanıtın nasıl çalıştığını düşünürseniz, bu durumda bunun gerçekleştirilemeyeceğini göreceksiniz. Bunun nedeni kabaca doğrulayıcının M'nin durum alanında "kanıt" olarak kullandığı yolu kullanmasıdır. Bu durumda, böyle bir yol yoktur.

Sonuç:

Bir dilin polinom zaman belirleyici doğrulayıcısının varlığını bir NP dilinin tanımı olarak görüyorsanız (ki yapmanız gerekir), M'nin varlığı B'nin NP'de olduğunu kanıtlamaz.


1
MBBM
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.