Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

Formel Diller ve Soyut Makineler

Benzer bir sunumlar


... konulu sunumlar: "Formel Diller ve Soyut Makineler"— Sunum transkripti:

1 Formel Diller ve Soyut Makineler
OTOMAT KURAMI & Sonlu durum otomatları

2 Otomat Kuramı Otomat kuramı, bilgisayar bilimlerinin kuramsal bir alt alanıdır. Temelleri 20. yy’da matematikçilerin insanın belirli özelliklerini taklit edebilen, özellikle de hesaplamaları daha güvenilir ve hızlı biçimde yapabilen, hem kuramsal hem de uygulamaya dökülmüş makineleri geliştirmeye başlaması ile atılmıştır. « Otomat » kelimesi « otomasyon » kelimesiyle yakın anlamda olup, belirli süreçlerin gerçekleştirimini sağlayan otomatikleştirilmiş işlemler bütününü ifade eder. Otomat Kuramı ise, « otomat » olarak adlandırılan basit makineler üzerinden gerçekleştirilen hesaplama işlemlerinin mantığıyla ilgilenir. Otomatlar sayesinde bilgisayar bilimciler makinelerin fonksiyonları nasıl hesaplayabildiği ve problemleri nasıl çözebildiğini anlama imkanı bulur. Daha da önemlisi, bir fonksiyonun hesaplanabilir (computable) olarak tanımlanması veya bir sorunun karar verilebilir (decidable) olup olmadığının anlaşılması bu kuram ile mümkün olur.

3 Chomsky Hiyerarşisi Karmaşıklık
Özyinelemeli - Sayılabilir Diller : Turing Makinesi (Recursively – Enumerable Languages : Turing Machine) Bağlama - Duyarlı Diller : Doğrusal – Sınırlandırılmış Otomatlar (Context – Sensitive Languages : Linear – Bounded Automata) 1 2 3 Bağlam - Bağımsız Diller : Bas – Bırak Otomatları (Context – Free Languages : Push – Down Automata) Düzenli Diller : Sonlu - Durum Otomatları (Regular Language : Finite – State Automata) *(Dil : Otomat)

4 Sonlu Durum Otomatları
Tip 3 – İfade Gücü Düzenli İfadeler Düzenli Diller Sonlu Durum Otomatları Düzenli Gramerler

5 Bir Otomat Örneği - Turnike
Şimdiki Durum Girdi Sonraki Durum Çıktı Kapalı Kart bas Açık Açık konuma geç (kol itildiğinde geçilebilir durumdadır) Kolu it Aynı durumda kal Kapalı konuma geç (turnikeden geçildikten sonra kol kilitli duruma geçer)

6 Sonlu Durum Otomatı Biçimsel Olmayan Tanım
Bir sonlu durum otomatı; girdi şeridi olarak da bilinen sonlu bir bellek, okuyucu başlık, sonlu sayıda ve boş olmayan durumlar, bir giriş alfabesi, durumlar arası geçişleri betimleyen bir geçiş fonksiyonu, bir başlangıç durumu ile sonlu sayıda durma durumundan oluşan soyut bir hesaplama aygıtıdır.

7 Sonlu Durum Otomatı Çalışma Mantığı
Girdi şeridi hücrelere bölünmüştür ve her bir hücre giriş alfabesine ait bir sembol barındırır. Okuyucu başlık, bir adımda şeritten tek bir sembolü okur. Geçiş fonksiyonu üzerinden bir sonraki durum belirlenir. Okuyucu başlık ya soldan sağa ya da sağdan sola okuma yapabilir. Okuyucu başlık şerit üzerinde yazma işlemi yapamaz ve geriye doğru gidemez. Bu nedenle bir sonlu durum otomatı o anda okumakta olduğu sembolden önceki sembolleri hatırlayamaz. Bu durum, sonlu durum otomatlarınının en önemli kısıtıdır.

