Ayrıştırma Ağaçları Tanımlar Soldan ve Sağdan Türemeler ile İlişkisi

Slides:



Advertisements
Benzer bir sunumlar
Parametrik doğru denklemleri 1
Advertisements

Algoritma.  Algoritma, belirli bir görevi yerine getiren sonlu sayıdaki işlemler dizisidir.  Başka bir deyişle; bir sorunu çözebilmek için gerekli olan.
Atalet, maddenin, hareketteki değişikliğe karşı direnç gösterme özelliğidir.
Çözünme durumuna göre Tam çözünme: Bir elementin diğeri içerisinde sınırsız çözünebilmesi. Hiç çözünmeme: Bir elementin diğeri içinde hiç çözünememesi.
T.C. ORDU VALİLİĞİ İlköğretim Müfettişleri Başkanlığı TAM ÖĞRENME MODELİ TAM ÖĞRENME MODELİ.
İNŞAAT TEKNOLOJİSİ UYGULAMALARI I
Metrik koşullarını sağlıyor mu?
MATEMATİK DÖNEM ÖDEVİ.
Örnek 1 Kullanıcının girdiği bir sayının karesini hesaplayan bir program yazınız.
OLASILIK TEOREMLERİ Permütasyon
ÖZEL TANIMLI FONKSİYONLAR
Bilişim Teknolojileri ve Yazılım Dersi
Ders notlarına nasıl ulaşabilirim
DOĞAL SAYILAR Hikmet SIRMA.
TAM SAYILAR.
Sayı Sistemleri.
Another graphic or chart
Yrd.Doç.Dr.İstem Köymen KESER
NELER ÖĞRENECEĞİZ 1-Doğru ile nokta arasındaki ilişkiyi açıklamayı
Aşağıdaki sayılardan hangisi “Bin bir” diye okunur?
DOĞAL SAYILAR TAM SAYILAR
. . AÇILAR ..
X-IŞINLARI KRİSTALOGRAFİSİ
Çözülemiyen Matematik Soruları
MAT – 101 Temel Matematik Mustafa Sezer PEHLİVAN *
MAT – 101 Temel Matematik Mustafa Sezer PEHLİVAN *
X=(X,d) metrik uzayında bazı özel alt kümeler
YÖNETİM- ÖRGÜT TEORİLERİ MODERN EKOL- SİSTEM TEORİSİ
Fluvyal Jeomorfoloji Yrd. Doç. Dr. Levent Uncu.
“Bilgi”’nin Gösterimi “Bilgi” İnsan veya Makina Yorumlama Öngörme
TEKNİK RESİM GÖRÜNÜŞ (12. HAFTA).
Kırınım, Girişim ve Müzik
KÜMELER HAZIRLAYAN : SELİM ACAR
BÖLÜM 7 SIVILAR VE GAZLAR. BÖLÜM 7 SIVILAR VE GAZLAR.
Bilgisayarlara komut verme Remzi ÖZ
Temel Bilgisayar Bilgileri
Bilgisayar Mühendisliğine Giriş
SİSMİK PROSPEKSİYON DERS-3
Bölüm 7 İfadeler ve atamalar.
Maddeler doğada karışık halde bulunur
B+-Ağaçları.
TEKNOLOJİ VE TASARIM DERSİ 7.D.1. Özgün Ürünümü Tasarlıyorum.
Türkiye Futbol Federasyonu 7-8 YAŞ TEMEL HAREKET EĞİTİMİ
Çizge Algoritmaları.
DOĞRUSAL DENKLEMLER İrfan KAYAŞ.
İleri Algoritma Analizi
ÖLÇME-DEĞERLENDİRME 1.DERS
LOJİK KAPILAR (GATES) ‘Değil’ veya ‘Tümleme’ Kapısı (NOT Gate)
KALITIM VE ÇEVRE I. Kalıtım II. Çevre
BİLİŞİM TEKNOLOJİLERİ VE YAZILIM DERSİ
Düzenli Diller Hakkında Sorular (“ Karar Özellikleri ”)
Sonlu Özdevinirlere Giriş
NİŞANTAŞI ÜNİVERSİTESİ
İKİNCİ DERECEDEN DENKLEMLER
Değerler ve Değişkenler
KONU : MAKSİMUM MİNİMUM (EKSTREMUM) NOKTALARI
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
Düzenli Dillerin Kapalılık Özellikleri
NİŞANTAŞI ÜNİVERSİTESİ
AĞ TEMELLERİ (TCP/IP SUNUMU)
Tanımlar Sonlu Özdevinirlerle Eşdeğerlik
ÇOKGENLER.
Element, Bileşikler ve Karışımlar
İleri Algoritma Analizi
PROBLEM ÇÖZME TEKNİKLERİ
Chapter 6 Transform-and-Conquer
Ortam-Bağımsız Gramerler (OBG)
Bilimsel araştırma türleri (Deneysel Desenler)
A.Ü. GAMA MYO. Elektrik ve Enerji Bölümü
Sunum transkripti:

