Otomata Teorisi (BİL 2114)

Benzer belgeler
Otomata Teorisi (BİL 2114)

Otomata Teorisi (BIL 2114)

Otomata Teorisi (BİL 2114)

Otomata Teorisi (BİL 2114)

FORMEL DİLLER VE SOYUT MAKİNALAR. Hafta 3

Otomata Teorisi (BİL 2114)

Formal Diller Ve Otomat Teorisi

FORMEL DİLLER VE SOYUT MAKİNALAR. Hafta 2

sayıların kümesi N 1 = { 2i-1: i N } ve tüm çift doğal sayıların kümesi N 2 = { 2i: i N } şeklinde gösterilebilecektir. Hiç elemanı olmayan kümeye

Chomsky Hiyerarşisi. Düzenli Diller ve Đfadeler 03/09/2014. Doç.Dr.Banu Diri

FORMEL DİLLER VE SOYUT MAKİNALAR. Hafta 1

YZM Biçimsel Diller ve Otomata Teorisi. Ders#06

BAĞLAMDAN BAĞIMSIZ VE BAĞLAMDAN BAĞIMSIZ OLMAYAN DİLLER (CONTEXT-FREE AND NON-CONTEXT-FREE LANGUAGES)

Derleyici Kuramı (Compiler Theory)

Bu kısımda işlem adı verilen özel bir fonksiyon çeşidini ve işlemlerin önemli özelliklerini inceleyeceğiz.

Bil 2114 Otomata Teorisi Çalışma Soruları ve Cevapları III (Hafta 7,8,9)

Otomata Teorisi (BİL 2114)

VEKTÖR UZAYLARI 1.GİRİŞ

olsun. Bu halde g g1 g1 g e ve g g2 g2 g e eşitlikleri olur. b G için a b b a değişme özelliği sağlanıyorsa

BMT 206 Ayrık Matematik. Yük. Müh. Köksal GÜNDOĞDU 1

2 şeklindeki bütün sayılar. 2 irrasyonel sayısı. 2 irrasyonel sayısından elde etmekteyiz. Benzer şekilde 3 irrasyonel sayısı

HESAP. (kesiklik var; süreklilik örnekleniyor) Hesap sürecinin zaman ekseninde geçtiği durumlar

BÖLÜM 2 Biçimsel Dillerin Matematiksel Temelleri

1. GRUPLAR. c (Birleşme özelliği) sağlanır. 2) a G için a e e a a olacak şekilde e G (e ye birim eleman denir) vardır.

TEMEL SAYMA KURALLARI

Python ile Programlamaya Giris

1.GRUPLAR. c (Birleşme özelliği) sağlanır. 2) a G için a e e a a olacak şekilde e G. vardır. 3) a G için denir) vardır.

0.1 Küme Cebri. Teorem 1 A ve B iki küme olmak üzere i) (A B) c = A c B c ii) (A B) c = A c B c

! " # $ % & '( ) *' ' +, -. / $ 2 (.- 3( 3 4. (

10. DİREKT ÇARPIMLAR

Fatih University- Faculty of Engineering- Electric and Electronic Dept.



ç ç ç ç Ö ç ç Ş ç ç Ç

MATM 133 MATEMATİK LOJİK. Dr. Doç. Çarıyar Aşıralıyev

MAT223 AYRIK MATEMATİK

Temel Olasılık {\} /\ Suhap SAHIN

BLG 1306 Temel Bilgisayar Programlama

BAĞLAMDAN BAĞIMSIZ (CONTEXT-FREE) GRAMERLER (CFG) VE DİLLER (CFL)

Küme temel olarak belli nesnelerin ya da elamanların bir araya gelmesi ile oluşur

için doğrudur. olmak üzere tüm r mertebeli gruplar için lemma nın doğru olduğunu kabul edelim. G grubunun mertebesi n olsun. ve olsun.

TEMEL KAVRAMLAR. a Q a ve b b. a b c 4. a b c 40. 7a 4b 3c. a b c olmak üzere a,b ve pozitif. 2x 3y 5z 84

PERMÜTASYON DERS NOTLARI. Sayma Yöntemleri. TEMEL SAYMA KURALLARI Toplama yoluyla sayma. Çarpma yoluyla sayma

