turing makİnesİ nasil ÇaliŞir?

36
TURING MAKİNESİ NASIL TURING MAKİNESİ NASIL ÇALIŞIR? ÇALIŞIR?

Upload: lindsey

Post on 14-Jan-2016

119 views

Category:

Documents


5 download

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 Presentation

TRANSCRIPT

Page 1: TURING MAKİNESİ NASIL ÇALIŞIR?

TURING MAKİNESİ NASIL TURING MAKİNESİ NASIL

ÇALIŞIR?ÇALIŞIR?

Page 2: 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.

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.

Page 3: TURING MAKİNESİ NASIL ÇALIŞIR?

The Turing Machine

Tape memory (movable)

a c ab cbbaa

Read head

h

q3 q2

q1

q0

State machine

Page 4: TURING MAKİNESİ NASIL ÇALIŞIR?

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.

Page 5: TURING MAKİNESİ NASIL ÇALIŞIR?

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.

Page 6: TURING MAKİNESİ NASIL ÇALIŞIR?

Ü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.

Page 7: TURING MAKİNESİ NASIL ÇALIŞIR?

TM çalışırken ortamda ayrı bir bilgi girişi yoktur. Bilgi girişinin TM çalışmaya başladığında bant üzerinde bulunması gerekir.

Page 8: TURING MAKİNESİ NASIL ÇALIŞIR?

TM’de kullanılan her program, kural listesindeki komutları uygular.

Her program beşliler kümesinden oluşur:

(qi Si Sk [R,L] q1)

Page 9: TURING MAKİNESİ NASIL ÇALIŞIR?

(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.

Page 10: TURING MAKİNESİ NASIL ÇALIŞIR?

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.

Page 11: TURING MAKİNESİ NASIL ÇALIŞIR?

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!�

Page 12: TURING MAKİNESİ NASIL ÇALIŞIR?

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:

Page 13: TURING MAKİNESİ NASIL ÇALIŞIR?

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!�

Page 14: TURING MAKİNESİ NASIL ÇALIŞIR?

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!�

Page 15: TURING MAKİNESİ NASIL ÇALIŞIR?

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

Page 16: TURING MAKİNESİ NASIL ÇALIŞIR?

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!�

Page 17: TURING MAKİNESİ NASIL ÇALIŞIR?

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!�

Page 18: TURING MAKİNESİ NASIL ÇALIŞIR?

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.

Page 19: TURING MAKİNESİ NASIL ÇALIŞIR?

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!�

Page 20: TURING MAKİNESİ NASIL ÇALIŞIR?

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!�

Page 21: TURING MAKİNESİ NASIL ÇALIŞIR?

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!�

Page 22: TURING MAKİNESİ NASIL ÇALIŞIR?

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!�

Page 23: TURING MAKİNESİ NASIL ÇALIŞIR?

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!�

Page 24: TURING MAKİNESİ NASIL ÇALIŞIR?

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!�

Page 25: TURING MAKİNESİ NASIL ÇALIŞIR?

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!�

Page 26: TURING MAKİNESİ NASIL ÇALIŞIR?

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

Page 27: TURING MAKİNESİ NASIL ÇALIŞIR?

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!

Page 28: TURING MAKİNESİ NASIL ÇALIŞIR?

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.

Page 29: TURING MAKİNESİ NASIL ÇALIŞIR?

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} )

Page 30: TURING MAKİNESİ NASIL ÇALIŞIR?

δ(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.

Page 31: TURING MAKİNESİ NASIL ÇALIŞIR?

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 )

Page 32: TURING MAKİNESİ NASIL ÇALIŞIR?

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.

Page 33: TURING MAKİNESİ NASIL ÇALIŞIR?

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.

Page 34: TURING MAKİNESİ NASIL ÇALIŞIR?

Example

Turing Machineabaaabaaaabababababbaaabaabaaaab

Databaa

HALT 2START 1 3(a, a, R) (a, a, R)

(b, b, R)

Page 35: TURING MAKİNESİ NASIL ÇALIŞIR?

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

Page 36: TURING MAKİNESİ NASIL ÇALIŞIR?

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