Pumping Lemma

8,117 views

Published on

pumping lemma için ders notu

Published in: Technology, Business

Pumping Lemma

  1. 1. Formal Diller Ve Otomat TeorisiPumping Lemma(pompalama önsavı)<br />Erhan BURHAN<br />Çanakkale Onsekiz Mart Üniversitesi<br />www.eburhan.com<br />1<br />www.eburhan.com<br />08.07.2011<br />
  2. 2. Pumping Lemma Tanımı<br />Pumping Lemma, bir dilin düzenli (regular) olmadığını ispatlamak için kullanılan bir<br />kanıtlama yöntemidir.<br />L düzenli bir dil olsun. <br />Bu dil için “pumping number (pompalama sayısı)” isimli bir “p” sayısı mevcuttur. Ve bu dil içerisinden seçilen herhangi bir “w” stringinin uzunluğu, p sayısına eşit veya ondan daha büyük olmak zorundadır.<br />not: pumping işlemi <br />w stringinin ilk p sembolü içerisinde yapılabilir.<br />w<br />w ϵ L ise |w| > p<br />p<br />2<br />www.eburhan.com<br />08.07.2011<br />
  3. 3. Pumping Lemma Şartları<br />İşte böyle bir “w” stringi aynı zamanda şu 4 şartı da sağlıyor olmalıdır:<br />1. w = xyz<br />(w stringi x,y,z şeklinde 3 parçaya ayrılabilmeli)<br />2. |y| > 1<br />(orta kısım boş olamaz, y ≠ null)<br />3. |xy| < p<br />(pumping ilk p sembol içinde meydana gelir)<br />4. xyiz ϵ L ve i > 0<br />(y kısmı sürekli olarak pump edilebilmeli)<br />3<br />www.eburhan.com<br />08.07.2011<br />
  4. 4. Basit Bir Örnek<br />4<br />www.eburhan.com<br />08.07.2011<br />L = {anbn | n > 0 } dilinin düzenli olmadığını adım adım gösterelim.<br />
  5. 5. adım: 1<br />5<br />www.eburhan.com<br />08.07.2011<br />şeklinde bir örnek string seçelim (seçim yaparken bize verilen örnekteki dile uyacak şekilde bir seçim yaptık).<br />p > 0 için w = apbpϵ L<br />Örneğin p = 3 seçilirse w = a3b3 = aaabbb elde edilir. |w| = 6 olur. Bu da pumping lemma tanımındaki |w|> p koşulu için uygundur.<br />6 > 3<br />Şimdi diğer adıma geçip, seçtiğimiz bu w stringinin pumping lemma şartlarına (4 tane) uyup uymadığına bakalım.<br />
  6. 6. adım: 2<br />6<br />www.eburhan.com<br />08.07.2011<br />seçilen w stringi xyz şeklinde üç parçaya ayrılmalıdır. Yani w = xyz olmalıdır. Aynı zamanda da |xy| < p olmalıdır. (1. ve 3. şartlardan)<br />örnek olarak w = aaa bbb için xy kısmı sadece a’lardan oluşacaktır.<br />z<br />xy<br />|xy| < p yani |xy| < 3 olacak şekilde xy kısmı seçildi<br />bu şartları sağlayacak şekilde x, y, z kısımlarını ayrı ayrı belirleyelim:<br /> xy içindeki x kısmının uzunluğu r olsun: (x = ar)<br /> xy içindeki y kısmının uzunluğu s olsun: (y = as)<br /> geriye kalan semboller de z’nin olacak: (z = ap-r-s bp)<br />
  7. 7. adım: 2<br />7<br />www.eburhan.com<br />08.07.2011<br />NOT:<br />dikkat ederseniz y’yi seçerken (y = as) olarak seçtik. Yani y’yi boş bırakmadık ve |y| > 1 şartını da sağlamış olduk. (2. şarttan)<br />1. , 2. ve 3. şartlara baktığımıza göre son şartımız olan 4. şartı kontrol etmeye geçebiliriz.<br />
  8. 8. adım: 3<br />8<br />www.eburhan.com<br />08.07.2011<br />şimdi w = xyz stringinin (xyiz ϵ L ve i > 0) şartına uyup uymadığını kontrol etmeliyiz. (4. şarttan)<br />i = 0 seçersek x = xy0z = xz olur. x ile z’yi yerine yazarsak;<br />w = ar ap-r-s bp olur. Bunu düzenlersek w = ap-s bp elde ederiz.<br />Fakat bize en başta verilen dil tanımında (anbn ifadesi için) üstlerin eşit olması gerektiği söyleniyordu. Burada ise p-s ≠ pçıktığı için “L dili düzenli değildir” diyoruz ve kanıtlamayı sona erdiriyoruz.<br />(i= 1,2,3… için bakmaya gerek bile kalmadı)<br />
  9. 9. NOT:Bu sunumda anlattıklarımı okuyup geçmekten ziyade, boş bir kağıda adım adım yazarak çalışırsanız “Pumping Lemma” mantığını daha kolay ve kalıcı bir şekilde anlamış olursunuz.<br />9<br />www.eburhan.com<br />08.07.2011<br />UYARI:Bu sunumda anlatıklarım herhangi bir akademik bilgi niteliği taşımamaktadır. Yalnızca kişisel bir ders çalışma notundan ibarettir. <br />Siz yine de her zaman bilgiyi gerçek kaynağından öğrenmeye çalışın.<br />
  10. 10. Formal Diller Ve Otomat TeorisiPumping Lemma(pompalama önsavı)<br />Erhan BURHAN<br />Çanakkale Onsekiz Mart Üniversitesi<br />www.eburhan.com<br />10<br />www.eburhan.com<br />08.07.2011<br />

×