NİŞANTAŞI ÜNİVERSİTESİ BİÇİMSEL DİLLER VE OTOMATLAR HAFTA 14 NİŞANTAŞI ÜNİVERSİTESİ © Mühendislik Mimarlık Fakültesi mmf.nisantasi.edu.tr
Rastgele Erişimli Turing Makinesi, Determnistik Olmayan TM 14. HAFTA Rastgele Erişimli Turing Makinesi, Determnistik Olmayan TM NİŞANTAŞI ÜNİVERSİTESİ ©
NİŞANTAŞI ÜNİVERSİTESİ © RAST GELE ERİŞİMLİ TM Şimdiye kadar görülen Turing makineleri sıralı (sequential) hafızaya sahiptir. Buna karşılık gerçek bilgisayarlar rastgele erişimli (random access) hafızaya sahiptir. Rastgele erişimli Turing makinesi (Random Access Turing Machine-RATM) sabit sayıda kayıtçıya (registers) ve tek yönlü sınırsız tape ünitesine sahiptir. Her register ve tape hafıza alanı bir sayıyı saklar. Bu makine bir programa ait instruction'ları gerçek bilgisayarlardaki gibi sırayla çalıştırır. Çalıştırılan programda bir sonraki instruction adresini tutan program sayacı (counter) vardır. NİŞANTAŞI ÜNİVERSİTESİ ©
NİŞANTAŞI ÜNİVERSİTESİ © RAST GELE ERİŞİMLİ TM Başlangıçta program counter 1, diğer register'lar 0 değerine sahiptir. RATM başlangıçta ilk instruction'la çalışmaya başlar. Her instruction'la register içerikleri ve/veya program counter ve/veya tape içeriği değişebilir. NİŞANTAŞI ÜNİVERSİTESİ ©
NİŞANTAŞI ÜNİVERSİTESİ © RAST GELE ERİŞİMLİ TM RATM için instruction kümesi j register numarasını gösterir (1 '.S j < k). (k register sayısıdır) T[i], i.tape alanının içeriğini gösterir. Rj, j.register içeriğini gösterir. s :: p programdaki instruction sıra numarasını gösterir. c doğal sayıdır. K bir sonra çalıştırılacak instruction adresini saklar. Bütün instruction’lar aksi belirtilmediği sürece K program sayacını bir artırır. Register 0 akümülator olarak kullanılır. Aritmetik ve lojik işlemlerde kullanılır. Makinenin çalışması bir halt instruction ile sonlandırılır. NİŞANTAŞI ÜNİVERSİTESİ ©
NİŞANTAŞI ÜNİVERSİTESİ © RAST GELE ERİŞİMLİ TM Tanım: RATM M = (k, ll) şeklinde bir ikiliyle ifade edilir. k > 0 olmak üzere register sayısını gösterir. ll = (n:1, n:2, ..., n:p,) olmak üzere sonlu sayıda instruction’a sahip programı gösterir. Burada her n:i bir instruction’ı gösterir. n:p son instruction’dır ve halt olduğu varsayılır. Program içinde başka halt instruction’ları olabilir. NİŞANTAŞI ÜNİVERSİTESİ ©
NİŞANTAŞI ÜNİVERSİTESİ © RAST GELE ERİŞİMLİ TM Tanım: RATM için konfigürasyon k+2 tuple’dır ve (K, R0, R1, ..., Rk-1, T) şeklinde ifade edilir. Burada K Î N program counter ve 0 ile p arasındadır. Halted konfigürasyonu için K sıfırdır. Rj , j.register’in şimdiki değeridir. (0 :: j < k) T, tape içeriğini gösterir, sonlu sayıda pozitif tamsayı çifti kümesidir ve (N – {0} x N – {0}) (i � 1) olmak üzere (i, m) Î T şeklinde gösterilir. i.tape alanının içeriği m ‘dir. (m > 0) NİŞANTAŞI ÜNİVERSİTESİ ©
NİŞANTAŞI ÜNİVERSİTESİ © NONDETERMINISTIK TM Bir nondeterministic Turing makinesi (K, , , s, H) eklinde quintuple olarak ifade edilir. NİŞANTAŞI ÜNİVERSİTESİ ©
NİŞANTAŞI ÜNİVERSİTESİ © NONDETERMINISTIK TM Context-free gramerler terminal (I) ve nonterminallerin (V-I) kümesi olan bir alfabeye sahiptir. A - u (AÎV-I, ve uÎV*). Bir context-free gramer başlangıç string S ile başlayıp sürekli sol taraftaki nonterminal yerine kuralların sağ tarafını değiştirmektedir. CFG’de bütün kuralların sol tarafları bir nonterminale sahiptir. Bir unrestricted gramerde ise kuralların sol tarafı en az bir tane nonterminale sahip olmak kaydıyla bir string olabilir. Sonuçta üretilen string CFG’deki gibi sadece terminallerden oluşabilir. NİŞANTAŞI ÜNİVERSİTESİ ©
NİŞANTAŞI ÜNİVERSİTESİ © NONDETERMINISTIK TM Tanım: Bir unrestricted grammer G = (V, , R, S) eklinde quadruple ile gösterilir. NİŞANTAŞI ÜNİVERSİTESİ ©
NİŞANTAŞI ÜNİVERSİTESİ © NONDETERMINISTIK TM Church-Turing thesis Bu derste farklı hesaplama süreçleri için farklı matematiksel modeller verilmiştir. Özellikle bir dilin decide, semidecide edilmesi ve language generator ve hesaplama fonksiyonları için modeller geliştirilmiştir. Bir Turing makinesinin özelliklerinin artırılması (RATM) aslında hesaplama kabiliyetini arttırmamaktadır. Bir hesaplama makinesi bir algoritmanın gerçekleştirilmesi için tasarlanır. NİŞANTAŞI ÜNİVERSİTESİ ©
NİŞANTAŞI ÜNİVERSİTESİ © NONDETERMINISTIK TM Church-Turing thesis Bütün girişler için halt durumuna ulaşan Turing makineleri algoritmadır. Bu prensip Church-Turing thesis olarak adlandırılır. Semidecide yapan Turing makineleri algoritma değillerdir. Church-Turing tezinin doğruluğu matematiksel olarak ispatlanamamıştır, yanlışlığıda ispatlanamamıştır. Church-Turing tezine göre, Turing makinesiyle gerçekleştirilemeyen hesaplamalar undecidable olarak adlandırılır. NİŞANTAŞI ÜNİVERSİTESİ ©
NİŞANTAŞI ÜNİVERSİTESİ © KAYNAKLAR An Introduction to Formal Languages and Automata, Peter Linz. Introduction to Automata Theory, Languages and Computation, John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman. NİŞANTAŞI ÜNİVERSİTESİ ©