Bir TM'nin bant üzerinde bir konuma gelip gelmediğine karar verilebilir mi?


14

Çözmeye çalıştığım eski bir sınavdan bu sorularım var. Her sorun için, giriş bazı Turing makinesi bir kodlamasıdır .M

C> 1 tamsayısı c>1ve aşağıdaki üç sorun için:

  1. Her giriş için doğru mu olduğunu x , M geçmez |x|+c çalışırken konumunu x ?

  2. Her giriş için olduğu doğru mudur x , M geçmez max{|x|c,1} çalışırken konumunu x ?

  3. Her giriş için olduğu doğru mudur x , M geçemezse (|x|+1)/c çalışırken konumunu x ?

Kaç problem karar verilebilir?

Sorun numarası (1), bence, doğru coRER , çünkü tüm girişleri paralel olarak çalıştırabilir ve bazı girdiler bu konuma ulaşırsa ve bunun olmadığını göstermek için durdurabilirim içinde R ı tamamlayıcı azaltabilir Atm ona. Bir Turing makinası inşa M aşağıdaki gibidir: Bir girişi için y olmadığını kontrol y o zaman, eğer, hesaplama tarihidir M o değilse sağ çalışan ve durdurma değil, o zaman durur.

(3) için, c2 için her zaman şeridin ilk hücresinde kalan tüm Turing makineleri olduğuna inanıyorum, çünkü bir karakter dizisi için ilk hücreyi geçebildiğinden, |Q|+1 adımları (Bu doğru mu?) için 1 uzunluktaki tüm dizeleri simüle etmeniz ve hepsinde yalnızca ilk hücreyi kullanıp kullanmadığımı görmeniz gerekir.

Gerçekten ne yapacağımı bilmiyorum (2).


1) Tek taraflı sonsuz bant var mı? 2) Atm nedir?
Raphael

1) Evet, 2) Kabul sorunu.
Jozef

Yanıtlar:


9

Bir Turing Makinesinin belirli bir girişte bandın sınırlı bir bölümüne (uzunluk diyelim ) sınırlı olup olmadığını soran herhangi bir durum karar verilebilir.n

Argüman şu şekilde çalışır. Turing Machine'i, bandı ve Turing Machine'in bant üzerindeki konumunu düşünün. Hepsi birlikte sınırlı sayıda konfigürasyona sahiptir. Spesifik olarak, sadeceolası yapılandırmalar. , teyp simgeler kümesidir ve , durumlar kümesidir. Turing Makinesinin durumunu kasetin durumu ve banttaki konumu ile birlikte bu cevabın geri kalanında tanımlamak için "konfigürasyon" kelimesini kullanmaya devam edeceğim, ancak bu standart bir kelime dağarcığı değil.t=n|Γ|n|Q|ΓQ

Makineyi çalıştırın ve tüm geçmiş yapılandırmalarını takip edin. Eğer hiç noktasının ötesine geçerse , "evet, konumunu geçer ." Aksi takdirde, makine 0 ile arasında bir yerdedir . Makine bir konfigürasyonu tekrarlarsa - durumu, kasetteki semboller ve kasetteki konumu daha önce oldukları ile aynı ise - "hayır, asla konumunu geçmez ."nMnnMn

Pidgeonhole prensibi ile, bu adımından fazla olmamalıdır . Yani yukarıdakilerin hepsi karar verilebilir; en fazla simüle edilmiş adımdan sonra bir cevap alırsınız.t+1t+1

Bunun neden işe yaradığına dair kısa bir not: makine, bant ve bant üzerindeki konumu tekrarlandığında, bu tekrarlar arasında bir dizi yapılandırma olması gerekir. Bu sıra tekrar gerçekleşir ve aynı yapılandırmaya bir kez daha yol açar - makine sonsuz bir döngüde. Çünkü Turing Makinesinin her yönünü takip ediyoruz; konfigürasyonun dışındaki hiçbir şey olanları etkilemez. Böylece bir yapılandırma tekrarlandığında, aralarında özdeş bir dizi yapılandırma ile tekrarlanır.