PERMÜTASYON, KOMBİNASYON. Örnek: Örnek: Örnek:

MATM 133 MATEMATİK LOJİK. Dr. Doç. Çarıyar Aşıralıyev

Dikkat: Bir eleman, her iki kümede de olsa bile sadece bir kez yazılır.

AYRIK YAPILAR ARŞ. GÖR. SONGÜL KARAKUŞ- FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ YAZILIM MÜHENDİSLİĞİ BÖLÜMÜ, ELAZIĞ

A { x 3 x 9, x } kümesinin eleman sayısı A { x : x 1 3,x } kümesinin eleman sayısı KÜMELER

Karadeniz Teknik Üniversitesi Ön Lisans ve Lisans Programlarında Başarı Notunun Değerlendirilmesine Dair Senato Tarafından Belirlenen Usul ve Esaslar

Tanım 2.1. X boş olmayan bir küme olmak üzere X den X üzerine bire-bir fonksiyona permütasyon denir.

HOMOGEN OLMAYAN DENKLEMLER

8.Konu Sonlu ve sonsuz kümeler, Doğal sayılar

DERS NOTLARI. Yard. Doç. Dr. Namık AKÇAY İstanbul Üniversitesi Fen Fakültesi

PROJE ADI: TEKRARLI PERMÜTASYONA BİNOM LA FARKLI BİR BAKIŞ

Tanım Bir A kümesinin her elemanı, bir B kümesinin de elamanı ise, A kümesine B kümesinin alt kümesi denir.

İÇERİK PROGRAMLAMAYA GİRİŞ ALGORİTMA AKIŞ DİYAGRAMLARI PROGRAMLAMA DİLLERİ JAVA DİLİNİN YAPISI JAVA DA KULLANILAN VERİ TİPLERİ JAVA DA PROGRAM YAZMA

Örnek...4 : A = { a, b, c, d, {a}, {b,c}} kümesi veriliyor. Aşağıdakilerin doğru mu yanlış mı olduğunu yazınız.

Toplam Olasılık Prensibi

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-11 Karakter Diziler. Yrd. Doç. Dr. Ümit ATİLA

Kafes Yapıları. Hatırlatma

! " # $ % & '( ) *' ' +, -. /) /) 0 # /) %, %, 1 2

İÇİNDEKİLER. Önsöz...2. Önermeler ve İspat Yöntemleri...3. Küme Teorisi Bağıntı Fonksiyon İşlem...48

Örnek...5 : A = { a, b, c, d, e, f } kümesinin 4 lü perm ütas yonlarının kaç tanesinde,

İlişkisel Veri Tabanları I

Olasılık Kuramı ve İstatistik. Konular Olasılık teorisi ile ilgili temel kavramlar Küme işlemleri Olasılık Aksiyomları

Bir tan mla bafllayal m. E er n bir do al say ysa, n! diye yaz -

KÜMELER. İyi tanımlanmış nesneler topluluğuna küme denir. Bir küme, birbirinden farklı nesnelerden oluşur. Bu nesneler somut veya soyut olabilir.

9) A B ve B A ise A=B dir. Birbirinin alt kümesi olan iki küme eşit kümedir.

KÜMELER ÜNİTE 1. ÜNİTE 1. ÜNİTE 2. ÜNİTE 1. ÜNİT

YAPILAR BİRLİKLER SAYMA SABİTLERİ/KÜMELERİ. 3. Hafta

ACD TEZGAH İZLEME YAZILIMI

Kullanım Durumu Diyagramları (Use-case Diyagramları)

LYS MATEMATÝK II Soru Çözüm Dersi Kitapçýðý 5 (MF-TM)

Normal Altgruplar ve Bölüm Grupları

Lineer Cebir. Doç. Dr. Niyazi ŞAHİN TOBB. İçerik: 1.1. Lineer Denklemlerin Tanımı 1.2. Lineer Denklem Sistemleri 1.3. Matrisler

2. SİMETRİK GRUPLAR. Tanım 2.1. X boş olmayan bir küme olmak üzere X den X e birebir örten fonksiyona permütasyon denir.