8 Sonlu Durum Otomatı Biçimsel Tanım
Bir otomat, (Q, ∑, δ, q0, F) şeklinde bir beşli olarak tanımlanır ve bu tanıma göre; Q sonlu sayıda elemana sahip bir durumlar kümesi, ∑ sonlu sayıda elemana sahip semboller kümesi (ya da alfabe), δ geçiş fonksiyonu, q0 herhangi bir girdinin işlenmeye başlanacağı başlangıç durumu (q0 ∈ Q). F, Q içindeki son durum(lar) kümesi (F ⊆ Q).

9 Sonlu Durum Otomatı Türleri
Sonlu Durum Otomatları Çıktı Üretmeyenler Çıktı Üretenler Deterministik Deterministik Olmayan Moore Makinesi Mealy Makinesi

10 Deterministik Sonlu Durum Otomatı
Deterministik sonlu durum otomatlarında her bir giriş sembolü karşılığında içinde bulunulacak (yani geçilecek) durum belirlidir. Bir deterministik sonlu durum otomatı, (Q, ∑, δ, q0, F) şeklinde bir beşli olarak tanımlanır ve bu tanıma göre; Q sonlu sayıda elemana sahip bir durumlar kümesi, ∑ sonlu sayıda elemana sahip semboller kümesi (ya da alfabe), δ geçiş fonksiyonu (δ: Q × ∑ → Q), q0 herhangi bir girdinin işlenmeye başlanacağı başlangıç durumu (q0 ∈ Q). F, Q içindeki son durum(lar) kümesi (F ⊆ Q).

11 Grafiksel Gösterim Deterministik bir sonlu durum otomatı durum diyagramı adı verilen bir çizge ile ifade edilir. Bu çizgede: Düğümler durumları, Alfabeden bir sembolle etiketlenmiş olan kenarlar geçişleri, Kendisine gelen boş bir kenarla işaretli olan düğüm başlangıç durumunu, İç içe iki çember şeklinde işaretli olan düğüm ise son durumu ifade eder.

12 Örnek Q = {a, b, c}, ∑ = {0, 1}, q0={a}, F={c}, ve
Geçiş fonksiyonu olan δ aşağıdaki gibidir. Şimdiki Durum 0 girdisi için sonraki durum 1 girdisi için sonraki durum a b c

13 Örnek Yalnızca 3’ün katı olan ikili tabandaki sayıları kabul eden sonlu durum otomatı

14 Örnek İçerisinde çift sayıda b bulunduran tüm katarların kümesi.

15 Örnek

16 Örnek L = {anbm | n,m ≥ 1}, Σ={a, b} L = {ab, aab, aaab, abbb, aabb, aaaabbbb, ...}

17 Deterministik Olmayan Sonlu Durum Otomatı
Deterministik olmayan sonlu durum otomatlarında belirli bir giriş sembolü makinedeki herhangi bir durum kombinasyonuna geçişi sağlayabilir. Yani, makinenin belirli bir durumda belirli bir sembolle hangi duruma geçiş yapabileceği tam olarak bilinemez. Bir deterministik olmayan sonlu durum otomatı, (Q, ∑, δ, q0, F) şeklinde bir beşli olarak tanımlanır ve bu tanıma göre; Q sonlu sayıda elemana sahip bir durumlar kümesi, ∑ sonlu sayıda elemana sahip semboller kümesi (ya da alfabe), δ geçiş fonksiyonu (δ: Q × {∑ ∪ ε} → 2Q), q0 herhangi bir girdinin işlenmeye başlanacağı başlangıç durumu (q0 ∈ Q), F, Q içindeki son durum(lar) kümesi (F ⊆ Q).

18 Örnek Q = {a, b, c} ∑ = {0, 1} q0 = {a} F={c}
Geçiş fonksiyonu olan δ aşağıdaki gibidir. Şimdiki durum 0 girdisi için sonraki durum 1 girdisi için sonraki durum a a, b b c a, c b, c

19 Örnek İçinde 00 veya 11 barındıran katarlar

20 Örnek Sonu 101 ile biten katarlar

21 Örnek a* + (ab)*

22 Moore ve Mealy Makineleri
b


"Formel Diller ve Soyut Makineler" indir ppt

Benzer bir sunumlar


Google Reklamları