🎯 Ders İçeriği ve Programı

Haftalık Ders Programı

2. Hafta: Genel Tanımlar
3. Hafta: Düzenli İfadeler
4. Hafta: Düzenli Dillerin Özellikleri
5. Hafta: Düzenli Dillerin Karar Özellikleri
6. Hafta: Bağlamdan Bağımsız Gramerler ve Belirsizlik
7. Hafta: İtmeli Otomatlar
8. Hafta: İtmeli Otomatlar ve Bağlamdan Bağımsız Gramerlerin Denkliği
9. Hafta: Bağlamdan Bağımsız Gramerler Üzerindeki İşlemler
10. Hafta: Bağlamdan Bağımsız Gramerlerin Kapalılık Özellikleri
11. Hafta: Turing Makineleri ve Karmaşıklık
12. Hafta: Farklı Turing Makine Modelleri
13. Hafta: Karar Verilen ve Verilemeyen Problemler
14. Hafta: NP-Tam Problemler

🤔 Zihin ve Makine

Soru: İnsanlar gibi düşünebilen bir makine yapılabilir mi?

Cevap: Otomata teorisi, "düşünebilen" sistem fikrinin temelinde yatan kural-tabanlı işlemeyi inceler. Bir makine, belirli girdileri alıp durum geçişleri ile çıktılar üretir; karmaşık davranışlar bile basit kuralların birleşimi ile ortaya çıkabilir.

Örnek Uygulamalar:

  • ♟️ Satranç motorları
  • 🧠 Dil modelleri
  • 📺 Öneri sistemleri

Hepsi kural/öğrenilmiş kural + durum geçişleri mantığında işler.

⚖️ Kurallar ve Özgürlük

Soru: Hayatımız tamamen kurallarla yönetiliyor olsaydı, seçim özgürlüğümüz olur muydu?

Cevap: Otomatlar katı kurallarla çalışır ama buna rağmen çok çeşitli davranışlar üretebilir. Deterministik sistemlerde bile, farklı girdiler ve başlangıç durumları farklı yollar doğurur.

Örnek Sistemler:

  • 🏧 ATM (Bankamatik)
  • 🏢 Asansör
  • 🎮 Oyun menüsü

Hepsi sonlu durum makinesi; özgürlük, izin verilen geçişlerin çeşitliliği kadardır.

💬 Dil ve Anlam

Soru: Bir bilgisayar dili gerçekten 'anlayabilir' mi, yoksa sadece sembolleri işler mi?

Cevap: Otomata teorisi, dilleri biçimsel olarak ele alır: alfabe, kelime, dil, kabul edici. Makine, anlamdan ziyade yapıyı kontrol eder.

Örnek İşlemler:

  • 📝 Yazım denetimi / regex arama → Sonlu otomat
  • 🔍 Parantez dengeleme → Yığıtlı otomat
  • ⚡ Genel hesaplama → Turing makinesi

🔤 Temel Kavramlar

Alfabe (Alphabet) - Σ

Kelimelerin üretiminde kullanılan birimlerin sonlu kümesine alfabe denir. Alfabenin elemanları genelde "sembol" veya "harf" olarak adlandırılmaktadır.

Örnekler:

  • Σ = {a,b,c,ç,...,z,A,B,C,Ç,...,Z} → Türkçe alfabesi
  • Σ = {0,1,2,...,9} → Rakamlar alfabesi
  • Σ = {0,1} → İkili sistem alfabesi

Kelime (Word)

Kelime, Σ alfabesinden seçilen sonlu sayıdaki sembolün bir araya gelmesinden oluşmaktadır.

Örnekler (Σ = {a,b} için):

  • a, b, aa, ab, ba, bb, aaa, vb.
  • Boş kelime: ε (epsilon)

Dil (Language)

Bir alfabe üzerinden üretilmiş olan kelimelerin kümesi dil olarak adlandırılır. Dile ait olan kelimelerin nasıl üretileceğinin kuralları tanımlanmış ise söz konusu dil biçimsel (formal) dil olarak adlandırılmaktadır.

Örnekler:

  • L₁ = {a, aa, aaa, aaaa, ...} → a harfinden oluşan tüm kelimeler
  • L₂ = {ab, abb, abbb, abbbb, ...} → ab ile başlayan ve sonrasında b'ler gelen kelimeler
  • L₃ = ∅ → Boş dil

📊 Otomata Teorisinin Kapsamı

Otomata Türleri

  • Sonlu Otomatlar (Finite Automata): Sınırlı bellek kapasitesine sahip otomatalar olup, düzenli dilleri tanımlarlar. Deterministik (DFA) ve Deterministik Olmayan (NFA) olmak üzere iki çeşidi bulunur.
  • Yığıtlı Otomatlar (Pushdown Automata): Ekstra bir yığıt belleğe sahip olup, bağlamdan bağımsız dilleri tanırlar.
  • Turing Makineleri: Daha güçlü otomatalar olup, herhangi bir hesaplanabilir problemi çözebilirler. Hesaplanabilirlik ve karar verilebilirlik konularında temel rol oynarlar.