Belirteç Seçiminin Huffman Kodlaması Üzerine Etkisi

Kuantum Grupları. Orta Doğu Teknik Üniversitesi, Ankara. Münevver Çelik. Feza Gürsey Enstitüsü, İstanbul 10 Şubat, 2010

DOĞU AKDENİZ ÜNİVERSİTESİ MATEMATİK BÖLÜMÜ 23. LİSELERARASI MATEMATİK YARIŞMASI

Leyla Bugay Doktora Nisan, 2011

Örnek...1 : Örnek...2 : A = { a, {a}, b, c, {b, d}, d }, B = { {a}, {c, d}, c, d, x, Δ } k ümeleri için s( AUB) kaçtır?

ÖABT Soyut Matematik KONU TESTİ Önermeler ve İspat Yöntemleri

4- ALGORİTMA (ALGORITHM)

MAT223 AYRIK MATEMATİK

Sonlu Durum ve Turing Makineleri

YENİ ORTAÖĞRETİM MATEMATİK PROGRAMINA UYGUNDUR. YGS MATEMATİK 3. KİTAP MERVE ÇELENK FİKRET ÇELENK

ab H bulunur. Şu halde önceki önermenin i) koşulu da sağlanır ve H G bulunur.

8.Konu Vektör uzayları, Alt Uzaylar

ÖDEV 5 ÇÖZÜMLERİ. 1. A, B, C Ω olmak üzere A B ve A B C olaylarını ayrık olayların birleşimi olarak yazınız.

C SHARP UYGULAMA ÇALIŞMASI

KARAKTER DİZGİLERİ, BAĞINTILAR, FONKSİYONLAR KESİKLİ MATEMATİKSEL YAPILAR

2BÖLÜM DOĞAL SAYILAR ve DÖRT İŞLEM

1. BÖLÜM. Sayılarda Temel Kavramlar. Bölme - Bölünebilme - Faktöriyel EBOB - EKOK. Kontrol Noktası 1

Buna göre, eşitliği yazılabilir. sayılara rasyonel sayılar denir ve Q ile gösterilir. , -, 2 2 = 1. sayıdır. 2, 3, 5 birer irrasyonel sayıdır.

1.3. Normal Uzaylar. Bu bölümde; regülerlikten daha kuvvetli bir ay rma aksiyomu tan mlanarak. baz temel özellikleri incelenecektir.

Temel Kavramlar 1 Doğal sayılar: N = {0, 1, 2, 3,.,n, n+1,..} kümesinin her bir elamanına doğal sayı denir ve N ile gösterilir.

ÇARPANLAR VE KATLAR. 1) 72 sayısının pozitif bölenlerin tamamı hangi seçenekte doğru verilmiştir?

Göstericiler (Pointers)

Yan t Bilinmeyen Bir Soru

Küme Temel Kavramları

Transkript:

Otomata Teorisi (BİL 2114) Fırat İsmailoğlu Hafta 4: Düzenli İfadeler (I. Bölüm) 1

Hafta 4 Plan 1. Düzenli Diller 2. Düzenli Operatörler 3. Düzenli İfade Örnekleri i. R den L ye ii. L den R ye 4. Online Düzenli İfade Programları 5. Sonlu Otomatalardan Düzenli İfadelere 2

Düzenli İfadeler (Regular Expressions) (Regex) Düzenli ifadeler otomatalar gibi dilleri ifade etmenin bir yoludur. Fakat otomatalar daha makine gibi iken, düzenli ifadeler, daha çok program sintaksı gibidir. Hatta düzenli ifadeler metin içi arama yapmak icin kullanılan bir programlama dili olarak düşünülebilir. Düzenli ifadeler aslında sonlu otomataya denktir; sonlu otomatalarda duzenli ifadelere denktir (Kleene Teoremi) Duzenli ifadeler ve sonlu otomata birlikte düşünüldüğünde Düzenli Diller (Regular Languages) oluştururlar. Düzenli İfadeler = Sonlu Otomata (DSO,NSO) Düzenli Diller 3

