

Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Community
Ask the community for help and clear up your study doubts
Discover the best universities in your country according to Docsity users
Free resources
Download our free guides on studying techniques, anxiety management strategies, and thesis advice from Docsity tutors
2008-2009 yılındaki uygulama 5
Typology: Study Guides, Projects, Research
1 / 2
This page cannot be seen from the preview
Don't miss anything!
BİÇİMSEL DİLLER ve OTOMATLAR Uygulama-
1. a. olarak verilen ifadenin ait olduğu gramerin kurallarını veriniz b. Yukarıdaki düzenli ifadeyi tanıyan yığın yapılı otomatın geçiş kurallarını veriniz. c. aabbbb katarının bu otomat tarafından nasıl tanındığını gösteriniz.
a. Gramerin üretim kuralları: S → aSB | Λ B → bb | b
b. Bu dili tanıyan PDA’nın tanımı
Q = {q0, q1, q2, q3, f} = {a, b} Γ= {a,c} s = q0, F = {f} Δ = { [(q0, Λ, Λ) (q1, c)], [(q1, Λ, c) (f, Λ)], [(q1, a, Λ) (q1, a)], [(q1, a, Λ) (q2, a)], [(q1, b, a), (q3, Λ)], [(q2, Λ, Λ), (q1, a)], [(q3, b, a), (q3, Λ)],[(q 3 ,Λ, c), (f, Λ)]}
c. Durum Katar Yığın q0 aabbbb Λ q1 aabbbb c q2 abbbb ac q1 abbbb aac q2 bbbb aaac q1 bbbb aaaac q3 bbb aaac q3 bb aac q3 b ac q3 Λ c f Λ Λ
2. n bit uzunluğunda(n>0) ikili kodlanmış bir sayıyı giriş olarak alan ve çıkışta da bu sayının sonuna, 1’lerin sayısı tek ise 1, çift ise 0 ilave eden bir fonksiyonu gerçekleyen bir Turing makinası tasarlayınız. Tasarladığınız Turing makinasının çalışmasını paritesi tek olan ve çift olan birer katar üzerinde gösteriniz.
K = {q0, q1, q2, h} = {0, 1, #} s= q F= h
q 0 1 # q0 (q2,R) (q1,R) --- q1 (q1,R) (q2,R) (h,1) tek sayıda 1 olma durumu q2 (q2,R) (q1,R) (h,0) çift sayıda 1 olma durumu h (h,R) (h,R) (h,#)
Örnek:
1001 katarını ele alalım (q0, 1001) → (q1, 1 0 01) → (q1, 10 0 1) → (q1, 100 1 ) → (q2, 1001#) → (h, 1001 0 ) → (h, 10010#)
1101 katarını ele alalım (q0, 1101) → (q1, 1 1 01) → (q2, 11 0 1) → (q2, 110 1 ) → (q1, 1101#) → (h, 1101 1 ) → (h, 11011#)
Giriş olarak bu sayıyı alan, çıkışta ise, bu sayının 2’ye tümleyenini en düşük anlamlı bit en solda yer alacak şekilde şeride yazan bir Turing makinası tasarlayınız.
i. (1101)’ → 1010 ii. (0000)’ → 0000
1 görene kadar sağa git. Sonrasında 0 gördükçe 1, 1 gördükçe sıfır olarak değiştir.
K = {q0, q1, q2, h} = {0, 1, #} s= q F= h
q 0 1 # q0 (q0,R) (q1,R) (h,#) q1 (q2,1) (q2,0) (h,#) q2 (q1,R) (q1,R) --- h --- --- (h,#)
Örnek:
1001 katarını ele alalım (q0, 1001) → (q1, 1001) → (q2, 1101) → (q1, 1101) → (q2, 1111) → (q1, 1111) → (q2, 1110) → (q1, 1110#)→ (h, 1110#)
0000 katarını ele alalım (q0, 0000) →(q0, 0000) →(q0, 0000) →(q0, 0000) →(q0, 0000#) →(h, 0000#)