SONLU OTOMATLAR Yılmaz Kılıçaslan
Sunum Planı Sonlu Otomatlara Formel Olmayan Giriş Deterministik Sonlu 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
w g c M 7.Adım 7.Adım g 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.
DFA1 için geçiş diyagramı
Ç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 q1 q3 1 q0 1 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) = {}
‘web’ ve ‘ebay’ sözcüklerini arayan otomat
Problemlerin Çözüm Düzeyi Açısından Determinizm 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. q1 q3 c b a c c a a q0 q5 b a b b c c b q2 q4 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 b q3 c q4 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 q1 1 q3 q0 1 1 q2 1
Deterministik ve Deterministik Olmayan Otomatların Denkliği - 2 q1 q1, q3 1 1 q3 q0 1 q2, q3 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)
Sözcük tanımada boş geçiş kullanımı
İ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.