Sınırlı durma problemi karar verilebilir. Bu neden Rice teoremiyle çelişmiyor?


9

Rice teoreminin bir ifadesi 35. sayfada "Hesaplamalı Karmaşıklık: Modern Bir Yaklaşım" (Arora-Barak):

Kısmi bir işlev {0,1}to , tüm girdilerinde mutlaka tanımlanmayan bir işlevdir. Bir TM söylemek kısmi işlevi hesaplar her için eğer üzerinde tanımlanır, ve her durum için üzerinde tanımlanmadı girişi üzerinde çalıştırıldığı zaman sonsuz bir döngüye geçer . Eğer kısmi işlevler bir dizi olduğu için, tanımlayan boole fonksiyonu olarak girişte söz çıkışları 1 IFF in değerlerini hesaplar kısmi fonksiyonu . Pirinç teoremi{0,1}MfxfM(x)=f(x)xfMxSfSαMαSher önemsiz için fonksiyonunun hesaplanamayacağını .SfS

Wikipedia sınırlı süreli turing makinelerinin dillerinin EXPTIME tamamlandığını belirtiyor. Bu dilin gibi görünmesini bekliyorum adımdan az kabul ediyor . Öyleyse , bu sınırlı dile üstel zamanda karar veren bir DTM olsun . Görünüşe göre bu DTM TÜM turing makineleri için bazı mülklere karar veriyor, bu yüzden sezgim Rice'ın teoreminin böyle bir kararı engellediğini söylüyor. Ancak belli ki toplam bir işlevi hesaplar.{(α,x,n):Mαxn}MM

Bu dil ve Rice teoremi arasındaki ilişkide ne eksik?

Yanıtlar:


13

Dil

{(α,x,n):Mα kabul eder x daha az n adımlar}

bir dizin kümesi değil, yani formda değil

LP={M|M TM, fP. fM=f}

bazı (kısmi özyinelemeli) fonksiyonlar kümesi , ile TM tarafından hesaplanan (kısmi) fonksiyon . Rice teoremi sadece bu hakkında açıklamalar yapar ; birçok "sezgisel" ifadeler yararlı değildir. Ayrıca buraya bakınız .PfMMLP

Bunun sadece teknik bir detay olmadığını unutmayın. Rice teoremi aşağıdakiler için geçerli değildir

L={M|M kabul eder M daha az M adımlar} ,

Ya. Nedenini görebiliyor musun?

deki her makine için aynı dili kabul eden, ancak adımlarından daha fazlasını çalıştıran ve dolayısıyla de olmayan birçok makine kolayca oluşturabilirsiniz . Dolayısıyla, bir indeks seti değildir.LMLL

L tartıştığımız orijinal dil ile aynı argümanı kullanarak karar verilebilir.


+1. Özellikle burada da geçerli olan köprü için. Ancak yine de alternatif bir cevap olarak "sezgisel" bir analize katkıda bulunmaya çalıştım.
Jirka Hanika

6

Rice teoremi, bir programın sonsuzluğa koşmaya bırakıldığı zaman nihai davranışları hakkında hiçbir şey söyleyemeyeceğinizi söyler - programları nasıl sınıflandırırsanız yaşayın, aynı nihai davranışa (bilgisayar işlevi) dönüşecek iki program olacaktır. ) farklı sınıflandırmış olmanıza rağmen.

Ancak programların sonsuza kadar çalışmasına izin vermek çok önemlidir. İlkinde ne yaptıklarını bulmak içinn adımları, sadece ilk kez taklit edebilirsiniz nadımları izleyin ve ardından programın nasıl davrandığına dair kararınızı verin. Sonsuzluğa kadar benzer simülasyon işe yaramaz, çünkü simüle edilmiş program simüle edilmiş bir girişte asla sona ermezse, sınıflandırmanız sınıflandırma yerine ayrılır.


5

İlk olarak, dilinizdeki kelimeler makinelerin kodlaması değildir, daha fazla bilgi içerirler, bu yüzden Rice teoremini doğrudan uygulayamazsınız. Bununla birlikte, Rice'ın teoremi, bir Turing makinesi tarafından hesaplanan fonksiyon hakkında akıl yürütmenin imkansızlığından bahsediyor (yani, bazı setlerde yatarsaS). Bu durum böyle değil, çünkü Raphael'in belirttiği gibi iki makine varM,M' aynı işlevi hesaplayan, ancak biri sizin dilinizde ya da diğeri yatıyor (burada sözdizimsel sorunu görmezden geliyorum ve x,ngirdinin bir parçasıdır). Mesele şu ki, burada baktığınız özellik semantik değil mekaniktir (makineler aynı işlevi, ancak farklı bir şekilde hesaplayabilir).


İlk argüman biçimsel ama doğrudur. İkinci argüman beni karıştırıyor (yerelliği / küreselliği titizlikle tanımlayabileceğimden emin değilim; ve bir işlevi "bir dizi işlevden" hesaplamanın ne anlama geldiğini bilmiyorum).
Jirka Hanika

İlk argüman, Raphael'in cevabında belirttiği gibi, aslında sadece sözdizimseldir. Yerel / küresel sorun, tek bir girdideki sonuçla ilgili akıl yürütme arasındaki farkın tüm girdilerle karşılaştırılması anlamına geliyordu (resmi anlamda kastetmedim, farklı bir bağlamda başka bir şey anlamına gelebilir). Belirli bir kümeden bir fonksiyonun hesaplanması, basitçe,Mα içinde S.
Ariel

Rice teoremi, makinenin tüm girdiler üzerindeki davranışı hakkında bir akla gerek duymaz. Örneğin, programları "5" girdisinde çalıştırıldığında nihayetinde kabul edip etmeyeceklerine göre sınıflandırmak imkansızdır. Daha doğrusu, çoğu girişteki davranışı görmezden gelen böyle bir sınıflandırmayı tanımlayabilirsiniz, ancak sınıflandırma yine de özyinelemeli değildir.
Jirka Hanika

Bu gerçekten kafa karıştırıcıydı, çünkü S çıktı veren fonksiyonlar dizisi olmak 1bazı sabit girişlerde. Sorunu dile getirdiğiniz için teşekkürler.
Ariel

3

Rice teoremi, herhangi bir önemsiz set için L bir dil tanıyan Turing makineleri kümesi Lkararsız. Wikipedia belirli bir dilin karar verilebileceğini söylüyor. Yani bir çelişki yok.

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.