290 likes | 893 Views
SONLU OTOMATLAR. Yılmaz Kılıçaslan. Sunum Planı. Sonlu Otomatlara Formel Olmayan Giriş Deterministik Sonlu Otomat lar Deterministik Olmayan Sonlu Otomatlar Boş Geçişli Sonlu Otomatlar Çift Yönlü Sonlu Otomatlar Sonuç. NEHRİN KARŞI YAKASINA GEÇME PROBLEMİ. w g c M. g M →. w c. 1.Adım.
E N D
SONLU OTOMATLAR Yılmaz Kılıçaslan
Sunum Planı • Sonlu Otomatlara Formel Olmayan Giriş • DeterministikSonlu Otomatlar • Deterministik Olmayan Sonlu Otomatlar • Boş Geçişli Sonlu Otomatlar • Çift Yönlü Sonlu Otomatlar • Sonuç
NEHRİN KARŞI YAKASINA GEÇME PROBLEMİ w g c M g M →
w c 1.Adım g M →
g w c 2.Adım ← M
g w 3.Adım c M →
c w 4.Adım ← g M
c g 5.Adım wM →
w c g 6.Adım 6.Adım ← M
g c M w 7.Adım 7.Adım g M →
c m m g Start MWGC-Ø WC-GM MWC-G m g c w c w C-MWG W-CMG g g g g CMG-W WMG-C c w g c w m Ø-MWGC GM-WC G-MWC m w g g
Deterministik Sonlu Otomatlar • Sonlu otomatlar, bir beşli olarak tanımlanır: • DFA = <Q, Σ, δ, q0, F> • Q : Sonlu sayıda durum içeren Durumlar Kümesi • Σ: Sonlu sayıda giriş simgesinden oluşan Giriş Alfabesi • q0: Başlangıç durumu (q0ϵ Q) • F : Son (uç) durumlar kümesi (F ⊆ Q) • δ : Durum geçiş fonksiyonu (Q x Σ Q)
Bir Deterministik Sonlu Otomat Örneği: DFA1 • DFA1 =<Q, Σ, δ, q0, F> Q = {q0, q1, q2} Σ = {0, 1} F = {q1} δ : δ(q0, 0) = q2 δ(q0, 1) = q0 δ(q1, 0) = q1 δ(q1, 1) = q1 δ(q2, 0) = q2 δ(q2, 1) = q1
Geçiş Diyagramları • Deterministik bir sonlu otomat için geçiş diyagramı yönlü bir çizge olarak şöyle tanımlanır: • Her durum için (çember şeklinde) bir düğüm bulunur. • Durum geçişleri, geçişe neden olan simge ile etiketlenmiş yönlü yaylar ile gösterilir. • Başlangıç durumu, çıkış düğümü olmayan bir ok ile işaretlenir. • Son durumlar çift çember ile gösterilir.
Çift sayıda 0 ve çift sayıda 1 içeren sembol katarlarını tanıyan otomat
‘00’ içermeyen ve ‘1’ ile bütün sembol dizilimleri üreten otomat 0 q1 0 q3 1 0 1 0 q0 1 1 q2
Deterministik Olmayan Sonlu Otomatlar • Deterministik olmayan sonlu otomatlar, deterministiklere benzer şekilde bir beşli olarak tanımlanır: • DFA = <Q, Σ, δ, q0, F> • Q : Sonlu sayıda durum içeren Durumlar Kümesi • Σ: Sonlu sayıda giriş simgesinden oluşan Giriş Alfabesi • q0: Başlangıç durumu (q0ϵ Q) • F : Son (uç) durumlar kümesi (F ⊆ Q) • δ : Durum geçiş fonksiyonu (Q x Σ 2Q)
‘01’ ile biten bütün dizilimleri tanıyan deterministik olmayan sonlu durum otomatı δ(q0, 0) = {q0, q1} δ(q0, 1) = {q0} δ(q1, 0) = {} δ(q1, 1) = {q1} δ(q2, 0) = {} δ(q2, 1) = {}
Problemlerin Çözüm Düzeyi Açısından Determinizm a • Deterministik olmayan sonlu durum otomatları, deterministik sonlu durum otomatlarına göre problemlere daha soyut düzeyde ve daha kolay modellenebilir çözümler sunabilirler. • Not: Örnekler Prof. Dr. Ünal Yarımağan’ın Özdevinirler Kuramı ve Biçimsel Diller kitabından alınmıştır. q3 q1 b c a c c a a q0 q5 b a b b c b c q4 q2 a c b ‘abc’ ve ‘bac’ altdizgilerinden en az birini, en az bir kez içeren arayan deterministik otomat q1 a a a b q0 q3 c q4 b b b q2 a c c ‘abc’ ve ‘bac’ altdizgilerinden en az birini, en az bir kez içeren arayan deterministik olmayan otomat
Deterministik ve Deterministik Olmayan Otomatların Denkliği - 1 0 q1 1 0 q3 0 1 q0 0 1 q2 1
Deterministik ve Deterministik Olmayan Otomatların Denkliği - 2 0 q1 0 q1,q3 1 1 0 q3 q0 0 1 q2,q3 0 q2 1 1
Boş Geçişli Sonlu Otomatlar • Boş geçişli sonlu otomatlar, deterministik olmayanlara benzer şekilde bir beşli olarak tanımlanır: • DFA = <Q, Σ, δ, q0, F> • Q : Sonlu sayıda durum içeren Durumlar Kümesi • Σ: Sonlu sayıda giriş simgesinden oluşan Giriş Alfabesi • q0: Başlangıç durumu (q0ϵ Q) • F : Son (uç) durumlar kümesi (F ⊆ Q) • δ : Durum geçiş fonksiyonu (Q x (ΣU {ɛ}) 2Q)
İki yönlü Sonlu Otomatlar • Sonlu otomatlar, bir beşli olarak tanımlanır: • DFA = <Q, Σ, δ, q0, F> • Q : Sonlu sayıda durum içeren Durumlar Kümesi • Σ: Sonlu sayıda giriş simgesinden oluşan Giriş Alfabesi • q0: Başlangıç durumu (q0ϵ Q) • F : Son (uç) durumlar kümesi (F ⊆ Q) • δ : Durum geçiş fonksiyonu (Q xΣ Q x {R, L} )
Eş Güçte Sonlu Durum Otomatları • Aşağıdaki otomat türleri tanıyabilecekleri / üretebilecekleri diller açısından eş güçtedirler: • Deterministik Sonlu Durum Otomatları • Deterministik Olmayan Sonlu Durum Otomatları • Boş Geçişli Sonlu Durum Otomatları • Çift Yönlü Sonlu Durum Otomatları
Kaynaklar • Yarımağan, Ü. (2011), Özdevinirler (Otomatlar) Kuramı ve Biçimsel Diller. Akademi Yayıncılık. • Hopcroft, J.E, Motwani, R. and J.D. Ullman (2001), Introduction to Automata Theory, Languages and Computation. Addison- Wesley.