Sunuyu indir
Sunum yükleniyor. Lütfen bekleyiniz
YayınlayanBulut Başaran Değiştirilmiş 5 yıl önce
1
OBG’nin ABÖ’ye Dönüştürülmesi ABÖ’nün OBG’ye Dönüştürülmesi
ABÖ ve OBG Eşdeğerliği OBG’nin ABÖ’ye Dönüştürülmesi ABÖ’nün OBG’ye Dönüştürülmesi
2
Kısaca Gözden Geçirme Düzenli dillerin kapalılık özellikleri hakkında konuşurken, düzenli deyim ile DSÖ arasında geçiş yapabilmek çok yararlı idi. Ayni şekilde, OBG’ler ve ABÖ’ler OBD’lerin özellikleri ile uğraşırken yararlıdırlar.
3
Kısaca Gözden Geçirme – (2)
Hem de, ABÖ’ler “algoritmik” oldukları için, bir dilin OBD olduğunu göstermekte daha elverişlidirler. Örnek: Bir ABÖ’nün dengeli parantezleri tanıyabildiğini görmek kolaydır; gramerde bunu görmek o kadar kolay değil. Ama herşey hem OBG’lerin, hem ABÖ’lerin OBD’leri tanımladığını bilmeye dayanır.
4
OBG’yi ABÖ’ye Dönüştürme
L = L(G) olsun. N(P) = L olacak şekilde ABÖ P yi aşağıdaki gibi tasarlarız. P nin: Bir durumu var: q. Girdi sembolleri = G’nin terminalleri. Yığın sembolleri = G’nin tüm sembolleri. Başlagıç sembolü (yığın altı işaretçisi)= G’nin başlangıç sembolü.
5
P Hakkında İçgüdü w girdisi verildiğinde , P’nin adımları başlangıç sembolünden başlayan bir soldan türemeye benzeyecek. P bu türemeyi, hatta w’nın sonunu bilemediğine göre, hangı kuralı kullanacağını belirsizlik kullanarak “tahmin” eder.
6
İçgüdü – (2) Her adımda, P bir sol-cümlesel şekli (left-sentential form) temsil eder (soldan türemenin adımını). P’nin yığını ise, ve P şimdiye kadar girdisinden x tüketmişse, o zaman P x sol-cümlesel şekli temsil eder. Yığın boşaldığında, tüketilen girdi L(G) içinde bir dizidir.
7
P’nin Geçiş Fonksiyonu
δ(q, a, a) = (q, ε). (Tip 1 kuralları) Yığın üstündeki sembol, girdi sembolüne eşitse, sembolü tüket ve yığından da dışarı at. A G’nin bir kuralı ise, o zaman δ(q, ε, A) içinde (q, ) vardır. (Tip 2 kuralları) A için bir kural tahmin et, ve türemedeki bir sonraki sol-cümlesel şekli temsil et. Gözlem: Tüketilmiş girdi+yukarıdan aşağı yığın içeriği = sol-cümlesel şekil
8
L(P) = L(G) İspatı Her x için (q, wx, S) ⊦* (q, x, ) sadece ve sadece S *lm w olduğunu ispatlamamız gerekiyor. Kısım 1: “soldan sağa” P’nin yaptığı hamlelerin sayısı üzerine bir tümevarımdır. Temel: 0 hamle. O zaman = S, w = ε, ve S *lm S elbette doğrudur.
9
Kısım 1 İçin Tümevarım P’nin n hamlesini düşünün: (q, wx, S) ⊦* (q, x, ) ve n-1 hamle için Tümevarım Hipotezini (TH) varsayın. Son hamlenin Tip 1 veya Tip 2 kuralı kullanmasına bağlı olarak iki durum vardır.
10
Tip 1 Kuralı Kullanılmışsa:
Hamle serisi (q, yax, S) ⊦* (q, ax, a) ⊦ (q, x, ) şeklinde olmalı, şöyle ki ya = w. TH’yi ilk n-1 hamleye uyguladığımızda, S *lm ya. Ama ya = w, öyleyse S *lm w.
11
Tip 2 Kuralı Kullanılmışsa:
Hamle dizisi (q, wx, S) ⊦* (q, x, A) ⊦ (q, x, ) şeklinde olmalı, şöyle ki A bir kuraldır ve = . TH ilk n-1 hamleye uygulandığında, S *lm wA. wA lm w olduğundan, S *lm w = w.
12
2. Kısmın (“sağdan sola”) İspatı
Ayni zamanda herhangi x için S *lm w ise (q, wx, S) ⊦* (q, x, ) olduğunu ispatlamamız gerekiyor. Soldan türemenin adım sayısı üzerine tümevarım. Fikirler benzer.
13
İspat – Son Şimdi, herhangi bir x için, (q, wx, S) ⊦* (q, x, ) sadece ve sadece S *lm w olduğunu biliyoruz. x = = ε olsun. Bu durumda (q, w, S) ⊦* (q, ε, ε) sadece ve sadece S *lm w. Yani, w N(P) sadece ve sadece w L(G).
14
ABÖ’den OBG’ye Şimdi, L = N(P) olduğunu varsayalım.
L = L(G) olacak şekilde OBG G oluşturalım. İçgüdü: G’nin değişkenleri tam olarak P’nin p durumundan q durumuna giderken ve yığın sembolü X’i net olarak yığıdan atarken tikettiği girdiyi üretecek. P bunu yaparken bu X’in altına hiç düşmez.
15
G’nin Değişkenleri G’nin değişkenleri [pXq] şeklindedir.
Bu değişken (p, w, X) ⊦*(q, ε, ε) olacak şekilde tüm w dizilerini üretir. Bir de daha sonra deyineceğimiz başlangıç sembolü S var.
16
G’nin Kuralları [pXq] için olan her kural P’nin p durumunda iken ve yığın üzerinde X varken yaptığı hamlelerden gelir. En basit durum: δ(p, a, X) içinde (q, ε) vardır. O zaman kural [pXq] a dır. a bir girdi embolü veya ε olabilir. Burada, [pXq] a üretir çünkü a’yı okuyarak X’i yığından atarak p’den q’ya gidebiliriz.
17
G’nin Kuralları – (2) Bir sonraki en basit durum: δ(p, a, X) içinde (r, Y) vardır (r bir durum ve Y bir sembol). G’de [pXq] a[rYq] kuralı vardır. X’i silip a‘yı okuyup p’den q’ya gitmek için önce r’ye gideriz, sonra r’den Y’yi silip q’ya gideriz.
18
G’nin Kuralları – (3) Üçüncü en basit durum: δ(p, a, X) içinde (r, YZ) vardır. (r bir durum, Y ve Z semboller). Şimdi, P X’i YZ ile değiştirdi. X’i net olarak silmek için P, r durumundan herhangi bir s durumuna giderek Y’yi silmeli, sonra da s’den q’ya giderek Z’yi silmeli.
19
P’nin Hamleleri p X a w x r Y Z w x s Z x q
20
Üçüncü En Basit Durum – Son
s durumunu bilmediğimizden, bir kurallar ailesi oluşturmamız lazım: [pXq] a[rYs][sZq] (s herhangi bir durum). [pXq] * awx hernezaman [rYs] * w ve [sZq] * x.
21
G’nin Kuralları : Genel Durum
Farzedelim ki δ(p, a, X) içinde (r, Y1,…Yk) var (r bir durum, k > 3). Aşağıdaki gibi kurallar ailesi üretin: [pXq] a[rY1s1][s1Y2s2]…[sk-2Yk-1sk-1][sk-1Ykq]
22
Kurulumun Tamamlanması
(q0, w, Z0)⊦*(p, ε, ε) ise [q0Z0p] * w olduğunu ispatlayabiliriz. Tersini de ([q0Z0p] * w ise (q0, w, Z0)⊦*(p, ε, ε) ) ispatlayabiliriz. Ama p durumu herhangi birşey olabilir. G’ye başlangıç sembolü olarak yeni bir değişken, S, ekleyelim. S’nin kuralları her durum p için S [q0Z0p] olsun. ABÖ’nün boş yığınla kabul ettiğini varsayıyoruz.
Benzer bir sunumlar
© 2024 SlidePlayer.biz.tr Inc.
All rights reserved.