Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

Düzenli Diller Hakkında Sorular (“ Karar Özellikleri ”)

Benzer bir sunumlar


... konulu sunumlar: "Düzenli Diller Hakkında Sorular (“ Karar Özellikleri ”)"— Sunum transkripti:

1 Düzenli Diller Hakkında Sorular (“ Karar Özellikleri ”)
Hakkında Genel Kavramlar Tekrarlama Yardımcı Önermesi (The Pumping Lemma) Üyelik, Boş olma durumu vs.

2 Dil Sınıflarının Özellikleri
Dil sınıfı bir diller kümesidir. Bir örneğimiz var:düzenli diller. Bu sınıfa air birçok dil göreceğiz. Dil sınıflarının iki önemli özellik çeşidi var: Karar özellikleri. (Decision properties) Kapanış özellikleri. (Closure properties)

3 Dillerin Temsiliyeti Temsiliyet resmi veya gayriresmi olabilir.
Örnek (resmi): bir dilin onu tanımlayan DD veya DSÖ tarafından temsil edilmesi. Örnek: (gayriresmi): dile ait diziler hakkında sözel veya mantıksal ifade: {0n1n | n eksi olmayan bir tamsayıdır} “Bir miktar 0 ve ayni sayıda onları takip eden 1’den oluşan diziler kümesi.”

4 Karar Özellikleri Bir dil sınıfı için karar özelliği dilin resmi bir tarifini alıp (örneğin DSÖ) bu dil için belli bir özelliğin doğru olup olmadığını söyleyen algoritmadır. Örnek: L dili boş mudur?

5 Neden Karar Özellikleri?
DSÖ’ler tarafından temsil edilen protokoller hakkında konuşurken, iyi bir protokolun önemli özelliklerinin DSÖ’nün dili ile ilişkili olduğundan bahsetmiştik. Örnek: “Protokol sonlanır mı (durur mu?)” = “Dil sonlu mu?” Örnek: “Protokol başarısız olabilir mi?” = “Dil içinde en az bir elemanı (dizi) var mı?”

6 Neden Karar Özellikleri?– (2)
Bir dili için “en küçük” temsil şeklini isityor olabiliriz, ör., en az sayıda durumu olan bir DSÖ veya en kısa DD. “ Bu iki dil aynimi?” sorusunu cevaplayamıyorsak yani, iki DSÖ ayni dili mi tanımlıyor? “En küçüğü” bulamayız.

7 Kapalıkık Özellikleri
Bir dil sınıfına ait kapalılık özelliği , o sınıfın içinde olan iki dil üzerine işlem yapan bir işlemcinin (örneğin birleşme) neticesinin ayni dil sınıfına ait olduğunu söyler. Örnek: düzenli diller birleşme, bitiştirme ve Kleene kapatması altında kapalıdır. İspat: dilleri DD ile temsil edin.

8 Kapalılık Özelliği Kullanımı
L1 = {0n1n | n > 0} dilinin düzenli olmadığının kolayca ispatlayabiliriz (tekrarlama yardımcı önermesini kullanarak). L2 = «içinde eşit sayıda 0 ve 1 olan diziler kümesi» de düzenli değil, ama ispatı daha zor. Düzenli diller  altında kapalıdır. L2 düzenli olsaydı, o zaman L2 L(0*1*) = L1 de olurdu, ama değil. Dolayısı ile, L2 düzenli değil (yanlış varsayım).

9 Üyelik Sorusu İlk karar özelliğimiz “w dizisi düzenli dil L’in içinde midir?” L’in bir DSÖ A tarafından temsil edildiğini varsayalım. w dizisini oluşturan sembollerle karşılaştığında A’nın hangi hareketleri yaptığını simüle edelim. (A’yı w üzerinde “çalıştıralım”.)

10 Örnek: Üyeliğin Test Edilmesi
Sonraki sembol Başla 1 A C B 0,1 Şimdiki durum

11 Örnek : Üyeliğin Test Edilmesi
Sonraki sembol Başla 1 A C B 0,1 Şimdiki durum

12 Örnek : Üyeliğin Test Edilmesi
Sonraki sembol Başla 1 A C B 0,1 Şimdiki durum

