Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

Formel Diller ve Soyut Makineler

Benzer bir sunumlar


... konulu sunumlar: "Formel Diller ve Soyut Makineler"— Sunum transkripti:

1 Formel Diller ve Soyut Makineler
BAĞLAMa duyarlı gramerler CONTEXT sensıtıve GRAMMARS

2 Chomsky Hiyerarşisi Karmaşıklık
Özyinelemeli - Sayılabilir Diller : Turing Makinesi (Recursively – Enumerable Languages : Turing Machine) Bağlama - Duyarlı Diller : Doğrusal – Sınırlandırılmış Otomatlar (Context – Sensitive Languages : Linear – Bounded Automata) 1 2 3 Bağlam - Bağımsız Diller : Bas – Bırak Otomatları (Context – Free Languages : Push – Down Automata) Düzenli Diller : Sonlu - Durum Otomatları (Regular Language : Finite – State Automata) *(Dil : Otomat)

3 Bağlamdan Bağımsızlık
Kurallarla değiştirme işlemi, sadece değişecek sembol üzerinde yapılır ve önündeki ya da ardındaki kısımlara bakılmaz. Bu nedenle bağlamdan bağımsız (context - free) olarak adlandırılır. S, A, B ve M terminal olmayan a, b ve ε ise terminal semboller olarak adlandırılır. Tüm dizgeler sadece terminal sembollerden oluşabilir.

4 Örnek S → aS S → Bb B → cB B → ε S aS aaS aaBb aacBb aaccBb aaccb

5 CFG - DCG sentence([the,bat,eats,the,bat],[]). sentence(X,[]).
sentence --> noun_phrase, verb_phrase. noun_phrase --> det, noun. verb_phrase --> verb, noun_phrase. det --> [the]. det --> [a]. noun --> [cat]. noun --> [bat]. verb --> [eats]. sentence([the,bat,eats,the,bat],[]). sentence(X,[]).

6 Bağlama Duyarlı Gramerler
Bağlama duyarlı bir gramer, üretim kurallarının α → β şeklinde olduğu, α ve β’nın terminal ve terminal olmayan sembollerden oluşabileceği, ve |β|≥ |α| olacak şekilde kısıtlanmış bir gramerdir. Hiçbir üretim aşamasında dizge uzunluğu azalmaz. Bağlama duyarlılık kavramı α1Aa2 → α1βa2 şeklindeki normal formdan gelmektedir. (β≠ε)

7 Bağlama Duyarlı Gramerler – Biçimsel Tanım
Bir bağlama duyarlı gramer 4 bileşenden oluşur: N: Sonlu bir terminal olmayan semboller kümesi. S ϵ N: Başlangıç sembolü. T: Terminal semboller kümesi. P: Şu kural şemasına uyan yeniden yazma (üretim) kuralları: Y  X, X ve Y ϵ (N ∪ T)+ |X| ≤ |Y|

8 {anbncn|n ≥ 1} S → aSBC S → aBC CB → BC aB → ab bB → bb bC → bc
cC → cc S → aSBC → aaBCBC → aabCBC → aabBCC → aabbCC → aabbcC → aabbcc

9 CSG - DCG Üretim için: ?- s(2, X, []).
s(N) --> as(N), bs(N), cs(N), !. as(0) --> []. as(NC) --> a, as(N), {NC is N+1}. bs(0) --> []. bs(NC) --> b, bs(N), {NC is N+1}. cs(0) --> []. cs(NC) --> c, cs(N), {NC is N+1}. a --> [a]. b --> [b]. c --> [c]. Üretim için: ?- s(2, X, []). Tanıma için: ?- s(2, [a, a, b, b, c, c], []).

10 CSG - DCG sentence --> pronoun(subject), verb_phrase. verb_phrase --> verb, pronoun(object). pronoun(subject) --> [he]. pronoun(subject) --> [she]. pronoun(object) --> [him]. pronoun(object) --> [her]. verb --> [likes].


"Formel Diller ve Soyut Makineler" indir ppt

Benzer bir sunumlar


Google Reklamları