Download as pdf or txt
Download as pdf or txt
You are on page 1of 20

BM312 DERS NOTLARI - 10 TURING MAKNELER (TURING MACHINES) Pushdown automata ve sonlu automata genel bilgisayar modelleridir.

2012

Ancak PDA ve FA, L = {anbncn : n 0} gibi basit bir dili tanma kapasitesine sahip deildirler. Turing makinesi buna benzer ve daha karmak dilleri tanyabilir. Turing makinesi, Alan Turing tarafndan 1936 ylnda ortaya atlmtr. Turing makinesi bir sonlu control, bir tape ve tape zerinde yazma okuma iin kullanlan bir head ten olumaktadr.

Temel olarak bir Turing makinesi bir tape ve bir sonlu state controldan oluur. Sonlu state control ve tape arasnda iletiim bir okuma/yazma kafas tarafndan salanr.

Yrd.Do.Dr.Hacer KARACAN

BM312 DERS NOTLARI - 10

2012

Control unit bulunulan durum ve okunan sembole bal olarak her admda iki farkl ilemi gerekletirir;

1. Control unit yeni bir duruma geer. 2. a. Tape zerinde okunan alana yeni bir sembol yazar. b. Okuma/yazma kafasn bir saa veya sola hareket ettirir.

zellikler: Tape nitesinin sol ksm sonlu ve sa ksm sonsuz uzunlukta olabilir. Makinenin tape nitesinin en solundan da sola gitmesini nlemek iin en sol ksmda iaretisi bulunmaktadr. Okuma/yazma kafas iaretini okuduunda otomatik olarak hemen bir saa geer. Kafann sola ve saa hareketini salamak iin ve sembolleri kullanlr. ve sembolleri alfabeye ait deildir. Tape zerindeki input string iaretinden hemen sonra balar ve stringten sonraki ksmn tamam balangta botur ve sembolyle gsterilir. Tanm: Bir Turing Makinesi M = (K, , , s, H) eklinde bir quintuple ile gsterilir. K sonlu durumlar kmesi alfabe, boluk sembol ve en soldaki sonlandrma sembol elemandr, ancak sola ve saa gidi sembolleri ve eleman deildir. s H K balang durumu halting states (biti durumlar)
Yrd.Do.Dr.Hacer KARACAN

BM312 DERS NOTLARI - 10 gei fonksiyonu, (K H) x dan K x ( {, }) kmesinedir. a) tm q K H iin, eer (q, ) = (p, b) ise b = olur

2012

b) tm q K H ve a iin, eer (q, a) = (p, b) ise b olur a. Okuma kafas sol bataki sembol () okursa otomatik olarak bir saa geer. b. Okuma kafas alfabedeki bir sembol okuduunda yeni geecei durumda sembolnn zerinde duramaz ve zerine birey yazamaz. Turing Makinesinde halting stateler iin gei fonksiyonu tanmlanmaz ve halting statelerden birisine geer gemez almas sonlanr.

rnek: Bir Turing Makinesi M = (K, , , s, {h}) eklinde tanmlanmtr. K = {q0, q1, h}, = {a, , } s = q0 olsun. Gei fonksiyonu yandaki tabloda verildii gibidir.

M balang durumu q0 dan almaya balar ve saa doru tm a lar ile deitirir. lk semboln bulduunda halt durumuna geerek almasn sonlandrr.

Yrd.Do.Dr.Hacer KARACAN

BM312 DERS NOTLARI - 10 M makinesi q0 ve q1 durumlar arasnda srekli gidip gelir.

2012

Burada (q1, a) durumunda hibir zaman olamaz. Ancak , (K H)x zerinde bir fonksiyon olduu iin tanmlanmaldr.

rnek: Bir Turing Makinesi M = (K, , , s, {h}) eklinde tanmlanmtr. K = {q0, h}, = {a, , }, s = q0 ve H = {h} olsun. Gei fonksiyonu aadaki tabloda verildii gibidir.

M makinesi sola doru tarama yapar ve ilk semboln bulduunda halt durumuna geerek almasn sonlandrr. Eer sembolne kadar a varsa, en sola geldiinde hemen saa geer ve tekrar sola geer. Dier deterministik makinelerin tersine Turing Makinesinin almas hi sonlandrlamayabilir. Tanm: Bir Turing makinesi M = (K, , , s, H) iin konfigrasyon K x * x (*( { } ) {e}) kmesinin bir elemandr.

Yrd.Do.Dr.Hacer KARACAN

BM312 DERS NOTLARI - 10 Konfigrasyon sol biti sembol ile balar ve hibir zaman boluk sembolyle () bitmez.

2012

