Formal Diller Ve Otomat Teorisi

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

BM312 Ders Notları

Otomata Teorisi (BIL 2114)

Manisa Celal Bayar Üniversitesi Yazılım Mühendisliği Bölümü YZM Biçimsel Diller ve Otomata Teorisi. Final Sınavı Örnek Soruları A0 KİTAPÇIĞI

Manisa Celal Bayar Üniversitesi Yazılım Mühendisliği Bölümü YZM Biçimsel Diller ve Otomata Teorisi. Final Sınavı Soruları A KİTAPÇIĞI

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

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

1 $/ " {ww R : w {a, b} * } ## S asa, S bsb S e#(3 * 5 $(6 )# (2 #$,(- (25 #5

Otomata Teorisi (BİL 2114)

Otomata Teorisi (BİL 2114)

Semantik (Semantics): ifadelerin, deyimlerin, ve program birimlerinin anlamı Sentaks ve semantik bir dilin tanımı sağlar

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

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

Derleyici Kuramı (Compiler Theory)

BM312 Ders Notları 2014

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

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

Sonlu Durum ve Turing Makineleri

Tokenlarin Taninmasi

+,- #'. L = {a, b, c, d} a, b, c, d kümenin elemanları veya üyeleridir

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

Tanım Bir X kümesi üzerinde bir karakter dizgisi (string) X kümesindeki. boş karakter dizgisi (null string) denir ve l ile gösterilir.

BBS 514 YAPISAL PROGRAMLAMA (STRUCTURED PROGRAMMING)

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

Regular Expression vs. Context-Free Grammars. Ambiguity. NFA to CFG. Neden RE ler kullanilir?