13 Örnek : Üyeliğin Test Edilmesi
Sonraki sembol Başla 1 A C B 0,1 Şimdiki durum

14 Örnek : Üyeliğin Test Edilmesi
Sonraki sembol Başla 1 A C B 0,1 Şimdiki durum

15 Örnek : Üyeliğin Test Edilmesi
Sonraki sembol Başla 1 A C B 0,1 Şimdiki durum

16 Ya Düzenli Dil DSÖ İle temsil Edilmemişse??
Bir türden diğer türe dönüşüm mümkün: DD ε- BSÖ DSÖ BSÖ

17 Boş Olma Problemi Bir düzenli dil verildiği zaman, dilin içinde herhangi bi r dizi var mı? Farzedelim DSÖ ile temsil ediliyor. Geçiş diyagramını çizin. Başlangıç durumundan erişilebilen durumları bulun. Herhangi bir final durumu erişilebiliyorsa, evet, aksi halde hayır.

18 Sonsuzluk Problemi Verilen düzenli dil sonsuz mu?
Dili temsil eden DSÖ ile başlayın. Anahtar fikir: DSÖ’de n durum varsa ve dilin içinde uzunluğu n veya daha fazla olan bir dizi varsa, o zaman dil sonsuzdur. Aksi halde, dil sonludur. İçindeki dizi uzunluğu en fazla n.

19 Anahtar Fikrin İspatı n-durumlu bir DSÖ n veya daha fazla uzunluktaki bir w dizisini kabul ederse, başlangıç durumundan final durumuna giderken üzerinden geçtiğimiz yolda bir durumu birden çok defa ziyaret etmemiz gerekir. Çünkü bu yol üzerinde en az n+1 durum var.

20 İspat – (2) w = xyz x y z Dolayısı ile tüm i > 0 için xyiz dilin içindedir. y boş (ε) olmadığından, L içinde sonsuz sayıda dizi var.

21 Sonsuzluk – Devam Hala daha algoritmamız yok.
Uzunluğu n’den daha büyük olan sonsuz sayıda dizi var ve tümünü deneyemeyiz. İkinci anahtar fikir: uzunluğu > n (= durum sayısı), o zaman dil içinde uzunluğu n ve 2n-1 arasında olan bir dizi de vardır.

22 2. Anahtar Fikrin İspatı Hatırlayalım:
x y z Hatırlayalım: y’yi yol üstündeki ilk çevrim (cycle) olarak seçebiliriz. Böylece |xy| < n; özellikle 1 < |y| < n. w’nun uzunluğu 2n veya daha fazla ise, L içinde uzunluğu en az n olan daha kısa bir dizi vardır. [n, 2n-1] uzundluğunda bir dizi bulununcaya kadar kıslaltmaya devam et.

23 Sonsuzluk Algoritmasının Tamamlanması
Uzunluğu n ve 2n-1 arasında olan tüm dizileri üyelik için test et. Herhangi biri kabul edilirse, sonsuz. Aksi halde sonlu. Kötü bir algoritma. Daha iyi: başlangıc durumu ile herhangi bir bitiş durumu arasında çevrimler bul.

24 Çevrimler Bulma Başlangıç durumundan erişilemeyen durumları yok et.
Kendisinen bir bitiş durumuna gidilemeyen durumları yok et. Geride kalan geçiş diyagramında çevrim olup olmadığına bak.

25 Tekrarlama Yardımcı Önermesi (Pumping Lemma)
Bazı dillerin düzenli olmadığını göstermek için kullanılan bir önerme. Tam adı: düzenli diller için tekrarlama yardımcı önermesi.

26 Tekrarlama Yardımcı Önermesinin İfade Edilişi
L’i kabul eden DSÖ’nün durum sayısı Her düzenli dil L için Bir tamsayı n vardır, şöyle ki uzunluğu en az n olan ve L içinde olan her w dizisini, w = xyz olarak yazabiliriz, şöyle ki: |xy| < n. |y| > 0. Tüm i > 0 için, xyiz  L. w ile etiketlenmiş yolun üzerindeki ilk çevrim

