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