Sonlu otomata modeli neden yeterli değil?
Diğer cevaplar zaten birçok konuyla ilgili konuya değinirken, Turing makinelerinin sonlu otomata göre güçlü avantajlarının veri ve program ayrımı olduğuna inanıyorum . Bu, oldukça sınırlı bir programı analiz etmenize ve girişin boyutunu sınırlamadan o programın farklı girdileri nasıl kullanacağı konusunda açıklamalar yapmanıza olanak sağlar.
Hem gerçek bir bilgisayarı hem de sonlu bantlı bir Turing makinesi gibi bir durumu durum makinesi olarak tanımlamak teorik olarak mümkün olsa da, bu gerçekten mümkün değildir: durumların sayısı, makinenizin sahip olduğu hafızanın içinde ve genel sonlu durumların katlanarak artmasıdır. Devlet otomat formalizmi bu durumlar arasındaki geçişleri açıkça listelemenizi gerektirir. Dolayısıyla, bu büyüklükteki bir genel sonlu durum otomatiği için, bütün durum geçişlerinin tam bir sayımına dayanarak herhangi bir kesinti yapmak oldukça olanaksızdır.
Tabii ki, gerçek bir bilgisayarda geçişlerin keyfi olamayacağını belirtiyor. Hesaplamanın tek bir adımında bellekteki bitlerin üçte birini takas etme komutu yoktur. Böylece devlet geçişleri için daha kompakt bir özellik bulmaya çalışabilirsiniz. Talimat gibi bir şey mimarinizin özelliklerini belirledi. Tabii ki, gerçek bilgisayar mimarileri performans uğruna karmaşıktır, bu yüzden bunu daha da basitleştirebilirsiniz, çok sınırlı girdi ve çıktı kullanarak çok küçük adımlar uygulayan çok basit komutlar için. Sonunda, mimarinizin Turing makine yorumlayıcısı gibi bir şeye benzediğini görebilirsiniz: bir miktar program kodu ve bir miktar giriş kullanarak, bir miktar çıktı üretin ve program kodunuzda hareket edin.
Bir alternatif, programın kendisini durum geçişlerine kodlarken, yalnızca program tarafından işlenen verileri temsil etmek için sonlu durum otomatizasyonunun durumlarını kullanmak olabilir. Bu, tüm durumların nasıl numaralandırılacağı ile ilgili aynı soruna yol açacaktır ve kompakt bir temsil, bir Turing makinesinin yaptıklarına tekrar yakın olabilir.
Gerçek bilgisayarlara göre bu çok daha güçlü modelleri incelemek ne anlama geliyor?
Genel olarak, sonlu bir bant Turing makinesinin muhtemelen gerçek bilgisayarlar için daha iyi bir model olacağını söyleyebilirim. Ancak birçok bilimsel soru için, sonlu fakat büyük ve sonsuz bir bant arasındaki ayrım önemsizdir, bu yüzden sadece sonsuz bir bant iddia etmek işleri kolaylaştırır. Diğer sorular için, kullanılan bantın miktarı, sorunun özünde yer almaktadır, ancak model, hesaplamanın bantta bitmesi durumunda ne olacağını belirtmekle uğraşmadan bant kullanımının miktarı hakkında konuşmanıza olanak sağlar.