Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

NİŞANTAŞI ÜNİVERSİTESİ

Benzer bir sunumlar


... konulu sunumlar: "NİŞANTAŞI ÜNİVERSİTESİ"— Sunum transkripti:

1 NİŞANTAŞI ÜNİVERSİTESİ
BİÇİMSEL DİLLER VE OTOMATLAR HAFTA 4 NİŞANTAŞI ÜNİVERSİTESİ © Mühendislik Mimarlık Fakültesi mmf.nisantasi.edu.tr

2 NONDETERMINISTIC FINITE AUTOMATA (NFA)
1. HAFTA 4. HAFTA NONDETERMINISTIC FINITE AUTOMATA (NFA) GEREKIRCI OLMAYAN SONLU OTOMAT NİŞANTAŞI ÜNİVERSİTESİ ©

3 GEREKIRCI OLMAYAN SONLU OTOMAT
Bir NFA M = (Q, Σ, δ, q0, F) beşlisi ile tanımlanır. Q: Mevcut durumların sonlu kümesi Σ : Sembollerin sonlu kümesi q0 e Q : Başlangıç durumu F ⊆ Q : Kabul durumları kümesi DFA’dan farkı geçiş fonksiyonudur: NFA’da δ: Q x (Σ ⋃ {λ}) ""7 2Q(Q’nun altkümeleri) DFA’da: δ: Q x Σ ""7 Q NFA’da geçiş fonksiyonu ikinci argüman olarak λ-geçişi alabilir. Yani NFA bir girdi sembolü almadan da bir durumdan diğerine geçebilir. NİŞANTAŞI ÜNİVERSİTESİ ©

4 GEREKIRCI OLMAYAN SONLU OTOMAT
NFA’da δ(q1, a) = {q0, q2} NFA’da δ(qi, a) kümesi boş olabilir. Yani belirli bir durum için geçiş tanımlanmayabilir. Aşağıdaki NFA örneğinde 0 durumu, a sembolünü alarak 2 farklı duruma gitmiştir. NİŞANTAŞI ÜNİVERSİTESİ ©

5 DFA VE NFA’NIN FARKLARI
Tüm geçişler gerekircidir Her geçiş sadece tek bir duruma gider Her durum için mümkün olan tüm sembollerin (alfabe) geçişi tanımlanmalıdır Son durum F’in elemanıysa input kabul edilir Durumların sayısından dolayı bazen oluşturmak daha zordur Pratik uygulaması yapılabilir NFA Bazı geçişler non- deterministic olabilir Bir geçiş, durumların altkümesine gidebilir Tüm semboller için geçiş tanımlanması gerekmez Son durumların bir tanesi F’in elemanıysa input kabul edilir Oluşturmak DFA’ya göre daha kolaydır Pratik uygulamasının deterministic olması gerekir (DFA’ya çevrilir) NİŞANTAŞI ÜNİVERSİTESİ ©

6 Genişletilmiş Geçiş Fonksiyonu (NFA için)
01 ile biten tüm dizgileri kabul eden NFA örneği δ* kullanarak bu NFA için girdisinin nasıl işleneceğini tanımlayalım: δ*(q0 , λ) = {q0} δ*(q0 , 0) = δ(q0 , 0) = {q0, q1} δ*(q0 , 00) = δ(q0 , 0) ⋃ δ(q1 , 0) = {q0, q1} ⋃ Ø = {q0, q1} δ*(q0 , 001) = δ(q0 , 1) ⋃ δ(q1 , 1) = {q0} ⋃ {q2} = {q0, q2} δ*(q0 , 0010) = δ(q0 , 0) ⋃ δ(q2 , 0) = {q0, q1} ⋃ Ø = {q0, q1} δ*(q0 , 00101) = δ(q0 , 1) ⋃ δ(q1 , 1) = {q0, q2} Kabul durumu NİŞANTAŞI ÜNİVERSİTESİ ©

7 Genişletilmiş Geçiş Fonksiyonu (NFA için)
Dil: Bir M= (Q, Σ, δ, q0, F) NFA’sı tarafından kabul edilen L dili şu şekilde tanımlanır: L(M) = {w E Σ* : δ*(q0, w) ∩ F ≠ Ø} Grafikten görüldüğü gibi bu NFA’nın kabul durumunda durabilmesinin tek yolu 10 dizgisinin tekrarlı şekli ya da boş dizgidir. L = { (10)n : n ≥ 0} Örneğin 110 dizgisi için δ(q2, 0) tanımlanmadığından q2 durumunda kalır. Böyle bir duruma ölü konfigürasyon denir. δ*(q0, 110) = Ø bu dizgi kabul edilmez. NİŞANTAŞI ÜNİVERSİTESİ ©

8 NFA’dan DFA Elde Edilmesi
Üzerinde tanımlanmış bir L dilini kabul eden herhangi bir NFA’dan { M = (Q, Σ, δ, q0, F) } aynı L dilini kabul eden bir N = (Q’, Σ’, δ’, q0’, F’) DFA’sı elde edilebilir. Q’ = Q nun tüm alt kümelerinin kümesi Örneğin Q= {q0, q1 } ""7 Q’ = { { }, {q0}, {q1}, {q0, q1} } q0’ = {q0} F ’ = M’deki bir kabul durumunu içeren Q’ ‘nün tüm durumlarının kümesi. DFA’nın kabul durumları NFA’nın bir kabul durumunu içerdiği için her ikisi de aynı dizgi kümesini kabul edecektir. Buradan diyebiliriz ki NFA tarafından kabul edilen her dil DÜZGÜN DİL’dir. NİŞANTAŞI ÜNİVERSİTESİ ©

9 NİŞANTAŞI ÜNİVERSİTESİ ©
KAYNAKLAR An Introduction to Formal Languages and Automata, Peter Linz. Introduction to Automata Theory, Languages and Computation, John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman. NİŞANTAŞI ÜNİVERSİTESİ ©


"NİŞANTAŞI ÜNİVERSİTESİ" indir ppt

Benzer bir sunumlar


Google Reklamları