turing makİnesİ nasil ÇaliŞir?
DESCRIPTION
TURING MAKİNESİ NASIL ÇALIŞIR?. Makinenin sonlu bir iç durumlar kümesi vardır. Verili bir anda makine bu durumların birinde bulunur. Makinenin bir okuyucu-yazıcı kafası vardır. - PowerPoint PPT PresentationTRANSCRIPT
TURING MAKİNESİ NASIL TURING MAKİNESİ NASIL
ÇALIŞIR?ÇALIŞIR?
Makinenin sonlu bir iç durumlar kümesi vardır. Verili bir anda makine bu durumların birinde bulunur.
Makinenin bir okuyucu-yazıcı kafası vardır.
Bu kafanın önüne karelere bölünmüş bir sonsuz şerit ya da bant yerleştirilmiştir. Bu karelerin her biri ya boştur ya da sonlu bir simgeler kümesine ait bir simge içerir.
The Turing Machine
Tape memory (movable)
a c ab cbbaa
Read head
h
q3 q2
q1
q0
State machine
Makine o anda içinde bulunduğu iç duruma göre, okur-yazar kafanın önündeki karede yer alan simgenin fonksiyonu olarak(kullanılan programdaki kural listesine bakarak),
1. Bu karedeki simgeyi siler ya da bu kareye yeni bir simge yazar.
2. Şeridi bir kare sağa ya da sola yürütür.
3. Yeni bir iç duruma geçer.
Makinenin iç durumundan biri pasif durumdur. Makine bu iç duruma geçtiğinde hesaplamasını bitirmiş demektir.
Turing Makinesi, işlemleri ardışık ve ayrık adımlar biçiminde gerçekleştirir.
TM, hem bilgi girişi/çıkışı makineleri, hem de evet/hayır karar verme makineleridir.
Üzerinde belirli bir simgeler dizisi yazılı olan şerit, belirli bir karesi kafanın önüne gelecek biçimde yerleştirilir.
Makine belirli bir başlangıç durumunda olmak üzere süreç başlatır.
Bir dizi ardışık adımdan sonra pasif duruma gelip durduğunda, şerit üzerinde yazılı bulunan simgeler dizisi, hesaplamanın sonucunu oluşturur.
TM çalışırken ortamda ayrı bir bilgi girişi yoktur. Bilgi girişinin TM çalışmaya başladığında bant üzerinde bulunması gerekir.
TM’de kullanılan her program, kural listesindeki komutları uygular.
Her program beşliler kümesinden oluşur:
(qi Si Sk [R,L] q1)
(qi Si Sk [R,L] q1) komutu şöyle okunur:
Makine qi durumundadır.
Okuma-yazma kafası Si harfini içeren bir haneyi gösterir durumdadır.
Bu harf yerine Sk yazılır.Okuma-yazma kafası sola (L) veya
sağa (R) doğru yer değiştirir.Merkez birimi q1 durumuna geçer.
Bir Turing Makinesi, bir fonksiyonu tanımlayan fonksiyon gibi düşünülebilir.
Genellikle TM başlangıç şeridinde x argümanının bir gösterimini taşıyorsa ve f(x) fonksiyonunu işleyebiliyorsa, bu fonksiyon bir TM ile hesaplanabilir denir. Makine durduktan sonra şeridin aldığı durum f(x)’in değerini verir.
DÜŞÜNEN MAKİNELERDÜŞÜNEN MAKİNELERARDIŞIĞINI HESAPLAMA ARDIŞIĞINI HESAPLAMA
PROGRAMIPROGRAMIKURALLAR:* Bu kurallar 2’lik sistemdeki sayıların ardışığını
bulmada kullanılır. Ardışığı hesaplanacak sayı şerit üzerine ters olarak yazılır. Sonuçta bulunan sayı da şerit üzerinde ters yazılıdır.
If read 1, write 0, go right, repeat.If read 0, write 1, HALT!If read , write 1, HALT!�
1 1 1 1 0 1
If read 1, write 0, go right, repeat.If read 1, write 0, go right, repeat.If read 0, write 1, HALT!If read , write 1, HALT!�
Şimdi ki örneğimizde 47=(101111)2 sayısının ardışığı olan sayıyı bulacağız:
0 1 1 1 0 1
If read 1, write 0, go right, repeat.If read 1, write 0, go right, repeat.If read 0, write 1, HALT!If read , write 1, HALT!�
0 0 1 1 0 1
If read 1, write 0, go right, repeat.If read 1, write 0, go right, repeat.If read 0, write 1, HALT!If read , write 1, HALT!�
If read 1, write 0, go right, repeat.If read 1, write 0, go right, repeat.If read 0, write 1, HALT!If read , write 1, HALT!�
0 0 0 1 0 1
0 0 0 0 0 1
If read 1, write 0, go right, repeat.
If read 0, write 1, HALT!If read 0, write 1, HALT!If read , write 1, HALT!�
0 0 0 0 1 1
If read 1, write 0, go right, repeat.If read 0, write 1, HALT!HALT!If read , write 1, HALT!�
Bulduğumuz (110000)2 sayısı, 10’luk sistemde 47’nin ardışığı olan 48 sayısına eşittir.
Benzer şekilde 127’nin ardışığı olan sayı da 128 bulunmalıdır.
1 1 1 1 1 1 1
If read 1, write 0, go right, repeat.If read 1, write 0, go right, repeat.If read 0, write 1, HALT!If read , write 1, HALT!�
0 1 1 1 1 1 1
If read 1, write 0, go right, repeat.If read 1, write 0, go right, repeat.If read 0, write 1, HALT!If read , write 1, HALT!�
0 0 1 1 1 1 1
If read 1, write 0, go right, repeat.If read 1, write 0, go right, repeat.If read 0, write 1, HALT!If read , write 1, HALT!�
0 0 0 1 1 1 1
If read 1, write 0, go right, repeat.If read 1, write 0, go right, repeat.If read 0, write 1, HALT!If read , write 1, HALT!�
0 0 0 0 1 1 1
If read 1, write 0, go right, repeat.If read 1, write 0, go right, repeat.If read 0, write 1, HALT!If read , write 1, HALT!�
0 0 0 0 0 1 1
If read 1, write 0, go right, repeat.If read 1, write 0, go right, repeat.If read 0, write 1, HALT!If read , write 1, HALT!�
0 0 0 0 0 0 1
If read 1, write 0, go right, repeat.If read 1, write 0, go right, repeat.If read 0, write 1, HALT!If read , write 1, HALT!�
If read 1, write 0, go right, repeat.If read 0, write 1, HALT!
If read , write 1, HALT!�If read , write 1, HALT!�
0 0 0 0 0 0 0
0 0 0 0 0 0 0 1
If read 1, write 0, go right, repeat.If read 0, write 1, HALT!If read , write 1, � HALT!HALT!
TURING MAKİNESİNİNTURING MAKİNESİNİNDİNAMİK GÖSTERİMİDİNAMİK GÖSTERİMİ
Bir t zamanında biçimi verilmiş TM uapxv ile gösterilsin.
Burada p mevcut içsel durumu, ua makinenin okur-yazar kafasının solunda ne olduğunu, x neyin o anda okunduğunu ve v makinenin okur-yazar kafasının sağında ne olduğunu belirtir.
TM beş durum içerir:(K, Σ, δ, s, H)K: sınırlı iç durumlar kümesiΣ: makinenin kullandığı sembol alfabesis: ilk durumH: bitiş durumuδ: geçiş görevi
From (K-H) x ΣTo K x(Σ U {move tape R or L} )
δ(p,x) = (q,y,D) şu anlama gelir:TM, q içsel durumuna geçer.
x yerine y yazar.Bant D yönünde ilerler.
Turing’in en büyük katkısı, herhangi bir T Turing makinesinin hesaplayabildiği her şeyi işleyen bir evrensel U Turing makinesinin yapılabileceğini kanıtlamaktı.
EVRENSEL EVRENSEL TURING MAKİNESİTURING MAKİNESİ
( U-TM )( U-TM )
U makinesi Turing makinelerinin bir çevirmenidir ve evrenseldir; ayrıca uzmanlaşmış bir Turing makinesinin işlediği her şeyi hesaplayabilir.
Church’un tezine göre U, hesaplanması bilinen her şeyi hesaplayabilen bir makinedir ve U, gerçekten hesaplanabilen kavramları tanımlamaya yarar.
U-TM’nin çalışma sistemi orijinal TM ile aynıdır. TM ne kadar karmaşık olursa olsun, U-TM fonksiyonu hesaplayabilir; orijinal TM, U-TM’den daha çok durum içerse bile bu sonuç değişmez.
U-TM’nin bunu yapabilmesi için her TM’nin sahip olduğu dT simgeler zincirini içermesi gerekir. Çünkü bu dT simgeler zinciri, TM’ni U-TM’ne tanıtır.
Example
Turing Machineabaaabaaaabababababbaaabaabaaaab
Databaa
HALT 2START 1 3(a, a, R) (a, a, R)
(b, b, R)
Input for UTM
# a b a a a b a a a a b a b a b a b a b b a a a b a a b a a a a b $ b a a
Start of Tape
Turing Machine (encoded)
Mark to indicate start of Data
Data
UTMInitialize Tape
Remember first letter of Data
Find first instruction
Is TO theHALT state?
Find & RememberWRITE & MOVE
Update Tape
Remember current letter of Data
Find next instruction
YES
NO
HALT
Find & RememberWRITE & MOVE
Update Tape