Belirli bir algoritmanın asimptotik olarak optimal olup olmadığına karar vermek mümkün müdür?


11

Aşağıdaki sorun için bir algoritma var mı:

Turing makinesi verilen dil karar L , Turing makinesi mi M 2 karar L olacak şekilde T 2 ( n ) = O ( t 1 ( n ) ) ?M1L
M2Lt2(n)=Ö(t1(n))

Fonksiyonları ve T 2 Turing makineleri kez çalışan en kötü durum olan M 1 ve M 2 , sırasıyla.t1t2M1M2

Uzay karmaşıklığı ne olacak?


1
Cevap kesinlikle değil. Bir TM'nin en kötü çalışma süresinin belirlenmesinin kararsız olduğu bilinmektedir.
chazisop

Yanıtlar:


9

Burada kararsız olduklarını göstermek için basit bir argüman var, yani belirli bir algoritmanın çalışma zamanı veya bellek kullanımı ile ilgili en uygun olup olmadığını kontrol etmek için hiçbir algoritma yok.

Boş banttaki durma sorununu çalışma zamanı en iyi duruma getirme sorununuza indiriyoruz.

Let , belirli bir Turing makinesi olabilir. N şu Turing makinesi olsun:M

: n girişinde 1. M'yi (en fazla) n adımdaboş banttaçalıştırın. 2. M n adımdadurmazsa, 2 n büyüklüğünde bir döngü çalıştırın, sonra NO döndürün. 3. Aksi takdirde, YES'i iade edin.Nn
Mn
Mn2n

İki durum söz konusudur:

  1. Eğer boş bant üzerinde durdurmaz, makine , N çalışacaktır İçeride ISTV melerin RWMAIWi'nin ( 2 N ) giriş ilgili adımlar n . Böylece çalışma süresi Θ ( 2 n ) . Bu durumda, N açık bir şekilde optimal değildir.MNΘ(2n)nΘ(2n)N

  2. Eğer boş bant üzerinde duraklamalara, makine , N , tüm yeterince büyük adımlarından sabit sayıda çalışacaktır n çalışma süresi bu yüzden, O ( 1 ) . Bu durumda, N açıkça en uygunudur.MNnO(1)N

Kısacası:

M halts on blank tape N is optimial 

Ayrıca kodu verildiğinde N kodunu hesaplayabiliriz . Bu nedenle boş kasetteki durma probleminden çalışma zamanı optimallik problemine indirgiyoruz. Belirli bir Turing makinesi N'nin optimal olup olmadığına karar verebilirsek , belirli bir makine M'nin boş bantta durup durmadığını kontrol etmek için yukarıdaki indirimi kullanabiliriz . Boş kasette durma işlemi doğrulanamadığından, sorununuz da kararsızdır.MNNM

Uzay için benzer bir argüman kullanılabilir, yani belirli bir Turing makinesinin kullandığı alan için en uygun olup olmadığını kontrol etmek de kararsızdır.

Daha güçlü bir ifade bile doğrudur: Belirli bir hesaplanabilir fonksiyonun, belirli bir hesaplanabilir fonksiyon hesaplamanın zaman karmaşıklığında üst sınır olup olmadığına karar veremeyiz. Uzay için de benzer şekilde. Yani temel karmaşıklık teorisi bile algoritmalar tarafından otomatikleştirilemez (karmaşıklık teorisyenleri için iyi bir haber olarak düşünülebilir;).


Sadece orijinal soruda OP'nin dilde ikinci dereceden bir sürede karar verdiğini varsaydığını belirtmek isterim . M1
Pål GD

Lütfen asimtotik optimumluğa baktığınızı açıklığa kavuşturun . Durum 2'de bile, n kesinlikle optimal değildir ; fonksiyon ise, tek bir adımda hesaplanabilir N fazla ihtiyaç n 0 (büyük için n ile) n, 0 hesaplama uzunluğu M boş bant üzerinde. nEVETN-n0nn0M
Raphael

Ah, soru son okuduğumdan beri değişti. Boşver.
Raphael

@ PålGD, OP'nin bir örnek olarak kullandığını düşünüyorum (cstheory'de yayınlanan orijinal soruya dayanarak). Bu sorunun altındaki yorumları kontrol edebilirsiniz.
Kaveh


-3

Ha! Cevap evet olsaydı, farklı bir dünyada yaşıyor olurduk.

Sorunuzun cevabının evet olduğunu düşünün (ve elbette sorunuzu cevaplayacak algoritmasını biliyorduk ), sonra L dili için herhangi bir A algoritması için A'nın optimal olup olmadığını söyleyebiliriz ( A 0 kullanarak ) ya da değil.bir0birLbir0bir

Ne yazık ki, bu mümkün değil ve aslında şahsen bilgisayar bilimindeki en ilginç (ve zor) problem olduğunu kanıtlamak (önemsiz değil). Bildiğim kadarıyla - düzeltilmekten memnuniyet duyarım - herhangi bir polinom problemi için herhangi bir iyimserlik sonucu yoktur (giriş boyutu ile orantılı zaman alan algoritmaların önemsiz iyimserlik sonuçları hariç).


1
Ω(N-)

1
Birincisi, "asimptotik olarak optimal", "optimal" ile aynı değildir. İkincisi, soruyu cevaplamıyorsunuz. Üçüncüsü, varΩ(ngünlükn)

@vonbrand - girdi boyutuyla orantılı alan algoritmalarla kastediyorum.
t to the t

1
@ttothet Tamam, korkarım meyvesiz olacak ama tekrar deneyeceğim. 1) Hayır, hiç değil. Her girişe yalnızca bir adım kaydederseniz, aynı asimptotik çalışma süresine sahip olmasına rağmen öncekinden daha iyi bir algoritmaya sahipsiniz. 2) Hayır, yoktur. Bu aynı zamanda "Bilmiyorum ama evet ise X" anlamına da gelebilir. Bu nadir değildir (cf P? = NP). 3) yapıldığını iddia eden hiçbir önemsiz olmayan alt sınır (asimptotikler üzerine sanırım) hiç . Bu yanlış. Ödevini yap lütfen.
Raphael

1
@ MartinJonáš 2 bantlı bir Turing makinesi kastediyorum. Kaveh bir noktaya sahiptir, zaman hiyerarşi teoreminin kanıtı, keyfi olarak yüksek karmaşıklığa sahip çoklu zamanlı çözülebilir problemler verir, ancak örnekler tam olarak doğal değildir ve çok açık hissetmezler. Ayrıca, olasılıklı zaman için hiçbir hiyerarşi bilinmemektedir, bu yüzden gerçekten hiçbir şeyimiz yoktur.
Sasho Nikolov
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.