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.2q2ℓq+ ℓ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.