27 Örnek: Tekrarlama Yardımcı Önermesinin Kullanılması
{0k1k | k > 1} dilini düzenli olmadığını iddia ettik. Farzedelim düzenli. O zaman tekrarlama yardımcı önermesi için bununla ilgili bir n olmalı. w = 0n1n olsun. w = xyz yazabiliriz, şöyle ki x ve y sadece 0’dan oluşsun, ve y  ε. xyyz L içinde olması lazım, ama değil, çünkü 1’lerden daha çok sayıda 0’lar var.

28 Karar Özelliği: Eşdeğerlik
İki düzenli dil L ve M birbirine eşdeğer midir? (L = M?) Algoritma L ve M’nin DSÖ’lerinin çarpım DSÖ’sünü oluşturarak çalışır. Bu DSÖ’lerin durum kümeleri sırası ile Q ve R olsun. Çarpım DSÖ’nun durum kümesi Q  R olur. yani, [q, r] çiftleri, şöyle ki q  Q, r  R.

29 Çarpım DSÖ’sü – Devam Start state = [q0, r0] (the start states of the DFA’s for L, M). Geçişler: δ([q,r], a) = [δL(q,a), δM(r,a)] δL, δM L ve M DSÖ’lerinin geçiş fonksiyonları. Yani, iki DSÖ’yü çarpım DSÖ’nün iki parçalı durumlarında simüle ederiz.

30 Örnek: Çarpım DSÖ 1 [A,C] [A,D] A B 1 0, 1 1 1 1 [B,C] [B,D] 1 C D 1

31 Eşdeğerlik Algoritması
Çarpım DSÖ’nün final durumlarını [q, r] yapın, şöyle ki tam q ve r’den tam olarak bir tanesi kendi DSÖ’lerinin final durumu. Dolayısı ile, çarpım DSÖ w dizisini kabule derse, diğer DSÖ’lerden sadece biri ayni diziyi kabul etsin.

32 Örnek: Eşdeğerlik 1 [A,C] [A,D] A B 1 0, 1 1 1 1 [B,C] [B,D] 1 C D 1

33 Eşdeğerlik Algoritması– (2)
Çarpım DSÖ’nün dili boşsa, L=M L=M ise, çarpım DSÖ’nün dili boştur. Halihazırda bir DSÖ’nün dilinin boş olduğunu bulma algortimamız var.

34 Karar Özelliği: Alt Küme
İki düzenli dil L ve M için, L  M? Bu algoritma da çarpım DSÖ’sünü kullanır. Çarpımın [q, r] final durumlarını nasıl belirleyelim ki dili sadece ve sadece L  M olduğu zaman boş olsun? Birincisi kabul ettiğinde, ikincisi nin kabul etmediği durum hiç meydana gelmiyorsa, o zaman birincisi kabul ettiğinde, ikincisi de her zaman kabul ediyordur. Dolayısı ile birincinin dili, ikincinin alt kümesi oluyor. Cevap: q final; r değil

35 Örnek: Alt Küme 1 [A,C] [A,D] A B 1 0, 1 1 1 1 [B,C] [B,D] 1 C D
1 [A,C] [A,D] A B 1 0, 1 1 1 1 [B,C] [B,D] 1 C D Not: tek final durum erişilemez bir durumdur. Yok edilebilir. Birinci DSÖ’nün dili  İkinci DSÖ’nün dili. 1

36 Bir Düzenli Dil için En Az Sayıda Durumu Olan DSÖ
Prensip olarak, DSÖ’lerin eşdeğerliğini test edebildiğimize göre, bize bir DSÖ verildiği zaman ayni dili kabul eden ve minimal sayıda durumu olan bir DSÖ bulabiliriz. Daha az sayıda durumu olan tüm DSÖ’leri eşdeğerlik için dene. Ama bu çok kötü bir algoritma.

37 Verimli Durum Minimizasyonu
Tüm durum çiftlerini içeren bir tablo tanımla. İki çifti birbirinden farklı kılan bir dizi bulursan (sadece birini final durmuna götüren),o çifti işaretle.