Düzenli Diller (Regular Languages) Düzenli diller, özyinelemeli (recursive) olarak tanımlanır: Σ, alfabesini kullanarak L düzenli dilini oluşturalım. 1. Temel: ε (boş kelime) L dilinin elemanıdır. 2. Tümevarım: her w L, her k Σ, için wk L dir. ör. Σ = {0,1} olsun. Bu alfabeden üretilecek düzenli dil. 1. L = ε 2. ε ε L, için ε0 = 0 L ε1 = 1 L 3. 0 ε L, için, 00 ε L 01 ε L 1 ε L, için, 10 ε L 11 ε L 4.... L = ε, 0,1 L = ε, 0,1, 00, 01,10,11 4

Düzenli Operatörler (Regular Operations) Düzenli ifadeler, düzenli operasyonlar kullanılarak inşa edilirler. Bu operasyonlar 3 tanedir. L ve M iki dil olsun. 1. Birleşim (Union): L M = x x ε L x M (Birleşimin, elemanları ya L nin, ya M nin, yada her ikisinin birden elemanıdır). Not bazı kaynaklarda birleşim işareti olarak + kullanılıyor. 2. Bitiştirme (Concatenation):LM = L M = xy x ε L y M (Bitiştirmenin elemanları L den ve M den birer elemanın yanyana getirilmesiyle oluşur.) ör. L = 0, 01, M = ε, b, bb ; LM = 0,0b, 0bb, 01,01b, 01bb 3. Yıldız (Kleene Star): L = x 1 x 2 x k k 0, x i L. Yani L ın elemanları, L nin herhangi elemanlarının herhangi sayıda bitiştirilmesiyle oluşur. 5

Yıldız (Kleene Star) ör. L = 0,1 iken L = ε, 0,1,00,11,01,10,000,111,011,101,. ör. L ={iyi, kötü} L ={ε, iyi,kötü,iyiiyi,kötükötü,iyikötü,kötüiyi,iyiiyiiyi,...} Not 1. L dili ne olursa olsun L her zaman boş kelime ε içerir. Not 2. 1. hafta notlarından Σ ı hatırlayın. Σ, Σ alfabesinin harfleri kullanılarak oluştulabilecek bütün kelimerin kümesi idi. Aynı şekilde L da, L dilinin kelimeleri kullanılarak oluştulabilecek bütün kelimerin kümesidir. L = L 0 L 1 L 2... ör. L = 0,11 iken L 2 = 00,1111,011,110. ε {iyi, kötü} {iyiiyi,kötükötü,iyikötü,kötüiyi} 11 elemanı iki defa tekrar ediyor! 6

ör. A = 0 ise A = {ε, 0, 00,000,0000,00000, } = 0 Not. Düzenli ifadelerde daha çok tek harfli diller, örneğin A = 0 (yada bunu direk 0 ile göstereceğiz) ve bu tek harfli dillerin yukarıda saydığımız operatörler yardımıyla oluşturdukları yeni dillerle ilgileneceğiz, örneğin, 0 ve 1 dilleriyle oluşturulmuş 0 1 dili. Düzenli Operasyonların İşlem Sırasi: 1. Yıldız, 2. Bitiştirme, 3. Birleşim > > ör. a bc = a b c 1 ε, c, cc, ccc, cccc b, bc, bcc, bccc, bcccc 2 a, b, bc, bcc, bccc, bcccc 3 a bc dilinin kelimeleri 7

ör. Σ = 0,1 alfabesi kullanılarak üretilen kelimerlerden sonu 101 ile biten kelimeri kabul eden determinstik ve nondeterminstik sonlu otomatalar ve duzenli ifade: 0 1 1 q 0 1 q 0 1 q 2 1 q 3 0,1 0 0 Deterministik Sonlu Otomata q 0 1 q 0 1 q 2 1 q 3 Nondeterministik Sonlu Otomata R = 0 1 101 Düzenli Ifade 8

