Formel Diller ve Soyut Makineler

Slides:



Advertisements
Benzer bir sunumlar
KLAVYE KULLANIMI.
Advertisements

TURING MAKİNESİ NASIL ÇALIŞIR?
BAS-BIRAK OTOMATLARI (YIĞITLI ÖZDEVİNİRLER)
SONLU DURUM OTOMATLARI
SONLU DURUM OTOMATLARI
Excel’de istatistik fonksiyonları
TURING MAKİNELERİ Yılmaz Kılıçaslan.
Çizge Teorisi, Dağıtık Algoritmalar ve Telsiz Duyarga Ağları
SONLU DURUM OTOMATLARI
OTOMATA TEORİSİ SELÇUK KILINÇ
Sonlu Durum Makinesi M=(S, I, O, f, g, s0) S:durumlar kümesi
Mantıksal Tasarım Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü.
Bölüm 4: Sayısal İntegral
GRAF TEORİSİ Ders 1 TEMEL KAVRAMLAR.
İŞLETİM SİSTEMLERİ Öğr. Gör. S.Serkan TAN.
Yapay Zeka DR.KORHAN KAYIŞLI.
ÇİZGELERİN GÖSTERİMİ Yılmaz KILIÇASLAN.
Bağlama Duyarlı Diller
SONLU OTOMATLARIN PROGRAMLANMASI
Derleyici Teorisine Giriş
DÜZENLİ İFADELER Regular Expressions Edip Serdar GÜNER.
DÜZENLİ GRAMERLER Yılmaz Kılıçaslan.
TEMEL KURAM VE AÇMAZLARIYLA BİLGİSAYAR BİLİMİ
TEMEL KURAM VE AÇMAZLARIYLA BİLGİSAYAR BİLİMİ
BAĞLAMDAN BAĞIMSIZ GRAMERLER ÖZYİNELEMELİ GEÇİŞ AĞLARI (Chomsky Hiyerarşisi: Tip 2) Yılmaz Kılıçaslan.
TEMEL KURAM VE AÇMAZLARIYLA BİLGİSAYAR BİLİMİ
BAĞLAMA DUYARLI GRAMERLER
BAĞLAMA DUYARLI GRAMERLER
BAĞLAMA DUYARLI GRAMERLER
SONLU DURUM OTOMATLARININ PROGRAMLANMASI
SONLU ELEMANLARA GİRİŞ DERSİ
Otomata Teorisinin Uygulama Alanları
KÜMELER.
DÜZENLİ İFADELER Regular Expressions.
Biçimsel Diller ve Soyut Makineler
KÜMELER.
Biçimsel Diller ve Soyut Makineler
SONLU OTOMATLAR Yılmaz Kılıçaslan.
Biçimsel Diller ve Soyut Makineler Push-Down Automata (PDAs)
Karşılaştırıcı ve Aritmetik İşlem Devreleri
NFA-, NFA, DFA dönüşümü 1.
TEMEL KURAM VE AÇMAZLARIYLA BİLGİSAYAR BİLİMİ - Sayılabilirlik - Yılmaz Kılıçaslan.
Biçimsel Diller ve Soyut Makineler
Biçimsel Diller ve Soyut Makineler
TEMEL KURAM VE AÇMAZLARIYLA BİLGİSAYAR BİLİMİ - Karmaşıklık - Yılmaz Kılıçaslan.
Akış Diyagramları - 1. Akış Diyagramı  Algoritmalar doğal dille yazıldıklarında herkes tarafından aynı biçimde anlaşılmayabilir.  Ancak, akış diyagramlarında.
Biçimsel Diller ve Soyut Makineler
Bir başka ifade biçimi: Blok Diyagramları
O R T L G İ M A A Ve Akış şemaları.
Formel Diller ve Soyut Makineler
Formel Diller ve Soyut Makineler
Formel Diller ve Soyut Makineler
Turing Machines Turing Makineleri.
Formel Diller ve Soyut Makineler
PROGRAMLAMAYA GİRİŞ FORTRAN 77.
Algoritma Nedir? Algoritmayı, herhangi bir problemin çözümü için izlenecek yolun adımlar halinde yazılması olarak tanımlayabiliriz. Algoritma, bir problemin.
NİŞANTAŞI ÜNİVERSİTESİ
Sonlu Özdevinirlere Giriş
BLGM471 Özdevinirler Kuramı
Belirsiz Sonlu Özdevinirler
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
Ortam Bağımsız Dillerin Özellikleri
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
Altbasımlı Özdevinirler
Sunum transkripti:

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

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.

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)

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

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)

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ı Üretmeyenler Çıktı Üretenler Deterministik Deterministik Olmayan Moore Makinesi Mealy Makinesi

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 b c

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

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

Örnek

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

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).

Ö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

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

Örnek Sonu 101 ile biten katarlar

Örnek a* + (ab)*

Moore ve Mealy Makineleri b