Modern Uygulama Alanları

  • Derleyici Tasarımı: Otomatalar, programlama dillerinin yapılarının tanınmasında ve analiz edilmesinde kullanılır.
  • Doğal Dil İşleme: Otomata teorisi, doğal dilin formel yapılarının analiz edilmesi ve işlenmesinde rol oynar.
  • Veritabanı Arama: Düzenli ifadeler ve sonlu otomatalar, metin arama ve veri işleme işlemlerinde sıkça kullanılır.

🎓 İkinci Dünya Savaşı ve Alan Turing

Alan Turing'in çalışmaları, modern bilgisayar bilimlerinin temelini oluşturmuştur. Turing makinesi kavramı, hesaplanabilirlik teorisinin temel taşıdır.

📝 Bilgi Testi - Modül 1

Bu test, Modül 1'de öğrendiğiniz temel kavramları ölçmektedir.

1. Aşağıdakilerden hangisi alfabe tanımına uymaz?

2. Σ = {a,b} alfabesi için aşağıdakilerden hangisi bir kelime değildir?

3. Aşağıdaki otomat türlerinden hangisi en güçlüdür?

4. Düzenli dilleri hangi otomat türü tanımlar?

5. Aşağıdakilerden hangisi biçimsel dil özelliği taşımaz?

6. Otomata teorisinin temel amacı nedir?

7. Aşağıdaki haftalardan hangisinde "Turing Makineleri" konusu işlenir?

8. "Zihin ve Makine" tartışması hangi alanda yapılır?

9. Aşağıdaki uygulama alanlarından hangisi otomatlar için uygundur?

10. Aşağıdakilerden hangisi doğru bir alfabe örneği değildir?

11. Otomata teorisi hangi yüzyılda gelişmeye başlamıştır?

12. Aşağıdaki kavramlardan hangisi otomatların çalışma prensibini en iyi açıklar?

13. "Kurallar ve Özgürlük" tartışması neyi vurgular?

14. Aşağıdaki otomat türlerinden hangisi yığıt kullanır?

15. Otomata teorisinin "dil ve anlam" tartışması neyi gösterir?

Doğru: 0 Toplam: 15

💡 Flashcard'lar - Modül 1

Önemli kavramları flashcard'larla tekrar edin.

Modül 1 - Temel Kavramlar
Alfabe Nedir?
Kelimelerin üretiminde kullanılan birimlerin sonlu kümesine alfabe denir. Alfabenin elemanları genelde "sembol" veya "harf" olarak adlandırılmaktadır. Örnek: Σ = {a,b,c} veya Σ = {0,1}
Modül 1 - Temel Kavramlar
Kelime Nedir?
Kelime, Σ alfabesinden seçilen sonlu sayıdaki sembolün bir araya gelmesinden oluşmaktadır. Örnek: Σ = {a,b} için "ab", "aa", "ε" (boş kelime)
Modül 1 - Temel Kavramlar
Dil Nedir?
Bir alfabe üzerinden üretilmiş olan kelimelerin kümesi dil olarak adlandırılır. Biçimsel dilde kelimelerin nasıl üretileceğinin kuralları tanımlanmıştır.
Modül 1 - Otomat Türleri
Sonlu Otomat Nedir?
Sınırlı bellek kapasitesine sahip otomatlar olup, düzenli dilleri tanımlarlar. Deterministik (DFA) ve Deterministik Olmayan (NFA) olmak üzere iki çeşidi bulunur.
Modül 1 - Otomat Türleri
Yığıtlı Otomat Nedir?
Ekstra bir yığıt belleğe sahip olup, bağlamdan bağımsız dilleri tanırlar. PDA (Pushdown Automata) olarak da bilinir.
Modül 1 - Otomat Türleri
Turing Makinesi Nedir?
Daha güçlü otomatlar olup, herhangi bir hesaplanabilir problemi çözebilirler. Hesaplanabilirlik ve karar verilebilirlik konularında temel rol oynarlar.
Modül 1 - Uygulama Alanları
Derleyici Tasarımında Otomatlar
Otomatalar, programlama dillerinin yapılarının tanınmasında ve analiz edilmesinde kullanılır. Lexical analysis ve parsing işlemlerinde temel rol oynar.
Modül 1 - Uygulama Alanları
Veritabanı Arama ve Otomatlar
Düzenli ifadeler ve sonlu otomatalar, metin arama ve veri işleme işlemlerinde sıkça kullanılır. Regex tabanlı arama motorlarında kullanılır.
Modül 1 - Felsefi Tartışmalar
Zihin ve Makine
İnsanlar gibi düşünebilen bir makine yapılabilir mi? Otomata teorisi, kural-tabanlı işlemeyi inceler. Karmaşık davranışlar basit kuralların birleşimi ile ortaya çıkabilir.
Modül 1 - Felsefi Tartışmalar
Dil ve Anlam
Bir bilgisayar dili gerçekten 'anlayabilir' mi? Otomata teorisi dilleri biçimsel olarak ele alır: alfabe, kelime, dil, kabul edici. Makine anlamdan ziyade yapıyı kontrol eder.
Modül 1 - Ders Programı
3. Hafta Konusu
Düzenli İfadeler (Regular Expressions) - Düzenli ifadelerin tanımı, operatörleri ve düzenli diller.
Modül 1 - Ders Programı
7. Hafta Konusu
İtmeli Otomatlar (Pushdown Automata) - İtmeli otomatların tanımı ve bağlamdan bağımsız gramerlerle denkliği.