Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

OBG’nin ABÖ’ye Dönüştürülmesi ABÖ’nün OBG’ye Dönüştürülmesi

Benzer bir sunumlar


... konulu sunumlar: "OBG’nin ABÖ’ye Dönüştürülmesi ABÖ’nün OBG’ye Dönüştürülmesi"— Sunum transkripti:

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.


"OBG’nin ABÖ’ye Dönüştürülmesi ABÖ’nün OBG’ye Dönüştürülmesi" indir ppt

Benzer bir sunumlar


Google Reklamları