Download - SONLU OTOMATLAR

Transcript
Page 1: SONLU OTOMATLAR

SONLU OTOMATLAR

Yılmaz Kılıçaslan

Page 2: SONLU OTOMATLAR

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ç

Page 3: SONLU OTOMATLAR

w g c M g M →

NEHRİN KARŞI YAKASINA GEÇME PROBLEMİ

Page 4: SONLU OTOMATLAR

g M →

w c 1.Adım

Page 5: SONLU OTOMATLAR

g

← M

w c 2.Adım

Page 6: SONLU OTOMATLAR

g

c M →

w 3.Adım

Page 7: SONLU OTOMATLAR

c

← g M

w 4.Adım

Page 8: SONLU OTOMATLAR

c

wM →

g 5.Adım

Page 9: SONLU OTOMATLAR

w c

← M

g 6.Adım6.Adım

Page 10: SONLU OTOMATLAR

g

g M →

w c M7.Adım7.Adım

Page 11: SONLU OTOMATLAR

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

Page 12: SONLU OTOMATLAR

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)

Page 13: SONLU OTOMATLAR

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

Page 14: SONLU OTOMATLAR

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

Page 15: SONLU OTOMATLAR

DFA1 için geçiş diyagramı

15

Page 16: SONLU OTOMATLAR

Çift sayıda 0 ve çift sayıda 1 içeren sembol katarlarını tanıyan otomat

16

Page 17: SONLU OTOMATLAR

‘00’ içermeyen ve ‘1’ ile bütün sembol dizilimleri üreten otomat

17

q0

q1

q2

q3

0

0

0

01

1

11

Page 18: SONLU OTOMATLAR

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)

Page 19: SONLU OTOMATLAR

‘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) = {}

Page 20: SONLU OTOMATLAR

‘web’ ve ‘ebay’ sözcüklerini arayan otomat

20

Page 21: SONLU OTOMATLAR

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

Page 22: SONLU OTOMATLAR

Deterministik ve Deterministik Olmayan Otomatların Denkliği - 1

22

q0

q1

q2

q3

0

0

0

0

1

1

1

1

Page 23: SONLU OTOMATLAR

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

Page 24: SONLU OTOMATLAR

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)

Page 25: SONLU OTOMATLAR

Sözcük tanımada boş geçiş kullanımı

25

Page 26: SONLU OTOMATLAR

İ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} )

Page 27: SONLU OTOMATLAR

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

Page 28: SONLU 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.

28


Top Related