ör. Düzenli İfade Örnekleri I (R den L ye): 1. R = 0 1 01 : 0 yada 1 ile baslayan, ikinci harfi 0 olan, sonra (varsa) tum harfleri 1 olan kelimerlerin dilini ifade eden duzenli ifade. Bu dil şu şekilde gösterilebilir: L = 00,10,001,101,0011,1011,00111,10111, 2. R = 0 10 = ε, 0,00,000, 1 ε, 0,00,000, = ε1ε, ε10, ε100,, 01ε, 010,0100,, 001ε, 0010, = 1,10,100,, 01,010,0100,, 001,0010, = L = w w yalnizca 1 defa 1 içerir}. 3. Σ = 0,1 iken R = Σ 1Σ = 0,1 1 0,1 R = {ε, 0,1,00,11,01,10,000,...} 1 {ε, 0,1,00,11,01,10,000,...} ε, c, cc, ccc, cccc R = {1, 10, 11, 100,..., 01,010,0100,, 11,110,111,1100 } = L = w w en az 1 defa 1 içerir}. bc dilinin b, bc, bcc, bccc, bcccc kelimeleri 9

ör. Düzenli İfade Örnekleri I (R den L ye): 4. R = 0 1 0 1 = 0,1 0,1 = 00,01,10,11 = ε, 00,01,10,11,0000,0101,1010,1111,0001,.., 000110, = L = w w nun uzunlugu cift sayidir. }. 5. Σ = a, b, c,, z olsun. Bu durumda Σ = ε, a,.. z, aa,.. zz, ab,, az,, bct,.., sampiyon, Σ alfabesiyle olusturulabilecek tum kelimelerin kumesi olur. Boylece R = Σ sivasσ icinde sivas altkelimesi gecen tum kelimerin dilini temsil eder. ε, c, cc, ccc, cccc b, bc, bcc, bccc, bcccc bc dilinin kelimeleri 10

ör. Düzenli İfade Örnekleri II (L den R ye): 1. L = w w yalnizca 2 defa 0 içerir}. Bu durumda L nin kelimeleri su formda olur: 1 101 101 1 1 1 1 R = 1 01 01 2. L = w w nun ilk ve son harfi aynidir}. Dusunmemiz gereken durumlar: i. 0 ile baslayip 0 ile biten kelimeler: 0Σ 0 ii. 1ile baslayip 1 ile biten kelimeler: 1Σ 1 iii. 0 kelimesi ε, c, cc, ccc, cccc iv. 1 kelimesi Su halde cevap bc dilinin b, bc, bu bcc, dort bccc, durumun bcccc birlesimidir: kelimeleri R = 0Σ 0 1Σ 1 0 1 11

ör. Düzenli İfade Örnekleri II (L den R ye): 3. L = w w da yanyana 0 ve yanyana 1 olmaz}. Bu durumu saglayan dort durum vardir: i. 01010101 = 01 (0 ile baslayip 1 ile bitenler) ii. 010101 0 = 01 0 (0 ile baslayip 0 ile bitenler) iii. 10101010 = 10 (1 ile baslayip 0 ile bitenler) iv. 101010 1 = 10 1 (1 ile baslayip 1 ile bitenler) cevap bu dort durumun birlesimidir: R = 01 01 0 10 10 1 ε, c, cc, ccc, cccc b, bc, bcc, bccc, bcccc bc dilinin kelimeleri 12

Online Düzenli İfade Programları Oluşturdugumuz duzenli ifadeleri aşagidaki online programlari kullanarak test edebiliriz http://regex101.com http://rubular.com Not. Bu programlarda icin ; birleşim için kullanın. Düzenli İfadelerin Gercek Hayattaki Kullanımları Düzenli İfadeler, Linux, Perl, Python gibi dillerde kaynak kodun program sintaksina uygunlugu kontrol edilirken derleyici (compliler) tarafından kullanılırlar. Kullanıcı tarafından girilen email adresinin istenilen formata uygunluğu test ε, c, edilirken cc, ccc, cccc kullanılırlar. Bunun için kullanılan düz. İfade aşaği yukarı şöyle bir şeydir: bc dilinin /^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/ b, bc, bcc, bccc, bcccc kelimeleri 13

Sonlu Otomatalardan Duzenli Ifadelere Daha once gordugumuz sonlu otomatalari (DSO,NSO) duzenli ifadelerle gosterebiliriz. q 0 a a = a q 0 b q 1 = a b q 0 a ε q 1 b = a b q 0 a, b q 1 = a, b