,$( -./(,$( 0$0$ (,$(

Syntax Analysis. 4/5/2004 Formal Diller 4.1

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

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.

Properties of Regular Languages. Mart 2006 Ankara Üniversitesi Bilgisayar Mühendisliği - TY 1

Otomata Teorisi (BİL 2114)

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

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

Dilbilgisi ve Diller

DOKUZ EYLÜL ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ DEKANLIĞI DERS/MODÜL/BLOK TANITIM FORMU. Dersin Kodu: CME 3002

Context-Free Grammars and Languages

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

FINITE AUTOMATA. Recognizer. Finite Automata (FA)

FINITE AUTOMATA. Mart 2006 Ankara Üniversitesi Bilgisayar Mühendisliği 1

Bilgisayar Bilimlerinde Hesaplama Kuramı

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

PASCAL PROGRAMLAMA DİLİ YAPISI

Bölüm 2 Matematik Dili. Kümeler

Bölüm 2 Matematik Dili

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

Belirteç Seçiminin Huffman Kodlaması Üzerine Etkisi

Otomata Teorisi (BİL 2114)

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

(a,b) şeklindeki ifadelere sıralı ikili denir. Burada a'ya 1. bileşen b'ye 2. bileşen denir.

BİLGİSAYAR MÜHENDİSLİĞİ ALGORİTMA VE PROGRAMLAMA II 2.HAFTA SWİTCH (CASE), SAYAÇLAR, DÖNGÜLER,

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

MAT223 AYRIK MATEMATİK

Değişkenler. Geçerli değişken isimleri : baslamazamani, ad_soyad, x5 Geçersiz değişken isimleri : 3x, while

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

BİL 201 Boole Cebiri ve Temel Geçitler (Boolean Algebra & Logic Gates) Bilgisayar Mühendisligi Bölümü Hacettepe Üniversitesi

Regular Expressions ve grep, awk, sed ile Kullanımı

X ve Y boş olmayan iki küme olsun. İki küme arasında tanımlanmış olan bir bulanık ilişki R, X x Y nin bir bulanık alt kümesidir.

DİZİLER 5/4/2010. ENF-102 Jeoloji Giriş. Tek Boyutlu Diziler. Tek Boyutlu Diziler. Örnek. Örnek

ÜNİTE 1: TEMEL KAVRAMLAR

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

Giriş. ENF102 Jeoloji

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

Python ile Programlamaya Giris

Ağaç (Tree) Veri Modeli

BİL1001 Bilgisayar Bilimlerine Giriş 1

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.

T.C. ÇANAKKALE ONSEKİZ MART ÜNİVERSİTESİ

BİLGİSAYAR MÜHENDİSLİĞİ

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

8. HOMOMORFİZMALAR VE İZOMORFİZMALAR

Rakam : Sayıları yazmaya yarayan sembollere rakam denir.

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.

Rastgele değişken nedir?

ALGORİTMA VE PROGRAMLAMA I DERS NOTU#8

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

BMB204. Veri Yapıları Ders 12. Dizgi Eşleme (String Matching) Algoritmaları İleri Veri Yapıları

3.3. İki Tabanlı Sayı Sisteminde Dört İşlem

TÜREV VE UYGULAMALARI

MATEMATİK. Doç Dr Murat ODUNCUOĞLU

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

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

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

TEMEL KAVRAMLAR. SAYI KÜMELERİ 1. Doğal Sayılar

9. Sınıf Matemat k Ders İşleme Defter. Altın Kalem Yayınları

Dekleratif Programlama. Örnek : Aile Ağacı. SWI-Prolog. Prolog Dekleratif programlama dili

Print Komutu ile Değişkenleri Yazdırmak

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

Cebir Notları. Gökhan DEMĐR, ÖRNEK : A ve A x A nın bir alt kümesinden A ya her fonksiyona


Ağaçlar (Trees) Ağaçlar (Trees)

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

Düzenli İfadeler & Kullanım Alanları

Dağıtık Sistemler CS5001

Otomata Teorisi (BİL 2114)

Algoritma Geliştirme ve Veri Yapıları 3 Veri Yapıları. Mustafa Kemal Üniversitesi

Şimdi de [ ] vektörünün ile gösterilen boyu veya büyüklüğü Pisagor. teoreminini iki kere kullanarak

Düzenli İfadeler & Kullanım Alanları

8.Konu Vektör uzayları, Alt Uzaylar

Örnek 1: 2 x = 3 x = log 2 3. Örnek 2: 3 2x 1 = 2 2x 1 = log 3 2. Örnek 3: 4 x 1 = 7 x 1 = log 4 7. Örnek 4: 2 x = 3 2 x 2 = 3

Kafes Yapıları. Hatırlatma

Transkript:

Formal Diller Ve Otomat Teorisi Ismail Kadayif Canakkale Onsekiz Mart Universitesi Bilgisayar Muhendisligi 4/5/2004 Formal Diller 1.1

Strings ve Languages (Diller) alphabet (character set): Sonlu sayida sembol iceren kumeye denir. {0,1} : binary alphabet ASCII: bilgisayar alfabesi string: Bir alfabe uzerinde tanimli string, bu alfabenin sonlu sayidaki sembolunun bir araya gelmesinden olusur. string s nin uzunlugu s olarak gosterilir ve s icerisinde bulunan karakterlerin sayisi olarak tanimlanir. banana =6 empty (bos) string ile gosterilir ve uzunlugu 0 dir. 4/5/2004 Formal Diller 1.2

Strings ve Languages language: verilen alfabe uzerinde tanimli stringlerin kumesi (bos kume) { } (kume sadece bos stringi olan) C programs gramer olarak dogru olan Turkce (Ingilizce) cumleler bir dil olusturur. 4/5/2004 Formal Diller 1.3

Strings ve Languages concatenation: x ve y iki string olsun. x ve y nin concatenation i xy olarak gosterilir ve y nin x e eklenmesi sonucu elde edilir. X=dog ve y=house ise xy=doghouse empty string concatenation islemi altinda birim elemandir s = s=s concatenation bir product islemi olarak dusunulebilir, dolayisiyle stringlerinin exponentleri (usleri) tanimlanabilir s 0 =, s 1 =s, s 2 =ss, s 3 =sss, 4/5/2004 Formal Diller 1.4

Stringler uzerindeki islemler prefix: bir string in sonundan sifir veya daha fazla sayida sembolu cikarmak suretiyle elde edilen yeni stringe orjinal stringin prefixi denir. ornek: ban, banana nin bir prefixidir. suffix: bir string in basindan sifir veya daha fazla sayida sembolu cikarmak suretiyle elde edilen yeni stringe orjinal stringin suffixi denir. ornek: nana, banana nin bir suffixidir. substring: bir stringin herhangi bir prefix and suffix cikarmak suretiyle elde edilen stringe orjinal stringin substringi denir. ornek: nan, banana nin bir substringidir. 4/5/2004 Formal Diller 1.5

Stringler uzerindeki islemler herhangi bir string s icin, s ve hem prefix, hem suffix ve hemde substring dir. proper prefix/suffix/substring: x, s nin bir proper prefix/suffix/substringi dir eger x nonempty string ve s g x. subsequence: sifir veya daha fazla sembolun silinmesiyle (silinen semboller ardisil olmayabilir) elde edilir. ornek: baaa, banananin bir subsequencidir. 4/5/2004 Formal Diller 1.6

Languageler uzerindeki islemler L bir language L 0 = { } L i = L i-1 L L ve M iki language union: LUM={s s L nin elamani veya M nin elemani} concatenation: LM={st s L nin elemani ve t M nin elemani) kleene closure: L * =U i=0.. L i positive closure: L + =L * -{ } 4/5/2004 Formal Diller 1.7

Ornek L={A,B,,Z,a,b,,z}, D={0,1,, 9} LUD: harflerden ve rekamlardan olusan set LD: basi harf sonu rakam olan stringlerin kumesi L 4 : 4 harften olusan stringlerin kumesi L * : bos stringi ( ) de icine alan harflerden olusan stringlerin kumesi 4/5/2004 Formal Diller 1.8

Regular Expression (RE) bir alfabe olmak uzere 1. bir RE dir ve { } yi ifade eder 2. Eger a nin bir elemani ise a bir RE dir ve {a} yi ifade eder 3. Eger r ve s iki RE ve L(r) ve L(s) ifade ediyorlarsa i. (r) (s) L(r) U L(s) i ifade eden bir RE dir ii. (r) (s) L(r) L(s) i ifade eden bir RE dir iii. ( r ) * (L(r)) * i ifade eden bir RE dir iv. (r) L(r ) yi ifade eden bir RE dir 4/5/2004 Formal Diller 1.9

Operatorlerin precedence (oncelikleri) ve associativitileri 1. Unary operator * en buyuk oncelige sahip ve left associative 2. Concatenation ikinci en buyuk oncelige sahip ve left associative 3. en dusuk oncelige sahip ve left associative (a) ((b) * (c)) = a b * c 4/5/2004 Formal Diller 1.10

Ornek ={a,b} 1. a b ={a,b} 2. (a b)(a b)={aa,ab,ba,bb} 3. A * ={c,a,aa,aaa, } 4. (a b) * sifir veya daha fazla sayida a ve b lerden olusan stringleri icen kume 5. a a * b string a ve sifir veya daha fazla sayida a yi izleyen b den olusan stringlerin kumesi 4/5/2004 Formal Diller 1.11

Regular Expressionlarin Ozellikleri r s = s r (commutative,degisme) r (s t) = (r s) t (associative) (rs)t = r(st) (associative) r(s t) = rs rt (distribution) (s t)r = sr tr (distribution) cr = rc = r (c : identity element, birim eleman) r * = (r c) * r ** = r * 4/5/2004 Formal Diller 1.12

Regular Expressionlarin Tanimlanmasi d 1 t r 1 d 2 tr 2 d n tr n Buradaki her bir d i farkli bir ismi gostermekte ve r i U{d 1,d 2,,d i-1 } uzerinde tanimli bir regular expressiondir. 4/5/2004 Formal Diller 1.13

Ornek Pascal degiskenlerini ifade eden RE letter t A B Z a b z digit t 0 1 9 id t letter ( letter digit ) * 4/5/2004 Formal Diller 1.14

Ornek Unsigned sayilar (pascal) digit t 0 1 9 digits t digit digit * optional_fraction t. digits optional_exponent t (E (+ - ) digits ) num t digits optional_fraction optional_exponent 5280, 39.37, 6.336E4, 1.89E-4 4/5/2004 Formal Diller 1.15

Ek Notasyonlar (r) + = ( L(r) + ) one or more instances (r)? = L(r) U { } zero or one instance digit t 0 1 9 digits t digit + optional_fraction t (. digits)? optional_exponent t (E (+ - )? digits )? num t digits optional_fraction optional_exponent 4/5/2004 Formal Diller 1.16

[abc] = a b c [a-z] = a b z Ek Notasyonlar [A-Za-z][A-Za-z0-9] * 4/5/2004 Formal Diller 1.17

Nonregular Sets bazi diller RE larla ifade edilemez ornek: balanced stringlerden olusan language L={(), (()), ()()((())), } fakat Contex-Free Gramerlerle (CFG) L ifade edilebilir CFG ler de her dili ifade edemez ornek: L={wcw w a ve b lerden olusan string} 4/5/2004 Formal Diller 1.18

={0,1} Ornekler 0 * 10 * = {w w sadece bir tane 1 e sahip} (0 1) * 1(0 1) * {w w en az bir tane 1 e sahip} (0 1) * (0 1) * (0 1) * {w w nin boyu 3 un katlari} 0(0 1) * 0 U 1(0 1) * 1 U 0 U 1 {w w ayni sembolle baslayip ayni sembolle sona eriyor} (0 U )(1 U ) = {, 0, 1, 01} 4/5/2004 Formal Diller 1.19

Finite Automata ve Regular Expressions Finite Automaton 5-tuple (Q,,,q o,f) Q: Stateler kumesi : Finite input alfabe : Q X t Q Transition fonksiyonu q o : Baslangic state F ` Q Final states (q,a): FA q statetinde iken a sembolunu giris olarak aldiginda erisecegi state i gosterir 4/5/2004 Formal Diller 1.20