View
14
Download
0
Category
Preview:
Citation preview
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 dehesaplamaları daha güvenilir ve hızlı biçimde yapabilen, hem kuramsal hem deuygulamaya dökülmüş makineleri geliştirmeye başlaması ile atılmıştır.
« Otomat » kelimesi « otomasyon » kelimesiyle yakın anlamda olup, belirli süreçleringerçekleştirimini sağlayan otomatikleştirilmiş işlemler bütününü ifade eder.
Otomat Kuramı ise, « otomat » olarak adlandırılan basit makineler üzerindengerçekleştirilen hesaplama işlemlerinin mantığıyla ilgilenir.
Otomatlar sayesinde bilgisayar bilimciler makinelerin fonksiyonları nasıl hesaplayabildiği veproblemleri nasıl çözebildiğini anlama imkanı bulur. Daha da önemlisi, bir fonksiyonunhesaplanabilir (computable) olarak tanımlanması veya bir sorunun karar verilebilir(decidable) olup olmadığının anlaşılması bu kuram ile mümkün olur.
Chomsky Hiyerarşisi
Düzenli Diller : Sonlu - Durum Otomatları(Regular Language : Finite – State Automata)
Bağlam - Bağımsız Diller : Bas – Bırak Otomatları(Context – Free Languages : Push – Down Automata)
Bağlama - Duyarlı Diller : Doğrusal – Sınırlandırılmış Otomatlar (Context – Sensitive Languages : Linear – Bounded Automata)
Özyinelemeli - Sayılabilir Diller : Turing Makinesi (Recursively – Enumerable Languages : Turing Machine)
Kar
maş
ıklık
0 1 2 3
*(Dil : Otomat)
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 Kapalı Aynı durumda kal
Açık
Kart bas Açık Aynı durumda kal
Kolu it KapalıKapalı konuma geç (turnikedengeçildikten sonra kol kilitli duruma geçer)
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.
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.
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).
Sonlu Durum Otomatı Türleri
Sonlu Durum Otomatları
Çıktı ÜretenlerÇıktı Üretmeyenler
Moore Makinesi Mealy MakinesiDeterministik Deterministik Olmayan
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).
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.
Ö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 a b
b c a
c b c
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şliolarak 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).
Ö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
b c a, c
c b, c c
Recommended