Download - SONLU OTOMATLAR
SONLU OTOMATLAR
Yılmaz Kılıçaslan
Sunum Planı
2
· Sonlu Otomatlara Formel Olmayan Giriş· Deterministik Sonlu Otomatlar · Deterministik Olmayan Sonlu Otomatlar· Boş Geçişli Sonlu Otomatlar· Çift Yönlü Sonlu Otomatlar· Sonuç
w g c M g M →
NEHRİN KARŞI YAKASINA GEÇME PROBLEMİ
g M →
w c 1.Adım
g
← M
w c 2.Adım
g
c M →
w 3.Adım
c
← g M
w 4.Adım
c
wM →
g 5.Adım
w c
← M
g 6.Adım6.Adım
g
g M →
w c M7.Adım7.Adım
g
gMWGC-
ØWC-GM MWC-G
m
m
w w cc
C-MWG W-CMG
g g
CMG-W
g g
WMG-C
c c ww
G-MWCm
m
GM-WC
g
g
Ø-MWGC
Start
w
m
g
c
Deterministik Sonlu Otomatlar
12
· 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
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
17
q0
q1
q2
q3
0
0
0
01
1
11
Deterministik Olmayan Sonlu Otomatlar
18
· 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ı
19
δ(q0, 0) = {q0, q1}
δ(q0, 1) = {q0}
δ(q1, 0) = {}
δ(q1, 1) = {q1}
δ(q2, 0) = {}
δ(q2, 1) = {}
‘web’ ve ‘ebay’ sözcüklerini arayan otomat
20
Problemlerin Çözüm Düzeyi Açısından Determinizm
21
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.
q0
q1 q3
q2 q4
a
c a
c b
c
b
b
b
a
a
b a bq5
c
a
q0
q1
q2
a
b
a
c
b
a
bq4
c
a
q3b c
‘abc’ ve ‘bac’ altdizgilerinden en az birini, en az bir kez içeren arayan deterministik otomat
‘abc’ ve ‘bac’ altdizgilerinden en az birini, en az bir kez içeren arayan deterministik olmayan otomat
c
c
Deterministik ve Deterministik Olmayan Otomatların Denkliği - 1
22
q0
q1
q2
q3
0
0
0
0
1
1
1
1
Deterministik ve Deterministik Olmayan Otomatların Denkliği - 2
23
q0
q1
q2
q3
0
0
0
1
q1, q3 1
0
q2, q3
1
0
1
1
Boş Geçişli Sonlu Otomatlar
24
· 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ı
25
İki yönlü Sonlu Otomatlar
26
· 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ı
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. Addison-Wesley.
28