38 Durum Minimizasyonu – (2)
Temel: Bir çifti, çiftin içindeki durumların sadece biri final durumu ise işaretle. Tümevarım: bir sembol a için, [δ(q,a), δ(r,a)] işaretli ise, [q, r]’yi işaretle. Artık başka çifti işaretlemek mümkün olmadığında, işaretlenmemiş durumlar eşdeğerdir ve birleştirilebilirler.

39 “Farklı Olmama”nın Geçişliği (Transitivity)
p durumu q durumundan farklı değilse, ve q durmu r durumundan farklı değilse, p durumu r durumundan farklı değildir. İspat: p ve q’nun w girdisi üzerine kabul veya ret neticesi aynidir, ayni şekilde q ve r’nin w girdisi üzerine kabul veya ret neticesi aynidir, dolayısı ile p ve r’nun w girdisi üzerine kabul veya ret neticesi aynidir.

40 En-az-durum-sayılı DSÖ’nün Oluşturulması
Farzedelim ki q1,…,qk are farklı olmayan durumlardır. Hepsini yeni bir durum q ile değiştir. O zaman δ(q1, a),…, δ(qk, a)’un hepsi farklı olmayan durumlardır. Anahtar nokta: aksi halde q1,…,qk içinden en az iki durum farklı olarak işaretlenmiş olacaklardı. δ(q, a) = o grubu temsil eden durum olsun.

41 Örnek: Durum Minimizasyonu
r b {1} * {1,3,5,7,9} {2,4,6,8} {1,3,5,7,9} * {1,3,7,9} {2,4,6,8} {5} {2,4,6,8} {2,4,6,8} {1,3,7,9} {5} {2,4} {2,4,6,8} {1,3,5,7} {1,3,5,7} {2,4} {5} r b A B C B D E C D F D D G E D G F D C G D G * Daha kolay durum isimleri ile. Bu DSÖ’yü hatırlıyor musunuz. Satranç tahtası BSÖ için alt küme konstrüksiyonu ile oluşturulmuştu.

42 Örnek – Devam r b A B C B D E C D F D D G E D G F D C G D G *
G F E D C B A B C D E F x x F ve G final durumları ile başla.

43 Örnek – Devam r b A B C B D E C D F D D G E D G F D C G D G *
G F E D C B A B C D E F x x [A,E] çifti için, r girdisinin Faydası yok, çünkü [B, D] çifti işaretlenmiş değil.

44 Örnek – Devam r b A B C B D E C D F D D G E D G F D C G D G *
G F E D C B A B C D E F x x x x x x x x x Ancak b girisi, {A,B,F} durumlarını {C,D,E,G} durumlarından farklı kılar. Örneğin, [C, F] işaretli olduğundan, [A, C] de işaretlenir.

45 Örnek – Devam r b A B C B D E C D F D D G E D G F D C G D G *
G F E D C B A B C D E F x x x x x x x x x x x [C, D] ve [C, E] işaretlenir, çünkü B gördüklerinde önceden işaretlenmiş [F, G] çiftine giderler.

46 Örnek – Devam r b A B C B D E C D F D D G E D G F D C G D G *
G F E D C B A B C D E F x x x x x x x x x x x x Sonra [A, B] işaretlenir, çünkü r girdisi ile önceden işaretlenmiş [B, D] çiftine giderler. [D, E] hiçbirzaman işaretlenemezler Çünkü her iki girdi ile ayni duruma giderler.

47 Örnek – Son r b A B C B D E C D F D D G E D G F D C G D G * r b A B C
B H H C H F H H G F H C G H G * G F E D C B A B C D E F x x x x x x x x x x x x D ve E’yi H ile değiştir. Sonuç en az sayıda durumu olan DSÖ’dür.

48 Erişilemeyen Durumları Yok Etme
Maalesef, ayırt edilemeyen durumları birleştirdiğimizde, “en-az-durum-sayılı” DSÖ’müzde başlangıç durumundan erişilemeyen veya finale yolu olmayan durumlarla karşılaşabiliriz. Dolayısı ile, böyle durumları önce veya sonra elimine ediniz.


"Düzenli Diller Hakkında Sorular (“ Karar Özellikleri ”)" indir ppt

Benzer bir sunumlar


Google Reklamları