Evrensel bir Turing makinesi “büyük” olanları nasıl simüle edebilir?


10

Universal Turing makinesiyle ilgili iki sorunun yanıtını bulmaya çalışıyorum.

  1. Simüle edilen makinede daha fazla sayıda durum varsa Evrensel Turing makinesi Turing makinesini nasıl simüle edebilir?
  2. Simüle edilen makinede daha fazla sayıda alfabe karakteri varsa Evrensel Turing makinesi Turing makinesini nasıl simüle edebilir?

Birisi bana bu sorularda yardımcı olabilir mi?


1
Bir başka ilginç pov wrt, UTM'nin sabit bir durum sayısı ile inşa edilebilmesidir. diğer TM'leri kasete kodlanmış keyfi durum veya sembollerle benzetir.
vzn

ilgili bir soru, bir TM kasette ekstra adata artı durumların sınıflara indirgenmesi ile aynı yöntem pf ile kabaca aynı yöntemle bir ATM (alternatif TM) taklit edebilir
Nikos

Yanıtlar:


10

Her iki alt sorunun cevabı aynıdır: gerekli verileri saklamak için bandı kullanarak. Simüle edilecek makinenin durum kümesinin ve alfabesinin doğal sayıların alt kümeleri olduğunu varsayabiliriz ("Durum 1", "Durum 2", "Durum 3" vb.). Yalnızca iki boş olmayan karakterle bile, evrensel makine tüm bu tam sayıları ikili dizeler olarak temsil edebilir.

Bununla birlikte, evrensel makinenin, geçiş işlevinin hesaplanmasını biraz zorlaştıran sabit sayıda duruma sahip olduğunu unutmayın. Yapmamız istiyoruz durumu", formun bir büyük switch deyimi uygulamak bazı talimatlar yazma olduğunu  ve başının altına karakter  x , daha sonra devlet taşımak  s ' , yazma karakter  x ' ve hareket baş yönünde  d . " Öyleyse - ve bu sizin sorunuzun kökü olabilir - geçiş makinesinin geçiş işlevinin girdisini saklamak için evrensel makinede yeterli durumumuz yoksa, geçiş işlevini nasıl hesaplayabiliriz?sxs'x'd

Bunun bir yolu geçiş işlevini ikili ağaç olarak saklamaktır. Tüm simüle makinesi olduğunu varsayalım  durumları ve 2  bant sembolleri. Geçiş işlevini q + derinlik ikili ağacı olarak saklayın ; burada, ilk q  seviyelerinde, simüle edilmiş durumun bir sonraki bitinin bir veya sıfır olmasına ve bir sonraki  seviyelerinin aynı olup olmadığına göre sola veya sağa gidersiniz ancak simüle edilmiş bant karakterinin ardışık bitleri için. Şimdi, evrensel makineniz bant üzerinde ileri ve geri yürüyebilir, durumun / karakterin bir sonraki bitini kontrol edebilir, o biti kendi durumlarında hatırlayabilir, ağaca geri dönebilir, doğru düğüme bir işaretleyici koyabilir vb.2q2q+q

Bu, evrensel makinenizin birden çok kasete sahip olmasına izin verirseniz biraz daha kolaylaşır, ancak yine de çok bantlı makinenizin tek bir bant makinesine eşdeğer olduğunu göstermeniz gerekir.

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.