Ayrıştırma Ağaçları Tanımlar Soldan ve Sağdan Türemeler ile İlişkisi Gramerlerde Belirsizlik

Ayrıştırma Ağaçları Ayrıştırma Ağaçları bir OBG’in sembolleri ile etiketlenmiş ağaçlardır. Yapraklar: Terminal veya ε ile etiketlenmiş. İç düğümler: Değişken ile etiketlenmiş. Çocuklar, üst düğümün kuralının sağ tarafı ile etiketlenmiş. Kök: başlangıç sembolü ile etiketlenmeli.

Örnek: Ayrıştırma Ağacı S -> SS | (S) | () S ) (

Ayrıştırma Ağacının Ürünü Yaprak etiketlerinin soldan sağa doğru bitiştirilmesine ayrıştırma ağacının ürünü denir. Örnek: aşağıdaki ağacın ürünü (())() ’dür. S ) (

Ayrıştırma Ağaçları, Soldan ve Sağdan Türemeler Her ayrıştırma ağacı için, tek bir soldan türeme, ve tek bir sağdan türeme vardır. İspatlayacağımız: Kökü A ile etiketlenmiş, ürünü w olan bir ayrıştırma ağacı varsa, o zaman A =>*lm w. Eğer A =>*lm w, o zaman kökü A, ürünü w olan bir ayrıştırma ağacı vardır.

İspat – Kısım 1 Ağacın yüksekliği (kökten başlayan en uzun yol) üzerine tümevarım. Temel: yükseklik 1. Ağaç şöyledir: A -> a1…an bir kural olmalı. Böylece, A =>*lm a1…an. A a1 an . . .

Kısım 1 – Tümevarım (1)’i yüksekliği < h olan ağaçlar için varsayalım, ve ağacımızın yüksekliği h olsun. Tümevarım hipotezi: Xi =>*lm wi. Not: Xi terminal ise, o zaman Xi = wi. Böylece, A =>lm X1…Xn =>*lm w1X2…Xn =>*lm w1w2X3…Xn =>*lm … =>*lm w1…wn. A X1 Xn . . . w1 wn

İspat: Kısım 2 Soldan türeme verildiği zaman, bir ayrıştırma ağacının varlığını ispatlamamız gerekir. İspat, türemenin uzunluğu üzerinedir.

Kısım 2 – Temel A =>*lm a1…an bir adımlık türeme ile gerçekleşirse, o zaman aşağıdaki gibi bir ayrıştırma ağacı vardır. A a1 an . . .

Kısım 2 – Tümevarım (2)’yi k (> 1)’den daha az sayıda basamağı olan türemeler için varsayalım, ve A =>*lm w k-basamaklı bir türeme olsun. İlk basamak: A =>lm X1…Xn. Kilit nokta: w’yu ilk parçası X1, ikinci parçası X2 vs.’den türeyecek şekilde bölebiliriz. Xi terminal ise, o zaman wi = Xi.

Tümevarım – (3) Yani, değişken olan tüm Xi ‘ler için, Xi =>*lm wi Ve türeme k’den daha az sayıda basamağa sahiptir. Tümevarım hipotezine göre, Xi bir değişken ise, o zaman kökü Xi , ürünü wi olan bir ayrıştırma ağacı vardır. Dolayısı ile, w için bir ayrıştırma ağacı vardır. A X1 Xn . . . w1 wn

Ayrıştırma Ağaçları ve Sağdan Türemeler Fikirler esasen soldan türeme ispatının aynadan yansıması. Hayal edin!

Ayrıştırma Ağaçları ve Herhangi bir Türeme Soldan türemeden ayrıştırma ağacı elde edilebileceğinin ispatı “soldan” olmasına bağlı değil. İlk adım hala daha be A => X1…Xn olmalı. w hala daha ilk kısmın X1’den, ikinci kısmın X2’den vs. türetilebileceği şeklinde till can be divided so the first portion bölünebilir.

Belirsiz Gramerler Bir gramer eğer dilin içindeki herhangi bir dizinin en az iki tane ayrıştırma ağacı varsa belirsizdir. Example: S -> SS | (S) | () ()()() için iki tane ayrıştırma ağacı bir sonraki slaytda.

Örnek – Devam S S S S ( ) ( ) S S S S ( ) ( ) ( ) ( )

Belirsizlik, Soldan ve Sağdan Türemeler İki tane farklı ayrıştırma ağacı varsa, ispatta verilen yönteme göre iki farklı soldan türemeye sebebiyet vermeleri lazım. Diğer taraftan, iki farklı soldan türeme, ispatın diğer kısmına göre, farklı ayrıştırma ağacı üretmesi lazım. Sağdan türemeler ayni şekilde.

Belirsizlik, vs. – (2) Dolayısı ile, “belirsiz gramer’’in eşdeğer tanımları şöyle: Dilin içinde iki tane farklı soldan türemesi olan bir dizi var. Dilin içinde iki tane farklı sağdan türemesi olan bir dizi var.

Belirsizlik Gramerlerin Özelliğidir, Dillerin Değil Dengeli parantezler grameri için belirsiz olmayan bir gramer. B -> (RB | ε R -> ) | (RR B, başlangıç sembolü, dengeli dizileri türetir. R bir tane fazladan sağ parantezi olan dizileri türetir.

Örnek: Belirsiz Olmayan Gramer B -> (RB | ε R -> ) | (RR Verilen dengeli parantezli dizi için soldan türemeyi diziyi soldan sağa doğru inceleyerek yapınız: B’yi genişletmek gerekiyorsa, ve sonraki sembol “(” ise, B -> (RB kullanınız; eğer sona gelmişsek ε kullanınız. R’yi genişletmek gerekiyorsa, ve sonraki sembol “)” ise, R -> ) kullanınız; “(” ise (RR kullanınız.

Ayrıştırma Süreci Geriye kalan girdi: (())() Soldan türemenin adımları: B Bir sonraki sembol B -> (RB | ε R -> ) | (RR

Ayrıştırma Süreci Geriye kalan girdi: ())() Soldan türemenin adımları: B (RB Bir sonraki sembol B -> (RB | ε R -> ) | (RR

Ayrıştırma Süreci Geriye kalan girdi : ))() Soldan türemenin adımları: B (RB ((RRB Bir sonraki sembol B -> (RB | ε R -> ) | (RR

Ayrıştırma Süreci Geriye kalan girdi: )() Soldan türemenin adımları: B ((RRB (()RB Bir sonraki sembol B -> (RB | ε R -> ) | (RR

Ayrıştırma Süreci Geriye kalan girdi: () Soldan türemenin adımları: B ((RRB (()RB (())B Bir sonraki sembol B -> (RB | ε R -> ) | (RR

Ayrıştırma Süreci Geriye kalan girdi: ) Soldan türemenin adımları: B (())(RB (RB ((RRB (()RB (())B Bir sonraki sembol B -> (RB | ε R -> ) | (RR

Ayrıştırma Süreci Geriye kalan girdi: Soldan türemenin adımları: B (())(RB (RB (())()B ((RRB (()RB (())B Bir sonraki sembol B -> (RB | ε R -> ) | (RR

Ayrıştırma Süreci Geriye kalan girdi: Soldan türemenin adımları: B (())(RB (RB (())()B ((RRB (())() (()RB (())B Next symbol B -> (RB | ε R -> ) | (RR

LL(1) gramerler Verilen örnekteki gibi, girdiyi soldan sağa doğru tarayıp, sadece bir sembole bakıp, soldan türemede hangi sağ taradı seçeceğimizi bilebiliyorsak, bu gramere LL(1) gramer diyoruz. “Soldan (Leftmost) türeme, soldan-sağa (Left-to-right) tarama, girdinin sadece bir sombolünü görme.”

LL(1) Grammars – (2) Birçok programlama dilinin grameri LL(1)’dir. LL(1) gramerler hiç bir zaman belirsiz değildir.

Doğal Belirsizlik Her belirsiz grameri, dengeli parantezler gramerinde yaptığımız gibi, belirsiz olmayacak şekilde düzeltebilsek iyi olurdu. Maalesef, bazı OBD’lerdoğal olarak belirsizdir, yanı bu dilleri tanımlayan tüm gramerler belirsizdir.

Örnek: Doğal Belirsizlik {0i1j2k | i = j veya j = k} doğal olarak belirsizdir. İçgüdüsel olarak, 0n1n2n şeklideki diziler biri 0’ları ve 1’leri denetleyen, diğeri 1’leri ve 2’leri denetleyen en azından iki türlü ayrıştırma ağacı tarafından üretilebilmelidir.

Verilen Dil İçin Bir Belirsiz Gramer S -> AB | CD A -> 0A1 | 01 B -> 2B | 2 C -> 0C | 0 D -> 1D2 | 12 A eşit sayıda 0 ve 1 üretir B istendiği kadar 2 üretir C istendiği kadar 0 üretir D eşit sayıda 1 ve 2 üretir Ve eşit sayıda 0,1 ve 2’den oluşan tüm dizilerin iki tane türemesi vardır. Örnek: S => AB => 01B =>012 S => CD => 0D => 012