(q, a, aba), (q, , a) ve (q, a , e) konfigrasyonlardr. (q, baa, abc ) ve (q, aa, ba) konfigrasyon deillerdir. (q, wa, u) konfigrasyonunda tape ierii ksaca wau eklinde gsterilir. Okuma kafas a dadr. (q, wa, u) yerine ksa olarak (q, wau) yazlabilir.

rnek:

Yrd.Do.Dr.Hacer KARACAN

BM312 DERS NOTLARI - 10 Tanm:

2012

Bir Turing makinesi M = (K, , , s, H) iin iki konfigrasyon (q1, w1a1u1) ve (q2, w2a2u2) iin a1, a2 ise (q1, w1a1u1)M (q2, w2a2u2) konfigrasyon geii iin b {, } iin (q1, a1) = (q2, b) gei fonksiyonu vardr ve burada, 1. b , w1 = w2, u1 = u2 ve a2 = b, veya 2. b = , w1 = w2a2 ve (a) u2 = a1u1, eer a1 ve u1 e, veya (b) u2 = e, eer a1= ve u1 = e, veya 3. b = , w2 = w1a1 ve (a) u1 = a2u2, veya (b) u1 = u2 = e, ve a2 = olur. rnek: w, u olsun. unun sonu olmasn ve a, b olsun. (q1, a) = (q2, b) rnek : (q1, wau)M (q2, wbu) Durum 2. (q1, a) = (q2, ) (a) rnek: (q1, wbau)M (q2, wbau) (b) rnek: (q1, wb )M (q2, wb) Durum 3. (q1, a) = (q2, ) (a) rnek: (q1, wabu)M (q2, wabu) (b) rnek: (q1, wa)M (q2, wa)

Durum 1.

Yrd.Do.Dr.Hacer KARACAN

BM312 DERS NOTLARI - 10 Tanm:

2012

*M ilikisi M ilikisinin reflexive, transitive closuredur. C2 konfigrasyonu C1den oluturulmutur eer C1*M C2 olursa C1M C2M . . .M Cn konfigrasyon geileri iin length=n olur ve ksaca C1 nM Cn eklinde gsterilir. Burada n balangtan sonuca gitmek iin gereken adm says olarak ifade edilmektedir.

rnek: Bir Turing makinesi M = (K, , , s, {h}), K = {q0, q1, h}, = {a, , }, s = q0 olsun. Gei fonksiyonu aadaki gibi tanmlansn.

Yrd.Do.Dr.Hacer KARACAN

BM312 DERS NOTLARI - 10 (q1, aaaa) balang konfigrasyonundan almaya balarsa yandaki geileri yapar,

2012

Tanm: Karmak Turing makineleri basit makinelerin birleimi eklinde oluturulabilir.

Basit Makineler: Sembol yazma makineleri (Symbol-writing machines): Her a {, } {} iin Ma = ({s, h}, , , s, {h}) tanmlanabilir ve (s, b) = (h, a) olur, burada b {}. Buradada (s, ) = (s, ) otomatik geii geerlidir. Bu makine sadece a ilemini yapar. Eer a ise a yazlr, a {, } ise sola veya saa gidilir ve makine durur. Yazma makinesi ok sk kullanlaca iin Ma kullanlr. yerine ksaca a

Yrd.Do.Dr.Hacer KARACAN

BM312 DERS NOTLARI - 10 Kafa oynatma makineleri (Head-moving machines):

2012

M ve M eklindedir ve ksaca L (left/sol) ve R (right/sa) olarak gsterilir. Makine birletirme kurallar: Makineler sonlu otomatlardaki durumlar gibidir ve durumlarn balanmas eklinde birletirilir. Bir makineden dierine yaplan balant ilkinin halt durumuna gemesiyle alr ve ikinciye geilir. kinci makine balang durumuyla almaya balar.

rnek: Aadaki ekilde M1, M2 ve M3 Turing makinesidir. M1 balang durumunda almaya balar. M1 halt durumuna geince okunan sembol a ise M2 balang durumunda almaya balar, b ise M3 balang durumunda almaya balar.

rnek:

Yrd.Do.Dr.Hacer KARACAN

BM312 DERS NOTLARI - 10

2012

ki R makinesi aadaki gibi birletirilsin.

Bu makine okuma kafasn nce bir saa geirir ve okunan sembol a, b, veya ise bir saa daha geirir. Eer bir gei alfabedeki tm sembolleri ierirse etiket yazlmadan R R eklinde gsterilir. Daha da basitletirilerek RR veya R2 eklinde gsterilebilir.

rnek: Eer a ise, birok sembol kullanlan oklar yerine a eklinde gsterimde kullanlabilir.

Yukardaki ekilde soldaki makine bulana kadar saa gider ve R eklinde gsterilir.

10

Yrd.Do.Dr.Hacer KARACAN

BM312 DERS NOTLARI - 10

2012

Sadaki ekil ayn ilemi ifade etmektedir. Ancak okunan a sembolnn daha sonra kullanlmasn salamaktadr.

