Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

2008-2009 yılındaki uygulama5, Study Guides, Projects, Research of Computer Science

2008-2009 yılındaki uygulama 5

Typology: Study Guides, Projects, Research

2018/2019

Uploaded on 11/17/2019

mhmtfrt
mhmtfrt 🇹🇷

5

(1)

18 documents

1 / 2

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
29.12.2011
BİÇİMSEL DİLLER ve OTOMATLAR
Uygulama-5
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.
ÇÖZÜM:
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, Λ)],[(q3,Λ, 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.
ÇÖZÜM:
K = {q0, q1, q2, h}
= {0, 1, #}
s= q0
F= h
q
0
1
#
q0
(q2,R)
(q1,R)
---
q1
(q1,R)
(q2,R)
(h,1)
q2
(q2,R)
(q1,R)
(h,0)
h
(h,R)
(h,R)
(h,#)
pf2

Partial preview of the text

Download 2008-2009 yılındaki uygulama5 and more Study Guides, Projects, Research Computer Science in PDF only on Docsity!

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.

ÇÖZÜM:

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.

ÇÖZÜM:

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

3. n bit uzunluğunda ikili kodlanmış bir sayı şerit üzerinde a 0 a 1 a 2 ….an-1 şeklinde yer alsın.

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.

ÇÖZÜM:

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