Turing makinesi, Alan Turing tarafından 1930'larda hesaplama mantığını modellemek için oluşturulan teorik bir cihazdır. Bu makine, matematiksel bir soyutlama olup, herhangi bir algoritmayı veya hesaplama sürecini simüle etmek için kullanılır. Temel bileşenleri: - Bant: Sembolleri tutabilen sonsuz hücre dizisi. - Okuma/Yazma Kafası: Bant boyunca hareket eden, sembolleri okuyan ve yazan cihaz. - Durum Kaydı: Makinenin davranışını belirleyen sınırlı sayıda durum. - Geçiş Fonksiyonu: Makineye durumlar arasında nasıl geçiş yapılacağını ve mevcut sembol ve duruma göre hangi eylemin gerçekleştirileceğini söyleyen kurallar dizisi. Kullanım amaçları: - Model Hesaplama: Hesaplamaların temel düzeyde nasıl çalıştığını anlamak için teorik bir çerçeve sağlar. - Algoritmik Süreçleri Tanımlama: Bir bilgisayar tarafından çözülebilen her problem, teorik olarak bir Turing makinesi tarafından çözülebilir, bu da onu algoritma tasarımı için evrensel bir model haline getirir. - Hesaplamalı Sınırları Test Etme: Neyin hesaplanıp hesaplanamayacağının sınırlarını tanımlamaya yardımcı olur (Turing-tamlık).