rnek: Aadaki makine bir sembol bulana kadar saa gider ve bulduu sembol bir soldaki alana kopyalar.

La bir sola gitmeyi ve en son okunan a semboln yazmay ifade etmektedir.

rnek: Aadaki makineler hep saa veya sola gider ve bir sembol arar. Aradn bulur bulmaz almas sonlanr.

11

Yrd.Do.Dr.Hacer KARACAN

BM312 DERS NOTLARI - 10 (a) R , saa doru tarama yapar ve ilk bulduu bolukta durur. (b) L, sola doru tarama yapar ve ilk bulduu bolukta durur. (c) R , saa doru tarama yapar ve ilk bulduu sembolde durur. (d) L , sola doru tarama yapar ve ilk bulduu sembolde durur. rnek: Aadaki kopyalama makinesi bir w stringini sa ksmna kopyalar. stringi iin sonu stringi ww olur.

2012

rnek: Aadaki saa kaydrma makinesi bir w stringini bir saa kaydrr. stringi iin sonu stringi w olur. w

12

Yrd.Do.Dr.Hacer KARACAN

BM312 DERS NOTLARI - 10 rnek: Aadaki makine tape zerindeki tm a lar siler.

2012

Turing Makinesiyle lem Yapma Turing makinesinde ilemler iin gerekli giri stringi sembolnn sana yazlr ve iinde boluk sembol yoktur. Giri stringinin sandaki ksm tmyle boluk semboldr. Bundan sonraki rneklerde giri stringi ile sembol arasnda bir boluk sembol () vardr. Eer M = (K, , , s, H) bir Turing makinesi ve w ( { , } )* ise M makinesinin w girii iin balang konfigrasyonu (s, w) eklindedir. Tanm : M = (K, , , s, H) bir Turing makinesi H = {y, n} eklinde iki tane halt statee sahip olsun. Bunlar y kabul konfigrasyonu (accepting configuration) ve n red konfigrasyonu (rejecting configuration) olsun. Eer w ( { , } )* girii iin (s, w) konfigrasyonu M makinesini accepting configurationlardan birisinde sonlandrrsa w bu dile aittir, halting configurationlardan birisinde sonlandrrsa dile ait deildir.

13

Yrd.Do.Dr.Hacer KARACAN

BM312 DERS NOTLARI - 10 M makinesi bir dili belirler (decide) ve eer w L ise w stringini kabul eder eer w L ise w stringini red eder

2012

Bir dili belirleyen bir Turing makinesi varsa bu dil zyineli (recursive) olarak adlandrlr.

rnek : L = {anbncn : n 0} dilini tanyan Turing makinesi aadadr.

M makinesi n dng yapar. Her dngde makine, giriin en solundan balar ve ilk bulduu a yerine d, ikinci bulduu b yerine d ve nc olarak bulduu c yerine d yazar. Okuma kafas yeniden stringin en soluna gider. Makine bir a ararken b veya c ye, b ararken c veya ye, c ararken a,veya ya rastlarsa n durumuna gider. Eer bir a araken gelirse (sa ksmn tamam d olmutur) almasn y durumuna geerek sonlandrr.

14

Yrd.Do.Dr.Hacer KARACAN

BM312 DERS NOTLARI - 10 Tanm :

2012

M = (K, , , s, {h}) bir Turing makinesi ve 0 { , } ve w 0 olsun. Eer M, w giri iin halt statelere ulayorsa ve baz y ler iin (s, w)*M (h, y) ise, y M makinesinin k olarak adlandrlr ve M(w) eklinde gsterilir. M(w) sadece makinenin halt durumuna ulamas halinde tanmldr. Eer bir f fonksiyonu 0* dan 0* a tanml ve tm w0* iin M(w) = f(w) ise M makinesi f fonksiyonunu hesaplar. M makinesinin almas bittiinde tape zerinde f(w) vardr ve bu fonksiyona recursive denilir. rnek : Aada binary olarak yazlm saynn bir fazlasn hesaplayan bir Turing makinesi grlmektedir. (succ(n) = n + 1)

M makinesi nce giriin en san bulur. Sonra 1 grd srece sola gider ve her 1 deerini 0 olarak deitirir. lk grd 0 yerine 1 yazarak almasn sonlandrr. Eer sola giderken sembol grrse yerine 1 yazar ve tm girii saa bir pozisyon shift ederek almasn sonlandrr. Tanm:

15

Yrd.Do.Dr.Hacer KARACAN

BM312 DERS NOTLARI - 10

2012

M=(K, , , s, H) bir Turing makinesi, 0 {, } alfabe ve L 0* olsun. Eer sadece w L iken M makinesi halt durumuna geerse, M makinesi L dilini yar belirler (semidecides) denir. Bir dil bir Turing makinesi tarafndan semidecide ediliyorsa bu dil zyineli sral (recursively enumerable) olarak adlandrlr.