Böylece bandı ipin sonlu bir bölümüne sınırlamak karar verilebilir. Bu nedenle, tüm olası giriş dizelerini yineleyerek, sorun her üç sorunun tümü için . Bunu zaten fark etmiş olabilirsiniz (1 ve 3 için fikirleriniz ve Ran G'nin 2 için cevabı zaten çözülmüş görünüyor), ancak yine de göndermeye değer olabilir.coRE


"Makine bir konfigürasyonu tekrarlarsa [...] 'no' döndürür" - bu yanlıştır. Belirsiz olmayan bir makine birkaç kez bir döngü gerçekleştirebilir ve sonra devam edebilir.
Raphael

1
Burada, belirsiz olmadığı varsayılmayan turing makinelerinden bahsediyoruz. Belirsiz değilse, deterministik versiyonu simüle edin.
SamM

Güzel açıklama. Ayrıca cevabımın ilk versiyonuna da bakın (ki OP'nin bunu sormadığını fark ettiğimde gözden
geçiriyorum

@Sam: Başka bir yolla çalışır: aksi kabul edilmedikçe, bir Turing makinesi belirsiz olabilir. "Deterministik versiyon" nedir? Seçimlerin tamamen açılmasını kastediyorsanız, tekrarlanan bir yapılandırma farklı dallarda olabileceği için anlamını yitirir.
Raphael

2
@Raphael bunu yapmanın standart yolu bir yapılandırma grafiğidir: köşeler, Sam'in tanımladığı yapılandırmalarla aynıdır ve NTM, A'dan B'ye tek bir adımda hareket edebiliyorsa A'dan B'ye bir yönlendirilmiş kenar vardır. Grafik sonludur ve makinenin durup durmadığı basit bir grafik erişilebilirlik sorusudur. Bu ayrıca bir alt kümesi olduğunu gösterirNSPACE(s)DTIME(2O(s))
Sasho Nikolov

4

(2), (3) 'e çok benzer ve (3) için sahip olduğunuz aynı mantık burada da geçerlidir: garip bir özelliğe sahip makinelerin tüm girdiyi okumadıklarını (asla sonuncuya ulaşmadıklarını unutmayın) bit.) Ve bu her girdi için geçerlidir .L2c

Tamam, şimdi sadece uzunluğuna kadar olan girişleri ele alalım . Her biri için sadece iki seçenek vardır: makine kafayı hareket ettirmeden döngüler / durur veya kafayı hareket ettirir. Başı bazı ( ) üzerinde hareket , o makine girişi nedeniyle içinde değildir . Aksi takdirde, makinenin olduğunu iddia . Başını asla hareket ettirmediğinden - girişin boyutunun ne olduğu hakkında hiçbir fikri yoktur! bu, tüm uzunluk girişleri için aynı şekilde davrandığı anlamına gelir . Bu nedenle, karar verilebilir.cx|x|cL2xL2|x|>cL2


Belirsiz makineleri nasıl değerlendiriyorsunuz?
Raphael

NTM'leri düşünmedim, ama aynı olmalı. uzunluğuna kadar olan tüm kelimeler için NTM, başın hareket ettirilmeden yapılabileceği konfigürasyon sayısı sonludur. c
Ran G.Ağustos

Evet, ama tartışmanız bozuldu. Bir NTM'nin belirli bir konumdan ayrılıp ayrılmadığını sonlu sürede (basit simülasyonla) belirleyemezsiniz.
Raphael

@Raphael neden olmasın? tüm konfigürasyon ağacını (derinlik ) sonlu bir zamanda simüle edemez misiniz ? |x|exp(|x|)
Ran

Neden derinlikyeterli ol? daha mantıklı olurdu. O zamana kadar, simülasyon , eğer varsa, ilk pozisyondan ayrıldığı bir dal buldu . |x||Q|M
Raphael
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.