Sonlu Durum Otomatları
Download
Report
Transcript Sonlu Durum Otomatları
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ç
2
NEHRİN KARŞI YAKASINA GEÇME PROBLEMİ
wgcM
gM→
w c
1.Adım
gM→
w c
2.Adım
←M
g
w
3.Adım
cM→
g
w
4.Adım
←gM
c
g
5.Adım
wM →
c
g
6.Adım
←M
w
c
7.Adım
gM→
w gc M
c
m
m
g
Start
MWGC-Ø
WC-GM
MWC-G
m
g
w
w
c
c
C-MWG
g
W-CMG
g
CMG-W
g
Ø-MWGC
g
c
GM-WC
g
m
m
g
g
WMG-C
c
w
w
G-MWC
w
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)
12
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
13
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.
14
DFA1 için geçiş diyagramı
15
Çift sayıda 0 ve çift sayıda 1 içeren
sembol katarlarını tanıyan otomat
16
‘00’ içermeyen ve ‘1’ ile bütün
sembol dizilimleri üreten otomat
0
0
q1
q3
1
0
1
q0
1
0
1
q2
17
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)
18
‘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) = {}
19
‘web’ ve ‘ebay’ sözcüklerini arayan otomat
20
Problemlerin Çözüm Düzeyi Açısından
Determinizm
a
c
b
q1
c
a
q3
a
c
a
q0
q5
b a
c
b
b
q2
b
c
a
q4
c
b
‘abc’ ve ‘bac’ altdizgilerinden en az birini, en az bir kez
içeren arayan deterministik otomat
a
q0
a
q1
a
b
b
q3
c
q4
b
b
c
q2
a
c
‘abc’ ve ‘bac’ altdizgilerinden en az birini, en az bir kez
içeren arayan deterministik olmayan otomat
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.
21
Deterministik ve Deterministik
Olmayan Otomatların Denkliği - 1
0
q1
1
0
0
q0
1
q3
1
0
q2
1
22
Deterministik ve Deterministik
Olmayan Otomatların Denkliği - 2
0
0
q1
q1, q3
1
1
0
q3
q0
0
1
q2, q3
0
1
q2
1
23
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)
24
Sözcük tanımada boş geçiş kullanımı
25
İ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} )
26
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ı
27
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. AddisonWesley.
28