NDTM'nin cevabını neden etkin bir şekilde çeviremiyoruz?


11

Birkaç kez bir NDTM'nin cevabını verimli bir şekilde çevirmenin mümkün olmadığını birkaç kez okudum. Ancak nedenini anlamıyorum. Örneğin, O ( n ) ' de çalışan bir NDTM verildiğinde , bu metin (bölüm 3.3) başka bir NDTM T'nin O ( n 100 )' de nasıl belirleyebileceğinin belirsiz olduğunu belirtir.MÖ(n)TÖ(n100) zamanında cevabını nasıl çevireceğini nasıl .M

Sorunum şu şekildedir: Bir NDTM , kabul eden duruma götüren bir dizi deterministik olmayan seçenek varsa, çıkışlar . Ayrıca, her NDTM'yi yalnızca küçük (logaritmik) bir ek yük ile simüle edebilen evrensel bir NDTM N U vardır. Öyleyse neden T'yi şu şekilde inşa edemiyoruz: İlk olarak, M'yi O ( n log n ) zamanında mümkün olması gereken evrensel NDTM ile simüle edin . Sonra çıktı 1 - M'nin cevabı. Bu, O ( n log n ) zamanında herhangi bir doğrusal NDTM'nin cevabını çevirebileceğimiz anlamına gelir .1N-UO(nlogn)O(nlogn)


Bir NDTM hiçbir şey "çıktısı" vermez. Belirsizliğin zihinsel modelinizi ayarlayın.
Raphael

Yanıtlar:


15

Belirsiz bir Turing makinesi, en az bir yol kabul ederse kabul eder; yalnızca tüm yollar reddedilirse reddedilir. Bu asimetri "cevapları çevirmeyi" zorlaştırır.

Örneğin, giriş w için iki yol  içeren belirsiz bir Turing makinesi sahip olduğunuzu varsayalım  : biri kabul eder, diğeri reddeder. M  , w için en az bir kabul yoluna sahiptir  , bu yüzden kabul eder. Diyelim ki M'nin  reddettiği girdileri tam olarak kabul eden bir makine üretmek istiyoruz . Açık olan ilk girişim M'yi almak  ve kabul eden devletleri reddetmek ve reddetme devletlerini kabul etmek. M  , w için bir kabul yoluna  ve bir reddetme yoluna sahiptir; Bu yeni makine  M ' bir reddetme yolunu ve bir kabul yolu vardır. Hala kabul Yani  w o reddetmek gerekiyordu, hangi!MwMwMMMwMw

Belirsiz bir makine, tüm yollarına aynı anda bakamaz ve bu yolların hepsinin yaptıklarına göre harekete geçemez. İsterseniz, iş parçacıklarının birbirleriyle iletişim kurmasının yasak olduğu bir paralellik biçimi olarak düşünebilirsiniz. Tüm evreler bittiğinde program kendisine şu soruyu sormalıdır: "Evrelerimden en az biri kabul etti mi?" Cevap evet ise, yasal olarak kabul etmekle yükümlüdür; cevap hayır ise, yasal olarak reddetmekle yükümlüdür.Başka bir şey yapamaz.

Eğer nondeterministic makine taklit zaman  bir tane kullanılarak M ' , her yolu  M ' biri yolunu taklit  M ve sadece bu yolu görür. "Diğer tüm yollar reddedilirse, kabul edeceğim" diyemez, çünkü diğer yolları göremez; sadece kendini görebilir. Yani söyleyebileceği tek şey, "Benzettiğim yol kabul edilirse, reddedeceğim" veya "Benzettiğim yol kabul edilirse, ben de kabul edeceğim" gibi şeyler. Daha sonra, hesaplamanın sonunda, makine "Yollarımdan herhangi biri kabul edilirse, ben de kabul edeceğim" demeli ve yukarıda tarif ettiğim soruna yol açmalıdır. Davranışını tersine çevirmek için M , her yolu M 'MMMMMM'"Ben simüle ettiğim yolu kabul edersem, reddederim; başka, kabul ediyorum" demeli ve hesaplamanın sonunda, makinenin "Tüm yollarım kabul edilirse kabul ediyorum; başka bir şey reddediyorum ." Bunun nedeni, simülatörün tüm yolları kabul edilirse, bu, tüm yollarının reddedildiği anlamına gelir , bu nedenle M reddetti, bu yüzden simülatörün kabul etmesi gerekiyor. Ancak simülatör geçerli bir belirleyici olmayan Turing makinesi değil, çünkü yasal olarak zorunlu kabul kriterini kullanmıyor. Bunu yapamaz.MM

Belirsiz bir makinenin girdisini reddetip reddetmediğini anlamanın tek yolu, olası her yolu denemek ve hepsinin reddettiğini doğrulamaktır. Sonuçta, bunlardan biri bile kabul edilirse, makine girişi kabul eder. Ancak olası her yolu denemek, sadece bir yolu denemekten katlanarak daha yavaştır.


2

Sorun, NDTM'nin doğası gereği simetrik olmamasıdır: zamanı , O ( n )O(n)O(n) , varsa kabul yolunu tahmin etmek için adımlarının olduğu ve aksi takdirde (kabul yolu yoksa) reddeder.

Sorun şu ki, makineniz gerçekten O ( n l o g ( n ) ) içindeyse, n l o g ( n ) ' de M'nin girişi reddettiğine tanıklık ettiği anlamına gelir . Bunu yapmak mümkün olmayabilir, çünkü M'nin reddedildiğine dair tanıklar yoktur , sadece kabul tanıkları vardır. Ret, tanığın yokluğudur, bu nedenle kısa sürede reddetmeyi kanıtlamak kolay değildir.NUO(nlog(n))nlog(n)MM


-3

aslında teknik olarak P soruyorsun coNP ( ? ==?=? açık olan NP) sorusu. yaygın olarak varsayılır, ancak eşit olmadıkları kanıtlanmamıştır. diğer cevaplar sezgisel çizimler / neden eşit olmadıklarına dair kanıtlar.


1
Aslında, co-NP = NP'ye benzer bir şey soruyor : P ve NP'nin farklı olması mümkündür, ancak NDTM'ler verimli bir şekilde reddedilebilir.
David Richerby
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.