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

Slides:



Advertisements
Benzer bir sunumlar
HTML.
Advertisements

STRİNG FONKSİYONLARI.
BENZETİM Prof.Dr.Berna Dengiz 8. Ders.
ALGORİTMA BULUNMASI
Türevin Geometrik Yorumu Kim korkar matematikten?
Simülasyon Teknikleri
Prof. Dr. Halil İbrahim Karakaş
Tam İkili Ağaçlar 9. Ünite ağaçlardan bahseder.
TBF Genel Matematik I DERS – 3 : Limit ve Süreklilik
Operatörler.
Dizi (ARRAY) Diziler grup halindeki değişkenler olarak tanımlanabilir. Dizi içersinde yüzlerce değişken olabilir. Dizi elemanları index adı verilen sıra.
TBF Genel Matematik I DERS – 1 : Sayı Kümeleri ve Koordinatlar
Sonlu Durum Makinesi M=(S, I, O, f, g, s0) S:durumlar kümesi
MIT503 Veri Yapıları ve algoritmalar Veri ağaçları
KÜMELER.
İŞLEM TANIM: A boş olmayan bir küme olmak üzere,A×A nın bir R alt kümesinden A ya tanımlanan her fonksiyona, işlem denir.İşlemi tanımlarken,’’
Derleyici Teorisine Giriş
P Koleksiyon sınıfı bir grup öğeyi tutabilen bir veri tipidir. p Java da, koleksiyon sınıfları öğeleri ekleme,çıkarma,inceleme metodlarıyla birlikte bir.
BM-103 Programlamaya Giriş Güz 2014 (8. Sunu)
İŞLEM ve MODÜLER ARİTMETİK.
ONDALIK KESİRLER , , , , , , , , , , , ,.
DÜZENLİ GRAMERLER Yılmaz Kılıçaslan.
BAĞLAMDAN BAĞIMSIZ GRAMERLER ÖZYİNELEMELİ GEÇİŞ AĞLARI (Chomsky Hiyerarşisi: Tip 2) Yılmaz Kılıçaslan.
BAĞLAMA DUYARLI GRAMERLER
ŞAHIN HAREKETİ.
Prof. Dr. Halil İbrahim Karakaş
TBF Genel Matematik I DERS – 11: Belirsiz İntegral
ÖRÜNTÜ Sayı Örüntüleri
Hosoya Üçgeninin Üçgenleri
İŞLEM VE MODÜLER ARİTMETİK.
GENELLEŞTİRİLMİŞ POISSON
Sayısal Analiz Sayısal İntegral 3. Hafta
NFA-, NFA, DFA dönüşümü 1.
Biçimsel Diller ve Soyut Makineler
Tanım: Bir x 0  A = [a,b] alalım. f : A  R ye veya f : A -{x 0 }  R ye bir Fonksiyon olsun Terimleri A - {x 0 } Cümlesine ait ve x 0 ’a yakınsayan.
TAM SAYILARLA ÇARPMA VE BÖLME İŞLEMLERİ
İLERİ GERİ Sayfa:2 GERİ Tanım: Bir x 0  A = [a,b] alalım. f : A  R ye veya f : A -{x 0 }  R ye bir Fonksiyon olsun Terimleri A - {x 0 } Cümlesine.
çıkış ANA SAYFA Fonksiyonun tanımı Denk kümeler
1 İ STATİSTİK II Tahminler ve Güven Aralıkları - 1.
Formel Diller ve Soyut Makineler
YENİ BAŞLAYANLAR İÇİN SATRANÇ
BİLİMSEL SÜREÇ BECERİLERİ
Algoritmalar II Ders 8 Açgözlü Algoritmalar.
5.Sınıf ALAN HESAPLAMALARI Düzenleyen : Ömer TÖK.
Algoritmalar II Ders 1: Alan zaman takası yöntemi.
Insertion Sort Fikir: Oyun kartlarını sıralamaya benzer.
Turing Machines Turing Makineleri.
Formel Diller ve Soyut Makineler
EŞANLI DENKLEMLİ MODELLER
ŞAHIN HAREKETİ.
Polar (Kutupsal) Koordinatlar
TAM SAYILAR.
Sentaks ve semantik tarifi
İleri Algoritma Analizi
Algoritma Nedir? Algoritmayı, herhangi bir problemin çözümü için izlenecek yolun adımlar halinde yazılması olarak tanımlayabiliriz. Algoritma, bir problemin.
BÖLÜM 12 Nakit Akışı Tahmini ve Risk Analizi. BÖLÜM 12 Nakit Akışı Tahmini ve Risk Analizi.
Ayrıştırma Ağaçları Tanımlar Soldan ve Sağdan Türemeler ile İlişkisi
Düzenli Diller Hakkında Sorular (“ Karar Özellikleri ”)
Tasarım: Ali Topal.
Sonlu Özdevinirlere Giriş
Belirsiz Sonlu Özdevinirler
Ortam Bağımsız Dillerin Özellikleri
NİŞANTAŞI ÜNİVERSİTESİ
Düzenli Dillerin Kapalılık Özellikleri
İleri Algoritma Analizi
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
Ortam-Bağımsız Gramerler (OBG)
Altbasımlı Özdevinirler
Sunum transkripti:

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

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.

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.

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ü.

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.

İç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.

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

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.

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.

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.

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.

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.

İ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).

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.

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.

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.

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.

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.

P’nin Hamleleri p X a w x r Y Z w x s Z x q

Üçü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.

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]

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.