rnek: L={w {a, b}* : w iinde en az bir a vardr} eklinde tanml bir dil aadaki Turing makinesi tarafndan semidecide edilir.

w {a, b}* girii iin makine (q0, w) balang konfigrasyonundan almaya baladnda saa doru ilk a okuduunda almasn sonlandrr. Eer a bulamazsa sonsuza kadar alr ve hibir zaman halt durumuna ulaamaz. M makinesi L dilini semidecide yapar ve L recursively enumarable dildir.

Turing makinesine ekstra zellikler kazandrlarak zel problemlerin zmnde kullanlabilir.

16

Yrd.Do.Dr.Hacer KARACAN

BM312 DERS NOTLARI - 10 Multi Tapes: Birden fazla tape birimine sahiptir. Her admda tm kafalar okuma yapar. Bulunulan duruma ve okunan sembollere bal olarak birka tanesine yazma yaplr veya saa veya sola hareket edilir ve durum deitirilir. k-tape Turing makinesi k adet tape nitesine sahiptir. imdiye kadar grlen Turing makinesi 1-tape makinedir.

2012

Tanm: k 1 olmak zere M=(K, , , s, H) bir k-tape Turing makinesi ise K, , s ve H tanmlar 1-tape ile ayndr. Ancak transition fonksiyonu (K H) x k dan K x ( {, })k ya tanmldr. Herbir durum q iin zerindeki ilemi gsterir. Eer aj = ise bj = olur ve otomatik olarak bir saa geer.

(a1, ..., ak) k-tuple tape semboldr ve

(q, (a1, ..., ak)) = (p, (b1, ..., bk)) eklindedir. p yeni durumu ve bj ise j.tape

Tanm: M=(K, , , s, H) bir k-tape Turing makinesi olsun. Bir konfigrasyon

17

Yrd.Do.Dr.Hacer KARACAN

BM312 DERS NOTLARI - 10 K x (* x (*( {} ) {e}))k kmesinin bir elemandr.

2012

Bir konfigrasyon durumu, tape ieriklerini ve her tape iin kafa pozisyonunu belirler. Giri stringi 1.tape zerindedir ve genellikle dier tape niteleri botur. k-tape bir Turing makinesi almasn sonlandrnca, sonu 1.tape zerindedir ve dier tapeler dikkate alnmaz.

rnek: 2-tape bir kopyalama makinesi M=(K, , , s, H) eklinde tanmlansn. w {a, b}* iin w stringini ww ekline dntrr. (1) Her iki tape zerinde saa git ve 1.tapedeki her sembol 2.tapee kopyala. (2) 2.tape zerinde en soldaki blank sembolne git. (3) Her iki tape zerinde saa git ve 2.tapedeki her sembol 1.tapee kopyala. Balang: (1) bitince: (2) bitince: (3) bitince: 1.tape w 1.tape w 1.tape w 1.tape ww 2.tape 2.tape w 2.tape w 2.tape w

18

Yrd.Do.Dr.Hacer KARACAN

BM312 DERS NOTLARI - 10

2012

L1 1.tape zerinde sola doru boluk sembol arar, 2 2.tape zerine boluk yazar, R1,2 1. ve 2.tape zerinde bir saa geer. a1 etiketi 1.tapeden a okunduunda yaplan ilemi gsterir.

rnek: 2-tape iki binary sayy toplayan Turing makinesi M=(K, , , s, H) aadaki ekilde oluturulabilir. 01 etiketi 1.tape zerinde 0, 2.tape zerinde 1 olduunu ifade eder (a1 = 0, a2 = 1). ki binary say 1.tape zerindedir ve aralarnda ; sembol vardr. Makine nce birinci sayy 2.tape zerine kopyalar ve bu say ve ; sembol yerine 0 yazar. Bylece 1.tape zerinde ikinci say kalr ve nnde 0 lar bulunur. ki binary say sadan (least significant bit) sola doru toplanarak sonu 1.tape zerine yazlr. Sonland durum carry bit bilgisini de gsterir.

19

Yrd.Do.Dr.Hacer KARACAN

BM312 DERS NOTLARI - 10

2012

Two-way Infinite Tape: Tape birimi iki ynl sonsuz uzunlua sahiptir. Sembolnn bir anlam olmaz ve kullanlmaz. Head balangta giri stringinin bandadr.

Multiple Heads: Bir tape birimine sahiptir ancak ok sayda head bulunur. Baz durumlarda bu tr Turing makinesi bir ii ok basit ekilde yapar.

Two-Dimensional Tape: ki boyutlu sonsuz uzunlua sahip bir tape birimine sahiptir.

20

Yrd.Do.Dr.Hacer KARACAN

You might also like